六种最常见的软件供应链攻击

软件供应链攻击已成为当前网络安全领域的热点话题,其攻击方式的多样性和复杂性使得防御变得极为困难。以下我们整理了六种常见软件供应链攻击方法及其典型案例:

软件供应链攻击已成为当前网络安全领域的热点话题,其攻击方式的多样性和复杂性使得防御变得极为困难。以下我们整理了六种常见软件供应链攻击方法及其典型案例:

一、入侵上游服务器

攻击者入侵上游服务器或代码仓库,并在其中注入恶意代码。这种攻击方式的危险之处在于,恶意代码会被快速分发到大量用户,从而放大了攻击的影响范围。

典型案例:

  • Codecov攻击:攻击者通过获取Docker镜像创建过程中的凭据,篡改在其CI环境中使用的BashUploader脚本,收集从客户的CI/CD环境上传的环境变量并窃取在环境变量中的敏感信息,如服务、数据库的凭据和密钥。
  • SolarWinds攻击:在这次影响全球的攻击中,攻击者成功入侵了SolarWinds的Orion产品开发系统,并在源代码中植入恶意代码,进而发动了大规模的网络攻击。
  • Node.jsevent-stream事件:攻击者通过对开源库event-stream的维护权进行社会工程攻击,成功将恶意代码发布到了npm,影响了大量使用该库的项目。
二、入侵中间环节发送恶意更新

攻击者入侵软件供应链中间环节的软件升级功能或CI/CD工具。这种攻击方式的狡猾之处在于,它可以在不直接修改源代码库的情况下,通过修改升级流程来实施攻击。

典型案例:

  • Passwordstate攻击:攻击者入侵了Passwordstate企业密码管理器的“就地升级功能”,向用户分发包含恶意代码的更新。这种攻击方式使得攻击者能够窃取用户的密码和其他敏感信息。
  • ASUSLiveUpdate攻击:攻击者入侵了ASUSLiveUpdate工具,并通过它分发了包含后门的恶意更新。这使得攻击者能够在全球范围内感染成千上万的ASUS计算机用户。
  • M.E.Doc软件攻击:乌克兰的财务软件M.E.Doc被攻击者入侵,通过软件更新功能分发了NotPetya勒索软件。这导致了全球范围内的大规模网络中断。
三、依赖性混淆攻击

这种攻击方式利用了开源生态系统中的设计弱点。攻击者可以在公共仓库中注册一个与私有依赖项同名的依赖项,然后通过提高版本号来使其被软件构建拉取。这种方法几乎不需要人工干预,可以自动化地进行攻击。

典型案例:

  • AlexBirsan的研究成果:安全研究员AlexBirsan通过创建和上传与私有包同名的公共包,成功实施了依赖性混淆攻击,影响了包括苹果和微软在内的多家知名公司。
  • PyTorch攻击:在这起攻击中,攻击者利用依赖性混淆方法对机器学习库PyTorch进行了攻击,影响了使用该库的开发者和项目。
  • node-ipc攻击:node-ipc是另一个受到依赖性混淆攻击的例子,攻击者通过这种方法影响了使用该库的各种应用和服务。
四、滥用SSL和代码签名证书

SSL/TLS证书的泄露会威胁到用户的在线通信安全。而代码签名证书的泄露则可能导致恶意软件被伪装成由知名公司签名的合法软件或更新。

典型案例:

  • SolarWinds攻击:在这起广泛报道的供应链攻击中,攻击者使用了被盗的代码签名证书,使得恶意代码看起来像是合法的SolarWinds更新。
  • Plead恶意软件:攻击者使用被盗的数字证书签名Plead后门恶意软件和密码窃取组件,这些恶意软件主要在东亚地区的攻击中被使用。
  • NVIDIA证书被盗:攻击者盗取了NVIDIA的代码签名证书,并用它来签名CobaltStrikebeacon、Mimikatz、后门和远程访问木马等恶意软件。
五、针对开发者的CI/CD基础设施

在这种攻击中,攻击者会利用CI/CD自动化基础设施,这种攻击方式的独特之处在于,它可以在不直接修改代码的情况下,通过滥用CI/CD基础设施来实施攻击。

典型案例:

  • 滥用GitHubActions挖掘加密货币。Sonatype最近观察到一次多重软件供应链攻击,该攻击不仅向用户的GitHub项目引入恶意拉取请求,还滥用GitHub的CI/CD自动化基础设施GitHubActions来挖掘加密货币。这种攻击双管齐下:它会诱骗开发人员接受恶意拉取请求,如果失败,它就会滥用现有的自动化CI/CD基础设施来进行恶意活动。
  • 联合国网站数据泄露。攻击者利用联合国网站暴露的Git目录(.git)和“git-credentials”文件,获得Git凭证访问权限,不仅可以克隆私有Git存储库,还可能在上游(环境署的源代码库)引入恶意代码以触发供应链攻击。此事件导致过10万条联合国环境规划署(UNEP)工作人员记录泄露。
六、社会工程攻击

这种攻击方式通常涉及到人的因素。攻击者可能会利用开发者的信任或者疏忽,通过提交包含恶意代码的pull请求或其他方式来实施攻击。事实上,很多类型的软件供应链攻击都会涉及社会工程攻击。

典型案例:

  • Linux“毒补丁”。Linux基金会最近禁止了明尼苏达大学研究人员的代码提交,因为他们故意提供有缺陷的“补丁”,从而在Linux内核源代码中引入了漏洞。该案例的启示是:社会工程攻击可能来自最不受怀疑的来源——在本案例中,攻击来自拥有“.edu”电子邮件地址看似可信的大学研究人员。
  • 篡改通过GitHub发布的软件版本。2021年安全研究人员披露攻击者可以在项目所有者或公众不知情的情况下破坏合作者的GitHub帐户并用来修改已发布版本,从而导致针对项目用户的供应链攻击。
  • NPM拼写错误攻击。攻击者创建与合法软件包非常相似的恶意软件包(例如恶意JavaScript包、数据采集木马等),然后将其上传到NPM的下载存储库。

每种软件供应链攻击方式都有其独特的实施方法和利用的弱点。为了更有效地防御这些攻击,安全和开发团队需要不断更新和优化安全策略和工具,包括加强对开源组件的清点、监控和审核,提高开发者的安全意识,以及优化CI/CD流程等。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/164462.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

pytorch直线拟合

目录 1、数据分析 2、pytorch直线拟合 1、数据分析 直线拟合的前提条件通常包括以下几点: 存在线性关系:这是进行直线拟合的基础,数据点之间应该存在一种线性关系,即数据的分布可以用直线来近似描述。这种线性关系可以是数据点…

Oracle RAC是啥?

Oracle RAC,全称是Oracle Real Application Cluster,翻译过来为Oracle真正的应用集群,它是Oracle提供的一个并行集群系统,由 Oracle Clusterware(集群就绪软件) 和 Real Application Cluster(RA…

C语言每日一题(25)链表的中间结点

力扣 876. 链表的中间结点 题目描述 给你单链表的头结点 head ,请你找出并返回链表的中间结点。 如果有两个中间结点,则返回第二个中间结点。 思路分析 快慢指针法 用一慢一快指针遍历整个链表,每次遍历,快指针都会比慢指针多…

大文件传输小知识 | UDP和TCP哪个传输速度快?

在网络世界中,好像有两位“传输巨头”常常被提起:UDP和TCP。它们分别代表着用户数据报协议和传输控制协议。那么它们是什么?它们有什么区别?它们在传输大文件时的速度又如何?本文将深度解析这些问题,帮助企…

获奖名单出炉 ,鲲鹏应用创新大赛2023全国总决赛圆满落幕

11月2日,以“数智未来 因你而来”为主题的鲲鹏应用创新大赛2023全国总决赛在四川成都顺利举办。经过长达6个月的层层筛选与激烈角逐,最终从三大赛事、5大赛道中评选出了13个金奖、16个银奖、19个铜奖。 鲲鹏应用创新大赛是面向全球开发者的顶级赛事&…

软件开发中常见的设计原则

软件开发中常见的设计原则 1. 单一责任原则2. 开放封闭原则3. 里氏替换原则4. 接口分离原则5. 依赖倒置原则6. 迪米特法则7. 合成复用原则8. 共同封闭原则9. 稳定抽象原则10. 稳定依赖原则 简写全拼中文翻译SRPThe Single Responsibility Principle单一责任原则OCPThe Open Clo…

做什么数据表格啊,要做就做数据可视化

是一堆数字更易懂,还是图表更易懂?很明显是图表,特别是数据可视化图表。数据可视化是一种将大量数据转化为视觉形式的过程,通过图形、图表、图像等方式呈现数据,以便更直观地理解和分析。 数据可视化更加生动、形象地…

实战!工作中常用的设计模式

文章目录 前言一、策略模式1.1、 业务场景1.2 、策略模式定义1.3、 策略模式使用1.3.1、一个接口,两个方法1.3.2、不同策略的差异化实现1.3.3、使用策略模式 二、责任链模式2.1、业务场景2.2、责任链模式定义2.3、责任链模式使用2.3.1、一个接口或者抽象类2.3.2、每…

JavaScript爬虫程序爬取游戏平台数据

这次我用一个JavaScript爬虫程序,来爬取游戏平台采集数据和分析的内容。爬虫使用了爬虫IP信息,爬虫IP主机为duoip,爬虫IP端口为8000。以下是每行代码和步骤的解释: // 导入所需的库 const axios require(axios); const cheerio …

一种libuv实现websockets服务的解决方案

方法是libuv用多事件循环来驱动。说起来容易,做起来还是比下面的方法更容易: 上图是某位网友的方法代表子大部分网络资料。此方法对部署不友好,因为软件仓库提供的libwebsockets是不能用了。如何简化部署,利用好现有的软件仓库呢&…

复现 文件上传漏洞bypass

1,弱口令发现目标网站,为宝塔搭建的dedecms,于是自己服务器搭建同样的 2 get请求phpinfo() 有waf,上传文件有waf 3,寻找资料,发现是,宝塔的ngix防火墙。同样在自己的服务器上部署成功。顺便还看…

百分点科技受邀参加“第五届治理现代化论坛”

11月4日,由北京大学政府管理学院主办的“面向新时代的人才培养——第五届治理现代化论坛”举行,北京大学校党委常委、副校长、教务长王博,政府管理学院院长燕继荣参加开幕式并致辞,百分点科技董事长兼CEO苏萌受邀出席论坛&#xf…