确保软件供应链安全的三大建议
编译:代码卫士
数字化时代,软件无处不在。软件如同社会中的“虚拟人”,已经成为支撑社会正常运转的最基本元素之一,软件的安全性问题也正在成为当今社会的根本性、基础性问题。
随着软件产业的快速发展,软件供应链也越发复杂多元,复杂的软件供应链会引入一系列的安全问题,导致信息系统的整体安全防护难度越来越大。近年来,针对软件供应链的安全攻击事件一直呈快速增长态势,造成的危害也越来越严重。
为此,我们推出“供应链安全”栏目。本栏目汇聚供应链安全资讯,分析供应链安全风险,提供缓解建议,为供应链安全保驾护航。
注:以往发布的部分供应链安全相关内容,请见文末“推荐阅读”部分。
Log4j 广泛应用于各种应用程序中如 Minecraft、运行苹果 iCloud 和 Amazon Web Services 的基础设施服务器等不一而足,其中的漏洞可导致攻击者控制运行该工具的设备。它是继 SolarWinds、REvil和Urgent/11 等一系列软件供应链攻击后的又一最新案例。
在面对这些安全威胁时,开发人员还仍然需要快速高效地交付应用程序,从而导致对第三方代码和开源库如Log4j 的使用更加频繁。为了避免牺牲安全性,组织机构越来越依靠可生成软件物料清单的技术。
和企业中的任何物料一样,SBOM 定义了制成品的组件,因此如果检测到问题,可解决根本原因并将破坏最小化。SBOM 被视作软件供应链的根本,它们可使开发人员构建更安全的应用程序,为安全团队提供威胁情报并使IT部门维护更加弹性的环境。
SBOM 的三个“D”
SBOMs 在软件开发生命周期 (SDLC) 的三个不同阶段即开发、交付和部署提供了宝贵的洞察。
开发 (Develop):对于必须按照业务和预算前进的组织机构而言,从零开始构建程序代价高昂、耗时并不切实际。近五年来,物联网项目所使用的自研代码已缩减到50%,且这个比例将继续缩减。
开发人员必须使用第三方和开源组件迎头赶上,而且虽然将组件测试集成到工作流中是一种最佳实践,但开发人员经常会信任这些组件。在这个阶段生成SBOM使得开发团队对这些组件的可见性提高,因此能够发现已知漏洞 (Nday) 或0day 漏洞,并确保所使用的项目是受到许可的更新版本。
例行分析组件并生成SBOM 可使开发团队了解是否符合质量和安全标准,同时主动管理组件库。
交付 (Deliver):新冠肺炎疫情期间网络犯罪活动的激增使人们聚焦安全,因此软件开发团队和厂商相当于在枪口下交付符合更严苛标准的产品。当前使用的太多软件都可成为潜伏在第三方代码中的未知漏洞的猎物,因此必须彻底检查新产品,满足质量保证标准。Osterman Research 分析商用现成软件后发现,所有程序中都包含开源组件和漏洞;85%的程序所使用的开源组件中包含严重漏洞。
在发布和部署前,应该对编译软件进行安全保证检查,生成SBOM。在这个阶段,扫描可识别开源软件的使用并检查需要修复或缓解的漏洞。这是保证上市软件尽可能安全以及不含已知漏洞的关键步骤,它成为要求只是时间问题。
为应对近年来发生的供应链网络安全事件,美国总统在2021年发布网络安全行政令,将SBOM视作有效的网络安全工具。该行政令强制要求和联邦政府有往来的软件厂商需要提供SBOM,并将此作为最佳实践指南的一部分通过NIST推荐给所有企业。同时,很多行业开始要求厂商在交付关键产品如医疗设备和基础设施控制时提供SBOM。
部署 (Deploy):由于办公室打印机、关键系统等均通过物联网连接,因此找到并利用漏洞就是一个更大的攻击面。随着更多进程变得数字化,很多企业都向需要运行数字化的软件增加了预算;Gartner 预测称,2022年企业软件的支出将接近6700亿美元,每年增长11.5%。
软件开发人员和厂商虽然一直都在改进安全软件交付实践,但企业网络安全团队是确保商业软件安全部署的最终负责人。他们必须信任、验证并生成自己的SBOM。
通过分析所购软件,信息安全团队可了解所在组织机构已经在使用或者正在考虑使用的软件,从而改进安全态势,做出更加智能的决策并提高对Log4j 等漏洞的威胁响应速度。
好在,由于软件成分分析(SCA)技术的存在,任何组织机构均可创建SBOM。SCA工具可通过源代码分析或二进制分析生成SBOM。二进制SCA工具分析编译代码,即组织机构交付和部署的实际制成软件。这样,无需访问源代码和扫描应用程序中的软件组件、库和程序包即可生成SBOM。
随着供应链攻击的频率和复杂度不断提高,SBOM在识别并缓解组织机构开发、交付或部署的软件中的安全风险能力不可被低估。
Juniper Networks修复200多个第三方组件漏洞
PyPI 仓库中的恶意Python包将被盗AWS密钥发送至不安全的站点
开源项目 Parse Server 出现严重漏洞,影响苹果 Game Center
奇安信开源软件供应链安全技术应用方案获2022数博会“新技术”奖
热门PyPI 包 “ctx” 和 PHP库 “phpass” 长时间未更新遭劫持,用于窃取AWS密钥
趁机买走热门包唯一维护人员的邮件域名,我差点发动npm 软件供应链攻击
和GitHub 打官司?热门包 SheetJS出走npmjs.com转向自有CDN
不满当免费劳力,NPM 热门库 “colors” 和 “faker” 的作者设无限循环
NPM流行包再起波澜:维护人员对俄罗斯用户发特定消息,谁来保证开源可信?
200多个恶意NPM程序包针对Azure 开发人员,发动供应链攻击
NPM 修复两个严重漏洞但无法确认是否已遭在野利用,可触发开源软件供应链攻击
热门NPM库 “coa” 和“rc” 接连遭劫持,影响全球的 React 管道
速修复!热门npm 库 netmask 被曝严重的软件供应链漏洞,已存在9年
Pwn2Own大赛回顾:利用开源服务中的严重漏洞,攻陷西部数据My Cloud PR4100
热门开源后端软件Parse Server中存在严重的 RCE ,CVSS评分10分
https://blogs.grammatech.com/top-three-tips-for-ensuring-software-supply-chain-security
题图:Pixabay License
本文由奇安信编译,不代表奇安信观点。转载请注明“转自奇安信代码卫士 https://codesafe.qianxin.com”。
奇安信代码卫士 (codesafe)
国内首个专注于软件开发安全的产品线。