研究人员发现,扫描工具原本负责清除通过流行的开源代码存储库PyPI分发的软件包所含的恶意代码,实际上却生成大量的误警报。

PyPI是面向用Python编写的应用程序中使用的软件组件的主要代码库,Chainguard公司分析PyPI后发现,这种方法只揪出了59%的恶意软件包,但也误标了三分之一流行的合法Python软件包和15%的随机选择的软件包。

Chainguard的研究人员在周二的分析报告中表示,研究工作旨在创建一个数据集,以便Python维护人员和PyPI代码库可以用来确定其系统在扫描项目、查找恶意更改和供应链攻击方面的效果。

参与这项研究的Chainguard高级软件工程师Zack Newman表示,虽然现有方法可以检测出大多数恶意软件,但显然需要重大改进,那样才能防止误警报浪费项目经理的时间。

他表示,这些是还有其他工作要做的志愿者,而不是愿意整天搜索可疑代码的安全研究人员。他们格外关注PyPI的安全性,不遗余力地改善这种情况,但眼下收效甚微。

误报是许多软件分析工具的祸根,因此也是安全团队的祸根。即使某个系统能做到百分之百准确地发现恶意软包,如果其误报率为1%,假设每周发布的20000个PyPI软件包中只要有一个是恶意软件包,那么开发人员和应用程序安全专业人员仍然每周需要处理200个假警报。

数百个软件包在研究中触发了警报,虽然研究人员进行了一些抽查,但仅仅快速查看不足以确定某个软件包是否是恶意的——这就是为什么恶意软件检测工具如此重要。代码存储库管理员令人同情,他们每周要面对比这多出十倍的警报。

为了确保实用性,扫描工具需要将误报率降低到0.01%左右,哪怕以遗漏一些恶意软件包为代价。

PyPI的恶意软件扫描方法

PyPI旨在通过以两种方式检查软件包和项目来阻止软件供应链攻击。PyPI使用签名扫描软件包的setup.py文件,以检测可能表明含有恶意功能的已知的可疑模式——签名用YARA规则表示,这是一种创建恶意软件签名的行业标准。YARA的全称是Yet Another Recursive Acronym,与其说是描述性名称,不如说是行业内部的戏称。此外,代码存储库的扫描工具会分析提交项目和贡献者,查找可能表明恶意代码的可疑更改。

研究人员使用168个针对PyPI代码存储库的已知恶意攻击示例构建了数据集。然后,他们创建了第二个数据集,含有1000个下载次数最多的软件包和1000个导入次数最多的软件包;他们消除重复项后,最后得到了1430个流行软件包。另外,他们还创建了一个随机选择的1000个软件包组成的数据集,由于14个软件包没有任何Python代码,最后得到的是986个随机的Python软件包。

研究人员表示,流行软件包和随机选择的软件包都被认为是合法的。此外,流行项目可能有更高的安全性,并遵守编程方面的最佳实践。

研究人员在周二发布的分析报告中写道:“虽然其中一些软件包可能是恶意软件包,但之外的大部分软件包是恶意软件包的可能性微乎其微。重要的是,这些软件包更有可能代表从 PyPI随机选择的软件包。”

开源软件存储库仍然是网络犯罪活动的目标

当下,应用程序安全专业人员和软件开发人员在想方设法为构成普通程序中78%代码的开源软件组件确保安全性。

开源安全基金会(OpenSSF)已采取了多项举措,以提高开源软件供应链的安全性,包括确定需要更严格安全审查的最关键的软件包,以及支持采用SigStore,这个项目通过加密方法将源代码与已编译的软件包关联起来。

在过去这几年,针对软件供应链的攻击有增无减。仅仅在过去一个月,安全公司卡巴斯基就在Node Package Manager(npm)代码存储库中发现了恶意软件,而安全公司Check Point和Snyk发现了托管在PyPI存储库服务上的十多个恶意软件包。

此外,意大利的一名学龄儿童向PyPI上传了多个含有勒索软件脚本的恶意Python软件包,据称此举纯属试验。

不太可能只有PyPI出现有问题的扫描结果。展望未来,Chainguard研究人员计划扩大分析范围,评估至少四款开源软件恶意软件分析工具,比如OSSGadget Detect Backdoor、bandit4ma和OSSF Package Analysis,并将PyPI Malware Checks规则转换成SemGrep,后者是一款多语言开源静态代码分析工具。

研究人员发现,扫描工具原本负责清除通过流行的开源代码存储库PyPI分发的软件包所含的恶意代码,实际上却生成大量的误警报。

PyPI是面向用Python编写的应用程序中使用的软件组件的主要代码库,Chainguard公司分析PyPI后发现,这种方法只揪出了59%的恶意软件包,但也误标了三分之一流行的合法Python软件包和15%的随机选择的软件包。

Chainguard的研究人员在周二的分析报告中表示,研究工作旨在创建一个数据集,以便Python维护人员和PyPI代码库可以用来确定其系统在扫描项目、查找恶意更改和供应链攻击方面的效果。

参与这项研究的Chainguard高级软件工程师Zack Newman表示,虽然现有方法可以检测出大多数恶意软件,但显然需要重大改进,那样才能防止误警报浪费项目经理的时间。

他表示,这些是还有其他工作要做的志愿者,而不是愿意整天搜索可疑代码的安全研究人员。他们格外关注PyPI的安全性,不遗余力地改善这种情况,但眼下收效甚微。

误报是许多软件分析工具的祸根,因此也是安全团队的祸根。即使某个系统能做到百分之百准确地发现恶意软包,如果其误报率为1%,假设每周发布的20000个PyPI软件包中只要有一个是恶意软件包,那么开发人员和应用程序安全专业人员仍然每周需要处理200个假警报。

数百个软件包在研究中触发了警报,虽然研究人员进行了一些抽查,但仅仅快速查看不足以确定某个软件包是否是恶意的——这就是为什么恶意软件检测工具如此重要。代码存储库管理员令人同情,他们每周要面对比这多出十倍的警报。

为了确保实用性,扫描工具需要将误报率降低到0.01%左右,哪怕以遗漏一些恶意软件包为代价。

PyPI的恶意软件扫描方法

PyPI旨在通过以两种方式检查软件包和项目来阻止软件供应链攻击。PyPI使用签名扫描软件包的setup.py文件,以检测可能表明含有恶意功能的已知的可疑模式——签名用YARA规则表示,这是一种创建恶意软件签名的行业标准。YARA的全称是Yet Another Recursive Acronym,与其说是描述性名称,不如说是行业内部的戏称。此外,代码存储库的扫描工具会分析提交项目和贡献者,查找可能表明恶意代码的可疑更改。

研究人员使用168个针对PyPI代码存储库的已知恶意攻击示例构建了数据集。然后,他们创建了第二个数据集,含有1000个下载次数最多的软件包和1000个导入次数最多的软件包;他们消除重复项后,最后得到了1430个流行软件包。另外,他们还创建了一个随机选择的1000个软件包组成的数据集,由于14个软件包没有任何Python代码,最后得到的是986个随机的Python软件包。

研究人员表示,流行软件包和随机选择的软件包都被认为是合法的。此外,流行项目可能有更高的安全性,并遵守编程方面的最佳实践。

研究人员在周二发布的分析报告中写道:“虽然其中一些软件包可能是恶意软件包,但之外的大部分软件包是恶意软件包的可能性微乎其微。重要的是,这些软件包更有可能代表从 PyPI随机选择的软件包。”

开源软件存储库仍然是网络犯罪活动的目标

当下,应用程序安全专业人员和软件开发人员在想方设法为构成普通程序中78%代码的开源软件组件确保安全性。

开源安全基金会(OpenSSF)已采取了多项举措,以提高开源软件供应链的安全性,包括确定需要更严格安全审查的最关键的软件包,以及支持采用SigStore,这个项目通过加密方法将源代码与已编译的软件包关联起来。

在过去这几年,针对软件供应链的攻击有增无减。仅仅在过去一个月,安全公司卡巴斯基就在Node Package Manager(npm)代码存储库中发现了恶意软件,而安全公司Check Point和Snyk发现了托管在PyPI存储库服务上的十多个恶意软件包。

此外,意大利的一名学龄儿童向PyPI上传了多个含有勒索软件脚本的恶意Python软件包,据称此举纯属试验。

不太可能只有PyPI出现有问题的扫描结果。展望未来,Chainguard研究人员计划扩大分析范围,评估至少四款开源软件恶意软件分析工具,比如OSSGadget Detect Backdoor、bandit4ma和OSSF Package Analysis,并将PyPI Malware Checks规则转换成SemGrep,后者是一款多语言开源静态代码分析工具。

dangers-of-browser-extensions-featured.jpg

我们每个人都可能至少安装过某种浏览器扩展程序:广告拦截器、在线翻译器、拼写检查器或其他东西。然而,很少有人停下来思考:它安全吗?不幸的是,这些看似无害的迷你应用程序可能比你想象得更危险。下面我们将以最常见的恶意扩展系列为例,解释安装浏览器插件后可能出现的问题。

什么是扩展,它们有什么作用?

让我们从基本定义开始,找出问题的根源。

浏览器扩展是为您的浏览器添加功能的插件。例如,他们可以屏蔽网页上的广告、做标注、检查拼写等等。对于流行的浏览器,有官方扩展商店可以帮助您选择、比较和安装想要的插件。但也可以从非官方来源安装扩展。

需要注意的是,要使扩展程序发挥作用,它需要获得读取和更改您在浏览器中查看的网页内容的权限。如果没有这种访问权限,它可能完全发挥不了作用。

以Google Chrome为例,扩展程序需要能够读取和更改您访问的所有网站上的所有数据。这看起来格外值得警惕,对吧?然而,即便是官方商店也很少关注这一问题。

例如,在官方Chrome Web商店中,流行的谷歌翻译扩展程序的隐私实践部分声明,它会收集有关位置、用户活动和网站内容的信息。但是,它需要访问所有网站的所有数据才能工作,这一事实在用户安装扩展程序之前并不会透露给用户。 dangers-of-browser-extensions-1-EN.png

【谷歌翻译扩展程序请求获得“读取和更改所有网站的所有数据”的访问权限】

大多数用户甚至可能不会阅读此消息,并且会自动单击“添加扩展程序”以立即开始使用该插件。所有这些都为网络犯罪分子以看似无害的扩展程序为幌子分发广告软件甚至恶意软件创造了机会。

至于广告软件(adware)扩展,更改显示内容的权限允许它们在您访问的网站上显示广告。在这种情况下,扩展程序的创建者可以通过点击跟踪到的广告商网站的附属链接来牟利。为了获得更有针对性的广告内容,他们还可能会分析您的搜索查询和其他数据。

当涉及到恶意扩展时,情况会更糟。访问所有网站内容的权限将允许攻击者窃取卡详细信息cookie和其他敏感信息。让我们看一些例子。

恶意扩展案例

Office文件的流氓工具

近年来,网络犯罪分子一直在积极传播恶意WebSearch广告软件扩展。该家族的成员通常会伪装成Office文件的工具,例如用于Word到PDF的转换工具。

但是,在安装之后,它们会将常规的浏览器主页替换为一个迷你站点,该站点带有搜索栏和跟踪至第三方资源(例如 AliExpress或 Farfetch)的附属链接。

dangers-of-browser-extensions-2.png

【下载WebSearch家族成员后的浏览器主页】

安装后,该扩展程序还将默认搜索引擎更改为名为search.myway的内容。这允许网络犯罪分子保存和分析用户搜索查询,并根据他们的兴趣为他们提供更相关的链接。

目前,Chrome官方商店已不再提供WebSearch扩展,但仍可从第三方资源下载。

难以摆脱的广告软件插件

另一个常见的广告软件扩展家族DealPly的成员,通常会连同从可疑网站下载的盗版内容一起潜入用户的计算机。它们的工作方式与WebSearch插件大致相同。

DealPly扩展同样将浏览器主页替换为带有指向流行数字平台的附属链接的迷你站点,并且就像恶意WebSearch扩展一样,它们会替换默认搜索引擎并分析用户搜索查询以创建更多定制广告。

 dangers-of-browser-extensions-3.png

【下载DealPly家族成员后的浏览器主页】

更重要的是,DealPly家族的成员极难摆脱。即使用户删除了广告软件扩展程序,每次重启浏览器时它也会重新安装到他们的设备上。

AddScript分发不需要的cookie

AddScript家族的扩展通常会伪装成从社交网络或代理服务器管理器下载音乐和视频的工具。但是,除了此功能之外,它们还会用恶意代码感染受害者的设备。然后,攻击者便可以使用此代码在用户不注意的情况下在后台观看视频,并通过增加观看次数来赚取收入。

网络犯罪分子的另一个收入来源是将cookie下载到受害者的设备上。一般来说,cookies会在用户访问网站时存储在用户的设备上,并可用作一种数字标记。在正常情况下,附属网站会承诺将客户带到合法网站。为此,他们会通过有趣或有用的内容将用户吸引到他们自己的网站上。然后,他们在用户的计算机上存储一个cookie,并通过链接将它们发送到目标站点。使用此cookie,网站将了解新客户的来源并向合作伙伴支付费用——有时用于支付重定向本身,有时用于任何购买分成,有时用于特定操作(例如注册)。

AddScript操作人员使用恶意扩展来滥用此方案。他们没有将真实的网站访问者发送给合作伙伴,而是将多个cookie下载到受感染的设备上。这些cookie用作诈骗者合作伙伴计划的标记,帮助AddScript运营商牟利。事实上,它们根本不会吸引任何新客户,它们的“合作伙伴”活动包括用这些恶意扩展程序感染计算机。

FB Stealer—— cookie窃贼

另一个恶意扩展家族FB Stealer的工作方式与AddScript有所不同。该家族的成员不会将“扩展信息(extras,扩展信息提供附加数据)”下载到设备上,而是会窃取重要的cookie。这是它的工作原理。

FB Stealer扩展与NullMixer木马一起进入用户的设备,受害者通常在尝试下载被黑客入侵的软件安装程序时获取该木马。安装后,木马会修改用于存储Chrome浏览器设置的文件,包括有关扩展的信息。

激活后,FB Stealer会伪装成谷歌翻译扩展,让用户放松警惕。该扩展程序看起来确实很有说服力,唯一缺点是浏览器会发出警告称官方商店并不包含有关它的信息。

 dangers-of-browser-extensions-4.png

【浏览器警告称官方商店不包含有关该扩展的信息 】

该家族的成员也会替换浏览器的默认搜索引擎,但这并不是这些扩展最令人不快的地方。 FB Stealer的主要功能是从世界上最大的社交网络的用户那里窃取会话cookies。这些cookie可以让您在每次访问该站点时绕过登录——它们还允许攻击者无需密码即可进入。例如,以这种方式劫持一个帐户后,攻击者就可以向受害者的朋友和亲戚发送消息要钱。

防护建议

浏览器扩展是有用的工具,但重要的是要谨慎对待它们,并意识到它们并不像人们想象的那么无害。因此,我们建议采取以下安全措施:

· 仅从官方来源下载扩展。请记住,这并非无懈可击的安全保证——恶意扩展确实会时不时地渗透到官方商店。但此类平台通常会更加关注用户安全,并最终设法删除恶意扩展;

· 不要安装太多扩展程序并定期检查列表。如果发现了不是自己安装的东西,一定要提高警惕,及时处理;

· 使用可靠的安全解决方案。

dangers-of-browser-extensions-featured.jpg

我们每个人都可能至少安装过某种浏览器扩展程序:广告拦截器、在线翻译器、拼写检查器或其他东西。然而,很少有人停下来思考:它安全吗?不幸的是,这些看似无害的迷你应用程序可能比你想象得更危险。下面我们将以最常见的恶意扩展系列为例,解释安装浏览器插件后可能出现的问题。

什么是扩展,它们有什么作用?

让我们从基本定义开始,找出问题的根源。

浏览器扩展是为您的浏览器添加功能的插件。例如,他们可以屏蔽网页上的广告、做标注、检查拼写等等。对于流行的浏览器,有官方扩展商店可以帮助您选择、比较和安装想要的插件。但也可以从非官方来源安装扩展。

需要注意的是,要使扩展程序发挥作用,它需要获得读取和更改您在浏览器中查看的网页内容的权限。如果没有这种访问权限,它可能完全发挥不了作用。

以Google Chrome为例,扩展程序需要能够读取和更改您访问的所有网站上的所有数据。这看起来格外值得警惕,对吧?然而,即便是官方商店也很少关注这一问题。

例如,在官方Chrome Web商店中,流行的谷歌翻译扩展程序的隐私实践部分声明,它会收集有关位置、用户活动和网站内容的信息。但是,它需要访问所有网站的所有数据才能工作,这一事实在用户安装扩展程序之前并不会透露给用户。 dangers-of-browser-extensions-1-EN.png

【谷歌翻译扩展程序请求获得“读取和更改所有网站的所有数据”的访问权限】

大多数用户甚至可能不会阅读此消息,并且会自动单击“添加扩展程序”以立即开始使用该插件。所有这些都为网络犯罪分子以看似无害的扩展程序为幌子分发广告软件甚至恶意软件创造了机会。

至于广告软件(adware)扩展,更改显示内容的权限允许它们在您访问的网站上显示广告。在这种情况下,扩展程序的创建者可以通过点击跟踪到的广告商网站的附属链接来牟利。为了获得更有针对性的广告内容,他们还可能会分析您的搜索查询和其他数据。

当涉及到恶意扩展时,情况会更糟。访问所有网站内容的权限将允许攻击者窃取卡详细信息cookie和其他敏感信息。让我们看一些例子。

恶意扩展案例

Office文件的流氓工具

近年来,网络犯罪分子一直在积极传播恶意WebSearch广告软件扩展。该家族的成员通常会伪装成Office文件的工具,例如用于Word到PDF的转换工具。

但是,在安装之后,它们会将常规的浏览器主页替换为一个迷你站点,该站点带有搜索栏和跟踪至第三方资源(例如 AliExpress或 Farfetch)的附属链接。

dangers-of-browser-extensions-2.png

【下载WebSearch家族成员后的浏览器主页】

安装后,该扩展程序还将默认搜索引擎更改为名为search.myway的内容。这允许网络犯罪分子保存和分析用户搜索查询,并根据他们的兴趣为他们提供更相关的链接。

目前,Chrome官方商店已不再提供WebSearch扩展,但仍可从第三方资源下载。

难以摆脱的广告软件插件

另一个常见的广告软件扩展家族DealPly的成员,通常会连同从可疑网站下载的盗版内容一起潜入用户的计算机。它们的工作方式与WebSearch插件大致相同。

DealPly扩展同样将浏览器主页替换为带有指向流行数字平台的附属链接的迷你站点,并且就像恶意WebSearch扩展一样,它们会替换默认搜索引擎并分析用户搜索查询以创建更多定制广告。

 dangers-of-browser-extensions-3.png

【下载DealPly家族成员后的浏览器主页】

更重要的是,DealPly家族的成员极难摆脱。即使用户删除了广告软件扩展程序,每次重启浏览器时它也会重新安装到他们的设备上。

AddScript分发不需要的cookie

AddScript家族的扩展通常会伪装成从社交网络或代理服务器管理器下载音乐和视频的工具。但是,除了此功能之外,它们还会用恶意代码感染受害者的设备。然后,攻击者便可以使用此代码在用户不注意的情况下在后台观看视频,并通过增加观看次数来赚取收入。

网络犯罪分子的另一个收入来源是将cookie下载到受害者的设备上。一般来说,cookies会在用户访问网站时存储在用户的设备上,并可用作一种数字标记。在正常情况下,附属网站会承诺将客户带到合法网站。为此,他们会通过有趣或有用的内容将用户吸引到他们自己的网站上。然后,他们在用户的计算机上存储一个cookie,并通过链接将它们发送到目标站点。使用此cookie,网站将了解新客户的来源并向合作伙伴支付费用——有时用于支付重定向本身,有时用于任何购买分成,有时用于特定操作(例如注册)。

AddScript操作人员使用恶意扩展来滥用此方案。他们没有将真实的网站访问者发送给合作伙伴,而是将多个cookie下载到受感染的设备上。这些cookie用作诈骗者合作伙伴计划的标记,帮助AddScript运营商牟利。事实上,它们根本不会吸引任何新客户,它们的“合作伙伴”活动包括用这些恶意扩展程序感染计算机。

FB Stealer—— cookie窃贼

另一个恶意扩展家族FB Stealer的工作方式与AddScript有所不同。该家族的成员不会将“扩展信息(extras,扩展信息提供附加数据)”下载到设备上,而是会窃取重要的cookie。这是它的工作原理。

FB Stealer扩展与NullMixer木马一起进入用户的设备,受害者通常在尝试下载被黑客入侵的软件安装程序时获取该木马。安装后,木马会修改用于存储Chrome浏览器设置的文件,包括有关扩展的信息。

激活后,FB Stealer会伪装成谷歌翻译扩展,让用户放松警惕。该扩展程序看起来确实很有说服力,唯一缺点是浏览器会发出警告称官方商店并不包含有关它的信息。

 dangers-of-browser-extensions-4.png

【浏览器警告称官方商店不包含有关该扩展的信息 】

该家族的成员也会替换浏览器的默认搜索引擎,但这并不是这些扩展最令人不快的地方。 FB Stealer的主要功能是从世界上最大的社交网络的用户那里窃取会话cookies。这些cookie可以让您在每次访问该站点时绕过登录——它们还允许攻击者无需密码即可进入。例如,以这种方式劫持一个帐户后,攻击者就可以向受害者的朋友和亲戚发送消息要钱。

防护建议

浏览器扩展是有用的工具,但重要的是要谨慎对待它们,并意识到它们并不像人们想象的那么无害。因此,我们建议采取以下安全措施:

· 仅从官方来源下载扩展。请记住,这并非无懈可击的安全保证——恶意扩展确实会时不时地渗透到官方商店。但此类平台通常会更加关注用户安全,并最终设法删除恶意扩展;

· 不要安装太多扩展程序并定期检查列表。如果发现了不是自己安装的东西,一定要提高警惕,及时处理;

· 使用可靠的安全解决方案。

Akamai研究人员Ben Barnea在Windows Server服务中发现了一个重要的漏洞,鉴于此漏洞影响较大,建议客户尽快做好自查及防护。该漏洞被分配为CVE-2022-30216,风险评分为8.8。Windows Server服务在处理特制请求时存在漏洞,经过身份认证的远程攻击者可利用此漏洞在目标系统上执行代码。

该漏洞利用了Server服务实现的安全回调过程中的一个单字节缓冲区溢出漏洞(off-by-one)。单字节缓冲区溢出,其中最常见的是边界验证不严,通常包括循环次数错误和字符串操作不合适而造成的。

我们确认该漏洞存在于未修复的Windows 11和Windows Server 2022计算机中。

当该漏洞与针对Active Directory证书服务(AD CS)的新技术局域网管理器(NTLM)中继攻击结合使用时,具有域凭据的攻击者就能够在域控制器上远程运行代码。

我们还相信,攻击者可能会使用这种技术来修改服务器的证书映射,从而执行服务器欺骗。

该漏洞已向微软披露,并在7月进行了修复。

Windows 10 Version 21H2 for x64-based Systems
Windows 10 Version 21H2 for ARM64-based Systems
Windows 10 Version 21H2 for 32-bit Systems
Windows 11 for ARM64-based Systems
Windows 11 for x64-based Systems
Windows Server, version 20H2 (Server Core Installation)
Windows 10 Version 20H2 for ARM64-based Systems
Windows 10 Version 20H2 for 32-bit Systems
Windows 10 Version 20H2 for x64-based Systems
Windows Server 2022 (Server Core installation)
Windows Server 2022
Windows 10 Version 21H1 for 32-bit Systems
Windows 10 Version 21H1 for ARM64-based Systems
Windows 10 Version 21H1 for x64-based Systems

漏洞介绍

最近几个月,研究人员对微软的远程过程调用(MS-RPC)进行了深入的研究。简而言之,RPC 用于高效的进程间通信。它依赖于标准的客户端服务器模型,它是当今 Windows 中使用最广泛的协议之一。

研究人员在MS-RPC设计中发现的一个更有趣的方面是安全回调,它的作用是限制对RPC服务器的访问,本质上为不需要的(通常是远程的)用户提供安全性。许多 RPC 服务器实现了安全回调,每个服务器都有自己的逻辑和注意事项。

Windows服务广泛使用RPC使其功能对客户端可用。这促使研究人员研究不同的服务及其安全回调实现的底层逻辑。果然,他们找到一个安全漏洞,该漏洞可能允许攻击者执行服务器欺骗或触发对受害者的身份验证。

Server 服务(也称为 LanmanServer)是负责管理 SMB 共享的 Windows 服务。共享是可以通过公共网络文件系统服务器在网络上访问的资源,比如文件、打印机和目录树。从本质上讲,网络共享允许用户利用网络上的其他设备来执行各种日常任务。

Server服务允许远程计算机通过命名管道(\\pipe\srvsvc)上的RPC创建、配置、查询和删除共享。为了介绍方便,我们将把该服务称为srvsvc。

srvsvc中的漏洞会造成很大影响,因为该服务提供核心功能,且默认情况下会在每台Windows计算机上运行。

SMB over QUIC

SMB over QUIC 由 TLS 1.3 使用端口 443 (HTTPS) 而不是端口 445 (SMB) 建立隧道,并且所有 SMB 流量都包含在隧道内,这意味着没有任何流量暴露在网络中。由于这些功能,SMB over QUIC 是具有更高安全要求的移动用户或组织的可靠选择。

从 Windows 10 20H2 开始,微软推出了一项新功能——SMB over QUIC。该功能允许通过新的传输层网络协议 QUIC 访问 SMB 共享。QUIC 的目的是提供更可靠、更安全的连接,同时克服常见的互联网问题,例如延迟和数据包丢失。

在QUIC网络交互中,作为一种附加的安全措施,客户端通过检查服务器提供的证书来验证服务器的身份。通过在 QUIC 上添加 SMB,服务器服务开始负责管理这些证书。

研究人员就是在这个功能中发现漏洞的,要理解它,我们首先需要探索RPC服务器执行访问控制的方法。

安全回调

许多 Windows 服务(其中包括 srvsvc)实现了一个 RPC 服务器,以允许进程间通信并为不同的客户端提供对其功能的访问。Windows 中的 RPC 利用了各种安全机制,本文将专注一个叫做安全回调的方法。

安全回调的目标是限制对RPC接口的访问。回调是由RPC服务器开发人员实现的,它允许每个开发人员应用自己的逻辑来允许访问特定的用户或阻止访问特定的功能。在RPC中,由服务器公开的函数使用opnums(操作号)表示,我们将在 srvsvc 的安全回调中很快看到。

cve-image-1.webp.jpg

安全回调的变化

要了解这个漏洞,我们首先需要查看在SMB over QUIC功能添加之前srvsvc的安全回调:

cve-image-2.webp.jpg

srvsvc安全回调——Windows 10 19H2

如上所示,srvsvc的安全回调逻辑如下:

如果远程客户端试图访问64-69范围内的函数——拒绝访问;

如果远程客户端(非集群帐户)试图访问一个58-63范围内的函数——拒绝访问;

因此,从本质上讲,远程客户端被阻止访问接口的这些特定功能。此范围检查提示受限制的函数是敏感的,应该只由预期的(本地)进程调用。

随着SMB over QUIC的增加,Windows 10 20H2为srvsvc服务增加了四个新功能:

LocalrServerCertificateMappingGet
LocalrServerCertificateMappingSet
LocalrServerCertificateMappingEnum
LocalrServerCertificateMappingRemove

因为远程访问这些函数是不可取的,所以它们被添加到本地函数范围中——srvsvc的安全回调禁止远程客户端使用这些函数。

而且,如下所示,范围确实被更改为包括这四个新函数的 opnum,将第一个本地范围从 64-69 增加到 64-73,并将安全回调的访问控制扩展到这些函数。到目前为止,一切顺利。

cve-image-3.webp.jpg

srvsvc安全回调——Windows 10 20H2

在Windows 11和Windows Server 2022中,微软增加了一个名为LocalrServerCertificateMappingModify的新函数:

4.png

但是,这一次,在这个新版本中,受限制函数的范围并没有改变,而是包含了新添加的函数:

5.png

srvsvc安全回调——Windows 11/Server 2022

因此,在添加此函数时,它没有被安全回调所覆盖,因此远程RPC客户端可以访问它。

被利用的可能

通过调用此函数,攻击者可以更改服务器上的证书映射配置。证书映射是服务器的 QUIC 证书和证书存储中的证书之间的“符号链接”。我们相信攻击者可能会使用这个函数来添加他们自己的证书映射,从而执行服务器欺骗。请注意,此函数不会在 Windows 证书存储中添加或修改证书,而是将 QUIC 服务器使用的证书映射到 Windows 存储中的证书。

在尝试评估漏洞的影响时,我们注意到函数接收的结构包含证书的存储位置:

6.png

通过提供UNC路径作为storeLocation变量,攻击者可以使LocalrServerCertificateMappingModify触发受害者服务器向他们控制的计算机发出RPC请求。触发请求的函数流如下:

LocalrServerCertificateMappingModify → SsValidCertandUpdateCertinfo → CertOpenStore → _CertDllOpenSystemStoreProvW → EnumPhysicalStore → FormatSystemRegPath → RegConnectRegistryExW → BaseBindToMachine → Rpc_OpenPredefHandle → NdrClientCall3

在服务器发送到我们计算机的RPC请求期间,服务器对攻击者的服务器执行身份验证。攻击者现在可以利用受害者的凭证来执行NTLM中继攻击。

利用该漏洞并执行 NTLM 中继流,研究人员成功复制了 PetitPotam 攻击场景,即滥用 AD CS 并接管域控制器。

7.png

触发漏洞需要攻击者能够访问域中的计算机。对于NTLM中继场景,需要增加AD的CS角色,以及AD的一个容易被NTLM中继的服务(证书颁发机构 Web 注册、证书注册 Web 服务)。

漏洞修复

微软周二在7月的补丁中发布了针对该漏洞的补丁。目前这个漏洞已经被修复了:

1.纠正安全回调中的本地函数范围,从而防止对LocalrServerCertificateMappingModify的远程访问;

2.在每个添加的本地函数中增加一个访问检查;

缓解和检测

以下是缓解NTLM中继的建议:

8.png

通常,滥用AD CS的NTLM中继攻击将涉及TGT请求。事件日志(EventID 4768)将包括请求计算机的IP地址。如果从不是域控制器本身的计算机为域控制器请求TGT,则可以检测到恶意TGT请求。

总结

当添加新功能时,注意它们带来的潜在后果是很重要的。不仅在功能本身,而且在用户访问它的方式上。在我们的案例中,SMB over QUIC 被添加到 Windows 中,并为服务器服务引入了新功能。但是,该漏洞不在于通过 QUIC 实现 SMB,而在于旧功能限制对相应 RPC 接口的访问方式。

Akamai研究人员Ben Barnea在Windows Server服务中发现了一个重要的漏洞,鉴于此漏洞影响较大,建议客户尽快做好自查及防护。该漏洞被分配为CVE-2022-30216,风险评分为8.8。Windows Server服务在处理特制请求时存在漏洞,经过身份认证的远程攻击者可利用此漏洞在目标系统上执行代码。

该漏洞利用了Server服务实现的安全回调过程中的一个单字节缓冲区溢出漏洞(off-by-one)。单字节缓冲区溢出,其中最常见的是边界验证不严,通常包括循环次数错误和字符串操作不合适而造成的。

我们确认该漏洞存在于未修复的Windows 11和Windows Server 2022计算机中。

当该漏洞与针对Active Directory证书服务(AD CS)的新技术局域网管理器(NTLM)中继攻击结合使用时,具有域凭据的攻击者就能够在域控制器上远程运行代码。

我们还相信,攻击者可能会使用这种技术来修改服务器的证书映射,从而执行服务器欺骗。

该漏洞已向微软披露,并在7月进行了修复。

Windows 10 Version 21H2 for x64-based Systems
Windows 10 Version 21H2 for ARM64-based Systems
Windows 10 Version 21H2 for 32-bit Systems
Windows 11 for ARM64-based Systems
Windows 11 for x64-based Systems
Windows Server, version 20H2 (Server Core Installation)
Windows 10 Version 20H2 for ARM64-based Systems
Windows 10 Version 20H2 for 32-bit Systems
Windows 10 Version 20H2 for x64-based Systems
Windows Server 2022 (Server Core installation)
Windows Server 2022
Windows 10 Version 21H1 for 32-bit Systems
Windows 10 Version 21H1 for ARM64-based Systems
Windows 10 Version 21H1 for x64-based Systems

漏洞介绍

最近几个月,研究人员对微软的远程过程调用(MS-RPC)进行了深入的研究。简而言之,RPC 用于高效的进程间通信。它依赖于标准的客户端服务器模型,它是当今 Windows 中使用最广泛的协议之一。

研究人员在MS-RPC设计中发现的一个更有趣的方面是安全回调,它的作用是限制对RPC服务器的访问,本质上为不需要的(通常是远程的)用户提供安全性。许多 RPC 服务器实现了安全回调,每个服务器都有自己的逻辑和注意事项。

Windows服务广泛使用RPC使其功能对客户端可用。这促使研究人员研究不同的服务及其安全回调实现的底层逻辑。果然,他们找到一个安全漏洞,该漏洞可能允许攻击者执行服务器欺骗或触发对受害者的身份验证。

Server 服务(也称为 LanmanServer)是负责管理 SMB 共享的 Windows 服务。共享是可以通过公共网络文件系统服务器在网络上访问的资源,比如文件、打印机和目录树。从本质上讲,网络共享允许用户利用网络上的其他设备来执行各种日常任务。

Server服务允许远程计算机通过命名管道(\\pipe\srvsvc)上的RPC创建、配置、查询和删除共享。为了介绍方便,我们将把该服务称为srvsvc。

srvsvc中的漏洞会造成很大影响,因为该服务提供核心功能,且默认情况下会在每台Windows计算机上运行。

SMB over QUIC

SMB over QUIC 由 TLS 1.3 使用端口 443 (HTTPS) 而不是端口 445 (SMB) 建立隧道,并且所有 SMB 流量都包含在隧道内,这意味着没有任何流量暴露在网络中。由于这些功能,SMB over QUIC 是具有更高安全要求的移动用户或组织的可靠选择。

从 Windows 10 20H2 开始,微软推出了一项新功能——SMB over QUIC。该功能允许通过新的传输层网络协议 QUIC 访问 SMB 共享。QUIC 的目的是提供更可靠、更安全的连接,同时克服常见的互联网问题,例如延迟和数据包丢失。

在QUIC网络交互中,作为一种附加的安全措施,客户端通过检查服务器提供的证书来验证服务器的身份。通过在 QUIC 上添加 SMB,服务器服务开始负责管理这些证书。

研究人员就是在这个功能中发现漏洞的,要理解它,我们首先需要探索RPC服务器执行访问控制的方法。

安全回调

许多 Windows 服务(其中包括 srvsvc)实现了一个 RPC 服务器,以允许进程间通信并为不同的客户端提供对其功能的访问。Windows 中的 RPC 利用了各种安全机制,本文将专注一个叫做安全回调的方法。

安全回调的目标是限制对RPC接口的访问。回调是由RPC服务器开发人员实现的,它允许每个开发人员应用自己的逻辑来允许访问特定的用户或阻止访问特定的功能。在RPC中,由服务器公开的函数使用opnums(操作号)表示,我们将在 srvsvc 的安全回调中很快看到。

cve-image-1.webp.jpg

安全回调的变化

要了解这个漏洞,我们首先需要查看在SMB over QUIC功能添加之前srvsvc的安全回调:

cve-image-2.webp.jpg

srvsvc安全回调——Windows 10 19H2

如上所示,srvsvc的安全回调逻辑如下:

如果远程客户端试图访问64-69范围内的函数——拒绝访问;

如果远程客户端(非集群帐户)试图访问一个58-63范围内的函数——拒绝访问;

因此,从本质上讲,远程客户端被阻止访问接口的这些特定功能。此范围检查提示受限制的函数是敏感的,应该只由预期的(本地)进程调用。

随着SMB over QUIC的增加,Windows 10 20H2为srvsvc服务增加了四个新功能:

LocalrServerCertificateMappingGet
LocalrServerCertificateMappingSet
LocalrServerCertificateMappingEnum
LocalrServerCertificateMappingRemove

因为远程访问这些函数是不可取的,所以它们被添加到本地函数范围中——srvsvc的安全回调禁止远程客户端使用这些函数。

而且,如下所示,范围确实被更改为包括这四个新函数的 opnum,将第一个本地范围从 64-69 增加到 64-73,并将安全回调的访问控制扩展到这些函数。到目前为止,一切顺利。

cve-image-3.webp.jpg

srvsvc安全回调——Windows 10 20H2

在Windows 11和Windows Server 2022中,微软增加了一个名为LocalrServerCertificateMappingModify的新函数:

4.png

但是,这一次,在这个新版本中,受限制函数的范围并没有改变,而是包含了新添加的函数:

5.png

srvsvc安全回调——Windows 11/Server 2022

因此,在添加此函数时,它没有被安全回调所覆盖,因此远程RPC客户端可以访问它。

被利用的可能

通过调用此函数,攻击者可以更改服务器上的证书映射配置。证书映射是服务器的 QUIC 证书和证书存储中的证书之间的“符号链接”。我们相信攻击者可能会使用这个函数来添加他们自己的证书映射,从而执行服务器欺骗。请注意,此函数不会在 Windows 证书存储中添加或修改证书,而是将 QUIC 服务器使用的证书映射到 Windows 存储中的证书。

在尝试评估漏洞的影响时,我们注意到函数接收的结构包含证书的存储位置:

6.png

通过提供UNC路径作为storeLocation变量,攻击者可以使LocalrServerCertificateMappingModify触发受害者服务器向他们控制的计算机发出RPC请求。触发请求的函数流如下:

LocalrServerCertificateMappingModify → SsValidCertandUpdateCertinfo → CertOpenStore → _CertDllOpenSystemStoreProvW → EnumPhysicalStore → FormatSystemRegPath → RegConnectRegistryExW → BaseBindToMachine → Rpc_OpenPredefHandle → NdrClientCall3

在服务器发送到我们计算机的RPC请求期间,服务器对攻击者的服务器执行身份验证。攻击者现在可以利用受害者的凭证来执行NTLM中继攻击。

利用该漏洞并执行 NTLM 中继流,研究人员成功复制了 PetitPotam 攻击场景,即滥用 AD CS 并接管域控制器。

7.png

触发漏洞需要攻击者能够访问域中的计算机。对于NTLM中继场景,需要增加AD的CS角色,以及AD的一个容易被NTLM中继的服务(证书颁发机构 Web 注册、证书注册 Web 服务)。

漏洞修复

微软周二在7月的补丁中发布了针对该漏洞的补丁。目前这个漏洞已经被修复了:

1.纠正安全回调中的本地函数范围,从而防止对LocalrServerCertificateMappingModify的远程访问;

2.在每个添加的本地函数中增加一个访问检查;

缓解和检测

以下是缓解NTLM中继的建议:

8.png

通常,滥用AD CS的NTLM中继攻击将涉及TGT请求。事件日志(EventID 4768)将包括请求计算机的IP地址。如果从不是域控制器本身的计算机为域控制器请求TGT,则可以检测到恶意TGT请求。

总结

当添加新功能时,注意它们带来的潜在后果是很重要的。不仅在功能本身,而且在用户访问它的方式上。在我们的案例中,SMB over QUIC 被添加到 Windows 中,并为服务器服务引入了新功能。但是,该漏洞不在于通过 QUIC 实现 SMB,而在于旧功能限制对相应 RPC 接口的访问方式。

p1.png

Python开源编程语言中一个15年前的漏洞在许多地方仍未修补,因此得以蔓延到全球成千上万个开源和闭源项目。研究人员警告,这无意中构成了一条大范围易受攻击的软件供应链,大多数受影响的组织还蒙在鼓里。

Trellix高级研究中心的分析师发现,一个与路径遍历相关的漏洞被编号为CVE-2007-4559,目前在350000多个独特的开源代码存储库中仍未修补,导致应用软件容易被利用。

首席工程师兼漏洞研究主管Douglas McKee在9月21日发表的博文中表示,这个有问题的代码库存在于遍布众多行业的软件中,主要是软件开发、人工智能/机器学习和代码开发等领域,还包括安全、IT管理和媒体等诸多领域。

研究人员表示,Python tarfile模块还存在于任何使用Python的项目的一个默认模块中,目前广泛出现在AWS、Facebook、谷歌、英特尔和Netflix开发的框架中,以及用于机器学习、自动化和Docker容器化的应用程序中。

研究人员表示,虽然该漏洞让攻击者可以逃离目录(文件应该被解压到该目录),但攻击者也可以利用该漏洞执行恶意代码。

McKee说:“今天,这个未加制止的漏洞被无意中添加到全球成千上万开源和闭源项目中,留下了巨大的软件供应链攻击面。”

新问题,旧漏洞

McKee在博文中写道,Trellix的研究人员最近发现Python的tarfile模块没有合理检查企业设备中的路径遍历漏洞后,以为无意中发现了一个新的Python零日漏洞。不过他们很快就意识到,这个漏洞是之前就已发现的。

进一步深挖及后来得到GitHub的合作后发现,大约287万个开源文件含有Python的tarfile模块,该模块出现在大约588000个独特的代码存储库中。Trellix分析后发现,这些实例中约61%易受攻击,研究人员凭此估计目前有350000个易受攻击的Python代码存储库。

在开源界,找不到可以责怪的对象

该漏洞在整个软件界蔓延这么久、却未加制止有诸多原因;然而McKee特别指出,将具体责任归咎于Python项目、该项目的众多维护者或任何使用该平台的开发人员有失公允。

他写道:“首先应明确一点,造成CVE-2007-4559目前的这种状态,不该归咎于任何一方、组织或个人,但无论如何我们都有责任。”

McKee表示,由于Python之类的开源项目由一群志愿者而不是一个联合组织(以及非营利基金会)运行和维护,因此更难及时跟踪和修复已知的问题。此外,库或软件开发工具包……将安全地使用API视为开发人员的一部分责任并不少见。

的确,Python在tarfile函数的文档中就使用它的风险发出了警告,明确告诫开发人员:由于目录遍历问题,永远不要“在没有事先检查的情况下解压来源不明的存档”。

McKee表示,虽然警告是迈出的“积极一步”,提醒人们注意该问题,但显然没有阻止漏洞持续存在,因为仍需要由使用该代码库的开发人员确保自己构建的软件是安全的。

他补充道,使问题更严重的是,大多数为开发人员提供的关于如何使用该平台模块的Python教程并没有清楚地表明如何避免tarfile 模块的不安全使用,包括Python自己的文档以及utorialspoint、geeksforgeeks和askpython.com等流行网站。

McKee特别指出,这种差异使得该漏洞被编写到整条供应链中,这个趋势可能会延续数年,除非对这个问题有更广泛的认识。

利用漏洞“异常容易”

在技术方面,CVE-2007-4559是Python的tarfile模块中的路径遍历攻击,它让攻击者可以通过为TAR存档的文件名添加“..”序列来覆盖任意文件。

Trellix漏洞研究人员Charles McFarland在周三发表的关于该问题的另一篇博文中特别指出,这个实际漏洞源自使用未净化处理的tarfile.extract()或tarfile.extractall()的内置默认值的两三行代码。

他写道:“未编写在调用tarfile.extract()或tarfile.extractall()之前净化处理成员文件的任何安全代码导致了目录遍历漏洞,从而使不法分子能够访问文件系统。”

攻击者要利用该漏洞,就需要为文件名添加带有操作系统分隔符(“/”或“\”)的“..”,以逃离目录(文件本该被解压到该目录)。Python的tarfile模块让开发人员恰好可以做到这点。

这个广泛的Python tarfile漏洞浮出水面,实际上得益于Trellix漏洞研究实习生Kasimir Schulz对另一个问题开展的研究。周三他发表了第三篇独立的Trellix博文,详细描述了利用CVE-2007-4559多么“异常容易”。

Schulz在博文中解释,Python中的Tarfile包含多个不同的文件和元数据,元数据后来用于解压缩tarfile本身。TAR存档文件中包含的元数据包括但不限于文件名、文件大小和校验和之类的信息以及文件存档时有关文件所有者的信息。

Schulz写道:“tarfile模块让用户可以添加过滤器,过滤器可用于在文件的元数据添加到TAR存档之前解析和修改该元数据。”这使攻击者能够用短短六行代码即可创建漏洞利用工具。

Schulz在博文中继续详细解释了他如何使用该漏洞和一个名为Creosote的定制脚本(该脚本可搜遍目录,扫描并分析Python文件),在Spyder IDE中执行恶意代码。Spyder是一个免费的开源科学环境,为Python编写,可以在Windows和macOS上运行

聚焦供应链

tarfile问题再次凸显了软件供应链这一攻击面。由于攻击者可以通过攻击存在于多个平台和企业环境中的有缺陷代码造成广泛影响,这个攻击面近年来越来越惹人瞩目。这可用于大大扩大恶意活动的影响,无需威胁分子多花力气。

供应链遭到这些类型的攻击此前已有很多例子,如今臭名昭著的SolarWinds和Log4J场景就最为知名。前者始于2020年12月下旬,SolarWinds Orion软件遭到破坏,这一事件蔓延到次年,众多组织遭到多起攻击。后一起事件始于2021年12月上旬,在广泛使用的Java日志工具中发现了一个名为Log4Shell的漏洞,该漏洞引发了另外多个漏洞,导致数百万应用程序易受攻击,其中许多应用程序至今仍未修补。

最近,攻击者已经开始尝到直接攻击开源代码存储库以植入他们自己的恶意代码带来的甜头,这些代码可以在以后被用来攻击供应链。事实上,Python项目已经发现自己被盯上了。

8月底,攻击者针对Python包索引(PyPI)的用户发动了首起网络钓鱼攻击,旨在窃取用户的凭据,那样威胁分子就可以将中招的软件包加载到代码存储库中。8月早些时候,在一家安全供应商警告威胁分子将恶意代码嵌入到软件包安装脚本后,PyPI已经从注册库删除了10 个恶意代码包。

p1.png

Python开源编程语言中一个15年前的漏洞在许多地方仍未修补,因此得以蔓延到全球成千上万个开源和闭源项目。研究人员警告,这无意中构成了一条大范围易受攻击的软件供应链,大多数受影响的组织还蒙在鼓里。

Trellix高级研究中心的分析师发现,一个与路径遍历相关的漏洞被编号为CVE-2007-4559,目前在350000多个独特的开源代码存储库中仍未修补,导致应用软件容易被利用。

首席工程师兼漏洞研究主管Douglas McKee在9月21日发表的博文中表示,这个有问题的代码库存在于遍布众多行业的软件中,主要是软件开发、人工智能/机器学习和代码开发等领域,还包括安全、IT管理和媒体等诸多领域。

研究人员表示,Python tarfile模块还存在于任何使用Python的项目的一个默认模块中,目前广泛出现在AWS、Facebook、谷歌、英特尔和Netflix开发的框架中,以及用于机器学习、自动化和Docker容器化的应用程序中。

研究人员表示,虽然该漏洞让攻击者可以逃离目录(文件应该被解压到该目录),但攻击者也可以利用该漏洞执行恶意代码。

McKee说:“今天,这个未加制止的漏洞被无意中添加到全球成千上万开源和闭源项目中,留下了巨大的软件供应链攻击面。”

新问题,旧漏洞

McKee在博文中写道,Trellix的研究人员最近发现Python的tarfile模块没有合理检查企业设备中的路径遍历漏洞后,以为无意中发现了一个新的Python零日漏洞。不过他们很快就意识到,这个漏洞是之前就已发现的。

进一步深挖及后来得到GitHub的合作后发现,大约287万个开源文件含有Python的tarfile模块,该模块出现在大约588000个独特的代码存储库中。Trellix分析后发现,这些实例中约61%易受攻击,研究人员凭此估计目前有350000个易受攻击的Python代码存储库。

在开源界,找不到可以责怪的对象

该漏洞在整个软件界蔓延这么久、却未加制止有诸多原因;然而McKee特别指出,将具体责任归咎于Python项目、该项目的众多维护者或任何使用该平台的开发人员有失公允。

他写道:“首先应明确一点,造成CVE-2007-4559目前的这种状态,不该归咎于任何一方、组织或个人,但无论如何我们都有责任。”

McKee表示,由于Python之类的开源项目由一群志愿者而不是一个联合组织(以及非营利基金会)运行和维护,因此更难及时跟踪和修复已知的问题。此外,库或软件开发工具包……将安全地使用API视为开发人员的一部分责任并不少见。

的确,Python在tarfile函数的文档中就使用它的风险发出了警告,明确告诫开发人员:由于目录遍历问题,永远不要“在没有事先检查的情况下解压来源不明的存档”。

McKee表示,虽然警告是迈出的“积极一步”,提醒人们注意该问题,但显然没有阻止漏洞持续存在,因为仍需要由使用该代码库的开发人员确保自己构建的软件是安全的。

他补充道,使问题更严重的是,大多数为开发人员提供的关于如何使用该平台模块的Python教程并没有清楚地表明如何避免tarfile 模块的不安全使用,包括Python自己的文档以及utorialspoint、geeksforgeeks和askpython.com等流行网站。

McKee特别指出,这种差异使得该漏洞被编写到整条供应链中,这个趋势可能会延续数年,除非对这个问题有更广泛的认识。

利用漏洞“异常容易”

在技术方面,CVE-2007-4559是Python的tarfile模块中的路径遍历攻击,它让攻击者可以通过为TAR存档的文件名添加“..”序列来覆盖任意文件。

Trellix漏洞研究人员Charles McFarland在周三发表的关于该问题的另一篇博文中特别指出,这个实际漏洞源自使用未净化处理的tarfile.extract()或tarfile.extractall()的内置默认值的两三行代码。

他写道:“未编写在调用tarfile.extract()或tarfile.extractall()之前净化处理成员文件的任何安全代码导致了目录遍历漏洞,从而使不法分子能够访问文件系统。”

攻击者要利用该漏洞,就需要为文件名添加带有操作系统分隔符(“/”或“\”)的“..”,以逃离目录(文件本该被解压到该目录)。Python的tarfile模块让开发人员恰好可以做到这点。

这个广泛的Python tarfile漏洞浮出水面,实际上得益于Trellix漏洞研究实习生Kasimir Schulz对另一个问题开展的研究。周三他发表了第三篇独立的Trellix博文,详细描述了利用CVE-2007-4559多么“异常容易”。

Schulz在博文中解释,Python中的Tarfile包含多个不同的文件和元数据,元数据后来用于解压缩tarfile本身。TAR存档文件中包含的元数据包括但不限于文件名、文件大小和校验和之类的信息以及文件存档时有关文件所有者的信息。

Schulz写道:“tarfile模块让用户可以添加过滤器,过滤器可用于在文件的元数据添加到TAR存档之前解析和修改该元数据。”这使攻击者能够用短短六行代码即可创建漏洞利用工具。

Schulz在博文中继续详细解释了他如何使用该漏洞和一个名为Creosote的定制脚本(该脚本可搜遍目录,扫描并分析Python文件),在Spyder IDE中执行恶意代码。Spyder是一个免费的开源科学环境,为Python编写,可以在Windows和macOS上运行

聚焦供应链

tarfile问题再次凸显了软件供应链这一攻击面。由于攻击者可以通过攻击存在于多个平台和企业环境中的有缺陷代码造成广泛影响,这个攻击面近年来越来越惹人瞩目。这可用于大大扩大恶意活动的影响,无需威胁分子多花力气。

供应链遭到这些类型的攻击此前已有很多例子,如今臭名昭著的SolarWinds和Log4J场景就最为知名。前者始于2020年12月下旬,SolarWinds Orion软件遭到破坏,这一事件蔓延到次年,众多组织遭到多起攻击。后一起事件始于2021年12月上旬,在广泛使用的Java日志工具中发现了一个名为Log4Shell的漏洞,该漏洞引发了另外多个漏洞,导致数百万应用程序易受攻击,其中许多应用程序至今仍未修补。

最近,攻击者已经开始尝到直接攻击开源代码存储库以植入他们自己的恶意代码带来的甜头,这些代码可以在以后被用来攻击供应链。事实上,Python项目已经发现自己被盯上了。

8月底,攻击者针对Python包索引(PyPI)的用户发动了首起网络钓鱼攻击,旨在窃取用户的凭据,那样威胁分子就可以将中招的软件包加载到代码存储库中。8月早些时候,在一家安全供应商警告威胁分子将恶意代码嵌入到软件包安装脚本后,PyPI已经从注册库删除了10 个恶意代码包。

最近发现了一部以网络安全为题材的网络剧——《你安全吗?》。

你安全吗.jpg

图来源网络

剧情以互联网信息安全为切入点,揭露了多起网络安全事件:拍照比剪刀手,被套取指纹;逛街连无线网,被窃取个人信息……在互联网时代,你在网络上的一切行为都有可能被犯罪分子所利用。网络安全,已成为人们逃避不了的话题了。

对个人而言,不断提高网络安全知识,给自己编织好一张防护网,就是给自己最大的安全感。

可对于拥有海量数据资产的行业,它们面对的安全威胁和被攻击面更大。

安全运营人员每天需要应对成千上万的安全告警事件,对每条告警信息进行甄别、处置,同时还需要逐个登录系统进行查询和配置操作。当安全事件来临时,安全团队往往被人员、成本、效率、协作等问题困扰,影响安全整体防御效果和响应速度,导致错过安全处置的最佳时机。

那么问题来了,企业该如何改变安全运维现状,达到快速响应减少损失?

最佳解决方案

构建一个具备融合、智能、协同、开放等特征的安全运营系统。

HoneyGuide智能风险决策系统,以AI(人工智能)+SOAR(安全编排、自动化与响应)为核⼼的安全协同作战平台,通过虚拟作战室、AI机器⼈和可视化剧本编排,帮助安全团队加速威胁响应与处置,提升运营自动化,实现安全风险自适应治理。

方案原理

大多企业通过部署SIEM/SOC等安全防御系统,已实现针对如各类型C&C隐蔽隧道和高级可持续性威胁(APT)等攻击手段的更加主动的安全检测和分析功能,但仍然缺少一个有利的响应工具,以及时有效地对安全事件进行响应,实现在遭遇攻击时能及时遏制攻击,在遭遇攻陷时能及时止损。

产品逻辑.png

HoneyGuide产品逻辑

SOAR在SIEM/SOC的基础上,对SIEM/SOC关联分析发现的威胁告警或可疑安全事件,根据编排设定的剧本,统一有序地自动化或半自动化执行调查和处置,帮助安全分析人员在有限的工作时间和精力范围内完成更多和更复杂的安全事件的调查、处置、响应等,有效提升安全运营效率,实现及时响应和及时止损。

方案价值

标准化操作:自动化SOP,减少对人工的过度依赖,应急响应能力始终维持在较高的水准。
极速降本增效:分钟级别甚至秒级的事件响应,几十倍上百倍的效率提升。
可视化传承:安全工具和经验可视化,再也不用担心人员更替所带来的经验传承问题。
数字化运营:可量化的事件响应过程,为数字化安全运营提供包括MTTR、MTTD在内的全方位的量化指标。

智能应急响应:AI机器人雾宝宝——人类工程师的智能队友,全面提升人机交互体验。

运营效率.jpg

最近发现了一部以网络安全为题材的网络剧——《你安全吗?》。

你安全吗.jpg

图来源网络

剧情以互联网信息安全为切入点,揭露了多起网络安全事件:拍照比剪刀手,被套取指纹;逛街连无线网,被窃取个人信息……在互联网时代,你在网络上的一切行为都有可能被犯罪分子所利用。网络安全,已成为人们逃避不了的话题了。

对个人而言,不断提高网络安全知识,给自己编织好一张防护网,就是给自己最大的安全感。

可对于拥有海量数据资产的行业,它们面对的安全威胁和被攻击面更大。

安全运营人员每天需要应对成千上万的安全告警事件,对每条告警信息进行甄别、处置,同时还需要逐个登录系统进行查询和配置操作。当安全事件来临时,安全团队往往被人员、成本、效率、协作等问题困扰,影响安全整体防御效果和响应速度,导致错过安全处置的最佳时机。

那么问题来了,企业该如何改变安全运维现状,达到快速响应减少损失?

最佳解决方案

构建一个具备融合、智能、协同、开放等特征的安全运营系统。

HoneyGuide智能风险决策系统,以AI(人工智能)+SOAR(安全编排、自动化与响应)为核⼼的安全协同作战平台,通过虚拟作战室、AI机器⼈和可视化剧本编排,帮助安全团队加速威胁响应与处置,提升运营自动化,实现安全风险自适应治理。

方案原理

大多企业通过部署SIEM/SOC等安全防御系统,已实现针对如各类型C&C隐蔽隧道和高级可持续性威胁(APT)等攻击手段的更加主动的安全检测和分析功能,但仍然缺少一个有利的响应工具,以及时有效地对安全事件进行响应,实现在遭遇攻击时能及时遏制攻击,在遭遇攻陷时能及时止损。

产品逻辑.png

HoneyGuide产品逻辑

SOAR在SIEM/SOC的基础上,对SIEM/SOC关联分析发现的威胁告警或可疑安全事件,根据编排设定的剧本,统一有序地自动化或半自动化执行调查和处置,帮助安全分析人员在有限的工作时间和精力范围内完成更多和更复杂的安全事件的调查、处置、响应等,有效提升安全运营效率,实现及时响应和及时止损。

方案价值

标准化操作:自动化SOP,减少对人工的过度依赖,应急响应能力始终维持在较高的水准。
极速降本增效:分钟级别甚至秒级的事件响应,几十倍上百倍的效率提升。
可视化传承:安全工具和经验可视化,再也不用担心人员更替所带来的经验传承问题。
数字化运营:可量化的事件响应过程,为数字化安全运营提供包括MTTR、MTTD在内的全方位的量化指标。

智能应急响应:AI机器人雾宝宝——人类工程师的智能队友,全面提升人机交互体验。

运营效率.jpg