当下,企业需要依赖数字化软件进行新业务开展,软件供应链安全的问题也逐步凸显。根据国外安全厂商ReversingLabs发布的《软件供应链安全状况调查》中提到,2020-2022年针对软件供应链攻击呈指数级增长,“恶意篡改”、“后门植入”、和“供应链劫持”等攻击频发,软件供应链安全风险加剧。
而很多人对软件供应链了解并不全面,软件供应链是指从软件制造商开始到终端用户、包括设计、研发、发布维护更新等整个流程,还包括上游开发商到下游客户的一系列复杂过程。
软件供应链威胁带来的影响
随着科技不断发展,信息安全已经成为各国关注的焦点。软件供应链风险不仅危害到企业与个人,甚至会直接威胁到国家安全。
黑客攻击
软件供应链是黑客入侵的一种途径,软件开发商或供应商在软件开发中不经意引入缺陷或漏洞,易导致黑客入侵企业系统,进而植入恶意代码,攻击企业和机构服务器,影响国家网络安全。
信息窃取和泄露
软件供应链全链路中涉及众多标准和协议,软件中也包含用户数据、资产和属性等很多关键信息。攻击者通过后门程序从这些标准协议与信息中窃取用户数据、账号密码和敏感信息,为个人及企业带来重大损失。
破坏国家安全系统
软件供应链攻击也会针对军队、政府、金融机构等关键基础信息设施进行攻击,对国家的重要系统造成直接威胁,危及国家信息安全和经济安全。
典型的软件供应链攻击事件
为更好地说明软件供应链安全问题带来的危害,接下来我们将对历年的软件供应链攻击事件进行案例分析。
2022年GitHub OAuth令牌攻击
GitHub是一个面向开源及私有软件项目的托管平台。攻击者窃取了GitHub发给第三方集成商Heroku和Travis-CI的OAuth用户令牌,下载了数十名GitHub的客户数据,造成隐私泄露。
2021年黑客利用SonarQube事件
SonarQube是一个开源的代码分析平台, 用来分析和评测软件源代码的质量。黑客组织ATW利用SonarQube存在的安全缺陷进行攻击,导致国内多家重要单位系统源码泄露。
2020年SolarWinds软件供应链攻击
SolarWinds是网络安全管理软件平台,SolarWinds在软件代码中发现一条违规代码,导致黑客进入其中并在整个询问中卡住。到目前为止,泄密的信息涉及美国政府和企业的数千个用户,造成重大影响。
2017年CCleaner恶意软件事件
著名的系统清理软件CCleaner中出现了恶意程序,黑客通过篡改CCleaner软件服务器进行攻击,造成了大量用户数据泄露,也严重威胁了软件供应链安全。
2014年Heartbleed漏洞事件
Heartbleed漏洞事件曾经在全球引起了轰动,该漏洞从2012年至2014年都存在于许多网站和软件中,严重威胁了网络安全,证明了软件供应链安全措施的重要性。
如何应对软件供应链安全问题
面对软件供应链安全问题,我们围绕软件供应链中涉及的各个环节采取措施,以确保软件开发和交付过程中的安全性,具体来说,软件供应链安全包括如下方面:
供应商安全:对软件供应商进行评估,确保安全性和诚信性。
开发环境和流程安全:对开发环境和流程进行安全性评估和配置,以确保代码安全性和可靠性。
第三方组件/开源组件安全:对第三方组件/开源组件进行安全性评估和审核,以确保组件安全性和可靠性。
构建和部署安全:对构建和部署工具进行安全性评估和配置,确保构建和部署的安全性和可靠性。
运行时安全:对应用程序和服务进行安全性评估和配置,以确保程序运行时的安全性和可靠性。
针对以上软件供应链安全所涉及的内容,可以从三个方面加强企业软件供应链安全能力。
加强软件供应链安全管理
完善软件安全管理机制和监管制度,建立完备的软件供应链安全管理体系。
定义责任人、流程和安全制度等,确保每个环节都能得到有效监管。
加强对供应商的安全要求,避免采用未经过认证的供应商。
在采购或交付软件时,做好软件安全评估和测试。
在软件运行过程中遇到安全事件,及时响应和处置,记录整个事件过程,以便后续进行分析和应对。
做好研发安全体系建设
安全研发体系的建设,不仅仅是研发部门的自行建设,需要高层领导认识到安全研发的重要性,将安全研发体系建设纳入企业的整体战略中。
在开展体系建设前,通过明确整个软件研发生命周期,制定全面的管理标准和规范。
建立完善的沟通机制和协同工作模式,确保团队成员之间信息交流和合作顺畅高效。
加强软件安全测试能力,在软件研发的生命周期中各个环节增加“安全性”,包括:安全需求分析、代码安全扫描、组件安全分析等。
加强对各个环节的监控和管理,及时发现和纠正问题,形成管理闭环,保障软件高质量交付。
提高软件研发人员的安全意识
安全意识是软件研发人员必须掌握的关键点之一,需要在开发人员培训、考核中注重安全意识的普及和提高。
定期进行安全培训,提高研发人员对网络攻击、漏洞利用的认识。
制定安全规范和开发规范,确保开发人员编写的代码符合安全标准。
建立安全意识文化,鼓励开发人员参与漏洞挖掘和漏洞修复,提高安全意识和技能。
软件供应链安全对企业和国家至关重要,企业应该在软件采购和开发过程中始终关注供应链安全性,及时采取措施确保供应链中所有软件的可信度。
对于国家来说,加强软件供应链安全是保护国家信息安全和国家安全的基本要求之一。政府和企业应该共同合作,从政策、标准、法规等多个方面,确保软件供应链安全,以促进经济发展,保障国家利益和公民利益的安全。只有真正意识到软件供应链安全的重要性,积极采取有效措施,才能建立起一个更加安全的数字化世界。