性能文章>每周下载数百万次!恶意软件包感染Linux和Windows设备引发供应链攻击>

每周下载数百万次!恶意软件包感染Linux和Windows设备引发供应链攻击原创

https://a.perfma.net/img/3110416
3年前
242500

开源软件公司Sonatype的研究人员发现了多个恶意软件包,这些软件包将自己伪装成 npm 注册表中的合法JavaScript库,以在Windows、macOS和Linux机器上启动加密矿工。

npm注册表是JavaScript包的数据库,包括开源开发人员用来支持JavaScript代码共享的软件和元数据。

黑客劫持了流行的UA-Parser-JS NPM库,这些库每周下载数百万次,在供应链攻击中使用加密矿工和密码窃取木马感染 Linux 和 Windows 设备。

UA-Parser-JS 库用于解析浏览器的用户代理以识别访问者的浏览器、引擎、操作系统、CPU和设备类型/型号。该库非常受欢迎,每周下载数百万次,本月下载量超过2400万次。

此外,该库还用于一千多个其他项目,包括Facebook、微软、亚马逊、Instagram、谷歌、Slack、Mozilla、Discord、Elastic、Intuit、Reddit 以及更多知名公司的项目。
20211027105112.jpg

UA-Parser-JS 项目被劫持安装恶意软件
10月22日,攻击者发布了恶意版本的UA-Parser-JS NPM库,以在Linux和Windows设备上安装加密矿工和密码窃取木马。据开发者称,他的NPM帐户被劫持并用于部署该库的三个恶意版本。
受影响的版本及其打补丁的版本是:
20211027105140.jpg

技术分析
报告称,研究人员于 2021 年 10 月 15 日向 npm 报告了恶意包。报告指出,恶意软件包被称为okhsa - 编目为Sonatype-2021-1473 - 以及klow和klown -编目为 Sonatype-2021-1472。

研究人员称,Okhsa 包含一个框架代码,可以在安装前在 Windows 机器上启动计算器应用程序。根据报告,这样做的okhsa版本也包含klow或klown包作为一个依赖项。

报告称:“Sonatype 安全研究团队发现,klown 在被 npm 删除后的几个小时内就出现了。”

“Klown错误地宣称自己是一个合法的JavaScript库UA-Parser-js,以帮助开发人员从 User-Agent HTTP标头中提取硬件细节(操作系统、CPU、浏览器、引擎等),”研究人员称。

Sonatype研究员Ali ElShakankiry 分析了这些包,发现klow和klown包中包含加密货币矿工。

“这些软件包在预安装阶段检测当前操作系统,并继续运行 .bat 或 .sh 脚本,具体取决于用户运行的是 Windows 还是基于 Unix 的操作系统,”ElShakankiry指出。

上述脚本还“下载外部托管的EXE或Linux ELF,然后执行二进制文件,其中包含指定要使用的矿池、挖掘加密货币的钱包以及要使用的 CPU 线程数的参数”。

研究人员无法完全确定恶意行为者计划如何针对开发人员。

研究人员指出:“没有观察到明显的迹象表明存在域名抢注或依赖劫持的情况。Klow(n) 确实在表面上模仿了合法的UAParser.js库,这使得这次攻击看起来像是一次微弱的品牌劫持尝试。”

攻击破坏生态系统
Uptycs 威胁研究公司的研究人员最近发现一项活动,在该活动中,专注于云计算的加密劫持组织TeamTNT部署了Docker Hub上的恶意容器图像,并使用嵌入式脚本下载用于横幅抓取和端口扫描的测试工具。

研究人员发现,威胁行动者扫描受害者子网中的目标,并使用恶意Docker图像中的扫描工具执行恶意活动。

这些在第三方开源软件库中不断出现的恶意行为表明,这些对软件开发生态系统的成功攻击引起恶意行为者的注意,他们非常乐意抓住任何一个机会进行犯罪活动。

Geenens指出,他们通过向在线存储库上传恶意模块来破坏这些生态系统,目的是欺骗开发人员下载并在他们的系统上执行这些模块。
这些所谓的供应链攻击并不局限于包存储库和开源。“NotPetya和SolarWinds Orion攻击都是商业软件更新漏洞造成的。”软件自身的安全漏洞为企业网络安全带来极大风险,在开发阶段采取有效的静态代码检测有助于第一时间减少软件中的安全漏洞,提高软件安全性,同时减少供应链攻击事件的发生,
“我们发现,最近越来越多的攻击者将开源存储库作为攻击目标,以进行具有不同目的的攻击,从窃取敏感数据和系统文件到加密挖掘。

4月份网络攻击者对GitHub 进行了加密挖掘攻击;
6月份发现了PyPI加密挖掘恶意软件。

考虑到PyPI和npm背后生态系统的成功和规模,有很多机会利用从侦察到妥协的目标,包括信息收集和外泄、后门、盗窃,以及在npm的情况下,加密劫持等技术。

防御依赖攻击
npm上的恶意输入、品牌劫持和依赖劫持包可以做任何事情,从窃取次要数据到生成反向shell和窃取敏感文件、进行监控活动,如键盘记录和访问网络摄像头,以及带有盗版内容和盗版网站链接的垃圾邮件库。

“虽然域名抢注和品牌劫持攻击需要开发人员进行某种形式的手动操作,但鉴于其自动化性质,恶意依赖劫持攻击要危险得多。”
Sharma建议警惕拼写错误。例如,“twilio-npm”可能与“twilio”不是同一个包。有一个 SBOM或软件材料清单,以了解构成您的应用程序的依赖项和组件。”

他还建议保留一个自动化代码安全检测解决方案来防御依赖劫持攻击,这可能就像部署一个脚本一样简单,该脚本检查被拉入代码的任何公共依赖项是否与您的私有依赖项名称冲突,或是否有异常软件存在。

作者:中科天齐软件安全中心
链接:https://juejin.cn/news/7023197426756354055
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

点赞收藏
堆堆

【HeapDump性能社区官方小编】各位堆友们,+微信号perfMa,可以联系上堆堆哦~

请先登录,感受更多精彩内容
快去登录吧,你将获得
  • 浏览更多精彩评论
  • 和开发者讨论交流,共同进步
0
0
https://a.perfma.net/img/3110416
堆堆

徽章

【HeapDump性能社区官方小编】各位堆友们,+微信号perfMa,可以联系上堆堆哦~