网络安全日报 2024年09月10日
1、 研究人员披露Mallox勒索软件
https://securelist.com/mallox-ransomware/113529/ Mallox勒索软件背后的攻击组织于2021年上半年开始运作,首个已知的加密样本被发现于2021年5月。该勒索软件是根据特定受害者定制的,目标公司的名称被硬编码在勒索信中并作为加密文件的扩展名。2023年,与Mallox勒索软件相关的攻击活动有所增加,发现的样本总数超过700个。2024年上半年,该恶意软件仍在积极开发中,每月发布多个新版本,同时,其背后的攻击组织也在暗网论坛中招募新的攻击者。
2、迪士尼公司泄露的数据中包含财务及战略信息
https://www.reuters.com/technology/cybersecurity/leaked-disney-data-reveals-financial-strategy-secrets-wsj-reports-2024-09-05/ 今年夏天沃尔特·迪士尼公司(DIS.N)泄露的数据中含有财务和战略信息,以及一些员工和客户的个人身份信息。该公司在8月份表示,正在调查其一个通信系统中超过1TB数据的泄露事件。据报道,泄露的部分数据中包含其邮轮工作人员的护照号码、签证详情、地址和出生地,而另一份电子表格中则包含一些迪士尼邮轮乘客的姓名、地址和电话号码。泄露的文件还包括由Dis
3、人力资源公司GigtoGig泄露大量工人的数据信息
https://cybernews.com/security/gig-workers-passports-visas-data-leak/ GigtoGig是一家英国的人力资源公司,为公司提供劳动力,并为工人提供多样化的工作机会以及薪资和保险服务。研究人员近期发现了一个配置错误的Amazon AWS S3存储库,属于GigtoGig公司。该数据库暴露了217000个敏感文件,这意味着任何人都可以在不输入用户名和密码的情况下访问数据。暴露的数据包括:122964名工人的护照、17102个工作许可证、2810个签证、26311份简历。
4、伊朗Tosan公司因网络攻击被迫支付数百万美元赎金
https://www.politico.eu/article/iran-millions-ransom-massive-cyberattack-banks/ 据行业分析师和西方官员透露,上个月一场大规模的网络攻击袭击了伊朗,威胁到该国银行系统的稳定性,并迫使Tosan公司支付至少300万美元的赎金。一个名为IRLeaks的组织可能是此次攻击的幕后黑手,该组织曾攻击过伊朗公司。据称,攻击者威胁要在暗网上出售窃取的数据,这些数据包括数百万伊朗人的个人账户和信用卡数据,并要求支付价值1000万美元的加密货币,但后来同意降低赎金金额。Tosan公司为伊朗金融部门提供多种数字服务,IRleaks组织
5、谷歌在旧版固件中推广Rust,以解决内存安全漏洞
https://www.securityweek.com/google-pushes-rust-in-legacy-firmware-to-tackle-memory-safety-flaws/ 科技巨头谷歌正在推动在现有的低级固件代码库中部署 Rust,这是对抗内存相关安全漏洞的重大举措之一。根据谷歌软件工程师 Ivan Lozano 和 Dominik Maier 提供的新文档,用 C 和 C++ 编写的旧固件代码库可以从“嵌入式 Rust 替代品”中受益,以保证操作系统以下敏感层的内存安全。
6、Kibana 存在严重漏洞,可导致系统遭受任意代码执行
https://securityonline.info/critical-kibana-flaws-cve-2024-37288-cve-2024-37285-expose-systems-to-arbitrary-code-execution/ Kibana 中存在几个严重漏洞,编号为 CVE-2024-37288 和 CVE-2024-37285,可能导致任意代码执行。Elastic 敦促立即更新至 8.15.1 版本。
7、GeoServer 严重漏洞被全球黑客大规模利用
https://www.bankinfosecurity.com/critical-geoserver-flaw-enabling-global-hack-campaigns-a-26225 GeoServer 中的这个漏洞被编号为 CVE-2024-36401,CVSS 评分为 9.8,该漏洞很快被黑客利用,他们利用僵尸网络家族和加密矿工发起攻击,传播反向代理服务器 Goreverse 等恶意工具。
8、SonicWall SSLVPN漏洞现已被 Akira 勒索软件攻击所利用
https://www.bleepingcomputer.com/news/security/sonicwall-sslvpn-access-control-flaw-is-now-exploited-in-attacks/ 最初人们认为它只会影响 SonicOS 管理访问,但现在已确认它会影响 SonicWall 防火墙上的 SSLVPN,包括 Akira 勒索软件附属机构针对禁用 MFA 和固件版本过时的帐户发起的攻击。
9、AI大模型新型噪声攻击曝光,可绕过最先进的后门检测
https://www.freebuf.com/news/410518.html 罗德岛大学的研究人员在一篇论文中提出了一种新颖的后门攻击方法,利用白高斯噪声的功率谱密度作为触发器,不仅提高了攻击的可行性和普遍性,在模型中都取得了很高的平均攻击成功率,而且不会对非受害者造成显著干扰。
10、Microsoft 使用新工具从Bing 搜索中删除报复性色情内容
https://www.bleepingcomputer.com/news/security/microsoft-removes-revenge-porn-from-bing-search-using-new-tool/ Microsoft 今天宣布,它已与 StopNCII 合作,使用人们从敏感媒体创建的数字哈希值主动从 Bing 中删除有害的私密图像和视频。
声明
以上内容原文来自互联网的公共方式,仅用于有限分享,译文内容不代表蚁景科技观点,因此第三方对以上内容进行分享、传播等行为,以及所带来的一切后果与译者和蚁景科技无关。以上内容亦不得用于任何商业目的,若产生法律责任,译者与蚁景科技一律不予承担。
如何通过组合手段大批量探测CVE-2024-38077
背景
近期正值多事之秋,hvv中有CVE-2024-38077专项漏洞演习,上级police也需要检查辖区内存在漏洞的资产,自己单位领导也收到了情报,在三方共振下这个大活儿落到了我的头上。Windows Server RDL的这个漏洞原理就不过多介绍,本文重点关注如何满足大批量探测的需求。
问题
CVE-2024-38077自披露以来流传过几个poc工具,但使用过后留下的只有某某服的exe版本。可能出于保密原因,这个工具不支持的功能太多,本文就不一一列举,采用排除法自行脑补。支持的参数是指定某个IP或者某个IP段进行扫描,然后没了,就像这样:
但是这样扫来扫去无法满足需求,遇到的几个典型问题就是:
扫的为什么很慢?
从外部导入IP怎么办?
如何从大批量资产中筛选出有漏洞的?
空间测绘
探测辖区内或者某一地区的资产当然离不开空间测绘工具,fofa、鹰图、shaodan、zoomeye等著名的自然要尝试一遍,搜索的关键词首先是国内+3389和135端口+windows server操作系统,协议的话可以组合RDP/RDL,这样一来搜出的资产会多达几百万条,百万量级的数据处理起来对于我们这种小散户而言属于天方夜谭。况且这些空间测绘平台中有的甚至不支持非会员大数据量查询,像shaodan这样能够显示出来已经是仁慈的了:
结果虽然搜索出来了,但是百万级的数据是拿不到的。一是不支持多端口筛选,二是不支持导出(非会员)。
这里先解决第二个问题,如何导出搜索结果?突然想起了许久未用的空间测绘工具——kunyu(坤舆)。运行起来,进去执行搜索是这样:
检查了好多遍,语法没问题。不明觉厉之际,联系了kunyu的作者@风起。询问才知道ZoomEye的普通账号权限已经不支持kunyu了。唉,只能厚着脸皮借来账号一用。
然后就是重新初始化、配置输出目录、配置查询页数......这次导出的关键就在page参数上。kunyu默认的page是1,每次显示10条,即输出的Excel中有10条数据。如果设置为1000,则会显示10000条数据,导出的数据也就是10000条,但是这样一来查询效率会大大降低。经过测试,将page设置为100是较为合适的,也就是每次显示1000条。另外配合时间参数after、before以及区域参数city、subvisions将单次搜索总量控制在1000条以内,这样就可以不漏掉资产。
最后经过一番折腾,搜索了60多次,合并多个文件后,终于生成了一份5万条左右的Excel......既然有了一堆IP,接下来该进行的就是如何把这些IP导入工具开扫。但此时的poc工具是不支持外部IP导入的,并且对于“Can Not Reach Host.”之类的资产扫描进度会很慢,所以要考虑如何兼顾效率和准确性的问题。
Nmap
由于之前经过测试,对于确实存在漏洞的资产,poc的响应是很快的。CVE-2024-38077的利用条件之一是同时开放135和3389端口,而空间测绘工具搜索的结果是未验证135的,所以接下来的思路是使用Nmap对5万个资产探测一下两个端口的开放情况,然后根据输出结果筛选出两个端口均为open状态的IP,最后尝试将筛选出的IP导入poc工具扫描。
这个阶段也尝试过fscan等其他工具,但是比较下来Nmap的输出是最整齐的(前提是控制输入参数),方便后续处理:
从输出文件可以看出,除了第一行是注释,下面的内容都很有规律,每六行是对一个IP的描述,包含135和3389两个端口,而且格式都固定。由于需求要的是开放两个端口的所有IP,现成的工具没有能够满足的,只能自己写,又一次掏出了idea......
胶水代码
从Nmap的输出结果不难分析,如果要写代码处理的话,每六行可以看成是一个Nmap类,而这个类里面只需要3个属性,IP、port-135、port-3389。直接上代码:
//读取外部文件
BufferedReader reader = new BufferedReader(new FileReader(file));
MNmap nmap = null;
ArrayList<MNmap> list = new ArrayList();
int count = 0;
String line;
//循环读取每一行
while ((line = reader.readLine()) != null) {
//ip
if (line.startsWith("Nmap")) {
nmap = new MNmap();
nmap.ip = TNmap.findIp(line);
}
//135
if (line.startsWith("135") && nmap != null) {
nmap.p135 = TNmap.findP135(line);
}
//3389
if (line.startsWith("3389") && nmap != null) {
nmap.p3389 = TNmap.findP3389(line);
//将每一个nmap对象加入list
list.add(nmap);
}
}
到这里整个任务已经完成了一半,精准的资产已经筛选出来了,大概2400多个。接下来就是使用poc工具扫描了,毕竟两千多条数据,总不能手动设置两千多次吧,所以还是要写代码:
//循环执行exe工具,参数是nmap的IP,并逐个获取执行结果
for (int i = 0; i < list.size();i++) {
MNmap nmap1 = list.get(i);
if ("open".equals(nmap1.p135) && "open".equals(nmap1.p3389)) {
try {
// 指定要执行的exe文件及其参数
ProcessBuilder processBuilder = new ProcessBuilder(exeFile, nmap1.ip);
// 启动进程
Process process = processBuilder.start();
// 读取标准输出
BufferedReader r = new BufferedReader(new InputStreamReader(process.getInputStream()));
String l;
while ((l = r.readLine()) != null) {
if (l.contains("Vulnerability"))
System.out.println(l);
}
// 读取标准错误(如果需要)
BufferedReader errorReader = new BufferedReader(new InputStreamReader(process.getErrorStream()));
String errorLine;
while ((errorLine = errorReader.readLine()) != null) {
System.out.println("Standard Error: " + errorLine);
}
// 等待外部程序执行完成
int exitCode = process.waitFor();
if (exitCode == 0) {
System.out.println("程序执行完成");
} else {
System.out.println("程序执行出错,退出码:" + exitCode);
}
} catch (IOException | InterruptedException e) {
e.printStackTrace();
}
//计数
count++;
}
}
System.out.println("total: " + count);
这里贴出的只是关键的两段代码,完整项目见文末链接。最后将项目打成jar包,与CVE-2024-38077.exe和Nmap输出文件放在同一目录下:
开启powershell运行jar包,设置poc参数为CVE-2024-38077,同时指定输入IP的文件路径和输出文件路径,等待扫描完后得到存在漏洞的资产列表。
总结
CVE-2024-38077漏洞的探测难点在于一是没有成型的工具,二是空间测绘出来的大批量资产如何导出与二次筛选。本文的思路只是临时方案,相信后面会有大神公开其exp,最终出现像MS17010一样的工具。
网络安全日报 2024年09月09日
1、Apache修复OFBiz中的高危安全漏洞
https://www.bleepingcomputer.com/news/security/apache-fixes-critical-ofbiz-remote-code-execution-vulnerability/ Apache已修复其开源软件OFBiz(Open For Business)中的一个安全漏洞,该漏洞可能允许攻击者在易受攻击的Linux和Windows服务器中执行任意代码,该远程代码执行漏洞被标识为CVE-2024-45195。OFBiz是一套客户关系管理(CRM)和企业资源规划(ERP)业务应用程序,也可用作基于Java的Web框架,用于开发Web应用程序。Apach
2、WordPress插件LiteSpeed Cache中存在安全漏洞
https://www.bleepingcomputer.com/news/security/litespeed-cache-bug-exposes-6-million-wordpress-sites-to-takeover-attacks/ LiteSpeed Cache是一个用于加速WordPress网站用户浏览的缓存插件,该插件中存在一个安全漏洞。该漏洞被标识为CVE-2024-44000,并被分类为未经身份验证的账户接管问题,由研究人员于2024年8月22日发现。LiteSpeed Cache在6.5.0.1版本中修复了该漏洞。WordPress报告称,仅有37.5万名用户下载了该插
3、Veeam修复其多个产品中的安全漏洞
https://www.bleepingcomputer.com/news/security/veeam-warns-of-critical-rce-flaw-in-backup-and-replication-software/ Veeam已发布多个产品的安全更新,修复了其产品Veeam Backup&Replication、Service Provider Console和One中的18个安全漏洞。其中最严重的漏洞是CVE-2024-40711,这是存在于Veeam Backup&Replication(VBR)中的远程代码执行漏洞(CVSS v3.1评分:9.8),无需身份验证即可被利
4、攻击者在思科商店网站中注入恶意JavaScript代码
https://www.bleepingcomputer.com/news/security/hackers-inject-malicious-js-in-cisco-store-to-steal-credit-cards-credentials/ 攻击者在思科公司的主题商品销售网站中注入了恶意的JavaScript代码,该网站目前已下线并正在维护中。恶意JavaScript代码经过严重混淆处理,其目的是窃取结帐过程中的数据,例如进行在线支付所需的信用卡详细信息。研究人员发现它还可以窃取一些其他信息,包括邮政地址、电话号码、电子邮件地址和用户的登录凭据。有安全研究人员称此次攻击与Cosmic
5、研究人员发现新型安卓恶意软件SpyAgent
https://www.mcafee.com/blogs/other-blogs/mcafee-labs/new-android-spyagent-campaign-steals-crypto-credentials-via-image-recognition/ 最近,研究人员发现了一种新型安卓恶意软件SpyAgent,它通过扫描设备上的图像来寻找可能包含助记词的内容。助记词是一种由12个单词组成的短语,帮助用户恢复加密货币钱包,相比于典型的复杂密钥,助记词更容易被记住。这种恶意软件伪装成各种可信的应用软件,比如银行和政府服务、电视流媒体和实用工具。然而,一旦被安装到设备上,该恶意软件会秘密
6、SonicWall称CVE-2024-40766可能正被恶意利用
https://www.bleepingcomputer.com/news/security/sonicwall-sslvpn-access-control-flaw-is-now-exploited-in-attacks/ SonicWall警告称,最近修复的SonicOS中的访问控制漏洞CVE-2024-40766现在可能被用于进行攻击,管理员应尽快应用漏洞修复补丁。CVE-2024-40766是一个访问控制漏洞(CVSS v3评分:9.3),影响SonicWall防火墙第5代、第6代以及第7代设备。SonicWall没有透露关于该漏洞的更多信息,只提到其可能导致未经授权的资源访问以及使
7、OpenStack修复Ironic中的CVE-2024-44082漏洞
https://securityonline.info/openstack-ironic-users-urged-to-patch-critical-vulnerability-cve-2024-44082 OpenStack的Ironic项目中存在一个安全漏洞(CVE-2024-44082),该漏洞可能允许经过身份验证的用户访问敏感数据。该漏洞影响多个版本的Ironic和Ironic-Python-Agent(IPA)。为了修复CVE-2024-44082漏洞,OpenStack已经为所有维护的分支发布了Ironic和Ironic-Python-Agent的安全补丁。
8、攻击者使用Fog勒索软件针对金融行业进行攻击
https://adlumin.com/post/fog-ransomware-now-targeting-the-financial-sector Fog勒索软件是STOP/DJVU勒索软件家族的一个变种,首次发现于2021年,其背后的攻击者主要以教育和娱乐行业进行攻击,现在开始针对金融行业进行攻击。研究人员在2024年8月发现一起针对金融行业客户的勒索软件攻击活动,攻击者在Windows及Linux操作系统上部署了一种名为“Fog”(又名“Lost in the Fog”)的勒索软件变种。被Fog勒索软件加密的文件通常含有“.FOG”或“.FLOCKED”的扩展名,并附有名为“readm
9、MuddyWater 劫持 RMM 软件用于间谍活动
https://securityonline.info/muddywaters-sneaky-new-tactic-hijacking-rmm-software-for-espionage/ MuddyWater 是一个伊朗黑客组织,自 2017 年以来一直使用合法的 RMM 软件攻击全球组织,重点关注政府、军队、电信和石油部门。
10、美AI医疗公司服务器配置错误,5.3TB心理健康记录遭泄露
https://www.secrss.com/articles/69952 美国人工智能医疗公司Confidant Health的服务器配置错误,泄露了5.3TB的敏感心理健康记录,其中包括个人信息、评估和医疗信息,对患者构成严重的隐私风险。事件源于vpnMentor的资深网络安全研究员Jeremiah Fowler发现的一个未受密码保护且配置错误的服务器,其中包含来自Confidant Health的机密记录。9月6日,Jeremiah Fowler通过博客文章披露了这一发现。Confidant Health是一家位于德克萨斯州的人工智能平台,为康涅狄格州、佛罗里达州、新罕布什尔州、德克萨
声明
以上内容原文来自互联网的公共方式,仅用于有限分享,译文内容不代表蚁景科技观点,因此第三方对以上内容进行分享、传播等行为,以及所带来的一切后果与译者和蚁景科技无关。以上内容亦不得用于任何商业目的,若产生法律责任,译者与蚁景科技一律不予承担。
网络安全日报 2024年09月06日
1、攻击者利用Babylon远控木马针对马来西亚政府人员
https://cyble.com/blog/the-intricate-babylon-rat-campaign-targets-malaysian-politicians-government/ 研究人员发现了一起具有高度针对性的网络攻击活动,其目标是马来西亚的政府人员和政治人物。自7月以来,该攻击活动已使用至少三种不同的恶意ISO文件。这些恶意ISO文件中包含多个组件,包括快捷方式(LNK)文件、隐藏的PowerShell脚本、恶意可执行文件和诱饵PDF文件,并最终释放Babylon远控木马。Babylon远控木马提供多种恶意功能,包括击键捕获、剪贴板监控、密码提取和远程命令执行等。
2、新型PyPI攻击技术可能导致超2.2万软件包被劫持
https://jfrog.com/blog/revival-hijack-pypi-hijack-technique-exploited-22k-packages-at-risk/ 研究人员称,攻击者正在利用一种名为“Revival Hijack”的攻击手段,他们使用已被删除的软件包的名称注册新的PyPi项目,以此进行供应链攻击。攻击者可以通过这种方法将恶意代码推送给获取更新的开发人员。研究人员表示,PyPI上有超过22000个已删除的软件包容易受到Revival Hijack攻击,而且其中一些软件包已被广泛使用。此外,PyPI上平均每个月删除的包为309个,这表明攻击者能够持续地进行此类
3、思科修复CVE-2024-20469命令注入安全漏洞
https://www.bleepingcomputer.com/news/security/cisco-fixes-root-escalation-vulnerability-with-public-exploit-code/ 思科修复了一个命令注入漏洞,该漏洞的公开利用代码允许攻击者在易受攻击的系统上将权限提升为root权限。该漏洞被标识为CVE-2024-20469,发现于思科的身份服务引擎(ISE)中。该命令注入漏洞是由于对用户输入验证不足引起的。攻击者可以通过提交恶意构造的CLI命令,在不需要用户交互的情况下进行漏洞利用。到目前为止,思科尚未发现攻击者利用该安全漏洞进行攻击活动。
4、Debian修复两个Dovecot邮件服务器中的安全漏洞
https://tuxcare.com/blog/debian-patches-two-dovecot-vulnerabilities Dovecot是一款流行的开源IMAP和POP3服务器,适用于Linux和其他类Unix操作系统。它主要用于为用户提供电子邮件服务,使用户能够使用各种电子邮件客户端访问邮件。Dovecot中存在两个安全漏洞,被标识为CVE-2024-23184和CVE-2024-23185,攻击者可以发送带有大量地址标头或者标头过大的电子邮件消耗系统资源,从而导致拒绝服务。Debian安全团队在最近的更新中发布了安全更新,以解决这些Dovecot安全漏洞。
5、Microchip Technology证实员工数据遭到泄露
https://www.bleepingcomputer.com/news/security/microchip-technology-confirms-data-was-stolen-in-cyberattack/ 美国半导体供应商Microchip Technology Incorporated已确认员工信息在8月的网络攻击事件中泄露,Play勒索组织声称进行了此次攻击。8月20日,Microchip Technology称,多个制造设施的运营受到8月17日发现的网络攻击事件的影响。该事件影响了公司履行订单的能力,迫使其关闭部分系统并隔离受影响的系统。该公司称,攻击者从其系统中窃取了一些
6、Veeam发布安全更新修复 18 个漏洞,包括5个严重问题
https://thehackernews.com/2024/09/veeam-releases-security-updates-to-fix.html Veeam 已发布安全更新,解决影响其软件产品的 18 个安全漏洞,其中包括 5 个可能导致远程代码执行的严重漏洞。
7、工信部:我国发布三项智能网联汽车强制性国家标准
https://www.bjnews.com.cn/detail/1725433548168391.html 据工信微报公众号,近日,工业和信息化部组织制定的GB 44495—2024《汽车整车信息安全技术要求》、GB 44496—2024《汽车软件升级通用技术要求》和GB 44497—2024《智能网联汽车 自动驾驶数据记录系统》三项强制性国家标准由国家市场监督管理总局、国家标准化管理委员会批准发布,将于2026年1月1日起开始实施。
8、黑客利用 WinRAR 漏洞对俄罗斯和白俄罗斯发动攻击
https://thehackernews.com/2024/09/hacktivists-exploits-winrar.html 卡巴斯基发现,一个名为 Head Mare 的黑客组织与专门针对位于俄罗斯和白俄罗斯的网络攻击有关,他们利用了 WinRAR 中相对较新的漏洞 CVE-2023-38831 ,该漏洞允许攻击者通过专门准备的存档在系统上执行任意代码。
9、 全面治理网络乱象,公安机关网安部门指导互联网平台强化自律自治
http://m.people.cn/n4/2024/0904/c30-21221675.html 受“流量经济”刺激,个别网民为博眼球、求关注,频繁发布“改头换面、张冠李戴”式不实信息,进行造谣诽谤、恶意炒作,更有甚者,多次发布“移花接木、指桑骂槐”式谣言信息,侮辱谩骂、攻击诋毁他人,或挑起对立、煽动拉踩,借此博取流量,以达快速涨粉、谋取非法利益之目的,严重扰乱社会秩序和网络空间秩序,危害广大网民合法权益。
10、RAMBO攻击:通过RAM电磁辐射窃取隔离系统数据
https://cybersecuritynews.com/rambo-attack-air-gapped-systems/ 本研究提出了一种基于 RAM 总线电磁辐射的新型隐蔽通道。发射器调制内存访问模式以对数据进行编码,然后由接收器解调。 该攻击模型涉及恶意软件操纵 RAM 以生成无线电信号,这些信号可以编码敏感信息并从远处泄露。它介绍了能够发送和接收这些信号的发射器和接收器的设计和实现。
声明
以上内容原文来自互联网的公共方式,仅用于有限分享,译文内容不代表蚁景科技观点,因此第三方对以上内容进行分享、传播等行为,以及所带来的一切后果与译者和蚁景科技无关。以上内容亦不得用于任何商业目的,若产生法律责任,译者与蚁景科技一律不予承担。
网络安全日报 2024年09月05日
1、报告:活跃的勒索软件团伙在2024上半年激增56%
https://www.secrss.com/articles/69863 根据Searchlight Cyber的一份最新报告,2024年上半年活跃的勒索软件团伙数量同比增长了56%。 研究人员观察到,2024年上半年有73个勒索软件组织在运行,而2023年上半年为46个,这凸显了勒索软件领域的日益碎片化。
2、 微软采用基于HMAC的新安全措施解决CLFS缺陷
https://www.securityweek.com/microsoft-tackling-windows-logfile-flaws-with-new-hmac-based-security-mitigation/ 微软正在试验一项重大的新安全缓解措施,以阻止针对 Windows 通用日志文件系统 (CLFS) 漏洞的网络攻击激增。在过去五年中,用于数据和事件记录的 Windows 子系统 CLFS 中至少有 24 个已记录的漏洞,这促使微软进攻性研究与安全工程 (MORSE) 团队设计一种操作系统缓解措施来一次性解决一类漏洞。
3、Zyxel 修补网络设备中的严重漏洞
https://www.securityweek.com/zyxel-patches-critical-vulnerabilities-in-networking-devices/ Zyxel 已发布针对其网络设备中多个漏洞的补丁,其中包括影响接入点和安全路由器的严重漏洞。
4、D-Link 警告已停产路由器型号存在代码执行漏洞
https://www.securityweek.com/d-link-warns-of-code-execution-flaws-in-discontinued-router-model/ 网络硬件制造商 D-Link 上周末警告称,其已停产的 DIR-846 路由器型号受到多个远程代码执行 (RCE) 漏洞的影响。
5、Clearview AI因建立非法面部识别数据库面临 3050 万欧元罚款
https://thehackernews.com/2024/09/clearview-ai-faces-305m-fine-for.html 荷兰数据保护局 (Dutch DPA) 对面部识别公司 Clearview AI 处以 3050 万欧元(3370 万美元)的罚款,原因是该公司建立了“包含数十亿张面部照片的非法数据库”,其中包括荷兰公民的照片,违反了欧盟《通用数据保护条例》 (GDPR)。
6、谷歌敦促 Android 用户安装最新安全更新以修复被利用的漏洞
https://thehackernews.com/2024/09/google-confirms-cve-2024-32896.html 谷歌发布了针对 Android 操作系统的每月安全更新,以解决已知的安全漏洞,该漏洞已被广泛利用。该高严重性漏洞 CVE-2024-32896(CVSS 评分:7.8)与 Android 框架组件中的权限提升情况有关。
7、RomCom 集团利用 MS Office 0day漏洞部署勒索软件
https://cybersecuritynews.com/romcom-office-0-day-ransomware/ 俄罗斯犯罪集团 RomCom(别名https://cybersecuritynews.com/office-document-to-exploit-windows-search/)利用 Microsoft Office 和 Windows HTML RCE 零日漏洞(漏洞编号为 CVE-2023-36884)传播地下勒索软件。
8、YubiKeys加密漏洞能够通过提取私钥来克隆设备
https://cybersecuritynews.com/yubikeys-clone-device-secret-key/ 安全研究人员发现了 YubiKeys 中的一个重大漏洞,特别是针对 YubiKey 5 系列。此漏洞被认定为旁道攻击,允许攻击者通过提取存储在其中的密钥来克隆这些设备。
9、俄罗斯社交媒体VK泄露3.9亿条用户数据
https://www.freebuf.com/news/410160.html 据报道,俄罗斯最大的社交媒体和网络服务 VK(VKontakte)遭遇大规模数据泄露,影响了大量的用户。据非法市场 BreachForums 上一位名为 Hikki-Chan 的威胁行为者称,2024 年 9 月,VK出现大规模数据泄露事件,其数据在论坛上几乎可以免费下载,代价仅仅只需几个积分而已。
10、伊朗APT组织使用 Tickler 恶意软件攻击卫星设备
https://cybersecuritynews.com/tickler-malware/ 隶属于伊朗革命卫队的APT组织 Peach Sandstorm 在 2024 年 4 月至 7 月期间将新的多级后门 Tickler 添加到他们的武器库中。此类攻击的实施者可以通过破坏卫星系统来利用它,从而破坏通信和数据泄露,并影响导航和计时信息。
声明
以上内容原文来自互联网的公共方式,仅用于有限分享,译文内容不代表蚁景科技观点,因此第三方对以上内容进行分享、传播等行为,以及所带来的一切后果与译者和蚁景科技无关。以上内容亦不得用于任何商业目的,若产生法律责任,译者与蚁景科技一律不予承担。
网络安全日报 2024年09月04日
1、Tracelo泄露140万用户的数据信息
https://hackread.com/tracelo-location-tracker-data-breach-user-records-leak/ Tracelo是一家提供智能手机地理位置追踪服务的公司,于2024年9月1日遭到入侵,泄露了与其客户相关的数据信息。一名昵称为“Satanic”的攻击者声称入侵了Tracelo的智能手机地理位置追踪服务。该攻击者在黑客论坛Breach Forums上泄露了超过140万人的个人数据信息(1459014人)。研究人员表示,攻击者获取了264MB的数据,包括三个CSV文件:saas-backend.locate_phone_infos、saas-
2、德国空中交通管制中心遭受网络攻击
https://thecyberexpress.com/russian-deutsche-flugsicherung-cyberattack/ 德国空中交通管制中心Deutsche Flugsicherung (DFS)称其遭受网络攻击。此次网络攻击影响了DFS的办公通信,但未对空中交通的运营造成影响。巴伐利亚广播电台的媒体报道称,APT28组织可能是此次攻击的幕后黑手,该组织也被称为“Fancy Bear”,被认为与俄罗斯军事情报机构GRU存在关联。但目前这种说法尚未得到DFS的确认。德国联邦宪法保护局确认了此次攻击事件,表示正在调查中,并且未透露更多细节。
3、JAS Worldwide在遭受网络攻击后恢复运营
https://thecyberexpress.com/cyberattack-on-jas-worldwide/ 全球货运代理公司JAS Worldwide在遭受网络攻击后,宣布其中央运营业务现已恢复。JAS Worldwide的关键服务,包括客户服务、账单、支付系统以及与客户和供应商系统的数据集成,已基本恢复。JAS Worldwide的网络攻击事件首次报告于8月27日,当时该公司经历了技术中断,对其业务运营造成了影响。在发现问题后,JAS Worldwide在外部网络安全专家的帮助下展开了调查,并确认此次网络安全事件是由勒索软件引起的。
4、VMware 修补Fusion 中的高严重性代码执行缺陷
https://www.securityweek.com/vmware-patches-high-severity-code-execution-flaw-in-fusion/ VMware 推出了针对 Fusion 虚拟机管理程序中高严重性代码执行漏洞的补丁。
5、Chrome 128 更新修补高危漏洞
https://www.securityweek.com/chrome-128-updates-patch-high-severity-vulnerabilities/ 过去一周发布的 Chrome 浏览器两个安全更新解决了八个漏洞,其中包括外部研究人员报告的六个高严重性漏洞。上周,谷歌宣布推出 Chrome 128 更新,其中包含针对外部报告的四个高严重性内存安全漏洞的补丁。
6、Rocinante 木马伪装成银行应用程序针对巴西用户
https://thehackernews.com/2024/09/rocinante-trojan-poses-as-banking-apps.html 巴西的移动用户成为新的恶意软件活动的目标,该活动传播一种名为 Rocinante 的新型 Android 银行木马。荷兰安全公司 ThreatFabric表示:“该恶意软件家族能够利用辅助功能服务进行键盘记录,还能利用冒充不同银行的网络钓鱼屏幕窃取受害者的 PII。”
7、新型Rust勒索软件Cicada3301针对Windows和Linux系统
https://thehackernews.com/2024/09/new-rust-based-ransomware-cicada3301.html 网络安全研究人员已经揭开了新型勒索软件变种 Cicada3301 的内部工作原理,该变种与现已不复存在的BlackCat(又名 ALPHV)行动有相似之处。Cicada3301 用 Rust 编写,能够针对 Windows 和 Linux/ESXi 主机,于 2024 年 6 月首次出现,通过 RAMP 地下论坛上的广告邀请潜在关联者加入其勒索软件即服务 (RaaS) 平台。
8、Bonjour 网络服务严重漏洞可被用于权限提升攻击
https://cybersecuritynews.com/bonjour-privilege-escalation/ Bonjour 服务中发现了一个严重漏洞,具体来说是用于跨局域网进行网络发现的 mDNSResponder.exe 进程。此漏洞会影响 macOS 和 Windows 系统,可能允许攻击者在目标系统内提升权限。
9、马来西亚国家基建遭勒索攻击疑泄露超300GB数据
https://www.secrss.com/articles/69702 马来西亚公共交通运营商国家基建公司(Prasarana Malaysia Bhd)确认,社交媒体上关于其内部系统部分被未经授权访问的网络安全事件的报道属实。
10、波兰前副部长被控滥用资金购买 Pegasus 间谍软件
https://thecyberexpress.com/pegasus-spyware-bought-with-misused-funds/ 检察官认为,Woś 的行为对波兰财政造成了重大经济损失,并损害了公共利益。他被指控的罪行可能被判处最高 10 年的监禁。
声明
以上内容原文来自互联网的公共方式,仅用于有限分享,译文内容不代表蚁景科技观点,因此第三方对以上内容进行分享、传播等行为,以及所带来的一切后果与译者和蚁景科技无关。以上内容亦不得用于任何商业目的,若产生法律责任,译者与蚁景科技一律不予承担。
靶场战神为何会陨落?
我从第一个SQL注入漏洞原理学起,从sql-libas到DVWA,到pikachu再到breach系列,DC系列靶场,再到实战挖洞,发现靶场与实战的区别是极其大的。
我个人觉得在这种web环境下,难的不是怎么测一个漏洞点,而是怎么找一个漏洞点。靶场与实战最大的区别在于你不知道这个地方到底有没有漏洞,尤其是在复杂的业务数据交互下,数据包,参数,接口将极其复杂。
本文将以DC系列靶场为例子,分析靶场与实战的区别,同时分享实战思路与需要用到的一些工具插件。
(本文并不主讲靶场,因为网上已经有很多这种文章了)
DC-1
探测:nmap扫描端口,dirsearch扫目录,配合插件wappalyzer识别信息。
火狐wappalyzer插件下载地址:
https://addons.mozilla.org/en-US/firefox/addon/wappalyzer/打点:识别出DrupalCMS,上MSF搜索利用,拿到shell。
找到flag1,根据flag1提示找到配置文件,在配置文件找到数据库账号密码,连接成功。
在数据库找出admin密码,发现有加密,根据靶场已有脚本修改数据库admin密码,成功登录web后台。
深入:进入后台后找到flag3根据提示cat/etc/passwd。找到flag4,根据flag4提示进行find提权:find / -exec"/bin/bash" -p \;找到最后的flag。
实战区别分析:
探测阶段:在拿到一个IP后除了进行基础操作nmap,dirsearch,指纹识别外,可能还要查找IP的域名,以及IP对应的公司,并根据公司名再次扩大信息搜集范围,到google,github以及资产搜索引擎上利用相关语法搜集默认密码,账号,邮箱等等信息。
并且根据关键字,及密码特征制作特定社工字典进行登录框爆破。而且实战一般情况dirsearch可能扫不出来什么东西,这时候还要到google和资产搜索引擎上查找。
靶场一般不会用到资产搜索引擎,例如fofa,鹰图,但它确实极其重要。
打点阶段:对于历史漏洞的利用不要只停留在指纹识别这些特征上,还要从数据包上分析。
但如果是登录框没进入后台哪有什么数据包呢?
如下:我在测某个系统时,将请求方法GET修改为POST直接爆出IIS版本,然后一个中间件nday通杀了两百多个站,而靶场一般是不会出现这种测试方法的:那就是想办法让系统报错!
实战中如果想对密码进行修改,我遇到过的:一种就是未授权调用后台修改密码接口修改,另一种就是忘记密码处的逻辑绕过,当然忘记密码这个功能可能前端并不会直接给出,需要自己通过js文件等等信息拼接口。
DC-2
探测:nmap探测IP端口服务,修改本地DNS文件访问靶场IP网站(找到crew字段),通过目录扫描找到后台登录口。
打点:通过cewl对网站定向搜集获取密码,通过CMS对应WPscan插件获取用户名,联合爆破进入后台。(jerry及tom的账号密码)
翻看后台提示后放弃wordpress历史漏洞,尝试ssh连接
jerry的ssh连接不上,tom连接成功(已得到的账号密码)
深入:直接SSH登录成功,执行命令发现rbash限制:
自然想到rbash逃逸,逃逸成功后拿到flag3
此时用su进行用户tom转换可以成功,拿到flag4后根据git字段提示,进行git提权拿到最后的flag
实战区别分析:
探测阶段:很多IP经过nmap扫描后发现只会开放80端口,且80端口为主站,渗透难度极大,且我用dirsearch等工具扫目录很少能扫出有用的目录。
在找脆弱资产时还需要结合关键字,资产搜索引擎,google语法等搜索:
例如这个站:(浙大某脆弱资产)只能通过google语法site:xxx搜索出来,因为直接访问域名为404界面,路径极其复杂无法爆破,资产搜索引擎没有记录。
打点阶段:登录口的爆破也极有可能遇到次数限制
此时需要尝试绕过:修改为随机IP,随机UA头,修改Referrer为127.0.0.1等等
这里推荐一款工具可以用来伪造IP爆破:
https://github.com/ianxtianxt/burpsuiefakeip即使没有次数限制,可能也需要根据公司名称缩写,系统名称缩写配合admin,administrator等字段及特殊字符通过工具(白鹿社工字典)自制密码进行爆破。
因为靶场拿到flag1后根据提示crewl(一个可以搜集账号的工具)就知道要爆破进入后台,实战可能还会在忘记密码处耗费时间。
且实战不会有如下靶场提醒:(无法利用wordpress历史漏洞,需另寻他法)
实战过程中ssh连接可能也不会如此顺利(靶场直接使用wp登录界面爆破出来的密码登录)
DC-3
探测:扫端口,扫目录,查指纹(joomla)
打点:使用joomscan工具进行漏洞扫描,找到版本,searchsploit找到sql注入漏洞,脱库拿到账号密码,john解密成功。
登录管理员后台成功,找到上传点直接getshell。
无法在虚拟终端反弹shell,于是返回上传点创建反弹shell的php文件,kali接受成功。
深入:利用用searchsploit工具搜索及蚁剑上传进行操作系统提权成功。
实战区别分析:
探测阶段:扫描目录时会找到两个登录界面,在实战中,需要将注意力放在并不对外使用的界面,它们属于脆弱资产,例如员工登录入口,管理员登录入口,像对外开放的,可以注册的那些登陆界面,虽然功能点更多,但由于经常有人访问,会经常维护,它们的安全性会更高,不容易出洞。
打点阶段:靶场依旧是利用ndaysql注入脱库拿到账号密码,但实战过程中找到一个sql注入后去脱库的可能性不大。在src中一般只用证明该漏洞存在即可,在渗透过程中要脱库就一定要先拿到有明确的渗透权限。
DC-4
探测:访问IP,出现登录框,以admin为账号,bp默认字典爆破成功
打点:后台直接执行命令抓包,radio参数执行命令成功,进行shell反弹
深入:翻找文件,找到账号与密码字典,hydra进行ssh爆破成功,继续翻找文件,找到charles账号密码,su切换用户,根据关键字teehee进行提权找到flag
实战区别分析:
探测阶段:可以看到靶场并无脚本源码,且那么就减少了很多黑盒测试点,而且靶场必定会存在漏洞这也是与实战的重大区别之一,而且很容易就爆破成功
打点阶段:本靶场后台功能极其简单只有一个功能点,且一看就是要测试RCE,但实战你遇到的可能是如下界面:
会有很多模块,很多功能需要测试,对这种后台打点通常会先尝试文件上传漏洞,因为上传点更容易寻找,而RCE测试点则极为复杂,通常会在例如"系统""命令"等字段的模块,但其实所有模块都可能存在RCE,因为模块本身就是前端与后台执行功能的地方,黑盒测试你无法从前端界面直接看出究竟哪个模块调用了执行命令的参数。
所以黑盒测试RCE需要将前端功能点转换为数据包,从接口,参数进行测试。
DC-5
探测:nmap扫端口,dirsearch扫目录,指纹识别
打点:在扫出来的目录中翻阅时发现存在文件包含,直接以file参数读取成功。
确定为本地包含后,找到靶机日志,将webshell写入日志,getshell成功。
深入:利用searchsploit对/bin/screen-4.5.0进行本地提权成功。
实战区别分析:
打点阶段:靶场文件包含的漏洞特征很明显,但实战中就并不会有这类提示,黑盒测试的思路就是多猜。而且在实战中想要利用文件包含进行getshell的难点就是找不到正确的路径和权限不够,并不会像靶场这样直接就能爆破出来,并且能直接包含。
实战更多的步骤还是在找漏洞而并不是测漏洞。
DC-6
探测:nmap扫描端口(22,80),dirsearch扫描目录,whatweb识别
打点:发现wordpress指纹,使用wpscan扫描,使用提示的命令cat/usr/share/wordlists/rockyou.txt | grep k01 > password爆破进入后台。
需要修改本地dns文件才能访问靶场。
在后台发现使用activity monitor,使用searchsploit搜索,利用脚本getshell.
深入:在后台文件找到graham账号密码,于是进行ssh登陆成功,再次找到免密码执行的sh脚本,利用脚本完成提权。
实战区别分析:
打点阶段:本靶场发现RCE有两种方式,一是nday探测二是手测,漏洞点出现在输入IP的字段,也算是RCE的高发点,在实战过程中像交换机路由器后台也通常会有类似功能点,可以进行RCE测试。
DC-7
探测:nmap探测端口,发现端口80与22(估计又要ssh爆破),扫描出目录:/user/login
打点:访问IP看到如下提示
到github上搜索左下角名称:Dc7User拿到账号密码,于是进行ssh连接成功
翻找文件,找到一个邮箱,根据邮箱内容找到脚本文件(属于root主),发现可执行drush命令,通过drush命令进行web界面密码修改,并成功登录。
基于Drupal 8特性,安装好插件后上传webshell连接成功。
深入:,将反弹shell的命令添加到先前的脚本中,因为先前找出来的脚本属主为root进行权限提升。
实战区别分析:
打点阶段:打点阶段用到的github信息搜集极其重要,在实战中通过账号密码直接登录ssh或者数据库或者web后台也是存在较大可能的。
在github上也经常能发现公司代码、账号密码、个人信息或客户key等敏感信息。
常用github搜索语法:
in:name admin 仓库标题搜索含有关键字admin
in:readme test Readme文件搜索含有关键字
user:admin 用户名搜索
language:java admin 在java语言的代码中搜索关键字
github信息搜集工具:https://github.com/FeeiCN/GSIL
本靶场的后台功能点还是很多的,但通过drush命令进入后台感觉还是属于靶场的味道。在实际挖洞过程中,如果账号密码无法爆破,更多可能是分析js文件(从js文件中找更多js再从js中提取接口),找隐藏接口,也就是前端页面并未显示有注册修改密码等功能,但可以从js中找到接口,实现登录后台的目的!
这里分享一个很适合找敏感接口信息的bp插件HAE:https://github.com/gh0stkey/HaE
DC-8
探测:nmap扫描端口(22,80),whatweb指纹识别
打点:访问靶场IP点击左方,出现参数。
加单引号后报错,用sqlmap拿到数据john解密拿到账号密码,进入后台。
此处插入webshell配合msf直接getshell成功。
深入:执行find / -perm -u=s -type f 2>/dev/null,根据exam4完成提权.
实战区别分析:
打点阶段:靶场依旧是利用的靶场思路sql注入拿到账号密码,再进入后台.但不要觉得sql注入实战很容易挖到(看你挖什么资产了),一般出sql注入就是一个高危.而且靶场sql注入还是一个前台的sql注入,这种get传参的前台sql注入已经是很多年前的了,实战中基本不要想遇到,但也要去测试.
靶场中的getshell方式实战中我没遇到过,这种插入方式感觉更像XSS漏洞测试处.
DC-9
探测:nmap探测端口,发现端口80与22(filtered状态)
打点:通过dirsearch扫出search.php,manage.php目录,进入后直接找到sql注入点。
sqlmap脱库MD5解密拿到账号密码登录manage.php后台。
根据File does not exist提示进行文件包含利用?file=../../../../
FUZZ系统文件找到/etc/knockd.conf,泄露7469 84759842端口。通过nc敲开端口,根据/etc/passwd读取账号密码进行ssh爆破。
登录爆破出的账号翻文件搜集字典,再次进行ssh爆破出新账号。
深入:登录新账号,先执行sudo-l,找到python脚本,分析利用脚本完成提权。
实战区别分析:
打点阶段:靶场sql注入点较为经典,处于搜索框。且虽然存在sql注入,但如果只添加单引号并不会出现报错,还需要进一步探测才能发现!
这里推荐一款常用工具:
https://github.com/synacktiv/HopLaBP辅助payload插件,可以一键插入常用payload,不用额外再找字典等等。
对于sql注入的黑盒测试不要局限思路,你觉得可能带入数据库的参数都需要测试,尤其是在排序例如desc等不能被预编译的字段。
打点处的文件包含漏洞算是一种实战思路:也就是?file=../../../etc/passwd或者?path=../../../etc/passwd这类payload可以在挖洞过程随机添加,不一定要对应着功能点才去测试,只要存在file,download等敏感字段都可以添加尝试,因为这可能是隐藏功能点。
靶场可能更多的功能是练习单个的知识点,实战少遇到的知识点,比如一个新手可能挖半年漏洞都无法getshell一次,更别提后渗透等等了。但在打靶的同时也要关注对nday,1day漏洞的黑盒分析,并进行总结。
例如下对权限绕过的一个分析总结:
1:大小写替换绕过
/api/home/admin--/api/home/ADMIN
2:通配符替换字符:
/api/user/6---403
/api/user/*---200
3:路径穿越:
/api/home/user---403
/api/MYPATH/../home/user---200
/api/home/..;/..;/..;/..;/home/user---200
除此外还要关注最近的系统或者框架0day例如SQL注入,RCE等等它们的注入参数是哪个,目录特征怎样?这样在实战过程中靶场战神才不至于陨落。
网络安全日报 2024年09月03日
1、APT29组织利用n-day漏洞针对蒙古政府网站进行攻击
https://blog.google/threat-analysis-group/state-backed-attackers-and-commercial-surveillance-vendors-repeatedly-use-the-same-exploits/ 研究人员在2023年11月至2024年7月期间,发现了多起针对蒙古政府网站进行的攻击活动。在这些攻击活动中,攻击者首先利用了影响iOS 16.6.1之前版本的iOS WebKit漏洞,然后针对运行Chrome m121至m123版本的安卓用户进行了Chrome漏洞链攻击。研究人员认为这些攻击活动与APT29组织相关,并发现AP
2、Jenkins中存在远程代码执行漏洞
https://securityonline.info/cve-2024-43044-critical-jenkins-vulnerability-exposes-servers-to-rce-poc-exploit-published/ 近期,研究人员公开了关于CVE-2024-43044的技术细节和概念验证(PoC)利用代码,该漏洞是存在于Jenkins中的远程代码执行(RCE)漏洞。Jenkins是基于Java开发的一种持续集成工具,如果遭到攻击,攻击者可能利用Jenkins服务器进行凭据窃取、未经授权的代码修改等恶意操作。CVE-2024-43044被分类为任意文件读取漏洞,允许攻击
3、One Identity的产品中存在一个安全漏洞
https://securityonline.info/cve-2024-45488-flaw-in-safeguard-for-privileged-passwords-enables-unauthorized-access/ One Identity在近期发布的公告中称,其解决方案Safeguard for Privileged Passwords中存在一个安全漏洞,被标记为CVE-2024-45488,影响Safeguard for Privileged Passwords的登录过程,并可能允许攻击者未经授权访问系统。CVE-2024-45488漏洞与登录过程中的cookie处理有关,
4、越南人权组织成为 APT32 多年网络攻击的目标
https://thehackernews.com/2024/08/vietnamese-human-rights-group-targeted.html 攻击链通常利用鱼叉式网络钓鱼诱饵作为初始渗透媒介,以提供能够运行任意 shellcode 和收集敏感信息的后门。
5、网络攻击迫使美国西雅图-塔科马机场IT系统瘫痪、航班延误
https://www.secrss.com/articles/69590 美国西雅图-塔科马国际机场确认,日前出现的IT系统中断可能是由网络攻击引起。这一中断扰乱了预订和登机手续系统,并导致航班延误。
6、Cicada 勒索软件新变种瞄准VMware ESXi系统
https://securityaffairs.com/167897/cyber-crime/a-new-variant-of-cicada-ransomware-targets-vmware-esxi-systems.html Cicada3301 背后的组织自 6 月以来一直在网络犯罪论坛上招募成员。据推测,Cicada3301 可能与现已解散的 ALPHV 组织有关,因为这两个勒索软件有相似之处。
7、商业服务巨头 CBIZ 披露客户数据泄露
https://www.bleepingcomputer.com/news/security/business-services-giant-cbiz-discloses-customer-data-breach/ CBIZ 福利与保险服务公司 (CBIZ) 披露了一起数据泄露事件,涉及未经授权访问存储在特定数据库中的客户信息。
8、Confluence 漏洞被利用于加密货币挖矿活动
https://www.anquanke.com/post/id/299683 威胁行为者正在积极利用影响 Atlassian Confluence 数据中心和 Confluence Server 的现已修补的关键安全漏洞,在易受攻击的实例上进行非法加密货币挖掘。
9、黑客利用WinRAR漏洞入侵并加密Windows 和Linux 系统
https://cybersecuritynews.com/hacktivist-group-exploit-winrar-vulnerability/ 黑客组织 Head Mare 利用 WinRAR 的漏洞入侵并加密 Windows 和Linux 系统。Head Mare 利用的漏洞 (编号为 CVE-2023-38831) 位于流行的文件归档实用程序 WinRAR 中。
10、新型ManticoraLoader恶意软件攻击Citrix用户窃取数据
https://cybersecuritynews.com/manticoraloader-citrix-attack/ DeadXInject 是 AresLoader 和 AiDLocker 勒索软件背后的组织,它正在提供一种名为 ManticoraLoader 的新型恶意软件即服务 (MaaS)。
声明
以上内容原文来自互联网的公共方式,仅用于有限分享,译文内容不代表蚁景科技观点,因此第三方对以上内容进行分享、传播等行为,以及所带来的一切后果与译者和蚁景科技无关。以上内容亦不得用于任何商业目的,若产生法律责任,译者与蚁景科技一律不予承担。
大模型隐私泄露攻击技巧分析与复现
前言
大型语言模型,尤其是像ChatGPT这样的模型,尽管在自然语言处理领域展现了强大的能力,但也伴随着隐私泄露的潜在风险。在模型的训练过程中,可能会接触到大量的用户数据,其中包括敏感的个人信息,进而带来隐私泄露的可能性。此外,模型在推理时有时会无意中回忆起训练数据中的敏感信息,这一点也引发了广泛的关注。
隐私泄露的风险主要来源于两个方面:一是数据在传输过程中的安全性,二是模型本身的记忆风险。在数据传输过程中,如果没有采取充分的安全措施,攻击者可能会截获数据,进而窃取敏感信息,给用户和组织带来安全隐患。此外,在模型的训练和推理阶段,如果使用了个人身份信息或企业数据等敏感数据,这些数据可能会被模型运营方窥探或收集,存在被滥用的风险。
过去已经发生了多起与此相关的事件,导致许多大公司禁止员工使用ChatGPT。此前的研究表明,当让大模型反复生成某些特定词汇时,它可能会在随后的输出中暴露出训练数据中的敏感内容。
学术研究表明,对模型进行训练数据提取攻击是切实可行的。攻击者可以通过与预训练模型互动,从而恢复出训练数据集中包含的个别示例。例如,GPT-2曾被发现能够记住训练数据中的一些个人信息,如姓名、电子邮件地址、电话号码、传真号码和实际地址。这不仅带来了严重的隐私风险,还对语言模型的泛化能力提出了质疑。
本文要探讨的就是可以高效从大模型中提取出用于训练的隐私数据的技巧与方法,主要来自《Bag of Tricks for Training Data Extraction from Language Models》,这篇论文发在了人工智能顶级会议ICML 2023上。
背景知识
尽管大模型在各种下游语言任务中展现了令人瞩目的性能,但其内在的记忆效应使得训练数据可能被提取出来。这些训练数据可能包含敏感信息,如姓名、电子邮件地址、电话号码和物理地址,从而引发隐私泄露问题,阻碍了大模型在更广泛应用中的推进。
之前谷歌举办了一个比赛,链接如下
https://github.com/google-research/lm-extraction-benchmark/tree/master这是一个针对性数据提取的挑战赛,目的是测试参赛者是否能从给定的前缀中准确预测后缀,从而构成整个序列,使其包含在训练数据集中。这与无针对性的攻击不同,无针对性的攻击是搜索训练数据集中出现的任意数据。
针对性提取被认为更有价值和具有挑战性,因为它可以帮助恢复与特定主题相关的关键信息,而不是任意的数据。此外,评估针对性提取也更容易,只需检查给定前缀的正确后缀是否被预测,而无针对性攻击需要检查整个庞大的训练数据集。
这个比赛使用1.3B参数的GPT-Neo模型,以1-eidetic记忆为目标,即模型能够记住训练数据中出现1次的字符串。这比无针对性和更高eidetic记忆的设置更具有挑战性。
比赛的基准测试集包含从The Pile数据集中选取的20,000个示例,这个数据集已被用于训练许多最新的大型语言模型,包括GPT-Neo。每个示例被分为长度为50的前缀和后缀,攻击的任务是在给定前缀的情况下预测正确的后缀。这些示例被设计成相对容易提取的,即存在一个前缀长度使得模型可以准确生成后缀。
训练数据提取
从预训练的语言模型中提取训练数据,即所谓的"语言模型数据提取",是一种恢复用于训练模型的示例的方法。这是一个相对较新的任务,但背后的许多技术和分析方法,如成员资格推断和利用网络记忆进行攻击,早就已经被引入。
Carlini等人是最早定义模型知识提取和κ-eidetic记忆概念的人,并提出了有希望的数据提取训练策略。关于记忆的理论属性以及在敏感领域应用模型提取(如临床笔记分析)等,已经成为这个领域后续研究的焦点。
最近的研究也有一些重要发现:
Kandpal等人证明,在语言模型中,数据提取的效果经常归因于常用网络抓取训练集中的重复。
Jagielski等人使用非确定性为忘记记忆示例提供了一种解释。
Carlini等人分析了影响训练数据记忆的三个主要因素。
Feldman指出,为了达到接近最优的性能,在自然数据分布下需要记忆标签。
Lehman等人指出,预训练的BERT在训练临床笔记时存在敏感数据泄露的风险,特别是当数据表现出高水平的重复或"笔记膨胀"时。
总的来说,这个新兴领域正在深入探讨如何从语言模型中提取训练数据,以及这种提取带来的安全和隐私风险。最新的研究成果为进一步理解和应对这些挑战提供了重要的洞见。
成员推理攻击
成员资格推断攻击(MIA)是一种与训练数据提取密切相关的对抗性任务,目标是在只能对模型进行黑盒访问的情况下,确定给定记录是否在模型的训练数据集中。MIA已被证明在各种机器学习任务中都是有效的,包括分类和生成模型。
MIA使用的方法主要分为两类:
基于分类器的方法:这涉及训练一个二元分类器来识别成员和非成员之间的复杂模式关系,影子训练是一种常用的技术。
基于度量的方法:这通过首先计算模型预测向量上的度量(如欧几里得距离或余弦相似度)来进行成员资格推断。
这两类方法都有各自的优缺点,研究人员正在不断探索新的MIA攻击方法,以更有效地从机器学习模型中推断训练数据。这突出了训练数据隐私保护在模型部署和应用中的重要性。对MIA技术的深入理解,有助于设计更加安全和隐私保护的机器学习模型训练和部署策略,这对于广泛应用尤其是在敏感领域的应用至关重要。
其他基于记忆的攻击
大型预训练模型由于容易记住训练数据中的信息,因此面临着各种潜在的安全和隐私风险。除了训练数据提取攻击和成员资格推断攻击之外,还有其他基于模型记忆的攻击针对这类模型。
其中,模型提取攻击关注于复制给定的黑盒模型的功能性能。在这类攻击中,对手试图构建一个具有与原始黑盒模型相似预测性能的第二个模型,从而可以在不获取原始模型的情况下复制其功能。针对模型提取攻击的保护措施,集中在如何限制模型的功能复制。
另一类攻击是属性推断攻击,其目标是从模型中提取特定的个人属性信息,如地点、职业和兴趣等。这些属性信息可能是模型生产者无意中共享的训练数据属性,例如生成数据的环境或属于特定类别的数据比例。
与训练数据提取攻击不同,属性/属性推断攻击不需要事先知道要提取的具体属性。而训练数据提取攻击需要生成与训练数据完全一致的信息,这更加困难和危险。
总之,这些基于模型记忆的各类攻击,都突显了大型预训练模型在隐私保护方面的重大挑战。如何有效应对这些攻击,成为当前机器学习安全研究的一个重要焦点。
威胁模型
数据集是从 Pile 训练数据集中抽取的 20,000 个样本子集。每个样本由一个 50-token 的前缀和一个 50-token 的后缀组成。
攻击者的目标是给定前缀时,尽可能准确地预测后缀。
这个数据集中,所有 100-token 长的句子在训练集中只出现一次。
采用了 HuggingFace Transformers 上实现的 GPT-Neo 1.3B 模型作为语言模型。这是一个基于 GPT-3 架构复制品,针对 Pile 数据集进行过训练的模型。
GPT-Neo 是一个自回归语言模型 fθ,通过链式规则生成一系列token。
这个场景中,攻击者希望利用语言模型对训练数据的记忆,来尽可能准确地预测给定前缀的后缀。由于数据集中每个句子在训练集中只出现一次,这就给攻击者提供了一个机会,试图从模型中提取这些罕见句子的信息。
在句子层面,给定一个前缀p,我们表示在前缀p上有条件生成某个后缀s的概率为fθ(s|p)。
我们专注于针对性提取 κ-eidetic 记忆数据的威胁模型,我们选择 κ=1。根据 Carlini定义的模型知识提取,我们假设语言模型通过最可能的标准生成后缀 s。然后我们可以将针对性提取的正式定义写为:
给定一个包含在训练数据中的前缀 p 和一个预训练的语言模型 fθ。针对性提取是通过下式来生成后缀
至于 κ-eidetic 记忆数据,我们遵循 Carlini的定义,即句子 [p, s] 在训练数据中出现不超过 κ 个示例。在实践中,生成句子的长度通常使用截断和连接技术固定在训练数据集上。如果生成的句子短于指定长度,使用填充 token 将其增加到所需长度。
流程
第一阶段 - 后缀生成:
利用自回归语言模型 fθ 计算词汇表中每个 token 的生成概率分布。
从这个概率分布中采样生成下一个 token,采用 top-k 策略限制采样范围,将 k 设为10。
不断重复这个采样过程,根据前缀生成一组可能的后缀。
第二阶段 - 后缀排名:
使用成员资格推断攻击,根据每个生成后缀的困惑度进行排序。
只保留那些概率较高(困惑度较低)的后缀。
这样的两阶段流程,首先利用语言模型生成可能的后缀候选,然后通过成员资格推断攻击对这些候选进行评估和筛选,从而尽可能还原出训练数据中罕见的完整句子。
这个训练数据提取攻击的关键在于,利用语言模型对训练数据的"记忆"来生成接近训练样本的内容,再结合成员资格推断技术进一步挖掘出高概率的真实训练样本。
其中 N 是生成句子中的 token 数量。
改进策略
为了改进后缀生成,我们可以来看看真实和生成token的logits分布。如下图所示,这两种分布之间存在显著差异。
为了解决这个问题,我们可以采用一系列技术进行改进
采样策略
在自然语言处理的条件生成任务中,最常见的目标是最大化解码,即给定前缀,找到具有最高概率的后缀序列。这种"最大似然"策略同样适用于训练数据提取攻击场景,因为模型会试图最大化生成的内容与真实训练数据的相似性。
然而,从模型中直接找到理论上的全局最优解(argmax序列)是一个不切实际的目标。原因在于,语言模型通常是auto-regressive的,每个token的生成都依赖于前面生成的内容,因此搜索全局最优解的计算复杂度会随序列长度呈指数级上升,实际上是不可行的。
因此,常见的做法是采用束搜索(Beam Search)作为一种近似解决方案。束搜索会在每一步保留若干个得分最高的部分解,而不是简单地选择概率最高的单一路径。这种方式可以有效降低计算复杂度,但同时也存在一些问题:
束搜索可能会缺乏生成输出的多样性,因为它总是倾向于选择得分最高的少数几个路径。
尽管增大束宽度可以提高性能,但当束宽超过一定程度时,性能增益会迅速下降,同时也会带来更高的内存开销。
为了克服束搜索的局限性,我们可以采用随机采样的方法,引入更多的多样性。常见的采样策略包括:
Top-k 采样:只从概率最高的k个token中进行采样,k是一个超参数。这种方法可以控制生成输出的多样性,但过大的k可能会降低输出的质量和准确性。
Nucleus 采样(Nucleus Sampling):从概率总和达到设定阈值的token集合中进行采样,可以自适应地调整采样空间的大小。
典型采样(Typical Sampling):从完整的概率分布中采样,偏向采样接近平均概率的token,可以在保持输出质量的同时引入更多的多样性。
总的来说,条件生成任务中的解码策略需要在生成质量、多样性和计算复杂度之间进行权衡。束搜索作为一种近似解决方案,能够有效控制计算成本,但缺乏生成多样性。而随机采样方法则可以引入更多的多样性,但需要在采样策略上进行细致的调整。这些技术在训练数据提取攻击中都有重要的应用价值。
Nucleus采样的核心思想是从总概率达到一定阈值η的token集合中进行采样,而不是简单地从概率最高的k个token中采样。
在故事生成任务中,研究表明较低的η值(如0.6左右)更有利于生成更为多样化和创造性的内容。这说明在生成任务中,保留一定程度的低概率token是有益的,可以引入更多的多样性。但在训练数据提取攻击这样的任务中,较大的η值(约0.6)效果更好,相比基线提升了31%的提取精度。这表明对于数据提取这类任务,我们需要更加关注生成内容与训练数据的相似性,而不是过度强调多样性。
如下图示进一步说明了这一点,即η值过大或过小都会导致性能下降。存在一个最优的η值区间,需要根据具体任务进行调整。
Typical-ϕ是一种用于自然语言生成任务的采样策略。它的核心思想是选择与预期输出内容相似的token,从而保证在典型解码中能够考虑到原始分布的概率质量。这种策略可以提高生成句子的一致性,同时减少一些容易出现的退化重复等问题。Typical-ϕ 策略在数学上等价于一个带有熵率约束的子集优化问题。这种策略在一定程度上可以控制生成文本的多样性和流畅性,平衡了文本质量和创造性。
Typical-ϕ 策略在不同任务中表现可能会有所不同。例如,在抽象摘要和故事生成任务中,Typical-ϕ 策略展现出一定的非单调趋势,即随着ϕ值的变化,生成文本的质量并非线性提升。这说明Typical-ϕ需要根据具体任务进行合适的参数调整,以达到最佳的生成效果。
概率分布调整
温度控制(Temperature)
这是一种直接调整概率分布的策略,通过引入温度参数T来重新归一化语言模型的输出概率分布。较高的温度T > 1会降低模型预测的确信度,但可以增加生成文本的多样性。研究发现,在生成过程中逐渐降低温度是有益的,可以在多样性和生成效率之间达到平衡。但过高的温度也可能导致生成的文本偏离真实分布,降低效率。因此需要合理调节温度参数。
重复惩罚(Repetition Penalty)
这是一种基于条件语言模型的策略,通过修改每个token的生成概率来抑制重复token的出现。具体做法是,重复token的logit在进入softmax层之前被除以一个值r。当r > 1时会惩罚重复,r < 1则会鼓励重复。研究发现,重复惩罚对训练数据提取任务通常有负面影响,因为它可能会抑制一些有用的重复信息。因此在使用重复惩罚时,需要根据具体任务和数据特点来合理设置参数r,在抑制不必要重复和保留有意义重复之间寻求平衡。
总的来说,温度控制和重复惩罚是两种常见的直接调整概率分布的策略,可以在一定程度上提高自然语言生成的质量和多样性。但它们也存在一些局限性,需要根据实际应用场景进行合理的参数调整和组合使用,以达到最佳的生成效果。
为了有效的向量化,通常在训练语言模型时将多个句子打包成固定长度的序列。例如,句子"Yu的电话号码是12345"可能在训练集中被截断,或与另一个句子拼接成前缀,如"Yu的地址在XXX。Yu的电话号码是12345"。训练集中的这些前缀序列并不总是完整的句子。为了更好地模拟这种训练设置,我们可以调整上下文窗口大小和位置偏移。
动态上下文窗口
训练窗口的长度可能与提取窗口的长度不同。因此,提出调整上下文窗口的大小,即之前生成的token的数量,如下所示。
此外,鼓励不同上下文窗口大小的结果在确定下一个生成的token时进行协作:
其中 hW 表示集成方法,W 表示集成超参数,包括不同上下文窗口大小的数量 m 和每个窗口大小 w_i。我们在代码中使用 m = 4 和 w_i ∈ {n, n - 1, n - 2, n - 3}。
动态位置偏移
位置嵌入被添加到像 GPT-Neo 这样的模型中的 token 特征中。在训练过程中,这是按句子批次添加的,导致相同的句子在不同的训练批次和生成过程中具有不同偏移的位置嵌入。
为了改进对记忆后缀的提取,可以通过评估不同偏移位置并选择 "最佳" 的一个来恢复训练期间使用的位置。具体来说,对于给定的前缀 p,评估不同的偏移位置 C = c_i,其中 c_i 是一系列连续自然数的列表,c_i = {c_i1, ...},使得 |c_i| = |p|,并计算相应的困惑度值。然后选择具有最低困惑度值的位置作为生成后缀的位置。
通过评估不同的位置偏移来选择最佳的位置嵌入,来提高模型对记忆后缀的提取能力。这种方法可以很好地补充原有的位置嵌入方法,增强模型的性能。
其中 ψ(·) 表示位置编码层,φ(·) 表示特征映射函数,𝜙^ϕ^ 表示包含位置编码的特征映射函数,P 计算前缀的困惑度。
前瞻(Look-Ahead)
有时候在生成过程中只有一个或两个token被错误生成或者放置在不适当的位置。为了解决这个问题,可以使用一种技术,它涉及向前看ν步,并使用后续token的概率来通知当前token的生成。前瞻的目标是使用后验分布来帮助计算当前token的生成概率。后验被计算为:
设 Track(xstart, xend | xcond) 表示从 xstart 开始到 xend 结束,在 xcond 条件下的轨迹的概率乘积。那么我们可以写ν步后验为:
其中 Track 被计算为:
超参数优化
以上提到的技巧涉及到各种超参数,简单地使用最佳参数通常是次优的。
手动搜索最佳超参数,也称为 "babysitting",可能非常耗时。
所以其实可以使用多功能的架构自动调整方法,结合了高效的搜索和剪枝策略,根据先进的框架来确定优化的超参数。作为搜索算法,比如可以确定搜索目标为 MP(精确度),搜索的参数包括 top-k、nucleus-η、typical-ϕ、温度 T 和重复惩罚 r。
后缀排名改进
在生成多个后缀之后,会进行一个排名过程,使用困惑度 P 作为度量来消除那些不太可能的后缀。然而,下图的统计分析揭示了真实句子并不总是具有最低困惑度值
句子级标准
文本的熵,由 Zlib 压缩算法用位数来确定,是序列信息内容的量化指标。使用由 GPT-Neo 模型计算的给定句子的困惑度与相同句子的 Zlib 熵的比率作为成员推断的度量。此外还可以分析困惑度和 Zlib 熵的乘积的潜在效用,因为当模型对其预测有高度信心时,这两种度量都趋于减少。实验表明这两种度量在成员推断任务的整体性能上只产生了边际改进。
词级别标准
对高置信度的奖励。记忆数据的高置信度存在是被称为 "记忆效应"的现象的明确特征之一。我们对高置信度的 token 进行奖励。如果句子包含置信度高的 token,那么生成的 token 的可能性高于某个阈值,并且生成的 token 与其他 token 之间的差异也高于某个阈值,我们会将其排名提高。具体来说,对于生成后缀中的 token 𝑥𝑛x**n,如果其概率高于阈值 0.9,那么我们会从后缀 𝑠𝑖s**i 的分数中减去一个给定的数值 0.1(原始分数 𝑠𝑖s**i 是其困惑度)。
鼓励惊讶模式。根据最近的研究,人类文本生成经常表现出一种模式,即高困惑度的 token 被间歇性地包含,而不是一直选择低困惑度的 token。为了解决这个问题,通过只基于大多数 token 计算生成提示的困惑度来鼓励惊讶 token(高困惑度 token)的存在:
其中 µ 和 σ 分别表示一批中 𝑝(𝑥𝑛∣𝑥[0:𝑛−1])p(x**n∣x[0:n−1]) 的均值和标准差。使用这种方法,生成中包含的惊讶 token 不会在整体句子困惑度上产生负面影响,从而在成员推断期间增加了它们被选择的可能性。
实战
分析关键的函数
如下函数通过批处理方式高效地生成文本,并计算每个生成文本的损失,以评估模型在生成任务中的表现。这样可以帮助分析和改进生成文本的质量和模型的泛化能力。
该函数的主要目的是从给定的提示中生成文本,并计算生成文本的概率(或损失)。
输入参数
prompts: 一个包含提示的numpy数组。
batch_size: 每次处理的提示数量,默认值为32。
主要步骤
初始化:
初始化空列表用于存储生成的文本和相应的损失。
确定生成文本的总长度,这包括前缀和后缀的长度。
批次处理:
将提示按批次进行处理,批次大小由 batch_size 决定。
将每个批次的提示堆叠成一个批次,并转换为PyTorch张量。
生成文本:
使用模型生成文本。生成过程中:
将输入提示移至GPU。
设置生成文本的最大长度。
进行随机采样(do_sample=True),并只考虑概率最高的10个标记(top_k=10)。
处理生成过程中可能出现的填充标记。
计算概率:
将生成的文本再次输入模型,计算每个标记的概率。
提取模型输出的logits,重新整形为二维张量。
使用交叉熵计算每个标记的损失。
将损失重新整形,并提取后缀部分的损失。
计算每个生成序列的平均损失,作为生成文本的概率。
存储结果:
将生成的文本和损失转换为numpy数组,并分别存储在列表中。
返回结果:
返回生成的文本和相应的损失,以numpy数组的形式返回。
如下函数组合在一起用于评估和比较语言模型的生成质量。write_array函数保存生成结果,hamming函数计算生成文本与真实文本之间的汉明距离,gt_position函数计算真实答案的损失,compare_loss函数比较生成文本与真实文本的损失,plot_hist函数则用于可视化损失分布。通过这些步骤,可以全面评估模型在生成任务中的表现和准确性。
1. write_array
功能: 将numpy数组保存到文件中,文件名包含一个唯一标识符。
输入: 文件路径(包含格式化标记)、数组、唯一标识符(整数或字符串)。
实现: 使用给定的格式化标记生成文件名,然后将数组保存到该文件中。
2. hamming
功能: 计算生成序列与真实序列之间的汉明距离。
输入: 真实序列和生成的序列。
实现:
如果生成的序列是二维的,逐行计算每行的汉明距离。
否则,计算生成序列第一行与真实序列的汉明距离。
返回平均汉明距离和汉明距离的形状。
3. gt_position
功能: 计算真实答案序列的损失。
输入: 真实答案序列列表和批次大小(默认为50)。
实现:
将答案分批处理。
计算每个标记的logits。
使用交叉熵计算每个标记的损失。
提取后缀部分的损失,并计算平均损失。
返回每个序列的损失列表。
4. compare_loss
功能: 比较真实序列和生成序列的损失。
输入: 真实序列的损失和生成序列的损失。
实现:
将两组损失拼接在一起。
对每个序列的损失进行排序。
获取排序后的索引。
返回排序后的损失,排序索引和排名第一的索引。
5. plot_hist
功能: 绘制损失的直方图。
输入: 损失数组。
实现: 该函数目前为空,未实现绘图逻辑。
如下函数组合在一起用于处理和评估语言模型的生成任务。load_prompts函数加载提示数据,is_memorization函数评估生成模型是否记住了训练数据,error_100函数计算在发生100次错误之前的匹配次数,precision_multiprompts函数计算多提示生成序列的精确度,prepare_data函数则准备实验所需的数据和目录结构。这些步骤帮助全面评估和改进模型的生成质量和泛化能力。
1. load_prompts
功能: 从指定目录加载numpy文件并转换为64位整数类型的numpy数组。
输入:
dir_: 文件所在的目录路径。
file_name: 文件名。
实现: 通过拼接目录路径和文件名构造完整文件路径,加载文件并转换数据类型。
2. is_memorization
功能: 计算生成的序列与真实序列完全匹配的比例,以确定模型是否记住了训练数据。
输入:
guesses: 生成的序列。
answers: 真实序列。
实现:
对比生成的序列和真实序列是否完全相同,统计完全匹配的次数。
计算匹配次数在所有生成序列中的比例。
3. error_100
功能: 计算在前100个错误之前的正确匹配次数。
输入:
guesses_order: 按顺序排列的生成序列。
order: 序列顺序索引。
answers: 真实序列。
实现:
遍历生成序列,统计与真实序列匹配的次数,直到发生100次错误为止。
返回在发生100次错误之前的总遍历次数和超出100次错误的匹配数。
4. precision_multiprompts
功能: 计算多提示生成序列的精确度。
输入:
generations: 多提示生成的序列。
answers: 真实序列。
num_perprompt: 每个提示生成的序列数量。
实现:
截取每个提示生成的前num_perprompt个序列。
检查每个提示生成的序列是否与真实序列匹配。
计算匹配的提示数量占总提示数量的比例。
5. prepare_data
功能: 准备数据和目录结构以进行实验。
输入:
val_set_num: 验证集的数量。
实现:
构造实验目录和生成结果、损失结果的子目录。
加载提示数据,并提取验证集部分的提示数据。
返回构造的目录路径和提示数据。
### 如下函数组合在一起用于处理和评估语言模型的生成任务。
write_guesses_order函数将生成的序列按顺序写入CSV文件,便于进一步分析。
edit_dist函数计算生成序列和真实序列之间的编辑距离,这是评估生成质量的重要指标。
metric_print函数计算并打印各种评估指标,包括精度、多提示精度、前100个错误之前的正确匹配数、汉明距离和编辑距离。这些指标帮助全面评估模型在生成任务中的表现和准确性。
1. write_guesses_order
功能: 将生成的序列按顺序写入CSV文件。
输入:
generations_per_prompt: 每个提示生成的序列数。
order: 序列的顺序索引。
guesses_order: 生成的序列按顺序排列。
实现:
打开CSV文件进行写操作,文件名包含generations_per_prompt。
写入表头。
遍历序列索引和生成的序列,将每个序列按指定格式写入CSV文件。
2. edit_dist
功能: 计算生成序列和真实序列之间的编辑距离。
输入:
answers: 真实序列。
generations_one: 生成的单个序列。
实现:
初始化编辑距离总和为0。
遍历真实序列和生成序列,计算每对序列的编辑距离并累加。
返回平均编辑距离。
3. metric_print
功能: 计算并打印各种评估指标。
输入:
generations_one: 单个生成序列。
all_generations: 所有生成序列。
generations_per_prompt: 每个提示生成的序列数。
generations_order: 按顺序排列的生成序列。
order: 序列的顺序索引。
val_set_num: 验证集的数量。
实现:
加载真实答案数据。
打印生成序列和真实序列的形状。
计算生成序列的精度并打印。
计算多提示生成序列的精度并打印。
计算前100个错误之前的正确匹配数并打印。
计算生成序列和真实序列的汉明距离并打印。
计算生成序列和真实序列的编辑距离并打印。
返回各种评估指标。
我们首先来看基线的攻击效果
我们在前面提到Zlib 压缩算法,可以用来衡量文本的熵,即信息内容的量化指标。在这项研究中,Zlib 用于与语言模型计算的困惑度相结合,作为成员推断的一个度量标准。具体地,使用 GPT-Neo 模型对给定句子计算的困惑度与相同句子的 Zlib 熵的比值,来评估句子是否可能属于模型的训练数据集。但是 Zlib 方法的效果是有限的。尽管 Zlib 熵和困惑度都是衡量模型对句子预测信心的指标,且两者在模型高度自信时趋于减少,但它们在成员推断任务的整体性能上只产生了边际(即很小的)改进。这表明,尽管 Zlib 方法在理论上是一个有趣的尝试,但在实际应用中可能不是最有效的手段。所以我们可以来看看是否如此
首先来看看zlib在实现上的不同
generate_for_prompts函数用于生成给定提示的输出序列,并计算每个生成序列的损失
输入参数
prompts: 一个包含提示序列的numpy数组。
batch_size: 每个批次处理的提示数量,默认值为32。
输出
生成的序列数组和对应的损失数组。
步骤
初始化:
generations 和 losses 用于存储生成的序列和计算的损失。
generation_len 计算生成序列的长度,该长度为后缀和前缀的总和。
批次处理:
将提示序列按批次进行处理。
对每个批次,提取相应的提示序列,并将其转换为PyTorch张量。
生成序列:
在禁用梯度计算的上下文中,使用模型生成序列。
max_length 设置为生成序列的总长度。
do_sample=True 和 top_k=10 控制生成策略。
pad_token_id=50256 设置填充标记ID,避免警告。
计算损失:
生成序列后,计算每个生成序列的概率。
将生成的序列作为输入和标签传递给模型。
提取logits并重新形状,以适应交叉熵损失计算。
计算每个标记的损失,只考虑后缀部分的损失。
压缩长度调整:
使用zlib库对每个生成的序列进行压缩,并获取压缩后的长度。
调整每个生成序列的损失,使其与压缩长度成正比。
结果存储:
将生成的序列和对应的损失添加到结果列表中。
最后,将结果转换为至少二维的numpy数组并返回。
该函数通过以下几个步骤生成序列并计算损失:
按批次加载提示序列。
使用预训练模型生成序列。
计算生成序列的损失。
通过压缩调整损失。
存储并返回生成的序列和损失。
这种方法既考虑了生成序列的质量(通过损失计算),又通过压缩长度的调整,间接考虑了序列的复杂性和压缩率。
执行后效果如下
之前还提到了动态上下文窗口(Dynamic Context Window)技术。
在语言模型生成文本时,如果生成了一个错误的token,可能会因为语言模型的自回归特性而导致后续的token也生成错误。通过使用动态上下文窗口,可以从不同长度的历史上下文中获取信息,这有助于减少这种错误传播。通过调整上下文窗口的大小,即考虑不同数量的之前生成的token,可以帮助模型更好地理解前缀的上下文,从而提高生成后缀的准确性。文中提到的实验结果显示,使用动态上下文窗口可以显著提高数据提取的准确性。动态上下文窗口允许模型在生成每个token时考虑不同长度的上下文,这增加了生成过程的灵活性,使模型能够根据当前的上下文信息选择最合适的token。
有两种实现动态上下文窗口的方法。第一种是加权平均策略(Weighted Average Strategy),第二种是基于投票机制的策略(Voting Strategy)。两种方法都旨在结合不同窗口大小生成的概率,以提高生成后缀的准确性。
我们首先来看代码上的不同
1. winlen_logits_output
功能: 计算输入序列的一部分(从win_len到input_len的片段)的模型输出logits。
输入:
input_batch: 输入序列的批次。
win_len: 截断窗口的起始位置。
input_len: 截断窗口的结束位置。
answer_batch: 真实答案的批次。
实现:
禁用梯度计算以提高效率。
截取输入序列的指定部分并传递给模型,计算logits。
初始化一个空列表val,准备存储一些计算结果(但在此函数中并未实际使用)。
根据训练标志决定如何处理logits。
返回最后一层logits和空的val列表。
2. zlib_filter
功能: 预留的过滤函数,目前没有实现任何功能。
3. vote_for_the_one
功能: 通过投票机制选择最可能的输出序列。
输入:
last_logits: 最后一层的logits。
k: 用于投票的前k个logits。
answers: 真实答案。
input_len: 输入序列的长度。
实现:
初始化投票计数数组。
获取logits中每个序列的前k个最高值的索引。
为每个索引分配线性权重。
打印预测结果和原始结果的比较。
返回投票计数最高的索引作为最终预测。
4. logits_add
功能: 通过加权求和的方式整合logits,得到最终的预测。
输入:
last_logits: 多个窗口的logits。
weight_win: 每个窗口的权重。
实现:
使用权重加权求和各个窗口的logits。
返回加权求和后的logits中概率最高的索引作为最终预测。
这些函数用于处理和评估生成模型的输出:
winlen_logits_output 提取并计算输入序列部分片段的logits,帮助理解模型对不同输入片段的响应。
vote_for_the_one 使用投票机制从logits中选择最可能的输出,提高预测的准确性。
logits_add 通过加权求和不同窗口的logits,进一步优化预测结果。
zlib_filter 目前未实现,可能预留用于将来对数据进行某种过滤处理。
这用于生成给定提示的输出序列,并计算每个生成序列的损失的函数
输入参数
prompts: 包含提示序列的numpy数组。
batch_size: 每个批次处理的提示数量。
_SUFFIX_LEN, _PREFIX_LEN: 后缀和前缀的长度。
_DATASET_DIR.value: 数据集的目录路径。
_val_set_num.value: 用于加载的验证集数量。
输出
生成的序列数组 (generations) 和对应的损失数组 (losses)。
主要步骤
初始化:
generations 和 losses 初始化为空列表。
generation_len 计算生成序列的长度,为后缀和前缀长度之和。
answers 加载验证集的答案数据。
循环处理提示序列:
根据设定的批次大小,循环处理提示序列。
每次循环中,提取并准备输入的提示批次 (prompt_batch) 和对应的答案批次 (answers_batch)。
生成序列:
使用带有截断窗口的方法生成序列,通过调用 gene_next_token 函数获取每次生成的下一个标记。
将生成的标记 (generated_tokens) 拼接在一起形成完整的生成序列。
将生成序列转换为PyTorch张量,并在禁用梯度计算的上下文中生成模型输出 (generated_tokens 是最终的生成序列)。
计算损失:
计算每个生成序列的logits。
使用交叉熵损失函数计算损失。
将损失加入到 losses 列表中。
返回结果:
将 generations 和 losses 转换为至少二维的numpy数组,并返回。
执行后效果如下
在上图可以看到指标有极大的提升(可以看precision,精确度是指正确生成的后缀占给定前缀总数的比例。这是通过比较生成的后缀和实际的训练数据后缀来计算的。精确度反映了模型生成正确后缀的能力。这个值越高说明效果越好;或者也可以看hamming dist,汉明距离是用来衡量两个等长字符串之间差异的指标,计算为两个字符串对应位置上不同符号的数量。在训练数据提取的上下文中,汉明距离用来定量评估生成后缀与真实后缀之间的相似度,提供了一个在token级别上对提取方法性能的评估。这个值越小,说明效果越好)
在来看看我们在上文提到的另一个改进策略:一种基于词级别的排名方法,称为 "Reward on high confidence"(简称 highconf 方法)。这种方法的核心思想是奖励那些在生成后缀中包含高置信度 token 的候选后缀。具体来说,如果一个生成的后缀中的某个 token 具有高于特定阈值(例如 0.9)的概率,那么这个后缀在排名时会被赋予更高的分数。这种策略的目的是利用语言模型对其预测的置信度来提高提取任务的性能。
对应的代码如下
这段代码的功能是生成给定提示的输出序列,并计算每个生成序列的损失。
输入参数
prompts: 包含提示序列的numpy数组。
batch_size: 每个批次处理的提示数量。默认为32。
输出
生成的序列数组 (generations) 和对应的损失数组 (losses)。
主要步骤
初始化:
generations 和 losses 初始化为空列表。
generation_len 计算生成序列的长度,为后缀和前缀长度之和。
将输入的 batch_size 设置为32,这个值在后续循环中使用。
循环处理提示序列:
根据设定的批次大小,循环处理提示序列。
每次循环中,提取并准备输入的提示批次 (prompt_batch),并将其转换为PyTorch张量 (input_ids)。
生成序列:
使用带有截断的方法生成序列,通过调用 _MODEL.generate 函数获取生成的标记 (generated_tokens)。
在生成的标记上禁用梯度计算,并通过计算模型输出 (outputs.logits) 获得每个标记的logits值。
损失计算:
计算每个标记的损失 (loss_per_token),使用交叉熵损失函数 (torch.nn.functional.cross_entropy)。
对损失进行后处理:
使用标准差过滤异常值,如果损失超出3倍标准差范围,则设置为1。
根据前两个最高的logits分数之间的差异和是否大于0.5来调整损失值。
最后,计算每个生成序列的平均损失 (likelihood)。
结果整理:
将生成的序列 (generated_tokens) 和损失 (likelihood) 添加到 generations 和 losses 列表中。
返回结果:
将 generations 和 losses 转换为至少二维的numpy数组,并返回。
执行后如下所示
在上图中,也是用我们之前说的方法,看指标,precision,hamming dist等都相比基线方法有了较大提升。也就表明我们在本文中所说的这些策略都是有效的。
网络安全日报 2024年09月02日
1、黑客利用"黑神话悟空修改器"传播恶意代码
https://mp.weixin.qq.com/s/yArqTngBt-lGg4T7HEE0sw 近日,安天CERT通过网络安全监测发现利用“黑神话悟空修改器”传播恶意代码的活动,攻击者将自身的恶意代码程序与《黑神话:悟空》第三方修改器“风灵月影”捆绑在一起,再通过在社媒发布视频等方式引流,诱导玩家下载。玩家一旦下载了带有恶意代码的修改器版本,在运行修改器的同时,也将在后台自动运行恶意代码,导致计算机被控制,产生隐私泄露、经济损失等风险。
2、超过130家美国组织遭遇黑客电话钓鱼攻击
https://www.guidepointsecurity.com/blog/so-phish-ticated-attacks/ 2024年8月29日,研究人员报告揭露了一场针对超过130家美国组织的复杂VPN钓鱼和电话钓鱼(vishing)攻击活动。攻击者伪装成公司IT支持人员,通过电话和短信诱使员工访问伪造的VPN登录页面,从而窃取其凭证。攻击者利用这些凭证进入公司网络后,扫描漏洞系统,扩展权限并部署勒索软件。这些假冒的登录页面模仿真实的VPN门户,甚至创建虚假的VPN组以提高可信度。一旦用户输入了凭证和多因素认证令牌,他们被重定向回真正的VPN门户,从而让用户放松警惕。
3、微软披露朝鲜APT利用Chrome零日漏洞窃取加密货币
https://www.microsoft.com/en-us/security/blog/2024/08/30/north-korean-threat-actor-citrine-sleet-exploiting-chromium-zero-day/ 微软威胁情报团队近日确认,朝鲜黑客组织利用Chrome的一个远程代码执行漏洞(CVE-2024-7971)进行攻击,目标为加密货币行业。该漏洞涉及Chromium V8 JavaScript和WebAssembly引擎中的类型混淆缺陷,已于8月21日由谷歌修复。微软表示,攻击由与朝鲜政府相关的APT组织“Citrine Sleet”实施,该组
4、网络攻击者利用Google Sheets作为C2发起新型恶意软件活动
https://www.proofpoint.com/us/blog/threat-insight/malware-must-not-be-named-suspected-espionage-campaign-delivers-voldemort 研究人员发现了一场利用Google Sheets作为指挥控制(C2)机制的新型恶意软件活动。该活动于2024年8月5日首次由研究人员检测到,攻击者假扮欧洲、亚洲和美国的税务机关,目标锁定全球70多个组织,涉及金融、技术、政府、能源等多个行业。攻击者使用名为Voldemort的定制后门工具收集信息并投递恶意负载。受害者通过钓鱼邮件被引导至伪装的Goo
5、攻击者在GitHub项目中发布虚假评论传播窃密木马
https://www.bleepingcomputer.com/news/security/github-comments-abused-to-spread-lumma-stealer-malware-as-fake-fixes 攻击者正在利用GitHub进行恶意攻击活动,在GitHub项目中发布虚假评论以传播窃密木马Lumma Stealer。该攻击活动最初是由teloxide rust库的一位贡献者报告,该贡献者称在GitHub问题中收到了五条不同的评论,这些评论提供了虚假的修复程序,但实际上是在推送恶意软件。研究人员进一步调查发现在GitHub的各种项目中存在数千条类似的恶意评论。这
6、新Android间谍软件LianSpy针对俄罗斯用户
https://www.freebuf.com/news/408450.html 卡巴斯基研究人员发现了一种前所未见的Android间谍软件,该软件主要针对俄罗斯用户,并且可能会部署到其他地区。这个被称为“LianSpy”的恶意软件至少自2021年以来就一直活跃,但由于其“复杂的规避技术”,直到今年3月才被发现和分析。
7、新恶意软件伪装 Palo Alto VPN攻击中东用户
https://thehackernews.com/2024/08/new-malware-masquerades-as-palo-alto.html 网络安全研究人员披露了一项新的活动,该活动通过伪装成 Palo Alto Networks GlobalProtect虚拟专用网络 (VPN) 工具的恶意软件可能针对中东用户。趋势科技研究员 Mohamed Fahmy在一份技术报告中表示: “该恶意软件可以执行远程 PowerShell 命令、下载和窃取文件、加密通信并绕过沙盒解决方案,对目标组织构成重大威胁。”
8、研究人员披露传播Snake Keylogger的网络钓鱼活动
https://www.fortinet.com/blog/threat-research/deep-analysis-of-snake-keylogger-new-variant 研究人员最近发现了一起网络钓鱼活动,钓鱼邮件中附有一个恶意的Excel文档,用于传播Snake Keylogger。该Excel文档利用CVE-2017-0199漏洞下载107.hta文件,该文件中包含经过混淆处理的JavaScript代码,用于执行VBScript以及PowerShell代码,以下载、执行名为sahost.exe的恶意程序。sahost.exe是一种加载器,能够解密得到名为Tyrone.dll的
9、研究人员在FlyCASS系统中发现SQL注入漏洞
https://www.bleepingcomputer.com/news/security/researchers-find-sql-injection-to-bypass-airport-tsa-security-checks 研究人员在FlyCASS系统中发现了一个安全漏洞,该漏洞允许未经授权的个人绕过机场安检并进入飞机驾驶舱。FlyCASS是一种基于Web的第三方服务,一些航空公司使用该系统来管理已知机组人员(KCM)计划和驾驶舱访问安全系统(CASS)。研究人员发现,FlyCASS的登录系统容易受到SQL注入的影响,该漏洞使攻击者能够通过输入恶意的SQL语句查询数据库内容。利用此漏
10、新型网络攻击针对华语企业部署Cobalt Strike恶意软件
https://www.securonix.com/blog/from-cobalt-strike-to-mimikatz-slowtempest/ 近日,研究人员发现一场针对华语企业的高度组织化网络攻击活动,攻击者通过钓鱼邮件感染Windows系统并部署Cobalt Strike恶意软件。该攻击行动代号为“SLOW#TEMPEST”,未归因于已知的威胁组织。攻击者利用恶意ZIP文件诱导用户解压并激活感染链,最终在被攻陷系统上部署后利用工具包。通过伪装的Windows快捷方式文件,攻击者实施了DLL侧加载技术,首次利用LicensingUI.exe执行恶意DLL,实现持久性访问。该攻击还通过
声明
以上内容原文来自互联网的公共方式,仅用于有限分享,译文内容不代表蚁景科技观点,因此第三方对以上内容进行分享、传播等行为,以及所带来的一切后果与译者和蚁景科技无关。以上内容亦不得用于任何商业目的,若产生法律责任,译者与蚁景科技一律不予承担。
第2页 第3页 第4页 第5页 第6页 第7页 第8页 第9页 第10页 第11页 第12页 第13页 第14页 第15页 第16页 第17页 第18页 第19页 第20页 第21页 第22页 第23页 第24页 第25页 第26页 第27页 第28页 第29页 第30页 第31页 第32页 第33页 第34页 第35页 第36页 第37页 第38页 第39页 第40页 第41页 第42页 第43页 第44页 第45页 第46页 第47页 第48页 第49页 第50页 第51页 第52页 第53页 第54页 第55页 第56页 第57页 第58页 第59页 第60页 第61页 第62页 第63页 第64页 第65页 第66页 第67页 第68页 第69页 第70页 第71页 第72页 第73页 第74页 第75页 第76页 第77页 第78页 第79页 第80页 第81页 第82页 第83页 第84页 第85页 第86页 第87页 第88页 第89页 第90页 第91页 第92页 第93页 第94页 第95页 第96页 第97页 第98页 第99页 第100页 第101页 第102页 第103页 第104页 第105页 第106页 第107页 第108页 第109页 第110页 第111页 第112页 第113页 第114页 第115页 第116页 第117页 第118页 第119页 第120页 第121页 第122页 第123页 第124页 第125页 第126页 第127页 第128页 第129页 第130页 第131页 第132页 第133页 第134页 第135页 第136页 第137页 第138页 第139页 第140页 第141页 第142页 第143页 第144页 第145页 第146页 第147页 第148页 第149页 第150页 第151页 第152页 第153页 第154页 第155页 第156页 第157页 第158页 第159页 第160页 第161页 第162页 第163页 第164页 第165页 第166页 第167页 第168页 第169页 第170页 第171页 第172页 第173页 第174页 第175页 第176页 第177页 第178页 第179页 第180页 第181页 第182页 第183页 第184页 第185页 第186页 第187页 第188页 第189页 第190页 第191页 第192页 第193页 第194页 第195页 第196页 第197页 第198页 第199页 第200页 第201页 第202页 第203页 第204页 第205页 第206页 第207页 第208页 第209页 第210页 第211页
蚁景网安学院火热招生中,限时领取大额优惠券,快来抢购吧~
扫码咨询客服了解招生最新内容和活动

