对 SolarWinds 事件更深的思考:如何防御供应链攻击

简介: 消灭企业安全体系中“隐秘的角落”

头图(1)-02.jpg

————
APT攻击愈演愈烈,与SolarWinds相关的安全反思已持续半月,阿里云安全带来了面向供应链攻击特征属性的全面攻防观察,以飨从业者。
————

后期精彩的APT内网对抗往往依赖于「先从外部撕开」一道口子,对于黑客而言,脆弱的供应链无异于一块「新大陆」,成为击穿「关键基础设施」的最佳切入点。

应用开发方式变革引入供应链风险

随着企业上云,传统的网络边界正在逐渐消失,尤其是突如其来的疫情,更是让几乎所有企业都不得不进行远程办公,员工开始从家庭网络、咖啡厅与企业网络建立连接,企业的IT架构正在从「有边界」向「无限边界」发生转变。

受益于开源软件与成熟的三方产品和服务(COTS)的优势,国内互联网、金融行业快速发展。在COTS模式下,企业可以快速采购到能够满足当前业务需要的生产工具、软件或硬件产品,从而节省成本和时间。

开源软件的蓬勃发展改变了应用开发形态,现代应用的开发人员不再首选自研,而是会看当前业界是否已有成熟的框架或解决方案。

Synopsys公司发布的《2020年开源安全和风险分析OSSRA报告》中指出,当前超过90%的现代应用融入了开源组件,平均每个应用包含超过124个开源组件,其中49%的开源组件存在高危漏洞。

4A1861E5-D077-42A3-B991-004EB9AE303B.png

从政府服务到金融机构每个组织都依靠软件来为客户提供服务。嵌入式软件不再仅仅局限于计算机,现在可以控制复杂的电网、交通、医疗硬件、汽车以及卫星,软件正在吞噬整个世界。

在传统边界安全的防护理念下,安全是一个整体,保证安全不在于强大的地方有多强大,而在于真正薄弱的地方在哪里。企业边界无限扩大后,面临的风险会随之增加,边界上任一节点的「安全性」被打破后,黑客就能通过这层信任链路,利用多种APT手段渗透到企业内部,窃取核心数据。

以往企业防护的策略,可以从梳理企业最有价值资产开始,再看资产潜在面临的最大威胁是什么,基于威胁分级、资产分级的方式来循序渐进做治理。

在今天这种企业架构与软件开发形态下,越来越多的商业软件、硬件设备、开源项目被集成到企业的IT基础设施中,从而扩大了潜在的攻击面,让安全防御变得越来越复杂,以及充满着大量「不确定性」。黑客发起攻击不再关注你是谁,只要你与被攻击目标的网络或业务存在关联,就会成为重点攻击对象。

并不是所有的软硬件供应商都自建完善的安全团队,对产品开展软件安全生命周期管理(SDLC)来确保其安全性。三方软件供应商对安全的「漠视态度」,是导致黑客频频入侵「轻易得手」的关键原因。

对于黑客而言,脆弱的供应链无异于一块「新大陆」,成为黑客击穿「关键基础设施」资源投入的最佳「切入点」。

供应链攻击_with logo.jpg

知己知彼,供应链攻击手段有哪些?

如果你不了解黑客是如何对供应链发起攻击的,那么就无法保证其安全。

阿里云安全通过分析历史曾经发生过的126起供应链攻击事件,将相关攻击手段总结为以下15种:

1. 社工开发者账号替换正规应用

对安卓、苹果、三方移动应用商店内提供的应用,浏览器的插件,通过盗取应用开发者账号替换正规应用,以及发布相似名称「仿冒知名应用」,或通过重打包的技术,使用合法的应用程序添加自己的恶意代码,从而散布存在恶意代码的应用。

2. 黑灰产模式推广恶意软件

通过向第三方下载站点、共享资源社区、破解软件联盟等组织投放含有恶意代码的应用,通过SEO优化方式劫持搜索引擎结果,引导大众下载恶意软件。

3. 向开源软件仓库投毒

攻击者通过向主流的软件包管理源(PyPI、Node.js npm、Maven、RubyGems、Docker Hub)投放大量「相似拼写名称」谐音的软件包或镜像,仿冒正规项目,从而让有恶意代码的代码包被安装到开发或生产环境。

4. 以假乱真

攻击者通过分析特定行业内的知名软件、项目名称,抢注对应的域名,模仿官网,所提供的软件下载链接,早已植入了恶意代码。针对国外知名的软件进行汉化,并提供「汉化版」下载链接,也属于该范畴。

5. 入侵官方网站替换下载链接

企业官网通常由WEB应用构成,应用程序相对于其他业务形态更加脆弱,黑客通过应用漏洞控制软件官网后,篡改官方下载链接地址为植入了恶意后门的软件,从而间接控制目标计算机。

6. 劫持正式更新下载地址的域名

黑客通过域名服务商的漏洞,控制域名解析系统,将软件、OT设备用于下发更新通知的域名劫持到了黑客的服务器,通过更新通道将恶意代码植入目标计算器。

7. 污染网络基础设施的DNS解析记录

利用企业级路由器的已知漏洞或弱口令批量入侵网络设备,修改路由器上的NS解析服务器为黑客所控制的服务器,通过劫持软件用于更新的域名解析记录,从而利用更新通道将恶意代码植入目标计算器。

8. 下载节点缓存、CDN缓存、P2P缓存、城域网缓存,被投毒污染

当前互联网体系下,硬件、软件、物联网OT设备的更新和数据分发,均依赖网络基础设施来承载,当终端客户进行更新、下载时通过网络链路拉取,网络基础设施为了提升效率节省成文,会对一些资源进行缓存。攻击者可通过定向污染缓存来实现投毒,最终攻击终端用户。

9. 入侵官方更新升级系统

软件、硬件产品在发展的过程中,为了提升产品体验、升级能力、修复BUG等,需要进行更新升级,供应商因此建设有配套的更新升级系统。黑客通过自身的攻击能力与掌握的漏洞,对供应商发起攻击与横向渗透,最中取得升级系统的控制权。利用窃取或伪造证书签名的软件更新,将恶意软件带进攻击目标。

10. 入侵软、硬件开发公司,向目标项目的源码植入恶意代码

软件、硬件产品从无到有,需要经历漫长的开发生命周期流程,包括:产品设计、物料采购、开发硬件电路板、代码实现、测试、发布流转等过程。直到产品最终流转到真正要供应链下游终端客户的生产环境。

黑客通过自身的攻击能力与掌握的漏洞,入侵软件、硬件供应商的办公与开发环境,直接向产品代码内植入后门,在设备上预安装的恶意软件 (相机、USB、电话等),实现恶意代码与后门的分发,最终进入被攻击目标的网络。

11. 仓储、物流链路劫持

第三方供应商在针对网络设备、安全设备、智能硬件等物理设备的仓储和交付过程中,为了节约成本,均会采用三方的仓储与物流服务。攻击者通过买通或偷盗的形式,取得于存储在仓库或物流环节中的设备接触机会,通过拆机或替换的方式向芯片或设备固件中写入后门。

12. 供应商预留的远程管控能力和超级权限账号

供应商为了降低售后服务和维护成本,在交付的产品中,偷偷预留了远程管控的功能,供应商可实现对部署在客户环境中的产品,进行远程管理控制。为了维护方便,供应商同时也会预留一些超级管理员、运维、测试等账号。

13. 编译环境,开发工具污染篡改源码,植入后门

攻击者通过对开发者常用的代码开发编辑器发起攻击,通过对开发工具的篡改,以及附加一些恶意的模块插件。当开发者进行代码开发的时候,恶意模块悄悄的再开发者写的代码中植入后门。经过被污染过的开发工具编译出来的程序,或部署到生产业务的源码,都将被植入恶意代码。

14. 应用运行环境、应用组件环境被植入后门

应用软件存在编译型与解释型两种语言形态,解释型的软件代码在运行时,需要依赖运行环境将源码翻译成中间代码,再由解释器对中间代码进行解释运行。攻击者通过入侵常见的JAVA、PHP、Python、Ruby等运行环境的安装包,或向XAMPP、PHP Study成熟的环境软件等,植入后门后直接影响业务。

15. SaaS化上游服务污染

为了收集统计数据,网站管理员通常会在每个网页中添加一个基于JavaScript代码的网站跟踪脚本,来跟踪访问次数和查看流量历史记录。在前端开发体系,有大量优秀的框架供开发者快速实现各类功能,比如:Jquery、Bootstrap、Vue等,开发者为了省事,会直接引用官方提供的CDN地址。当上游的JS代码源被入侵,引用这些三方JS代码的业务,将演变为发起更大规模代理人攻击的跳板。

供应链攻击的应对建议

一、从最关键的供应商开始,将供应商的数字资产纳入全面的、基于真实风险的安全评估体系中:采用攻防实战的方式来验证产品能力,而不仅仅是合规检查。引入更加具有代表性的反向验证体系,以消除供应商网络上,可直接对组织造成业务中断或破坏的安全盲点。

• 对所在组织网络具有重要访问权限的供应商;
• 拥有所在组织「敏感数据」的供应商;
• 制造特殊零件或开发特殊系统的供应商。

二、安全始于可见性,为每个硬件、应用程序持续构建详细的物料清单,从而全面洞察每个硬件、应用软件的组件情况:随着软件行业以「前所未有」的速度发展,开发人员承受着以「更快的效率」和「更低的成本」来交付产品的压力。因此开源软件、开源组件成为了软件生态系统中至关重要的一环,许多漏洞被一层又一层地隐藏在依赖之下,开源亟需更有效的保护策略。为所有应用程序创建SBOM(软件物料清单),可以帮助企业发现当前运行中的程序、源代码、构建依赖项、子组件所依赖的开源组件清单,以检测开源软件组件是否带有已知的安全漏洞或功能漏洞,漏洞披露时可通过清单列表迅速响应排查,最终确保软件供应链中使用的都是安全的组件。从风险管理的角度跟踪和检测开源软件、开源组件的安全态势。

三、尽可能地缩小攻击面、减少碎片化,降低对第三方组件、开源软件的依赖,选择可信度较高,对安全重视的供应商:以白名单形式限制硬件型号的准入和允许安装的软件,以及确保安装最新的安全补丁。通过正规渠道购买、下载的软硬件介质,使用经过验证可信的第三方开源/商业库、算法等,采购安全可信的软件外包服务。

四、慎用对安全态度消极的厂商所开发的软件或硬件产品:建立完整的供应链安全风险管理流程,企业高层为安全第一责任人,并由安全部门统一集中管理和运营。为了让供应商更加注重安全,在采购条款中明确要求,只有产品出具了足够说服力的安全控制证明,才能进入采购体系,并对供应商进行定期的安全抽查。

五、加强信任链路的自主可控能力,全链路加密和验签:要求供应商在提供更新、升级通道的同时,在网络链路中须加入自定义证书的能力(用户自定义密钥BYOK)。同时,代码签名是在软件供应链中建立信任的重要过程,签名和验证体系可以确保程序的执行都是可信、可靠的。

六、提升软件、硬件产品安全风险的发现能力:投入资源挖掘当前企业正在使用的商业软件、开源软件漏洞,将商业软件、开源软件和自研软件同等对待,实施安全开发流程(SDL)的安全审计。

七、减轻已知漏洞的影响:通过产品架构,或在产品设计中内置安全性,部署和启用恶意软件防护和检测能力。在使用了第三方组件的应用服务器侧部署运行时保护技术RASP,网络侧部署WAF,主机侧部署HIPS等防御系统,来缓解已知漏洞的影响。

八、网络和物理环境访问控制、运输安全:软件和硬件分发过程的安全性,物理和网络安全之间没有差距。有时,黑客会选择利用物理安全上的漏洞,从营业厅或车库发动网络攻击。同样,攻击者在寻找进入物理场所入口时,可能会利用网络漏洞来获取物理门禁的访问权限。黑客甚至会在物流运输阶段下手,供应商需找可靠、安全的运输物流公司,以最大程度地减少运输过程中被篡改的风险。

九、软件和硬件具有安全验签能力,物理磁盘默认加密:硬件系统在安全启动过程中会进行验签,如果无法识别签名,系统将不会启动,且磁盘也无法解密。防止黑客向固件或磁盘存储写入后门或恶意代码。

十、联防联控,建立供应链安全联盟以应对系统性威胁,提升企业在遭受供应链攻击时的响应与恢复能力:由单一组织构成的防守阵线显得势单力薄,在关键基础设施如此重要的今天,应对供应链攻击亟需上升至国家、社会层面,成立行业同盟,全面升级联防、联控的体系。

相关文章
|
Kubernetes 负载均衡 安全
【K8S系列】深入解析k8s 网络插件—kube-router
【K8S系列】深入解析k8s 网络插件—kube-router
2742 1
|
存储 安全 API
oss客户端加密密钥管理
阿里云OSS数据加密涉及SSE-C和SSE-KMS两种方案。SSE-C中,客户端自动生成并管理DEK,负责加密和解密数据,需确保密钥的安全存储和访问控制。SSE-KMS则利用KMS生成和管理密钥,客户端通过API请求加密/解密密钥,实现更安全的密钥管理。无论哪种方式,都需要遵循密钥生命周期管理、访问控制、安全存储和定期轮换等最佳实践。选择SSE-C需要客户端有安全的密钥存储,而SSE-KMS则需关注与KMS的API交互和访问策略。
701 3
|
数据采集 人工智能 机器人
RPA+BPM:企业流程自动化的最佳拍档
RPA可以和BPM实现优势互补。BPM通过对业务管理规则和逻辑的科学梳理并显性化体现,给RPA提供了大脑和神经网络。RPA的所有行为依赖清晰可被定义的逻辑规则。BPM给了RPA所依赖的逻辑规则,就像BPM为RPA提供了大脑和神经网络。
4125 0
|
11月前
|
机器学习/深度学习 人工智能 前端开发
构建AI智能体:十、开箱即见 Gradio:大模型的“魔法画布”,让每一个想法清晰可见
Gradio是一个快速构建机器学习演示界面的Python库,能够将需要数天开发工作的模型展示缩短为几分钟的脚本编写。它通过简单的Python代码即可生成完整的Web应用界面,支持文本、图像、音频等多种交互组件,适用于模型展示、教学演示和原型测试等场景。文章详细介绍了Gradio的核心功能、基础语法和组件使用方法,并通过情感分析和聊天机器人两个实际案例展示了如何快速部署AI模型交互界面。Gradio大幅降低了将模型转化为可交互应用的门槛,使开发者能更专注于模型本身而非界面开发。
2139 8
|
机器学习/深度学习 人工智能 移动开发
阿里又出新玩法|开箱即用的算法集 MNN Kit
今天的移动开发,AI随处可见:从手机淘宝里的拍立淘,到淘宝直播里的商品识别,到头条的个性化推荐,到抖音直播里的人脸识别,人工智能在移动app里发挥的作用越来越大。它也逐渐从Snapchat那些社交软件的一些比较好玩的属性(如人脸贴纸),慢慢发展到了淘宝里面那些能够真正为商业赋能的应用场景。在这样的背景下,阿里巴巴淘系技术的MNN团队,近日发布了开箱即用的工具集MNN Kit。
3567 0
阿里又出新玩法|开箱即用的算法集 MNN Kit
|
11月前
|
存储 缓存 算法
《Unity游戏云服务器的场景化实战手册》
本文聚焦Unity游戏云服务器的场景化适配与底层优化,打破“参数堆砌”的选型误区,围绕节点布局、算力调度、存储架构、网络优化、稳定性与扩展性五大核心维度展开实战解析。提出“核心节点+边缘节点”的双层部署策略,结合玩家分布与路由质量优化延迟;针对不同游戏类型(实时竞技、开放世界等)精准匹配算力配置,通过弹性调度平衡性能与成本;采用“冷热数据分层存储+智能预载”提升访问效率;以带宽弹性分配与协议适配破解传输瓶颈;借助多可用区部署、跨域算力协同保障长期运营稳定性。
541 5
|
10月前
|
缓存 视频直播
基于flutter3.38构建高性能直播+短视频+聊天app
flutter3.38.2+dart3.10+getx+media_kit跨平台实战搭建短视频+直播+聊天app系统。
378 4
基于flutter3.38构建高性能直播+短视频+聊天app
|
10月前
|
JavaScript IDE 前端开发
JetBrains WebStorm 2025.3 发布 - JavaScript 和 TypeScript IDE
JetBrains WebStorm 2025.3 (macOS, Linux, Windows) - JavaScript 和 TypeScript IDE
317 1
|
11月前
|
IDE 开发工具 C++
从代码到芯片:CLion 2025.1如何重构嵌入式开发全流程,安装步骤+安装包
JetBrains CLion 2025.1 是一款专业 C/C++ 跨平台 IDE,提升开发效率。支持项目外文件分析、增强调试(含 Qt 渲染)、STM32 调试优化,集成 Zephyr 构建,并免费开放 AI 助手功能,兼容主流云模型,打造智能编程体验。
719 0
从代码到芯片:CLion 2025.1如何重构嵌入式开发全流程,安装步骤+安装包
|
12月前
|
人工智能 运维 安全
2025年工作流自动化的15个趋势,如何影响企业的业务?
越来越多企业正通过自动化与智能化升级工作模式,聚焦科技、制造、医疗三大领域。从RPA、AI到低代码平台,技术赋能提升效率、保障安全;智能制造优化运维;智慧医疗减轻负担。超自动化推动流程互联,让员工更专注创新与核心事务,实现高效协同与可持续发展。
717 1