近一年,软件供应链安全领域演绎了一曲曲冰与火之歌。
一曲是重金属摇滚:黑客的攻击杀伤力不减,密集度递增。
一曲是婉转忧思:软件供应链安全,各国不同领域心有戚戚。
SolarWinds的APT攻击、35家大型科技公司的依赖混淆攻击、互联网使用率达79.2%的PHP攻击、Codecov供应链攻击。
上到专业的网络安全软件产品供应商,下到微软、苹果、Paypal、特斯拉等科技巨头,皆中招。
近半年,软件供应链攻击几乎在每个月爆发,越来越复杂的软件开发工具链下,未来的攻击会更多。
在这种背景下,6月2日,奇安信集团发布《2021中国软件供应链安全分析报告》,对国内软件供应链各个环节的安全风险,进行了深入细致的研究和解读。
这份报告,来得恰逢其时。
它关乎每个人的生命安全、财产安全,关乎国家、社会不同层面安全。
软件供应链安全,我们不再陌生,也不应该陌生。
"吃了不好的食品会生病,用了不好的软件会被攻击。"
奇安信集团代码安全事业部总经理、代码安全实验室主任黄永刚的这个例子非常形象。
"牛奶从奶农、奶站到车间,各个环节都可能导致原材料被污染,造成食品安全问题。同样,软件供应链可划分为开发、交付、运行三个大的环节,每个环节都可能会引入供应链安全风险从而遭受攻击,上游环节的安全问题会传递到下游环节并被放大。"
奇安信集团代码安全事业部总经理、代码安全实验室主任黄永刚
如果细化整个过程,软件供应链涉及规划设计、开发集成、分发部署、运行维护、升级修复等等环节。
换言之,能够影响软件交付的一切因素和环节,都在软件供应链范围之内,当然,也在黑客攻击范围内。
黑客只需要在以上庞大的软件供应链基础设施中任一环节,通过人或系统的漏洞乘虚而入,并沿着供应链向后渗透,植入恶意程序或代码,或进行小规模的隐形攻击,或长期潜伏在目标系统中,就能如抽积木般,对整个计算机系统造成损害。
软件供应链攻击并非新兴事物。
早在1984年,图灵奖获得者、UNIX和C语言的发明人肯·汤普森(Ken Thompson)在其著名的《Reflections On Trusting Trust》中就讨论过这种攻击。
当今这个开源代码、开源软件无处不在的世界,也成为软件供应链攻击的盛宴,黑客的狂欢。
软件供应链安全中,很大一部分风险来自依赖关系。
比如源代码是软件的原始形态,位于软件供应链的源头,源代码安全是软件供应链安全的基础。
行业数据表明,99%的代码库中包含开源代码,85%至97%的企业代码库源自开源代码。
现代软件的源代码绝大多数是混源代码,由企业自主开发的源代码和开源软件代码共同组成,对源代码的依赖程度极深。
对于第三方或开源依赖关系中的漏洞,可能会在我们毫不知情的情况下成为恶意攻击缺口。
供应链中未修复的漏洞、无心之过或者对依赖关系的恶意攻击,因无法自主控制,无时无刻都处于潜在威胁之中。
而在当软件研发从作坊式发展到规模化生产模式时,软件规模越来越大,程序逻辑越来越复杂,对软件完整语义的理解及操作逻辑的把握越来越困难,设计缺陷、深层次漏洞更难以发现,后门更易于隐藏。
这些也使得软件供应链增添了"威胁对象种类多、极端隐蔽、涉及纬度广、攻击成本低回报高、检测困难"等特性。
因此,当软件供应链攻击如覆巢出动,举目四望,损伤众多。
2020年12月,网络安全管理软件供应商SolarWinds遭遇国家级APT团伙供应链攻击,导致包括美国关基、军队、政府在内的18000多家客户全部受到影响,成为年度最严重的供应链安全事件。
此类攻击并非孤例,甚至愈演愈烈。
2021年5月12日,美国总统拜登发布了旨在改进美国网络安全局势的行政令。
这项行政令被称为美国联邦政府试图保护美国软件供应链安全采取的最强劲措施。
其中有项史无前例的规定:
要求向联邦政府出售软件的任何企业不仅提供应用程序,而且还必须提供软件物料清单 (SBOM),提供组成该应用程序组件的透明度。
这意味着,关于组成软件应用的成分(组件)清单,比如包含的开源和第三方的组件等信息都需在售卖给政府时提供。
另外,该行政令指示国防、公共卫生、信息和通信技术、能源、交通以及农产品和食品生产行业进行供应链风险评估,并在一年内提交商业/国土安全联合报告。
当恶意攻击频发,国外以政府之力推动安全道路向前时,一直以来软件供应链基础薄弱的中国,眼下具体形势如何?
奇安信早就意识到软件供应链安全,以日进一寸之力在该领域深耕多年。
奇安信代码安全实验室此次发布的《2021年中国软件供应链安全综合分析报告》,全面从开源软件生态发展状况、开源软件源代码安全状况、开源软件公开报告漏洞状况、开源软件活跃度状况等四个方面对2020年开源软件生态发展与安全状况进行综合分析。
揭开面纱,直面中国软件供应链安全的真实面貌。
而以下内容,是从业者理应知晓的行业现况。
1、每1000行代码就有超过10个安全缺陷。
报告显示,2020年全年,2001个国内企业自主开发的软件项目源代码中,检测的代码总量为335011173行,共发现安全缺陷3387642个,其中高危缺陷361812个,整体缺陷密度为10.11个/千行,高危缺陷密度为1.08个/千行。
开源软件的安全缺陷则更加密集。2020年全年,1364个开源软件项目中,代码总量为124296804行,共发现安全缺陷1859129个,其中高危缺陷117738个。2020年检测的1364个开源软件项目整体缺陷密度为14.96个/千行,高危缺陷密度为0.95个/千行。
2、超8成项目存在高危开源软件漏洞。
与企业自主编写的源代码相同,开源软件同样位于软件供应链的源头,且其源代码绝大多数是混源代码。
奇安信从两个层面回答这个问题:
一是国内企业在软件开发中是否使用以及使用了多少开源软件?
二是其使用的开源软件是否存在安全问题?
在奇安信代码安全实验室分析的2557个国内企业软件项目中,应用领域涉及政府、金融、能源等重要行业,无一例外,均使用了开源软件。
这100%的开源软件使用率,大大超出了软件项目管理者和程序员自身的认知。
要知道,由于开源软件之间的依赖关系错综复杂,且软件开发中依赖包的管理通常通过包管理器程序自动管理,软件开发者常常意识不到自己使用了数量巨大的开源软件,因此当某个开源软件曝出安全漏洞时,软件开发者常常"躺枪"而不自知,这中间隐含了巨大的软件供应链安全风险。
而且流行的开源软件被近1/4的软件项目使用,这些开源软件一旦出现安全漏洞,影响面甚广。
在2557个国内企业软件项目中,共检出168604个已知开源软件漏洞(涉及到4166个唯一CVE漏洞编号),平均每个软件项目存在66个已知开源软件漏洞,最多的软件项目存在1200个已知开源软件漏洞。
其中,存在已知开源软件漏洞的项目有2280个,占比高达89.2%;存在已知高危开源软件漏洞的项目有2062个,占比为80.6%;存在已知超危开源软件漏洞的项目有1802个,占比为70.5%。影响范围最大的开源软件漏洞为Spring Framework中的安全漏洞(漏洞编号为CVE-2020-5421),影响了44.3%的软件项目。
3、开源软件活跃度状况堪忧。
活跃度也是衡量开源软件安全性的一个重要维度。
不活跃的开源软件,无论是更新频率低或被废弃,一旦出现安全漏洞,难以得到及时的修复,安全风险很高。
而活跃的开源软件中,如果其版本更新发布的频率过高,同样会增加使用者运维的成本和安全风险。
报告发现,2020年,61.6%的开源软件项目处于不活跃状态,13000多个开源软件一年内更新发布超过100个版本。
4、18年前的老旧开源软件版本仍在被使用。
在开源软件运维风险层面,报告发现,其中,甚至18年前的老旧开源软件版本仍在被使用,且不少项目已无人维护,各个项目中开源软件使用的版本非常混乱,标准、升级情况都不一。
与此同时,开源软件的漏洞数量仍呈高速上涨的趋势。据奇安信代码安全实验室监测与统计,截至2020年底,CVE/NVD、CNNVD、CNVD等公开漏洞库中共收录开源软件相关漏洞41342个,其中5366个为2020年度新增漏洞。
软件供应链安全威胁无处不在,它们专业性高、隐蔽性强、范围广。
这些都让网络安全这个乍看并不性感的行业,不出圈则已,一出圈即是影响甚广的大事件。
万物互联的今天,纵横交错的市场,已没有企业可独善其身。行业需要更多的声音、更大的力度,让行业内外意识到安全之重、之要。
撰写此次报告的代码安全实验室,是奇安信旗下专注于软件源代码安全分析技术、二进制漏洞挖掘技术研究与开发的团队,在行业具有多年的积累。
代码实验室曾多次向国家信息安全漏洞库 (CNNVD) 和国家信息安全漏洞共享平台(CNVD) 报送原创通用型漏洞信息并获得表彰,也曾发现谷歌、微软、苹果、Oracle、Juniper、Adobe、Vmware、阿里云、华为、腾讯、滴滴等大型厂商和机构的数百个安全缺陷和漏洞,并获官方致谢和能力肯定。
在团队实力方面, 国家信息安全漏洞库(CNNVD)特聘专家一名,多名成员入选微软全球TOP安全研究者、Oracle安全纵深防御计划贡献者等精英榜单。在Pwn2Own 2017世界黑客大赛上,实验室成员还曾获得Master of Pwn破解大师冠军称号。
专业实力与时间磨砺下,这份报告通过信息高度凝练,已然清晰地展示了中国在软件供应链安全方面的各种问题:
基础薄弱、意识不足、开源漏洞风险、开源软件运维风险、活跃度状况......
在软件供应链安全潜在威胁之下,企业需要这样一份报告判断软件供应链安全的现状,了解潜在的市场风险,以此制定相关的战略规划。
投资机构,需要一份专业的研报,作为判断行业是否进入有价值的参考之一。
安全领域创业者,需要一份研究报告认识到自己的优劣势,改善资源配置,扬长避短。
《2021中国软件供应链安全分析报告》的发布,可谓正当其时。奇安信代码安全实验室的专家成员团队,保障了这份报告的含金量。
软件供应链安全问题是全球信息大国普遍面临的问题。
欧美显然从未停止寻找应对之法,美国在2009年发布《美国网络安全空间安全政策评估报告》,将ICT供应链安全提高到国家战略层面。
美国各大巨头也十分重视软件供应链安全并付诸行动。
比如微软曾于2002年1月发起了微软可信计算计划,推出微软安全开发生命周期,使安全成为设计、编码、测试软件产品的关键因素,并自主研制安全测试及分析自动化工具,明显提升了微软核心产品的安全性。
谷歌也高度重视软件供应链安全,建多支安全审计小组,研发分析检测工具,对自研软件和所采用的第三方构件,特别是开源构件进行严格的安全审计。
除IT公司巨头外,一些专业的安全公司和组织在供应链安全事件的发现与防护方面也功不可没。
中国正从网络大国迈向网络强国,但软件供应链安全推行力度远远不够:
国家层面,缺少体系化的制度和相关政策予以支持;行业层面,对软件供应链安全技术研发的投入不够;在社会层面,对软件供应链安全问题缺乏重视,未建立起相关工作机制。
一方面,数字化时代,无处不在的软件成为支撑社会正常运转的基本元素之一。另一方面,软件供应链已成为网络空间、攻防对抗的焦点,直接影响基础设施和重要信息系统的安全。
当无论是物理空间还是网络空间,都以供应链连接,这种广泛存在、体系庞大复杂且非常分散的供应链,关系每一个人和世界上每一个角落,这项系统工程也需要长期、持续投入,更需要各个层面的团体合作。雷锋网雷锋网雷锋网