供应链攻击的类型和预防

供应链攻击是一种面向软件开发人员和供应商的新兴威胁,目标是通过感染合法应用分发恶意软件来访问源代码、构建过程或更新机制。

供应链攻击是威胁行为者通过利用软件供应链中的漏洞进入组织网络的一种网络攻击,供应链攻击的目标可以是软件开发过程中的源代码、编译器、软件库、第三方组件等,也可以是硬件设备、网络设备、供应商提供的服务等。攻击者可以通过篡改软件代码或插入恶意代码来实现数据窃取、远程控制、拒绝服务等攻击行为。

供应链攻击的来源

供应链攻击源自各种来源,大致可分为三大类。

  • 第三方软件
  • 开源软件
  • 国外软件

第三方软件

商业软件供应商和外部业务合作伙伴是无法渗透到具有安全意识的公司的对手的潜在目标,通过将恶意代码安装到第三方软件中,攻击者可以轻松访问客户的网络并访问内部数据。例如,组织依靠安全解决方案提供商的渗透测试工具进行安全测试,而这些工具本身可以用作恶意软件的载体来破坏组织的安全性。由于第三方软件在供应链攻击中占主导地位,这些攻击也被称为第三方攻击。

开源软件

并非所有软件都是从头开始编写的,大多数企业依靠开源软件来开发其专有代码,一些开源社区为所有用户(包括潜在的对手)提供免费访问。这为威胁行为者提供了在现有开源软件中引入恶意脚本和创建漏洞的轻松访问。当合法用户在其脚本中部署此类被篡改的源代码时,感染会传播到他们的软件并破坏其网络中易受攻击的资源。

国外软件

一些国家/地区批准将恶意组件部署到其他国家/地区购买的合法供应商软件中,这种类型的供应链攻击是一种手段网络恐怖主义,会造成巨大威胁。

供应链攻击的类型

  • 跳岛攻击
  • 恶意软件攻击
  • 预安装恶意软件攻击
  • 代码注入攻击
  • Magecart 攻击
  • 被盗代码签名证书攻击
  • 水坑攻击
  • 加密劫持

跳岛攻击

跳岛攻击是第三方攻击的一种形式,即对手通过迂回路线攻击具有复杂网络安全的高端目标。由于攻击者无法克服目标严密的安全防御,他们就会利用其软件供应链中的薄弱环节。他们伤害目标供应链中脆弱的供应商和第三方,以获得对目标网络的初始访问权限并破坏资源。在某种程度上,对手从一个组织跳到另一个组织,所以这种攻击被称为跳岛攻击。

恶意软件攻击

在这种类型的攻击中,威胁参与者通过利用其软件产品中的漏洞直接针对受害组织,通过在软件的构建周期中引入恶意软件,攻击者在下游供应链中打开后门,并且所有下载该产品的目标组织的客户都成为攻击者的牺牲品。

预安装恶意软件攻击

这也是一种第三方攻击,攻击者在第三方的网络设备或其他电子设备上安装恶意软件,对目标组织造成困扰,受害的第三方和目标都不知道这种渗透,直到恶意软件慢慢地悄悄地接管了目标的网络。

代码注入攻击

代码注入是一种针对开源代码存储库和库的开源攻击形式,通过将恶意代码注入代码库和存储库,攻击者将访问此类存储库的所有合法用户作为目标。在用户设备上自动执行代码的 JavaScript 库是攻击者的主要目标之一。

Magecart 攻击

Magecart攻击,也称为表单劫持,是一种代码注入攻击,主要针对处理支付方式的第三方。在这种攻击中,黑客将恶意代码注入 JavaScript 代码以接管网站并从用户填写的结帐表单中略过敏感的财务详细信息。

被盗代码签名证书攻击

代码签名证书用于评估软件产品的真实性和完整性,威胁行为者通过破坏合法所有者的私钥来窃取此类证书,然后,攻击者分发带有恶意软件的软件以及被盗的代码签名证书,以引诱用户下载恶意软件。

水坑攻击

流量大的网站是这类供应链攻击的主要目标,网站是供应链的最后一个窗口,是安装和下载软件产品的媒介。通过识别网站架构中的漏洞并嵌入恶意链接,攻击者引诱最终用户打开后门进行恶意执行。这种攻击的命名参考了隐藏在水坑(网站漏洞)附近的捕食者(攻击者),以便在适当的时候扑向猎物(受害者)。

加密劫持

加密劫持是另一种形式的供应链攻击,攻击者利用用户的计算资源来挖掘加密货币,大多数加密劫持攻击都是使用受感染的网站进行的,攻击者通过在网站架构的HTML代码中注入恶意命令来破坏网站。每当用户打开这样的网站,挖矿程序就会自动执行,用户的资源就会在用户不知情的情况下耗尽。

在这里插入图片描述

如何检测和预防供应链攻击

精心规划的产品开发流程,也可以称为软件开发生命周期(SDLC),是保护供应链的首要步骤。让我们深入了解 SDLC 的不同阶段,并揭示在每个阶段检测和防止供应链攻击的不同技术。

  • 规划阶段防御
  • 设计阶段防御
  • 实施阶段防御
  • 测试阶段防御
  • 部署阶段防御
  • 维护阶段防御

规划阶段防御

这是 SDLC 的第一阶段,是建立用于开发软件的基础设施的阶段。在这个阶段,组织主要关注资源的可用性、采购和分配。在此阶段防御供应链攻击的一些最佳实践包括:

  • 创建一个软件物料清单,这是 SDLC 中涉及的所有资源和流程的记录,用于跟踪流程中的所有活动。
  • 实现零信任模型验证 SDLC 中涉及的所有依赖项和第三方。
  • 使用全面的威胁建模识别基础结构所有组件中可能阻碍 SDLC 的威胁和漏洞。
  • 对 SDLC 中的已知威胁和漏洞进行分类,以制定适当的计划事件响应来抵消它们。

设计阶段防御

设计是产品开始成形的阶段,它涉及开发原型的一套单独的程序。阶段产品所需的软件依赖关系也在此阶段确定。简单地说,这是挑选和集成能够满足最终产品目的的合适第三方解决方案的阶段。一些值得注意的实践可以捍卫这一阶段的SDLC:

  • 建立一个验证过程来评估供应商组织的安全状态。
  • 评估供应商产品的风险水平和可信度。
  • 执行网络分段,以限制第三方访问内部资源的半径。
  • 对所有第三方实施最小特权原则,使其只能执行允许的操作。

实施阶段防御

实施阶段是执行阶段,DevOps团队由软件开发人员和IT操作员组成,在此过程中发挥着至关重要的作用。在此阶段,软件使用代码进行编程,此代码可以是专有的,也可以是开源的。此外,此过程还可以依赖于第三方编码平台来运行和执行代码。因此,这个阶段涉及大量的内部和外部合作。在 SDLC 的这一阶段,防御供应链攻击的最佳实践包括:

  • 部署强代码完整性策略限制未经授权执行代码依赖项。
  • 评估开源代码内联沙盒过滤掉未知威胁和漏洞的工具。
  • 用客户端保护工具,同时利用第三方服务提供商提供的服务。
  • 审计影子 IT 基础设施,这涉及 DevOps 团队在未经 IT 部门批准的情况下使用的未经授权的资源。

测试阶段防御

测试阶段确保了所开发软件的质量,在这里,代码被执行并检查是否存在错误、故障和漏洞,此阶段还涉及渗透测试和沙盒的第三方协作。在此阶段防止供应链攻击的一些最佳实践包括:

  • 创建内部渗透测试避免依赖第三方工具的工具。
  • 识别并缓解所有漏洞以防止零日漏洞和漏洞利用。

部署阶段防御

部署是使用代码签名证书对测试的软件进行验证和证明的阶段,并通过网站将其作为软件包或服务提供给最终用户。此阶段对于保护至关重要,因为攻击者可能会窃取代码签名证书以创建虚假身份并引诱用户下载恶意软件,或者他们可能会利用网站 JavaScript 中的漏洞嵌入恶意代码。在此阶段防御供应链攻击的一些值得注意的步骤是:

  • 实施改善,这是软件部署管道中的持续开发和改进。
  • 整合安全团队与开发团队一起保护代码签名证书和 JavaScript 存储库。
  • 实现服务器端保护检查所有下载请求和网站流量的解决方案。

维护阶段防御

这是 SDLC 的最后阶段,其重点是产品在部署后的无缝和高效运行,这是产品不断改进以满足最终用户要求的阶段。它涉及频繁的错误修复、软件更新和漏洞补丁。虽然此阶段标志着 SDLC 的结束,但如果不定期使用更新和修复,它也可能标志着重大安全漏洞的开始。在 SDLC 的这一阶段,保护供应链的一些做法包括:

  • 建立一个有效的软件资产清单跟踪软件的所有更新和升级。
  • 实现安全的工作流程定期应用安全补丁和软件更新。
  • 使用多因素身份验证限制对软件内部版本、代码存储库和库的未经授权的访问。

Log360 是统一 SIEM 解决方案,由不同的模块组成,可帮助您保护网络。尽管网络安全很复杂,但供应链攻击仍能够对您的网络造成有害影响,它残酷地利用了各种依赖关系之间的相互信任,而这些依赖关系在 SDLC 中是必不可少的。因此,通过在 SDLC 的每个阶段实施上述最佳实践来防范供应链攻击。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

虚幻学习笔记5—UI预设体制作

一、前言 本文使用的虚幻引擎5.3.2,在unity中有预设体的概念,可以将一个组合型的物体或UI制作成预设体,方便后续可以快速制作更多元的内容和复用。虚幻本身没有这个概念,但是要实现类似的效果其,故此我引用了这个概念。…

【密码学引论】Hash密码

第六章 Hash密码 md4、md5、sha系列、SM3 定义:将任意长度的消息映射成固定长度消息的函数功能:确保数据的真实性和完整性,主要用于认证和数字签名Hash函数的安全性:单向性、抗若碰撞性、抗强碰撞性生日攻击:对于生日…

这才是BI大数据分析工具的正确打开方式!

这两年经济下行给各行各业造成不小的发展困扰,为此企业积极自救,希望通过数字化降本增效,提高业绩水平。BI大数据分析工具就是企业数字化转型中常用到的一种商业智能BI工具,主要作用是缩短数据分析时间,提升企业数据分…

没有预装Edge浏览器的Windows系统安装Edge正式版的方法,离线安装和在线安装

一、在线安装 没有预装Edge浏览器的Windows系统安装Edge正式版的方法 二、离线安装 进入到下面这个目录 C:\Program Files (x86)

LFM信号分析

LFM信号 在时域中,理想线性调频信号持续时间为 T T T 秒,振幅为一常量,中心频率为 f c e n t e r f_{center} fcenter​ ,相位 θ ( t ) \theta(t) θ(t) 随时间按一定规律变化。当 f c e n t e r f_{center} fcenter​ 为0时…

社区新零售:重塑零售业的全新模式

社区新零售:重塑零售业的全新模式 近年来,新零售业成为了研究的焦点,它是一种以互联网为基础的零售形式。新零售通过运用先进技术手段,如大数据和人工智能,对商品的生产、流通和销售过程进行升级改造,重新构…

Windows10免安装PostgreSQL

1. PostgreSQL简介2. 下载3. 安装环境4. 安装 4.1. 初始化数据库4.2. 启动数据库4.3. 注册服务4.3. 卸载服务 1. PostgreSQL简介 PostgreSQL 是一种特性非常齐全的自由软件的对象-关系型数据库管理系统,是以加州大学计算机系开发的 POSTGRES 4.2版本为基础的对象关…

我用C语言实现的文字跑马灯,简直是程序员的表白神器!

系列文章 Python百宝箱 C语言百宝箱 目录 系列文章 写在前面 C语言简介 EasyX简介 EasyX下载安装 文字跑马灯 写在后面 写在前面 教你用C语言实现文字跑马灯效果,简直是C语言表白神器! 环境:C语言/C 软件:Visual Studi…

丽晶酒店及度假村打造绮丽之境“美食实验室”中国市场首秀

于重庆丽晶酒店以艺术与美食的碰撞演绎“对比之美”,感官之华 2023年11月28日,中国上海 ——基于对当下消费趋势的敏锐洞察,洲际酒店集团旗下奢华品牌丽晶酒店及度假村近年来不断焕新,以崭新形象缔造现代奢华的旅居体验。作为丽晶…

Linux内存回收:LRU算法

linux操作系统再内存不足时会使用Swap机制,将一些不经常使用的匿名内存页放到磁盘当中,等下次需要时再读取到内存当中,而这个LRU算法就是用来选择把哪些不常使用的匿名内存页放到磁盘当中的。 LRU(Least Recently Used&#xff09…

【运维知识大神篇】超详细的ELFK日志分析教程5(Logstash中Filter常用插件详解+实战练习)

本篇文章主要讲解logstash的有关内容,包括filter的grok、date、user_agent、geoip、mutate插件,多个输入输出方案(多实例if多分支语句),每个知识点都涉及实战练习,在实战中学习,事半功倍&#x…

Mysql 高级日志binlog、undoLog、redoLog 详解

数据更新流程与日志记录: undoLog: binLog: redoLog:

Leetcode—160.相交链表【简单】

2023每日刷题(四十一) Leetcode—160.相交链表 算法思想 两个链表的节点之和是相等的 如果两个链表相交,那么相交点之后的长度是相同的 我们需要做的事情是,让两个链表从同距离末尾同等距离的位置开始遍历。这个位置只能是较短…

建筑红模板尺寸规格

红模板是建筑施工中常用的一种模板材料,具有较好的承重能力和稳定性。在建筑工程中,正确选择合适的红模板尺寸规格对于施工质量和效率至关重要。本文将介绍一些关于红模板尺寸规格的信息,帮助您更好地了解和选择适合的红模板。 以下是关于红模…

论如何让Spring Boot在高压力环境下依然与众不同

文章目录 🔊博主介绍🥤本文内容调优线程池优化线程池配置多样化设备支持分布式控制同步编程 📢文章总结📥博主目标 🔊博主介绍 🌟我是廖志伟,一名Java开发工程师、Java领域优质创作者、CSDN博客…

FlowJo 10 v10.4(流式细胞分析软件)

FlowJo是一款广泛应用的流式细胞数据分析软件,它功能强大,简单易用,是流式领域最受推荐的一款专业分析软件,也是各高影响力科学期刊使用最多的软件,已经成了行业的一个标准。 FlowJo具有全面专业的分析功能&#xff0…

《数据结构、算法与应用C++语言描述》-线索二叉树的定义与C++实现

_23Threaded BinaryTree 可编译运行代码见:GIithub::Data-Structures-Algorithms-and-Applications/_24Threaded_BinaryTree 线索二叉树定义 在普通二叉树中,有很多nullptr指针被浪费了,可以将其利用起来。 首先我们要来看看这空指针有多少…

分享一套MES源码,可以直接拿来搞钱的好项目

目前国内智能制造如火如荼,工厂信息化、数字化是大趋势。如果找到一个工厂,搞定一个老板,搞软件的朋友就能吃几年。 中国制造业发达,工厂林立,但是普遍效率不高,需要信息化提高效率。但是矛盾的地方在于&a…

pdf文件能扫码查看吗?一键做文本二维码

pdf格式是常用的一种文件格式,很多资料、展示性的内容都会选择这种格式,现在很多人都需要将文件生成二维码图片后分享给他人,那么文件存入二维码展示的方法有哪些呢?下面给大家分享一招使用二维码生成器来生成二维码图片的操作方法…

skywalking告警UI界面有告警信息,webhook接口没有回调,400错误

400错误就是回调接口返回数据的属性对应不上 PostMapping(“/webhook”) public void webhook(RequestBody List alarmMessageList) 自定义的实体类AlarmMessage有问题 只能去官网找了 告警实体类官网 Getter EqualsAndHashCode RequiredArgsConstructor NoArgsConstructor(fo…