近八成软件存开源漏洞 供应链需全生命周期安全防护
2021-06-02
来源:网络安全应急技术国家工程实验室
2020年12月13日,全球最著名的网管软件供应商SolarWinds遭遇高度复杂的供应链攻击,包括美国关键基础设施、军队、政府在内的18000+企业客户,可任由攻击者完全操控,这件事再度敲响了软件供应链安全的警钟。
“‘企业自主开发代码缺陷密度达10.13个/千行’、‘开源项目源代码缺陷密度达14.22个/千行’、‘存在开源软件漏洞的项目占比达77.5%’……这一个个数据的背后,无不透露出软件供应链存在着巨大的安全隐患。”
软件供应链面临巨大安全危机
为应对软件供应链安全挑战,5月12日,美国总统拜登签署了“加强国家网络安全的行政命令”,明确提出要加强软件供应链安全,要求向联邦政府出售软件的任何企业不仅提供应用程序,而且还必须提供软件物料清单 (即软件的各项组件)。
从近几年的网络攻击趋势来看,软件(包括固件)尤其是较为流行的软件供应链,正在成为黑客实施供应链攻击的重要突破口,而且此类攻击往往能够“突破一点,打击一片”,危害性极大,甚至很多网络安全软件自身都存在供应链风险。
“软件供应链可划分为开发、交付、运行三个大的环节,每个环节都可能会引入供应链安全风险从而遭受攻击,上游环节的安全问题会传递到下游环节并被放大。”
开源软件的源代码缺陷则更加密集。开软项目的缺陷密度达到了14.22个/千行,其中高危缺陷密度则为0.72个/千行。众所周知,开源软件是软件开发最基础的原材料,位于软件供应链的源头,且应用及其广泛。其自身的安全状况,直接影响最终软件的安全性。
近8成软件项目引入了开源软件漏洞
针对2188个企业软件项目的检测结果显示,所有软件项目均使用了开源软件,平均每个项目使用开源软件数量达135个;其中被使用最多的开源软件出现在了581个项目中,渗透率达到了26.6%。
在所有被检测的项目中,平均每个项目存在52.5个开源软件漏洞。其中,存在开源软件漏洞的项目1695个,占比77.5%;存在高危开源软件漏洞的项目1559个,占比71.3%;存在超危开源软件漏洞的项目1319个,占比60.3%。
值得关注的是,影响面最大的开源软件漏洞(Spring FrameWork漏洞)出现在973个项目中,渗透率高达44.5%。这也就是说,一旦该漏洞被攻击者利用,将影响近半数的企业软件,波及的企业数量更加不计其数。
与此同时,摄像头、路由器等智能联网设备也未能幸免,针对联网设备固件中引用的开源软件及其漏洞进行分析。86.4%的设备的最新固件存在至少一个老旧开源软件漏洞,漏洞最多的固件存在74个老旧开源软件漏洞。更有甚者,2014年曝出的“心脏滴血”漏洞,仍然存在于5.3%的最新设备中。
供应链安全应成为数字化的底板
在当前软件供应链安全基础较薄弱的形势下,软件供应链安全应成为信息系统安全的底板工程,亟需建立安全与软件供应链全生命周期深度融合、全面覆盖的安全体系,来保障软件从开发、交付到运行的全过程、全生命周期安全。
其中,针对软件成分及其风险的分析,是软件供应链安全的基础和关键部分,建议作为软件供应链安全工作开展的首要事。用户在采购商业货架软件、自行开发软件系统或委托第三方定制开发软件系统时,应对软件源代码、二进制代码中所包含的开源软件成分及其安全风险进行充分的了解,形成开源软件成分清单,并持续跟踪这些开源软件的安全风险情报。