网站地图 原创论文网,覆盖经济,法律,医学,建筑,艺术等800余专业,提供60万篇论文资料免费参考
主要服务:论文发表、论文修改服务,覆盖专业有:经济、法律、体育、建筑、土木、管理、英语、艺术、计算机、生物、通讯、社会、文学、农业、企业

软件供应链攻击风险、特点及解决策略

来源:原创论文网 添加时间:2020-06-11

  摘    要: 随着软件供应链攻击逐渐增多,认识、分析进而防御供应链攻击,提高供应链攻击风险防范意识,对于世界各地个人、企业甚至国家都是十分必要和迫切的。介绍了软件供应链不同环节的攻击,分析了具体的软件供应链攻击事件,总结了软件供应链攻击的特点,提出了我国应对软件供应链攻击的措施与建议。

  关键词: 软件供应链攻击; 软件供应链环节; 网络安全风险;

  1、 概述

  近年来,随着软件供应链攻击(SSC attack)安全问题频频发生,各类软件供应链攻击事件给世界各地个人、企业甚至国家带来了巨大的隐私泄露和财产损失,如2017年6月27日勒索软件变种Petya攻击乌克兰,使得乌克兰首都机场、国家储蓄银行遭遇重大损失,甚至对全球供应链产生了深远影响。CrowdStrike于2018年发布的全球供应链安全的调查研究结果显示,供应链攻击已经成为最大的新型威胁之一。

  当前,国内外已有许多关于软件供应链攻击的研究。在软件供应链污染方面,周振飞(2018)提出了对软件供应链的污染技术、软件供应链污染的主动防御方法、并针对WordPress 的供应链安全污染检测技术进行了研究[3]。邹维等人(2018)指出目前很少工作能够实现自动化分析并检测软件供应链是否被污染[4]。在信息安全标准方面,Mark Wolden(2015)等人指出实施COBIT 5的有效性信息安全框架,可减少软件供应链受到网络攻击的风险[1]。在应对供应链攻击的策略方面,EGELEM(2012)等人对恶意程序检测技术进行了深入的研究[2],李舟军(2015)等人分析了软件供应链的安全漏洞检测技术[4],祝国邦(2018)等人对软件供应链各个环节的主动防御策略进行了较为详细的阐述[5]。在软件供应链安全风险分析方面,360 威胁情报中心(2017)发布的《软件供应链来源攻击分析报告》,研究近几年发生的软件供应链攻击事件,从用户、生产厂商、安全厂商的角度分别提出相应的解决方案。吴世忠(2014)等人编着的《信息通信技术供应链安全》,主要探讨了软硬件供应链的安全风险,并提出了相应的对策建议[6]。
 

软件供应链攻击风险、特点及解决策略
 

  面对各类软件供应链攻击事件,个人、企业及国家如何更好地采取措施应对攻击,亟待人们关注与探讨。

  2、 软件供应链攻击风险分析

  2.1、 软件供应链攻击环节

  软件供应链指的是软件从软件供应商到用户使用的整个过程中,从设计软件、编写代码到生成软件的开发环节,再到分发软件和用户下载的交付环节,最终到用户使用环节的三大环节组成的链状结构。软件供应链攻击(见图1)指的是攻击者充分利用供应链的安全漏洞,在合法软件的开发、交付、使用中进行劫持或者篡改,并依赖供应链上的信任关系以逃避传统安全产品的检查,沿着供应链向后渗透,从而实施对目标的网络渗透及非法攻击[7]。

  图1 供应链攻击过程
图1 供应链攻击过程

  2.1.1 、软件供应链开发环节攻击风险

  供应链软件开发环节指的是软件开发商的开发员对用户需求进行分析、在开发环境和框架下进行编程、测试并提供软件包的过程,软件产品在这一环节中形成最终用户可用的形态。

  开发过程中,尚未有统一安全的发布渠道。源代码打包或开发过程中预留的后门,所有出入的代码,都可能出现泄密、篡改等风险。除此之外,不安全的工具和第三方库,会间接导致病毒污染,如XcodeGhost的攻击。未知的第三方后门留存或者外采购买厂商的后门留存,如Xshell的后门攻击,会给供应链带来风险。测试过程中,恶意代码污染的源代码测试工具,会感染整体测试环境;在不安全的环境下测试电脑会发生次生感染。同时,进行源代码封包的工具也可能存在恶意代码污染。

  2.1.2、 软件供应链交付环节攻击风险

  供应链软件交付环节指的是用户通过在线商店、免费网络下载、购买软件安装光盘等存储介质、资源共享等方式获取到所需软件产品的过程。

  对软件发布的安全监管的缺乏,会带来渠道风险。软件的上传至下载等环节,会出现不同维度的篡改行为,非官方发布平台被篡改并植入恶意代码,也容易造成感染。此外,捆绑下载和下载劫持已经成为软件厂商灰色的产业链,如缺乏审核机制的云服务、破解软件、第三方下载点等。在用户不知情的情况下,内容分发系统(CDN)缓存节点篡改、域名劫持(DNS)等,会使用户下载存在恶意代码或者预留后门的软件。

  2.1.3、 软件供应链使用环节攻击风险

  供应链软件使用环节指的是用户对软件产品的整个使用生命周期。

  非法的盗版软件会使用户下载存在问题的激活工具、注册机等,为整体软件供应链带来安全风险。在用户对代码包进行升级的时候会发生升级更新劫持,如病毒Ghost Push。除此之外,一些非认证的第三方组织会通过自身渠道进行补丁包发布,诱骗用户从非官方渠道下载,未经分辨而安装。攻击者还可通过捆绑攻击的形式,使用户在下载安装该软件的同时,也将其他软件一并安装到本地。一些应用卸载残留第三方卸载工具的存在,会给用户带来恶意代码植入等安全隐患。

  2.2、 软件供应链攻击事件分析

  纵观近几年的软件供应链攻击事件,其中的不少攻击案件最终影响了全球数10万甚至上亿的软件产品用户,可造成比如盗取用户个人隐私、植入木马、盗取数字资产、勒索资金等危害。本文针对软件供应链上的3个环节有不同类型的攻击方式,分析了发生在软件供应链不同环节的重大软件供应链攻击安全事件,对比四者的不同见表1。

  表1 4种软件供应链攻击事件对比
表1 4种软件供应链攻击事件对比

  2.2.1、 Xshell backdoor后门事件

  Xshell是一个强大的安全终端模拟软件,其官方NetSarang系列软件的关键网络通信组件nssock2.dll被植入了恶意代码(见图2),攻击者利用多层加密程式码隐藏后门,用户机器一旦启动软件,将会加载组件中的恶意代码,将主机的用户信息通过后门远程访问功能中的C&C服务器域名生成算法DGA产生的DNS域名请求传送至黑客的远程命令控制服务器[8]。国内受影响的用户或机器数量在十万级别,同时,数据显示一些知名的互联网公司有大量用户受到攻击,主机相关的信息遭到泄露。

  图2 包含嵌入恶意代码的nssock2.dll文件
图2 包含嵌入恶意代码的nssock2.dll文件

  2.2.2、 XcodeGhost事件

  Xcode是由苹果公司发布的运行在操作系统Mac OS X上的集成开发工具(IDE),是开发OS X和iOS应用程序的最主流工具。XcodeGhost病毒的感染原理是开发者在使用非官方下载的Xcode工具开发app时,会向正常的苹果app中植入恶意代码,并通过 CoreService 库文件进行感染。用户在下载安装app后,会被恶意代码恶意远程控制,其攻击过程见图3。XcodeGhost感染了AppStore下载量最高的5 000个app中有76款app,其中不乏大公司的知名应用,受这次事件影响的用户数超过1亿[9]。

  图3 XcodeGhost攻击过程
图3 XcodeGhost攻击过程

  2.2.3 、勒索软件变种NotPetya事件

  NotPetya与传统的Petya勒索软件病毒不同,其并没有针对单个文件进行加密,而是通过释放文件向磁盘头部写入恶意代码,被感染的系统的主引导记录(MBR)被引导加载程序重写,同时加载1个微型恶意内核,随后开始加密,使得用户无法进入系统。2017年6月27日,NotPetya在欧洲大规模爆发,其中全球最大的广告公司WPP在内的欧洲企业以及乌克兰基辅机场的网络系统受到攻击,要求受害者支付价值300美元的比特币之后,才会恢复解密密钥。

  2.2.4、 Ghost Push事件

  Ghost Push病毒开机自动运行,通过用户数据流量进行广告推送,并且在未经过用户允许的情况下静默下载安装应用,用户无法通过手机杀毒软件、手动卸载该类病毒,其攻击过程见图4。 Ghost Push病毒感染用户主要分布于美国、俄罗斯、印度、中国等,给众多安卓用户带来了不可避免的影响及危害。

  图4 Ghost Push攻击过程
图4 Ghost Push攻击过程

  3、 软件供应链攻击特点

  3.1、 攻击影响范围广

  由于软件供应链是一个完整的流动过程,因此在软件供应链上发生的攻击具有扩散性。对于普通的安全漏洞的攻击,其一般发生在单点上,传播能力有限。相比之下,在软件供应链上游开发环节发生的攻击,一旦成功,便会波及整个软件供应链的中下游,对大量的软件供应商和最终用户造成影响。除此之外,随着软件的规模变得越来越大,软件的程序逻辑也变得越来越复杂,理解软件的完整语义和掌握操作逻辑会变得愈发困难。因此,在供应链开发环节,设计缺陷和深层漏洞更难被发现,源代码和开发工具更容易受到外部污染,厂商预留和第三方组建的后门将会变得更容易隐藏。

  3.2、 攻击检测难度大、持续性强

  由于软件供应链攻击依赖供应链上的信任关系,以逃避传统安全产品的检查,因此软件供应链攻击具有高度隐藏性。一般来说,经过官方认证的软件添加后门,大部分供应链攻击会受到“合法软件”保护。在不被暴露的情况下,病毒可以不断地访问并攻击新的目标。同时,大多数企业和公司往往认为自己不会在软件供应链的开发、交付环节中被当作攻击的目标,会默认认为供应链上的软件是安全的,因此很难从单一角度检测到攻击行为。除此之外,不少软件供应链攻击者不直接攻击供应商,而是利用供应商来规避公司的网络安全机制检测风险。因此,想要从根源上就检测出攻击行为十分困难。

  3.3、 攻击手法多种多样,数量不断上升

  当前,全球互联网环境日益复杂,软件供应链的可攻击面也越来越多,从而衍生出多种多样的攻击手法,这也大大提升了供应链攻击事件的数量。前面已经提到,在软件供应链的开发、交付、使用环节都有各种各样的供应链攻击手法。在开发和交付阶段,开发人员与供应商会随时因为各种原因使软件供应链受到攻击,而站在的最终用户的视角,从供应链的下游向前看各环节,信息的能见度和安全的可控程度逐渐下降,对供应链上游和中游发生的问题,更是鞭长莫及。因此,攻击者只需要针对软件供应链各个环节的脆弱点实施攻击,就可以入侵并造成危害,即使企业拥有足够的安全意识,从发现安全隐患,到解决问题并发布新版本,仍然需要很长的周期,在这期间,攻击者根据漏洞生成的攻击速度会更快。

  4 、我国应对软件供应链攻击的对策

  4.1、 制定相应的软件供应链法律与规范

  在国外,已有不少国家制定并发布正规的法律法规来对软件供应链行业实施管理。2015 年4月,美国国家标准与技术研究院(NIST)正式发布软件供应链制定规范 NIST.SP800-161(Supply Chain Risk Management Practice for Federal Information Systems and Organizations),该规范提出了信息与通信技术供应链(ICT supply chain)的基本概念[10],并为风险管理(Supply Chain Risk Management,SCRM)的实施提供了相应的指南2016年10月,英国国家互联网应急中心(CERT-UK)发布供应链网络安全风险白皮书,该文件提出各类软件供应链的风险案例和规避建议[11]。

  相比于国外,我国信息安全领域针对软件供应链的法律法规和监督管理较为薄弱。在2016年11月《中华人民共和国网络安全法》出台的背景下[12],我国政府应当在制定网络安全保护的法律法规时,增加涉及供应链安全方面的规范条款,对软件供应链的各个环节加以指导和规范。与此同时,网信部门应当加强对软件供应链的各个环节的监管,有效防范软件供应链威胁;公安部门应当进一步加强对软件供应链网络犯罪的打击力度,全面排查和依法打击查处各类软件供应链犯罪活动。国家网信办应统筹协调各行业部门尽快开始针对软件供应链产品的网络安全审查工作,关注软件供应链开发、交付、使用环节的安全风险,不断提高我国软件供应链行业的透明度。

  4.2、 降低对国外产品的进口依赖

  国内软件供应链行业的现状是现有的软件供应链产业的核心技术过度依赖进口、底层硬件和基础软件安全领域的研究较晚、防御重心过度向产业链下游下沉。从表2可以看出,目前我国的核心技术和设计工具对国外产品的依赖度较高。与此同时,我国企业目前对开源代码Linux内核等开源代码消化不足,难以发现其中的漏洞和后门,而开源代码又在软件供应链中发挥着重要作用,据Gartner调查显示,99%的组织在其IT系统中使用开源组件[13]。然而,开源代码的安全缺陷密度较高,据美国国家信息安全漏洞库(NVD)统计,截至2017年2月,全球开源软件相关的已知安全漏洞已超过28 000个。

  尽管目前,国内已有企业开始对部分软硬件基础设施实现自主研发,也有企业开始自主研发Linux内核系统,但是对于核心技术的把握,仍有较大的进步空间。因此,我国应当加快推动核心技术突破,提高自主研发能力,重点关注内核、应用程序接口(API)等关键技术,重视软件供应链行业创新能力的突破,关注5G技术、量子计算等新技术可能带来的供应链安全风险。 此外,政府应当充分利用各项国家科学基金,持续加大对核心技术和设计工具的研发投入,打破对国外设计产品的过度依赖,缓解国外软件和技术断供风险。

  表2 我国对外技术及设备依赖率
表2 我国对外技术及设备依赖率

  4.3、 重视软件供应链技术管理

  4.3.1、 推进理论创新进程

  随着人工智能、区块链技术等新型技术的广泛应用,企业应当充分利用新技术对供应链安全理论进行创新。研究供应链安全模型、程序语义理解、软智能化件代码安全分析等理论与技术,利用AI技术分析和深度识别网络通信过程中的异常行为,形成面向中、大型软件代码的快速理解与安全技术支持能力。

  4.3.2、 加强漏洞检测水平

  在软件发布前,企业应当时刻关注软件供应链各个环节开源库涉及的最新漏洞信息,通过使用开源软件安全审计工具,与已知开源构件和CVE等已知漏洞库,判断软件是否被篡改。在软件发布前,应当利用静态分析工具进行完整的自动化安全漏洞检测,可以及时发现隐藏的安全漏洞,定位发现恶意植入的后门。

  4.3.3 、提高安全响应能力

  企业应当建立合理的设计框架和资产管理能力,对输入输出、网络传播等敏感过程的实时监控、对供应链各个环节的基础资产如APP、服务端软件进行盘点。安全团队也尽量多地对各个维度的行为和数据进行记录,对海量数据进行存储、分析、挖掘和关联,以便更好地发现并解决安全问题。

  4.3.4、 使用安全信息标准

  企业可以将ISO/IEC2700系列国际标准、IEC624443NIST 800-82工控系统安全指南作为基础信息安全操作的起点。此外,对信息安全问题的涵盖面更广的基于风险的主动性方法的NIST网络安全框架(CSF),也可以帮助企业评估其IT和OT系统所面临的安全风险。

  4.4 、企业将人员管理与技术管理相结合

  即便软件本身不存在安全漏洞,供应链内部人员薄弱的安全意识也会给攻击者带来可乘之机。因此,预防供应链攻击的核心依旧是人。据威瑞森最新《数据泄露调查报告》揭示,28%的数据泄露事件起因是供应链的内部人威胁。因此,提高对企业内部人对供应链攻击的风险意识,提升员工应对供应链攻击的风险防范能力,可以帮助构筑和测试响应计划,并在攻击已侵入的情况下提升恢复速度。

  5、 结语

  在当前软件供应链攻击日益增多的情况下,如何解决软件供应链的安全问题已经成为反映一个国家核心竞争力的重要标志之一。随着我国数字化水平、信息化水平的不断提高,使得我们对软件供应链的依赖越来越大。建立良好的软件供应链生态,需要个人、企业、国家共同努力。

  参考文献

  [1] Mark Wolden,Raul Valverde,Malleswara Talla.The effectiveness of COBIT 5 Information Security Framework for reducing Cyber Attacks on Supply Chain Management System.[J].IFAC-PapersOnLine,2015,48(3):1846-1852.
  [2] Egele M,Scholte T,Kirda E,et al.A survey on automated dynamic malware-analysis techniques and tools[J].ACM Computing Surveys (CSUR),2012,44(2):1-42.
  [3] 周振飞.软件供应链污染机理与防御研究[D].北京:北京邮电大学,2018.
  [4] 李舟军,张俊贤,廖湘科.软件安全漏洞检测技术 [J].计算机学报,2015(4):717-732.
  [5] 祝国邦,陈洁.软件供应链安全现状与对策建议 [J].中国信息安全,2018(11):44-47.
  [6] 吴世忠,江常青,彭勇,等.信息通信技术供应链安全[M].北京:清华大学出版社,2014.
  [7] 武振华,张超,孙贺,等.程序逆向分析在软件供应链污染检测中的应用:研究综述[J].计算机应用,2019(12):1-17.
  [8] 李璐,倪平,何昊坤,等.ICT供应链安全风险及典型事件分析[J].国防科技工业,2019(9):24-26.
  [9] 王超.ICT供应链的网络安全威胁不容小觑[N].中国计算机报,2019-07-22.
  [10] 左晓栋.美国政府IT供应链安全政策和措施分析[J].信息网络安全,2010(5):10-12.
  [11] 杨勇.破阵:对国内外网络供应链攻击的思考[J].中国信息安全,2018(11):67-70.
  [12] 李青.美国网络安全审查制度研究及对中国的启示[J].国际安全研究,2017(2):47-65.
  [13] 冯兆文.从Struts2漏洞看办公内网软件供应链安全管理[J].保密科学技术,2019(5):37-40.

重要提示:转载本站信息须注明来源:原创论文网,具体权责及声明请参阅网站声明。
阅读提示:请自行判断信息的真实性及观点的正误,本站概不负责。
我们的服务
联系我们
相关文章