声明
本文是学习2021年中国软件供应链安全分析报告. 下载地址 http://github5.com/view/1216而整理的学习笔记,分享出来希望更多人受益,如果存在侵权请及时联系我们
典型软件供应链安全风险实例分析
国内某主流OA系统供应链安全分析
本实例中分析的OA系统是一款国产OA系统,覆盖了流程审批、会议管理、考勤管理、假期管理等在内的各种日常办公场景,能够有效地提升组织管理与协同的效率。该系统在国内应用非常广泛,覆盖了*、金融、医疗、建筑等数十个行业的数万个客户。
经分析发现,该OA系统中使用了Spring Framework、Apache Commons FileUpload、Apache Commons Codec、Apache Log4j等在内的超过20款开源软件,并因此引入了500余个已知开源软件漏洞,其中包括超危漏洞3个、高危漏洞8个。例如,该OA系统中使用的Spring Framework 3.2.0.RELEASE中,存在超危漏洞CVE-2018-1270,可导致远程代码执行。该OA系统中使用的部分开源软件及漏洞情况如下表所示。
序号 |
开源软件名称 |
开源软件版本 |
漏洞情况 |
1 |
Spring Framework |
3.2.0.RELEASE |
超危:1,高危:2,中危:14 |
2 |
Apache Log4j |
1.2.14 |
超危:1,低危:1 |
3 |
Apache Commons FileUpload |
1.2.2 |
超危:1,高危:3,低危:1 |
4 |
MySQL |
5.0.20 |
高危:2,中危:14,低危:454 |
5 |
Apache Standard Taglib Implementation |
1.1.2 |
高危:1 |
6 |
jQuery |
1.8.3 |
中危:6,低危:1 |
7 |
Select2 |
3.5.1 |
中危:1 |
8 |
bootstrap-select |
1.4.3 |
中危:1 |
9 |
Ueditor |
1.3.5 |
中危:1 |
10 |
Apache Commons Codec |
1.7 |
低危:1 |
OA系统是每个现代企业必不可少的重要信息系统之一,其自身的安全性对于整个企业的信息安全至关重要,OA系统中由于开源软件漏洞而导致的软件供应链安全风险应该被企业客户了解和关注。
国内某流行Windows桌面软件供应链安全分析
本实例中分析的是国内流行的某跨平台即时通讯软件,该软件具备发送语音短信、视频、图片和文字等功能,国内用户数量巨大。
经分析发现,该即时通讯软件的Windows桌面版本,使用了Google V8 JavaScript Engine、zlib、OpenSSL、libjpeg、FFmpeg、SQLite、libpng等在内的80余款开源软件,存在已知开源软件漏洞上百个,其中超危漏洞10个,高危漏洞26个。例如,zlib的超危漏洞CVE-2016-9841,Google V8 JavaScript Engine的超危漏洞CVE-2016-2843。
该软件中使用的部分开源软件及漏洞情况如下表所示。
序号 |
开源软件名称 |
开源软件版本 |
漏洞情况 |
1 |
Google V8 JavaScript Engine |
3.29.88.17 |
超危:4,高危:8,中危:4 |
2 |
zlib |
1.2.8 |
超危:2,低危:2 |
3 |
SQLite |
3.10.2 |
超危:4,高危:6,低危:9 |
4 |
SQLite |
3.26.0 |
超危:3,高危:3,低危:8 |
5 |
libpng |
1.5.1 |
高危:3,中危:11,低危:5 |
6 |
OpenSSL |
1.1.1d |
高危:3,中危:3 |
7 |
curl |
7.60.0 |
高危:2,中危:6,低危:14 |
8 |
OpenSSL |
1.1.1c |
高危:2,中危:5,低危:2 |
9 |
FFmpeg |
3.2 |
高危:1,中危:6,低危:9 |
10 |
libpng |
1.6.37 |
中危:1 |
即时通信软件已经成为我们日常生活中不可缺少的沟通工具,其软件供应链安全风险可能会影响到我们每个人,应该引起足够的重视。
某国产网络设备固件供应链安全分析
本实例中分析的是某国产无线路由器设备,该设备支持远程脱机下载、远程文件共享、打印机共享等功能,还支持通过3G/4G USB网卡上网,其固件可在官网公开下载。
经分析发现,该设备固件基于Busybox开发,使用了Lighttpd、Samba、zlib、SQLite、OpenSSL、PCRE、json-c、curl等60余款开源软件,存在已知开源软件漏洞260多个,其中超危漏洞6个,高危漏洞42个。例如,Samba的超危漏洞CVE-2020-1472,Wget的超危漏洞CVE-2017-13090。
该路由器中使用的部分开源软件及漏洞情况如下表所示。
序号 |
开源软件名称 |
开源软件版本 |
漏洞情况 |
1 |
Samba |
3.5.8 |
超危:3,高危:2,中危:19,低危:8 |
2 |
Samba |
3.0.33 |
超危:2,高危:1,中危:16,低危:8 |
3 |
PCRE |
8.31 |
超危:1,高危:19,中危:5,低危:4 |
4 |
SQLite |
3.72 |
超危:1,高危:4,中危:9,低危:30 |
5 |
Wget |
1.16 |
超危:1,高危:4,低危:5 |
6 |
curl |
7.21.7 |
高危:6,中危:60,低危:47 |
7 |
libexpat |
2.0.1 |
高危:3,中危:11 |
8 |
busybox |
1_17_4 |
高危:2,中危:11,低危:3 |
9 |
OpenVPN |
2.3.2 |
高危:2,中危:7,低危:4 |
10 |
vsftpd |
2.0.4 |
高危:1,中危:2 |
无线路由器已成为当前每个单位及家庭的必需品,一旦攻ji者利用已知开源软件漏洞入侵路由器,可能会造成单位、家庭及个人敏感信息泄露,网络被控制等严重后果。
Google Chrome浏览器供应链攻ji实例分析
本实例分析中,我们验证了通过利用SQLite漏洞,可以成功攻jiGoogle Chrome浏览器。该实例中的软件供应链风险传播链条如下:SQLite被Chromium所使用,而Google Chrome浏览器基于Chromium开发。因此SQLite的漏洞影响了Google Chrome浏览器,导致可针对Google Chrome浏览器成功实施软件供应链攻ji。
SQLite是一款C语言编写的遵循ACID的开源关系数据库管理软件。由于SQLite实现了大多数SQL标准,且代码体积小,常常被用于到其他软件(如浏览器、操作系统、嵌入式系统)中。
Chromium是Google为发展浏览器Google Chrome而发布的免费开源软件项目,一些其他浏览器也基于Chromium,例如微软Edge浏览器、Opera浏览器等。Chromium中使用了大量的开源软件,包括libpng、libxlst、zlib、Expat、SQLite等超过230余款,其中SQLite被用于管理其WEB SQL数据库。
SQLite在2018年到2020年间一共被发现30余个漏洞,以CVE-2018-20346为例,SQLite(版本\<3.25.3)的fts3扩展中存在整数溢出漏洞,攻ji者只需构造一系列SQL语句,即可实现内存的越界读写,造成远程代码执行的危害。
攻ji者可以将漏洞利用代码隐藏在网页中,并诱导用户访问网页。当用户使用Google Chrome浏览器(版本\<=70.0.3538.77)访问包含漏洞利用代码的网页时,将会遭受到攻ji,自动执行攻ji者所设定的程序。下图为成功攻ji的演示示例,当用户使用浏览器访问特定网页时,网页中隐藏的漏洞利用代码自动执行,调用和弹出计算器程序。
VMware Workstation供应链攻ji实例分析
CVE-2020-3947是一个存在于VMware Workstation 和VMware Fusion产品中vmnetdhcp服务里的UAF漏洞, VMware官方评估这是一个极其严重的漏洞,CVSSv3评分为 9.3。
奇安信代码安全实验室分析发现,该漏洞实际是开源软件ISC DHCP 2代码中的漏洞,VMware公司在其vmnetdhcp服务程序中使用了ISC DHCP 2的代码,从而导致其VMware Workstation 和VMware Fusion产品中引入了该漏洞。此漏洞产生在ISC DHCP 2中Memory.c源代码文件的abandon_lease函数。此函数在第三行进行结构体赋值操作(“lt = \*lease”),然而结构中包含了对象指针uid,后面supersede_lease将lease的uid释放了,但是在lt中还存有包含此对象uid的指针,并且supersede_lease中对lt中uid进行了操作,从而导致了UAF。如下图所示。
此漏洞可被利用于虚拟机穿透,危害极其严重。攻ji者可以通过在客户机发送精心构造的DHCP包来攻ji宿主机上的vmnetdhcp.exe进程,从而在宿主机上执行任意代码,实现虚拟机穿透效果。下图为攻ji成功的演示示例,该演示示例的目标是通过在客户机中执行攻ji测试程序,实现在宿主机中自动调用执行cmd.exe,从而实现虚拟机穿透。如下图所示,在VMware Workstation 15.5.0中的Windows 7虚拟机(客户机)中执行vmware_try攻ji测试程序之后,宿主机的Windows 10中cmd.exe被自动执行,虚拟机被穿透。
延伸阅读
更多内容 可以点击下载 2021年中国软件供应链安全分析报告. http://github5.com/view/1216进一步学习