软件供应链安全2022年回顾

Gartner认为软件供应链攻击是2022年的主要的威胁来源,有人将2022年称为软件供应链安全元年,是新上任CIO的首要工作,越来越多开发者、安全研究人员在关注软件供应链安全。

我们通过梳理漏洞和开源组件数量变化、相关的漏洞风险事件、法规和标准、产品能力关注点,来对软件供应链安全这一领域进行回顾。

可以看到:

  • 新出现的漏洞和开源组件的数量都在增长
  • 中国有6个针对特定行业的信息安全管理法规中涉及软件供应链,软件供应链安全的标准与指南在加速,美国、新加坡、欧盟、英国也相继发布了软件供应链安全建设计划、指南

我们观察发现在软件供应链安全产品能力上,除了基础功能以外,企业开发者和安全团队更关注:

  • 漏洞治理优先级
  • 漏洞可达性分析
  • 降低修复成本
  • 二进制成分分析
  • 研发流水线集成

我们认为,未来会有更多软件供应链的安全风险暴露到公众视野,针对全链条的治理标准和监管能力会走向成熟,产品能力发展趋势包括:

  • 检测精度不断加深
  • 适用范围越来越广
  • 重视研发体验
  • 集成能力增强

相关的数据及信息基于我们的观察和分析,可能不尽全面,也欢迎读者补充。

漏洞及开源组件增长

在2022年,CVE新公开的漏洞数量为33034个,达到新高。而CNVD公开的漏洞数为10651个,则有所下降。(CNVD的漏洞默认是在收录一年后公开,所以并不能完全反映当前漏洞趋势)

美国网络安全和基础设施安全局(CISA)从2021年11月开始维护一个已知被利用漏洞目录(Known Exploited Vulnerabilities Catalog),在2022年,该目录中的漏洞数量新增了557个,总数达到868个。

软件供应链安全2022年回顾

以java、python、node.js生态为例,从对应的maven中央仓库、pypi仓库、npm仓库中可以看到开源组件数量持续增长。

软件供应链安全2022年回顾

安全漏洞与投毒事件

漏洞是软件供应链安全中关注的首要风险,投毒是近年来越来越频繁出现的攻击方式,因此我们以月为维度梳理了有较大影响的漏洞及投毒事件。

1月-PwnKit漏洞、faker.js/color.js投毒

Qualys公司安全研究人员在Linux内核polkit组件pkexec中发现了存在12 年之久的PwnKit漏洞 (CVE-2021-4034)。通过利用该漏洞,可以在所有主流Linux发行版中实现本地提权。

软件供应链安全2022年回顾

faker.js 和colors.js的作者 Marak Squires 由于不满用户免费使用其开源组件,在这两个包中加入了恶意代码,执行后会输出三行「LIBERTY LIBERTY LIBERTY」,而后开始无限输出非 ASCII 字符。

软件供应链安全2022年回顾

3月-Node-ipc投毒、Spring4Shell漏洞

Node-ipc是NPM中每周下载量超百万的开源组件,3月7日,开发者因为不满俄乌战争,在代码中加入了针对俄罗斯与白俄罗斯IP用户删除、覆盖磁盘文件的恶意代码,通过peacenotwar组件在用户桌面放置反战标语。

软件供应链安全2022年回顾

3月31日,Spring发布安全公告,修复了影响spring-webmvcspring-webflux的远程代码执行漏洞(CVE-2022-22965),与Log4Shell(CVE-2021-44228)对应,有安全研究人员将其称为Spring4Shell。

软件供应链安全2022年回顾

4月-Gitlab测试密码硬编码漏洞

4月1日,Gitlab发布安全公告,在新版本中修复了硬编码密码导致的接管用户账户的安全问题(CVE-2022-1162)。当受影响版本的Gitlab开启OmniAuth后,攻击者可以通过三方登陆功能,利用硬编码的123qweQWE!@#000000000测试密码登录任意账号。

软件供应链安全2022年回顾

5月-Fastjson反序列化漏洞、Follina漏洞

5月23日,java开源组件fastjson开发者发布安全公告,发布了安全修复版本1.2.83,该版本修复了其收到在特定场景下可以绕过autoType关闭限制的漏洞(CVE-2022-25845),建议fastjson用户尽快采取安全措施保障系统安全。

5月27日,nao_sec公布了在微软Office中通过诊断工具(MSDT)利用的远程代码执行漏洞,代号Follina(CVE-2022-30190)。

软件供应链安全2022年回顾

6月-Atlassian Confluence OGNL注入漏洞

6月3日,Atlassian公司发布安全公告,在Confluence Server 和 Data Center新版本中修复了远程执行任意代码的严重漏洞(CVE-2022-26134)。由于URL中的OGNL表达式存在注入问题,攻击者无需认证就可发送请求通过表达式执行恶意代码。

7月-Apache Commons Configuration 任意代码执行漏洞

7月6日,Apache基金会发布公告称在Commons Configuration组件中由于存在与Log4j相同的插值功能(interpolation),攻击者可以利用形如${prefix:name}的字符串执行任意代码,建议开发者升级至新版本。

8月-Atlassian Bitbucket Server 和 Data Center 命令注入漏洞、GitHub中超过3.5万开源代码文件被投毒

8月3日,名为 Stephen Lacy 的工程师在Twitter中表示其发现大量GitHub仓库被加入了恶意代码,感染文件超过3.5万,随后GitHub对这些仓库进行了删除。攻击者大量克隆了已有开源项目的信息,加入恶意逻辑后再次提交代码。所幸由于被投毒的开源仓库大多无人关注,此次事件本身的实际影响较小。

软件供应链安全2022年回顾

8 月 24 日Atlassian官方安全公告发布了CVE-2022-36804漏洞,由于Bitbucket Server 和 Data Center 的多个 API 端点处存在命令注入漏洞,有权访问公共 Bitbucket 存储库或对私有存储库具有读取权限的攻击者可以通过发送恶意 HTTP 请求来执行任意代码。

9月-Linux kernel 释放后重用漏洞(DirtyCred)

9月20日,有安全研究人员公开了存在超过8年的Linux内核权限提升漏洞(CVE-2022-2588)利用代码,与DirtyPipe相对应,该漏洞被称作DirtyCred。漏洞源于Linux 内核net/sched/cls_route.c 实现的 route4_change 中存在释放后重用问题,当用户或网卡空间具有 CAP_NET_ADMIN 的特权能力时,攻击者可以将普通用户权限提升为root。

软件供应链安全2022年回顾

10月-Apache Commons Text 远程命令执行漏洞(Text4Shell)

10月13日,Apache Commons Text团队发布公告称在1.10.0以前的版本中存在远程代码执行漏洞(CVE-2022-42889),该漏洞也是由于支持了与Log4j相同的插值功能(interpolation)导致,因此有安全研究人员称其为Text4Shell漏洞。

此前Apache Commons Configuration的任意代码执行漏洞(CVE-2022-33980)也是由于对Commons Text进行了二次封装。

11月-OpenSSL 远程代码执行漏洞

11月1日,OpenSSL官方正式通告了一个可能远程执行任意代码的高危漏洞(CVE-2022-3602)。由于在 X.509 证书验证过程中(尤其在名称约束检查中)存在缓冲区溢出风险,可能导致拒绝服务或远程代码执行。

在此前10月25日OpenSSL预发布的通告中,该漏洞评级为严重,被认为是OpenSSL历史上第二严重的漏洞(仅次于Heartbleed),但此后考虑利用成本较高,漏洞评级降为高危。

软件供应链安全2022年回顾

12月-Linux内核ksmbd模块任意代码执行漏洞PyTorch-nightly遭遇投毒

12月23日,ZDI公布了一处Linux内核ksmbd模块中存在的CVSS评分为10分(满分)的漏洞(CVE-2022-47939)。ksmbd模块自Linux 5.15版本开始引入,由于Linux内核在处理SMB2_TREE_DISCONNECT 命令时存在释放后重用漏洞,攻击者无需通过身份验证即可利用此漏洞远程执行任意代码。

12月31日,PyTorch团队发现 PyPI 仓库中出现了名为torchtriton的恶意包,由于与PyTorch-nightly中的私有包同名,在获取依赖项时,PyPI 的优先级较高,会导致恶意包在用户不知情下拉取到本地。恶意的torchtriton包不仅获取用户基本指纹信息(例如 IP 地址、用户名和当前工作目录),还会进一步窃取敏感数据(包括/etc/hosts 、/etc/passwd、$HOME/*中的前1000 个文件、$HOME/.gitconfig、$HOME/.ssh/*文件内容)。PyTorch团队通过将torchtriton依赖重新命名为pytorch-triton并发布至PyPI 仓库来修复这个问题。

软件供应链安全2022年回顾

法规与标准

中国

行业法规:6个针对特定行业的信息安全管理法规中涉及软件供应链

标准与指南:软件供应链安全国家标准进入征求意见阶段、关键基础设施强调供应链安全保护

海外

美国、新加坡、欧盟、英国相继发布软件供应链安全建设计划、指南

产品能力关注点

随着越来越多的开发者及安全工程师应用软件供应链安全治理工具,对于产品而言,也在基础能力之上有了更高要求。

漏洞治理优先级

企业安全团队经常面临着资源有限,而面对大量漏洞需要修复无从下手的场景,这时候就必须按照一定的优先级进行处置。

漏洞危害通常采用CVSS进行评分,但是CVSS评分存在着部分漏洞评分过高的问题(如前端组件和后端组件的任意代码执行漏洞评分可能一样,但其大多数情况下危害并不一样)、维度不足(如没有考虑被利用的情况,存在利用工具的漏洞对于企业而言风险更高)的问题。

因此仅仅根据CVSS评分不能客观反映漏洞处置的优先级,业界也提出了EPSS(Exploit Prediction Scoring System)的概念用于反映漏洞的利用情况,部分厂商会针对漏洞做出自己的评级。

除了评价的客观性容易受到挑战以外,优先级大多数情况下还和企业的安全管理状况相关,并没有一个万金油的标准。

漏洞可达性分析

仅依赖组件名称以及版本区间来判断是否受到漏洞影响不够准确,因为漏洞通常依赖于特定的代码写法、数据传递场景才能触发。

例如java中jackson-databind的反序列化漏洞,在应用中需要在开启DefaultTyping特性的情况下,调用readValue方法处理用户输入的json数据才能够被利用。安全工程师进行漏洞治理工作时,可能会被研发工程师挑战称其代码中没有调用问题方法,检测结果属于误报,并不存在漏洞。

因此除了版本判断外,如果能进一步分析代码中是否包含这样能导致漏洞触发的代码调用,则能让漏洞识别结果更有说服力,帮助企业安全团队进一步评估影响面,这被称为可达性分析。

降低修复成本

开发者在修复漏洞时,经常可能存在疑问,升级组件版本、新增某个配置,是否会存在不兼容,导致新代码无法正常完成业务功能。这样的问题常常成为漏洞修复路上的绊脚石,导致修复周期拉长。

对于间接依赖的组件存在漏洞,开发者如果要顺着依赖关系找到对应的直接依赖安全版本,是一个费时费力的事情;对于企业而言,当有大量开发者需要修复漏洞时,如果能够缩短修复漏洞所用的时间,很大程度上也是在提高研发效能、提高企业的生产力。

产品应该尽可能降低开发者修复漏洞的成本,降低开发者心智负担,提升安全治理效率。

二进制成分分析

软件产物有源代码、制品、二进制等多种形态,传统的软件供应链安全产品只能针对源代码做检测,而在当前我们面临着许多不同的应用场景,在不同的场景中就需要对不同的产物进行检测。

比如在开发过程中,通常只需要针对项目中的源码检测;在上线前java代码被打包成了jar包这样的制品,这时候需要对制品进行检测;而软件通过二进制形式交付是常见的做法,如果想要对交付的产品进行分析,则需要面对大量开发阶段信息丢失的问题。

尽管二进制成分分析面临许多困难,但由于闭源形式的商业软件是企业中难以忽视的供应链存在,过去它们往往是黑盒式的软件资产、安全治理的盲区,现在也希望它们也能变得更透明,因此二进制的分析能力在被越来越重视。

研发流水线集成

由于很大一部分的软件供应链安全问题是在研发过程中引入,因此针对研发流水线的工具集成被开发者关注。

与企业现有的研发流水线集成,能够降低开发者的使用成本,也便于建立卡位控制的安全门禁。常见的集成方式包括IDE插件、独立客户端、提供webhook服务等,常见需要适配的研发工具包括:IDE、代码仓库、CI/CD、制品库。

展望

Gartner预计到2025年,全球45%的组织都会遭受过软件供应链攻击,这一数量是2021年的3倍。

在接下来的2023年,我们预计会有更多软件供应链相关的漏洞、攻击事件出现,相关的法规、标准仍在持续完善的阶段。

对于这一领域的安全产品,将呈现以下趋势:

  • 检测精度不断加深:风险识别越来越接近真实可利用场景;
  • 适用范围越来越广:覆盖更多的软件产物形态、覆盖软件供应链全生命周期、覆盖不同的使用人群;
  • 重视研发体验:研发工程师作为安全工具的终端用户,其是否愿意使用变得非常关键;
  • 集成能力增强:包括研发流水线的集成、安全工具之间的集成,通过集成形成有效的协同能力。

参考链接

https://www.infoworld.com/article/3646231/2022-the-year-of-software-supply-chain-security.html

https://www.cio.com/article/410904/the-new-cio-security-priority-your-software-supply-chain.html

https://www.gartner.com/en/newsroom/press-releases/2022-03-07-gartner-identifies-top-security-and-risk-management-trends-for-2022

关于墨菲安全

墨菲安全是一家为您提供专业的软件供应链安全管理的科技公司,核心团队来自百度、华为、乌云等企业,公司为客户提供完整的软件供应链安全管理平台,围绕SBOM提供软件全生命周期的安全管理,平台能力包括软件成分分析、源安全管理、容器镜像检测、漏洞情报预警及商业软件供应链准入评估等多个产品。为客户提供从供应链资产识别管理、风险检测、安全控制、一键修复的完整控制能力。同时产品可以极低成本的和现有开发流程中的各种工具一键打通,包括 IDE、Gitlab、Bitbucket、Jenkins、Harbor、Nexus 等数十种工具无缝集成。

开源地址:https://github.com/murphysecurity/murphysec

官网地址:https://www.murphysec.com/

发布者:墨菲安全,转发请注明出处:https://www.murphysec.com/blog/uncategorized/4652.html

(0)
上一篇 2023年1月9日 15:46
下一篇 2023年2月6日 14:25

相关推荐

  • Apache Commons JXPath 任意代码执行漏洞(CVE-2022-41852)

    Apache Commons JXPath 是一个 XPath 表达式语言的简单解释器。JXPath 将 XPath 表达式应用于各种类型的对象如: JavaBeans、 Maps、 Servlet contexts 和 DOM 等,对于喜欢 XML 风格 API 的开发者来说 JXPath 是一个高效的工具。 近期有安全研究者通过 oss-fuzz 发现 …

    2023年1月9日
  • 权威认可|墨菲安全获评 CNNVD 技术支撑单位!

    近日,墨菲未来科技(北京)有限公司荣获《国家信息安全漏洞库(CNNVD)技术支撑单位等级证书》,正式成为 CNNVD 技术支撑单位之一。 墨菲安全能够通过国家信息安全漏洞库(CNNVD)的技术支撑能力考查,依托于核心团队具备超过十年的企业安全建设、安全漏洞研究及安全攻防经验,以及长期在漏洞分析研究、安全能力建设上的积累。 未来,墨菲安全将凭借团队漏洞安全研究…

    2023年1月9日
  • 墨菲安全入选中关村科学城24个重点项目签约

    6月21日,海淀区举办中关村科学城重点项目签约发布活动。本次活动主要围绕关键核心技术“揭榜挂帅”等3项落实、中关村新一轮先行先试改革措施、2项加速医药健康产业发展措施发布、全国首个临床医学概念验证中心揭牌以及24个中关村科学城重点项目集中签约等内容为主,为全力以赴推动复工复产、用好用足中关村新一轮先行先试改革红利。 海淀区委书记王合生,区委副书记、代区长李俊…

    2023年1月4日
  • 从关键信息基础设施安全保护要求看供应链安全

    近日《信息安全技术 关键信息基础设施安全保护要求》国家标准正式发布,《要求》中更是从管理机制建立、采购管理、网络产品和设备提供者的责任义务与产品及服务的风险控制方面对供应链安全提出了具体要求。 背景 2022年11月7日,GB/T 39204-2022《信息安全技术 关键信息基础设施安全保护要求》国家标准在京发布,作为推荐性标准将于2023年5月1日正式实施…

    2023年1月9日
  • 14 条策略助力企业构建更安全的软件供应链

    每个软件都存在供应链,然而现代软件大部分代码都是开源的,这意味着任何人都可以访问和编辑。但是软件平台的安全取决于其最薄弱的环节,安全漏洞可能随时出现,因此技术领导者必须建立监控和保护供应链中每个环节方案和动作。福布斯技术委员会给出应对软件供应链安全的14条明智的策略,为开发者、企业的安全建设带来思考和建议。 承包商在建造建筑物的时候,会按照计划和流程去采购使…

    2023年3月2日

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

联系我们

400-180-9568

邮件:hi@murphysec.com

工作时间:周一至周五,10:00-19:00,节假日休息

关注公众号

20230105-100741