大数跨境
0
0

软件供应链安全社区 标准规范组 | 2022中国软件供应链安全分析报告之实例分析篇

软件供应链安全社区 标准规范组 | 2022中国软件供应链安全分析报告之实例分析篇 信息通信软件供应链安全社区
2022-09-23
1
导读:随着我国科技的高速发展,我国软件供应链面临的安全风险不断加大,遭受破坏而引发的网络 安全事件数量逐步上升,因此,有必要针对导致我国软件供应链产生安全风险的主要因素进行深入探讨分析。


2022


中国软件供应链

安全分析报告


实例分析篇


发布机构:奇安信代码安全实验室



目录

一、软件供应链安全风险

二、典型软件供应链安全风险实例分析

1、某主流网络接入存储(NAS)设备供应链攻击实例分析

2、某主流VPN路由器供应链攻击实例分析

3、三款国产操作系统供应链攻击实例分析

4、某国产邮件系统供应链攻击实例分析

5、Edge浏览器供应链攻击实例分析

三、总结建议

附录:奇安信代码安全实验室简介



一、软件供应链安全风险


随着我国科技的高速发展,软件供应链正不断延伸,由于针对软件供应链的攻击成本低且回报高,不法分子逐渐 将攻击目标转换到软件供应链的薄弱环节上。我国软件供应链面临的安全风险不断加大,遭受破坏而引发的网络 安全事件数量逐步上升,因此,有必要针对导致我国软件供应链产生安全风险的主要因素进行深入探讨分析。


1

源头难以控制

目前,我国在国家信息建设中关键软件技术方面还无法实现完全自主研发可控,诸多核心行业的关键基础软件长 期依赖进口,这为我国的软件供应链安全留下了难以估量的安全隐患。软件供应链上的任一环节出现问题,都有 可能带来严重的安全风险,在国家关键基础设施中过度使用从国外引进的技术或软件产品,将加大我国软件供应 链安全出现威胁的可能性,危害国家信息安全,同时也会给国家经济安全带来严重的隐患。


2

开源存在缺陷

随着业务创新的速度加快,应用开源技术提高开发效率已经成为企业的主流选择,但也导致企业对复杂的软件供应链的 依赖日益增加。尽管开放源码组件具有许多优点,但它的广泛应用也带来了新的安全挑战,一方面由于开发者自 身安全意识和技术水平不足容易产生软件安全漏洞,另一方面也无法避免恶意人员向开源软件注入木马程序进行软件供应链攻击等安全风险的存在。


3

企业安全防护不足

企业对软件供应链安全技术研发的投入远远不够,敏捷开发与快速迭代导致企业往往在加快开发进度的同时忽略 掉部分安全隐患和响应效率,来弥补开发过程中时间的匮乏。高速运转的敏捷开发运营模式将传统的安全工作甩在身后,仅在上线运行阶段开展安全风险控制工作,已无法防御由网络技术发展带来的各项安全威胁。




二、典型软件供应链安全风险实例分析


1

某主流网络接入存储(NAS)设备供应链攻击实例分析

网络接入存储NAS基于标准网络协议实现数据传输,为网络中的Windows/Linux /Mac OS等各种不同操作系统的计算机提供文件共享和数据备份,在云存储、数据容灾、Web服务器等中广泛使用。本实例中我们分析的NAS系统在市场占有率方面具有领先优势,且预装了磁盘站管理系统。

经分析发现,该磁盘站管理系统中使用了SQLite、libssh2、Netatalk等在内的超过200款开源软件,并由此引入了1000余个已知开源软件漏洞,其中包括超危漏洞195个、高危漏洞461个。该磁盘站管理系统使用的部分开源软件及漏洞情况如下表所示。

这其中,Netatalk是一款开源的Apple Filing Protocol(AFP)服务程序,Linux或BSD等系统可使用它提供Mac文件服务器文件共享功能,被应用于多家主流NAS厂商的设备中。

CVE-2021-31439是Netatalk的一个高危历史漏洞(上表中所示),Netatalk组件在处理DSI数据包时存在堆溢出问题,未认证的用户通过发送精心构造的数据包,可实现任意代码执行,从而获取设备的控制权。该漏洞影响Netatalk组件当前所有版本。

进一步分析验证发现,利用该漏洞,可成功攻击磁盘站管理系统所属的NAS设备,如下图所示,成功攻击后可获取反弹Shell,且对应的权限为root。

本实例中,软件供应链风险传播链条如下:Netatalk组件被NAS设备的磁盘站管理系统所使用,且该服务默认开启,因此Netatalk组件的漏洞影响了该NAS设备,导致可针对其成功实施软件供应链攻击。


2

某主流VPN路由器供应链攻击实例分析

某国际TOP厂商主流千兆VPN路由器,广泛应用于各类企业中。对其固件进行分析发现,固件中使用了tcpdump、mutt、lldpd等在内的超过90款开源软件,并由此引入了500余个已知开源软件漏洞,其中包括超危漏洞162个、高危漏洞214个。该固件中使用的部分开源软件及漏洞情况如下表所示。

这其中,开源软件lldpd是LLDP行业标准(旨在取代EDP、CDP之类的专有链路层协议)的ISC许可实现,适用于各种Unix系统,并被广泛应用于主流厂商的网络设备(AP、交换机、路由器和摄像头等)中。

CVE-2015-8011是lldpd的一个超危历史漏洞(上表中所示),攻击者可通过发送精心构造的数据包,使得在处理lldp数据包中的Management Address TLV时发生缓冲区溢出,从而引发代码执行。部分厂商虽然采用了防御性编程,但程序仍会崩溃,造成拒绝服务危害。值得注意的是,尽管该漏洞是7年前被发现的,且lldpd官方仓库也发布了相应的更新,但它至今依然存在于部分厂商的网络设备中。

进一步分析验证发现,利用该漏洞可成功攻击此案例中的VPN路由器,因设备采用了防御性编程,漏洞可造成拒绝服务的危害。如下图所示,gdb调试器捕获到了SIGABRT信号,同时对应的进程退出,攻击成功。

本实例中,软件供应链风险传播链条如下:开源组件lldpd被该该款主流VPN路由器中的固件所使用,进而lldpd组件的漏洞影响该路由器,即针对路由器成功实施了软件供应链攻击。


3

三款国产操作系统供应链攻击实例分析

Polkit是一个开源应用程序框架,通过定义和审核权限规则,实现不同优先级进程间的通讯,使得控制决策集中在统一的框架之中,决定低优先级进程是否有权访问高优先级进程。分析发现,开源软件Polkit广泛应用于基于Linux内核的国产操作系统中,其漏洞可能引发针对这些操作系统的软件供应链攻击。验证发现,至少3款主流国产操作系统会受到Polkit历史漏洞的影响。

以某主流国产操作系统为例,它基于Linux内核,是一款通用的桌面电脑操作系统,并加入了大量的本地优化功能。

经分析发现,该国产操作系统中使用了libssh2、libpng、PolKit等在内的超过1000款开源软件,并由此引入了1000余个已知开源软件漏洞,其中包括超危漏洞267个、高危漏洞599个。该操作系统中使用的部分开源软件及漏洞情况如下表所示。

CVE-2021-4034是Polkit的pkexec组件中的一个高危历史漏洞(上表中所示),利用此漏洞可在没有参数的情况下越界读写参数,从而提升普通用户的权限,实现本地权限提升攻击,危害极大。

进一步分析验证发现,利用CVE-2021-4034可对该国产操作系统进行攻击,如下图所示,漏洞被成功利用后完成了从普通用户“aa”到超级用户“root”的切换,实现了权限提升。

本实例中,软件供应链风险传播链条如下:开源软件Polkit被国产操作系统所使用,Polkit中pkexec组件的漏洞影响了这些操作系统,导致可针对其实施权限提升方面的软件供应链攻击。


4

某国产邮件系统供应链攻击实例分析

某国产邮件系是一款通用邮件管理系统,在国内拥有大量的用户,用户量达数亿级。

经分析发现,该国产邮件系统中使用了jackson-databind、Spring Framework、Apache Tomcat等在内的超过100款开源软件,并由此引入了800余个已知开源软件漏洞,其中包括超危漏洞56个、高危漏洞151个。该邮件系统中使用的部分开源软件及漏洞情况如下表所示。

其中,Tomcat是全世界最著名的基于Java语言的轻量级应用服务器,是一款完全开源免费的Servlet 容器实现,是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目。Tomcat由于技术先进、性能稳定、而且免费,成为了流行的Web应用服务器。

CVE-2020-1938是Tomcat的Tomcat AJP Connector模块中的一个高危历史漏洞(上表中所示),可以读取Tomcat上webapps目录下的任意文件,如webapps配置文件或源代码;或者可以通过配合文件上传漏洞实现webapps目录下本地文件的包含,达到命令执行的目的,危害极大。

进一步分析验证发现,利用CVE-2020-1938可对该国产邮件系统进行攻击,如下图所示,漏洞被成功利用后完成了下载其中某个JSP文件的效果。

本实例中,软件供应链风险传播链条如下:开源软件Tomcat被某国产邮件系统所使用,Tomcat中Tomcat AJP Connector模块的漏洞影响了该邮件系统,导致可针对其实施文件下载的软件供应链攻击。


5

Edge浏览器供应链攻击实例分析

Chromium内核是Google发布的免费开源项目,在许多主流浏览器中都有使用,如微软Edge浏览器、Google Chrome浏览器、Opera浏览器等。

分析发现,Chromium内核中使用的开源软件超过230款,包括V8、libpng、libxlst、zlib、SQLite等,其中V8是一款C++语言编写的高性能JavaScript和WebAssembly开源引擎,用来高效稳定的解析执行JavaScript脚本。

CVE-2021-21224是V8的一个高危历史漏洞,可导致远程代码执行。具体而言,V8的JIT模块存在类型混淆问题,攻击者可通过构造JavaScript脚本,实现内存的越界读写,造成远程代码执行的危害。

进一步分析验证发现,攻击者可以利用V8的CVE-2021-21224漏洞,通过“网页钓鱼攻击”的方式在网页中隐藏漏洞利用代码,从而对Edge浏览器(90.0.818.41之前版本)进行攻击,如下图所示。

本实例中的软件供应链风险传播链条如下:Edge浏览器中使用了Chromium内核,Chromium内核又包含开源引擎V8,因此V8引擎的漏洞影响了Edge浏览器,导致可对其成功实施软件供应链攻击。




三、总结建议


过去的一年里,我们看到软件供应链安全的一系列国家标准、行业标准正在制定中,软件供应链安全相关的科研课题和建设项目逐渐增多,部分重要行业监管部门还出台了关于软件供应链安全的具体工作要求,面向软件供应链安全的社区、联盟、论坛等也在逐渐建立和完善中,软件供应链安全的重要性已经逐步成为各方共识。

但另一方面我们也看到,国内大多数机构和企业目前对于软件供应链安全还处于了解和保持关注阶段,尚未付诸真正的行动。从本报告中国内企业软件开发项目的实测数据来看,软件供应链安全相关风险很高,形势严峻且紧迫。鉴于这一现状,我们呼吁:从现在开始就行动起来,不要让软件供应链安全成“灰犀牛”。

软件组成成分的透明性是软件供应链安全保障的基础,我们建议将软件物料清单(SBOM)作为软件供应链安全的抓手首先推进落地,通过软件物料清单(SBOM)的推广应用,牵引软件供应链上下游各个环节的协同,在此基础之上再采取更多举措逐步深化,实现软件供应链安全保障的目标。关于软件物料清单(SBOM)的推进落地,具体建议如下:

01

国家与行业监管层面的建议

提高关键基础设施和重要信息系统用户软件供应链安全保障的要求,要求向关键基础设施和重要信息系统用户销售软件产品、提供软件定制开发的厂商和供应商,在交付软件系统的同时,需提供软件物料清单(SBOM),以保持足够的透明性;组织制定软件物料清单(SBOM)相关的国家标准、行业标准,规范针对软件物料清单(SBOM)的格式和内容要求,促进软件物料清单(SBOM)成为软件产品的标配;建立相应的公共服务平台,提供软件物料清单(SBOM)的检测验证、数据查询、威胁情报等服务。

02

从软件厂商和供应商层面的建议

在自身软件开发流程中采用开源安全治理工具,持续监测软件开发中所使用的开源软件物料,消减其安全风险;产品正式发布时,应提取和生成产品的软件物料清单(SBOM),并随软件向客户提供;针对自身软件产品中所使用的软件物料,持续监测其安全漏洞等风险情况,并及时为客户提供相应的技术支持服务。

03

从软件最终用户层面的建议

保持对软件物料透明性的高度关注,在购买软件产品或委托定制开发软件系统时,要求厂商和供应商提软件物料清单(SBOM),并与其签订安全责任协议,要求其对软件物料的安全性负责并提供后续的技术支持服务;对于运行重要业务的软件系统,应使用合适的检测工具验证厂商和供应商所提供的软件物料清单(SBOM)的正确性,确认软件的组成成分及安全风险状况;在软件系统日常运行过程中,应基于软件物料清单(SBOM)持续跟踪软件物料相关的威胁情报,及时采取安全措施,消减相关安全风险。




附录:奇安信代码安全实验室简介


奇安信代码安全实验室是奇安信集团旗下,专注于软件源代码安全分析技术、二进制漏洞挖掘技术研究与开发的团队。实验室支撑国家级漏洞平台的技术工作,多次向国家信息安全漏洞库(CNNVD)和国家信息安全漏洞共享平台(CNVD)报送原创通用型漏洞信息并获得表彰;帮助微软、谷歌、苹果、Cisco、Juniper、Red Hat、Ubuntu、Oracle、Adobe、VMware、阿里云、飞塔、华为、施耐德、Mikrotik、Netgear、D-Link、Netis、ThinkPHP、以太坊、Facebook、亚马逊、IBM、SAP、NetFlix、Kubernetes、Apache基金会、腾讯、滴滴等大型厂商和机构的商用产品或开源项目发现了数百个安全缺陷和漏洞,并获得公开致谢。目前,实验室拥有国家信息安全漏洞库(CNNVD)特聘专家一名,多名成员入选微软全球TOP安全研究者、Oracle安全纵深防御计划贡献者等精英榜单。在Pwn2Own 2017世界黑客大赛上,实验室成员还曾获得Master of Pwn破解大师冠军称号。

基于奇安信代码安全实验室多年的技术积累,奇安信集团在国内率先推出了自主可控的软件代码安全分析系统——奇安信代码卫士和奇安信开源卫士。奇安信代码卫士是一套静态应用程序安全测试系统,可检测2600多种源代码安全缺陷,支持C、C++、C#、Objective-C、Swift、Java、JavaScript、PHP、Python、Cobol、Go等20多种编程语言。奇安信开源卫士是一套集开源软件识别与安全管控于一体的软件成分风险分析系统,通过智能化数据收集引擎在全球范围内广泛获取开源软件信息和漏洞信息,帮助客户掌握开源软件资产状况, 及时获取开源软件漏洞情报,降低由开源软件带来的安全风险,奇安信开源卫士目前可识别9000多万个开源软件版本,兼容NVD、CNNVD、CNVD等多个漏洞库。奇安信代码卫士和奇安信开源卫士目前已经在数百家大型企业和机构中应用,帮助客户构建自身的代码安全保障体系,消减软件代码安全隐患,并入选国家发改委数字化转型伙伴行动、工信部中小企业数字化赋能专项行动,为中小企业提供软件代码安全检测平台和服务。



-  END  -



在“软件定义一切”的当今世界,人民生活、国家发展,各行各业与软件息息相关。但当前软件供应链安全问题对关键信息基础设施保护、数字产业高质量发展带来巨大挑战。在工业和信息化部网络安全管理局指导下,由六家企事业单位(中国信息通信研究院、中国电信集团有限公司、中国移动通信集团有限公司、中国联合网络通信集团有限公司、中国铁塔股份有限公司、奇安信科技集团股份有限公司)发起筹建的信息通信软件供应链安全社区应运而生。社区致力于软件供给过程的安全生态建设,为产业链、供应链各相关方等提供研讨、研发、协作、共治的平台。



往期推荐


1.标准规范组丨组长单位致辞

2.软件供应链安全社区 标准规范组|关于软件物料清单(SBOM)的“最小元素” 解读报告

3.软件供应链安全社区 标准规范组|软件供应链安全风险分析研究

4.软件供应链安全社区 标准规范组|软件物料清单(SBOM)在供应链中的角色定义及作用

5.软件供应链安全社区 标准规范组|2022中国软件供应链安全分析报告之现状与发展篇

6.软件供应链安全社区 标准规范组|2022中国软件供应链安全分析报告之应用分析篇



【声明】内容源于网络
0
0
信息通信软件供应链安全社区
发布信息通信软件供应链安全社区的新闻稿、活动信息、研究成果等。
内容 140
粉丝 0
信息通信软件供应链安全社区 发布信息通信软件供应链安全社区的新闻稿、活动信息、研究成果等。
总阅读29
粉丝0
内容140