随着数字化进程的推进,开源共享和业务上云成为主流,软件所面临的安全风险和挑战相比以往更加严峻。
开源代码已经成为现代软件开发的基本原料,开源代码的使用大大提高了开发人员软件开发的效率,使得敏捷开发、快速交付成为可能,但是由于开发人员直接使用开源代码,对开其安全性并不了解,使得开源代码的风险严重威胁着整体软件系统的安全。如今,开源代码被投毒的事件越来越多,开源代码的风险已经成为了软件所面临的主要风险之一。
伴随着开源代码使用率的暴增,开源代码的风险也大幅度增加,据 Synopsys 发布的《2023 年开源软件安全与风险报告》显示,今年分析的 1703 个代码仓库中,有 96%包含开源代码,而84%的软件代码库中至少存在 1 个已知的开源漏洞,这一数据较2022年上涨了 4%,其中不乏航空航天、大数据、IoT 等关键领域与技术信息敏感行业使用了存在漏洞风险的开源代码。自2018 年以来,高风险漏洞在营销科技领域至少增加了 42%,在零售和电子商务领域更是猛增 557%。

随着软件应用系统逐渐由单一架构转变为低耦合、高内聚的服务网格架构,API 作为驱动开放共享的核心能力,已经广泛用于软件应用系统之间的交互。数字化进程的不断加快,也使得API 的数量高速增长,由于不安全的 API 会暴露应用程序逻辑或敏感数据,因此API 越来越成为攻击者青睐的目标。据 Salt Security 发布的《StateofAPI Security Q1 2023》报告显示,在2022 年12 月份就发生了4845 起攻击者依托 API 发起的攻击事件,相比于过去的几个月增加了 400%,并且目前攻击者开始将目标逐渐转向内部API 和已授权的API。
云计算的发展和各类新型数字化技术的使用,使得软件信息系统的存在形态发生了显著变化,微服务、无服务、容器、API 等已经成为构建云应用的重要技术,新技术的应用使得企业的威胁暴露面持续增多,例如,应用程序和服务的安全漏洞、供应商的安全漏洞、企业自身的安全漏洞等,这些都给软件供应链安全带来了更大的挑战。2022 年,Gartner 提出持续威胁暴露面管理(ContinuousThreat Exposure Management,CTEM),预测到2026年,采用基于持续暴露面管理计划的企业遭受入侵的可能性将降低三倍,并给出了持续威胁暴露面管理的高级成熟度模型,指导企业实施持续威胁暴露面管理,从而最大限度的减少威胁暴露面,降低安全风险。
目前,软件供应链攻击已经严重威胁到企业的安全,但是企业在对软件资产及供应链安全治理方面的能力建设仍然存在欠缺,软件安全治理所面临的主要安全问题可以总结为如下几个方面: 缺乏成熟的软件安全管理体系,企业面向软件供应链的软件安全管理体系还未制定完善,软件安全开发、软件安全测试以及开源组件的风险整改仍然缺乏指导; 软件资产信息掌握不全面,由于软件本身的复杂性,使得企业在掌握软件信息方面存在很大的困难,如何对存量软件资产和新增软件资产的信息进行有效采集,构建软件资产的全面画像需要重点解决; 软件成分信息不透明,开源软件成为各行业信息系统的重要组成,对开源软件和开源组件进行识别和风险评估,才能使软件的成分和风险更加透明; 漏洞识别不全且修复成本高,由于软件的成分复杂,漏洞多样,有效地确定软件漏洞仍然存在挑战,另外,漏洞的修复大部分情况会要求进行软件升级,但是软件升级需要考虑兼容性和组件之间的依赖关系,由于不兼容而导致的软件无法修复的现象普遍存在。
APT 攻击一直是我国面临的最严重的网络安全威胁之一,一些国家级的 APT 组织在其政府的支持下,持续对我国的军事、政府、金融、能源等高价值行业发起攻击,特别是近两年受到新冠疫情和地缘政治冲突的影响,APT 攻击相比以往更加复杂。据中国信息安全测评中心本年度发布的《全球高级持续性威胁(APT)态势报告》显示,我国面临的APT 网络攻击威胁是全方位的,并且呈现出了攻击数量持续增加、攻击手段日益复杂、攻击目标弥散的特点。当前,漏洞利用成为了 APT 组织攻击的重要切入点,各 APT 组织不仅追求稳定、高效的漏洞利用技术,在漏洞的选择上更加追求易用性、时效性以及是否能获取目标控制权限的攻击能力。
因此,零日漏洞、在野漏洞和供应链漏洞的利用日益增多。例如,2022年曝光的 Spring4Shell 漏洞、2021 年曝光的Log4j 漏洞,均成为了网络安全事件的“策源地”,很多 APT 组织针对该漏洞进行定制化武器改造,并以此开展网络攻击。
云计算经过多年的发展和应用,经历了云计算1.0 虚机时代和云计算 2.0 原生时代。如今,随着 ChatGPT 的推出和应用,即将进入3.0 智能时代,新时代下云安全将重点围绕云原生安全、云应用安全和云数据安全开展,其中原生安全是基石、应用安全是核心、数据安全是目标。 云原生架构中以容器、微服务、DevOps、持续交付和Serverless为代表的技术大量使用,这些技术的使用,改变了云环境主流的基础设施形态,加快了业务响应和流转速度,有效缩短了交付周期,但是新技术的使用也极大增加了软件供应链的复杂性,云上业务系统的供应链安全也面临着严峻挑战。