软件供应链攻击为开发及运维团队带来哪些挑战?
SolarWinds的攻击给软件开发和DevOps团队以及使用软件的公司带来新的问题和挑战。
第一:如果复杂的网络罪犯可以直接将恶意后门插入信誉良好的开发人员的应用程序代码中,那么谁来承担直接信任软件的后果?
第二:如果现在软件团队的责任是发现他们开发管道中复杂的、有条理的协作,那么最好和可靠的方法是什么?
最后,如果现在软件需求方的工作也是监视和检测来自信誉良好的供应商(如SolarWinds)的二进制文件,那么在现有人员配备和技术限制的情况下,他们应该如何去做?
这些安全问题为DevOps、软件开发和信息安全社区增加了难度。SolarWinds 事件并非偶然,在攻击发生之后的几个月里,网络犯罪分子不断将软件供应链安全盲点作为目标访问IT环境。
软件供应链安全漏洞
在 SolarWinds 软件中植入的恶意软件 SunBurst 暴露了开发组织和软件供应链安全方面的缺陷。通过分析发现,攻击者在实际发起攻击的前几个月就获得了对公司开发环境的访问权限。同时他们仔细研究了底层源代码并模仿 SolarWinds 的风格和命名法,添加了恶意代码,并通过公司构建系统的妥协将其集成到 SolarWinds Orion 应用程序中。
尽管经过精心策划和实施,SolarWinds 攻击也并非万无一失。攻击者留下了一些线索,比如他们增加的Windows原生函数、使用加密、压缩等。攻击者使用压缩和Base64编码对这些数据进行了模糊化处理,这些编码旨在愚弄寻找明文变体和其他可疑字符串的简单威胁搜索规则。植入代码过程中反复出现的混淆足以让仔细观察的人警觉起来,让攻击容易被发现。
问题在于,很少有软件开发商拥有员工、专业知识或工具来梳理大量代码库以发现少数粗略的混淆字符串或在部署大型二进制文件之前分析它们的异常行为。ReversingLab一项对300多名IT专业人员调查显示,87%的受访者知道软件篡改可能导致企业安全漏洞。约40%的受访者表示,CI/CD工具链暴露对其组织构成风险。仅有三分之一(37%)的受访者表示他们有办法检测到这种软件篡改攻击。
软件开发组织面临的威胁在增长
攻击者意识到软件开发管道中的这一弱点,这就是对开发组织的威胁正在转移的原因。仅在去年,我们就看到了一系列针对开发基础设施和软件供应链的攻击。在 2021 年 4 月的一次事件中,攻击者成功地将未经审查的恶意代码直接推送到 PHP 主分支,最终导致一个受感染的正式版本的 PHP 被推送到所有 PHP 网站。同月,另一公司发生了一起入侵事件,涉及未经授权访问和修改该公司的Bash Uploader脚本。对该事件调查后发现,未经授权的第三方对该脚本中的一行代码的更改使攻击者(可能)能导出存储在用户持续集成 (CI) 环境中的信息。
开发团队需要新工具
对于开发组织来说,满足软件交付的截至期限和软件供应链安全之间存在桥梁。软件开发组织需要的是一种确保CI/CD管道和发布包安全的方法,确保他们的软件构建没有代码篡改和其他通过构建系统引入的供应链风险。包括通过监视恶意软件更改来检测妥协的能力,并在软件构建过程中实施安全控制和故障条件,以确保可以放心地发布代码;另一方面在编写代码及引入第三方代码及组件时,使用静态代码检测及开源组件分析等工具检测并修复代码缺陷,以减少因代码的问题引入软件安全缺陷。
在客户一端,组织需要一种方法来检测编译二进制文件中的恶意行为和未经授权的软件更改,然后再将其发布到生产环境中,同时还要监控可能隐藏在编译代码中的安全缺陷或可利用软件漏洞等风险。
来源:
https://devops.com/supply-chain-security-has-the-next-solarwinds-already-happened/