■ 360企业安全集团产品高级总监  张晓兵

安全源于威胁对抗,自1986年世界上第一个病毒“大脑”开始,安全就进入了到了一个“道高一尺、魔高一丈”的持续对抗阶段。纵观这三十年威胁对抗的历史,大致分为了三个阶段:第一阶段是基于文件的病毒攻击,第二阶段是基于漏洞的黑客攻击,第三阶段是基于信任的黑产攻击。今天我们谈的软件供应链攻击就是第三阶段攻击的一种典型形态。

在安全的视野里,看到的永远是必然会产生的黑白两极:有一张光明的互联网,势必会有一张邪恶的 “暗网”;有蓬勃的互联网经济,势必会有同样蓬勃的黑产经济;当出现了软件生态,随之而来的就是针对整个生态的软件供应链攻击。

软件供应链攻击是一个在大的互联网环境下必然会产生的一个结果,早期软件供应链攻击针对的更多的是个人用户,而接下来,它们会越来越青睐企业用户。

软件供应链攻击与黑产浪潮

传统的供应链概念是指商品到达消费者手中之前各相关者的连接或业务的衔接,从采购原材料开始,制成中间产品以及最终产品,最后由销售网络把产品送到消费者手中的一个整体的供应链结构。将传统商品的供应链应用于计算机软硬件,则可以衍生出软件供应链这一概念。

软件供应链攻击是指利用软件供应商与最终用户之间的信任关系,在合法软件正常传播和升级过程中,利用软件供应商的各种疏忽或漏洞,对合法软件进行劫持或篡改,从而绕过传统安全产品检查达到非法目的的攻击类型。

从大环境上看,随着像360安全卫士、QQ管家这些免费安全软件的普及,在黑产领域面临着木马红利消失的情况,普通的挂马、漏洞利用的成本也越来越高,在这种态势下,黑产开始寻找新的攻击面。

另一方面,随着互联网下半场的到来,互联网人口红利开始消失,互联网产业开始深耕客户,之前从软件厂商到用户的直通模式被中间庞大的分发渠道所代替,软件经过越长的中间渠道,就能获得越多的用户。

但是,安全防御本身是一种线式的,安全的攻破却是点式的,在整个软件供应链条上,每个点的安全是由供应商自行解决,而供应商无论是安全能力和安全意识方面都不如原厂商,因此攻破供应商的难度要比原厂商容易得多。还有,整个软件供应链其实是一条信任链条,每一环都是基于信任关系和信任机制的,因此一旦攻击成功,攻击者就有了一个很好的伪装,很容易躲避现有的安全手段。

所以,软件供应链攻击是一个跟APT攻击类似的,很难发现和清除的一种高复杂的攻击新形态。

从事件看软件供应链攻击的维度

我们从目前已经发生的软件供应链攻击事件中,总结软件供应链攻击的特点。

从被攻击的软件类型看,软件供应链攻击会以免费的娱乐软件、搜索下载类软件为主要目标,原因是这类软件的下载人数多,得手后,更容易产生大的利益面。

从利用角度分析,之所以会发生供应链攻击,其中主要有三类原因:监管不严、不自律和漏洞利用。监管不严是指软件厂商及其分发渠道有能力规避但却没有做到位;不自律是指软件厂商及其分发渠道为了达到某些经济目的而不进行自我约束;漏洞利用是指在软件厂商及其分发渠道毫不知情的情况下,不法分子所采用的恶意利用,包括但不仅限于软件自身存在的缺陷、正规签名被恶意仿冒等利用方式。

从潜入手段分析,下载安装、更新维护和信息推送为三种主要手段,其中利用下载安装和信息推送是主要手段,利用升级维护进行攻击的,还算少数。从攻击方法分析,主要是挂马、其次是篡改,然后是劫持。

软件供应链的攻击全景

从软件供应链攻击的大逻辑上看,软件供应链攻击将会发生在开发环节、交付环节和使用环节。

首先是开发环节。软件开发涉及的软硬件开发环境、开发工具、第三方库、软件开发实施等等,并且软件开发实施的具体过程还包括需求分析、设计、实现和测试等,软件产品在这一环节中形成最终用户可用的形态。

在这一阶段, 软件供应链攻击将会通过开发工具污染、源代码污染和厂商预留后门三种方式来进行攻击。软件产品如果在源代码级别被攻击者植入恶意代码将非常难以被发现,并且这些恶意代码在披上正规软件厂商的合法外衣后更能轻易躲过安全软件产品的检测。另外,对于某些软件产品来说,软件厂商在开发过程中出于方便测试或后续技术支持的考虑可能会预留一些超级管理员账户在软件产品中,而当软件正式发布时忘记删除或故意留下这些 “后门”,导致产品发布后被攻击者利用造成巨大危害。

其次是交付环节,软件从开发商到达用户手中的过程都属于软件交付环节,在互联网时代,这个过程主要是通过购买/共享存储介质、网络下载等方式实施。而基于我国的“国情”,国内针对软件交付环节进行攻击的案例最为广泛,因为攻击成本最低,主要体现在软件捆绑下载安装这类攻击手法中,另外还有诸如下载劫持、物流链劫持等攻击手法。

最后是使用环节。软硬件产品抵达消费者手中后则属于软件使用环节,而用户在使用过程中,除了产品本身的安全缺陷造成的威胁以外,还可能遭受使用环境等带来的威胁,针对使用环节常见的攻击方式主要有软件升级劫持。软件产品在整个生命周期中几乎都要对自身进行更新,常见的有功能更新升级、修复软件产品BUG等等。攻击者可以通过劫持软件更新的“渠道”,比如通过预先植入用户机器的病毒木马重定向更新下载链接、运营商劫持重定向更新下载链接、软件产品更新模块在下载过程中被劫持替换等等方式对软件升级过程进行劫持进而植入恶意代码。

软件供应链攻击可以在这三个环节上的任何点发生,即使是其中一个点,也有可能在这个点上的不同供应商中发生,因此可以看到,软件供应链攻击的发起要比APT容易得多,因此软件供应链攻击在未来,将有可能超过APT成为政企客户高级威胁中的头号威胁。

开启企业攻击新姿势

虽然从众多的软件供应链攻击事件中可以看到,大多数流行的软件供应链攻击都是针对个人用户的,是黑色产业在个人用户获取上的一次深挖,但是Petya病毒事件却开启了软件供应链的企业攻击大门。

从2017年6月27日晚,乌克兰、俄罗斯、印度、西班牙、法国、英国以及欧洲多国遭受大规模Petya勒索病毒袭击,该病毒远程锁定设备,然后索要赎金。其中乌克兰地区受灾最为严重,政府、银行、电力系统、通讯系统、企业以及机场都不同程度地受到了影响,包括首都基辅的鲍里斯波尔国际机场(Boryspil International Airport)、乌克兰国家储蓄银行(Oschadbank)、船舶公司(AP Moller-Maersk)、俄罗斯石油公司(Rosneft)和乌克兰一些商业银行以及部分私人公司、零售企业和政府系统都遭到了攻击。

根据事后的分析,此次事件在短时间内肆虐欧洲大陆,在于其利用了在乌克兰流行的会计软件M.E.Doc进行传播。这款软件是乌克兰政府要求企业安装的,覆盖率接近50%。更为严重的是,根据安全公司的研究,M.E.Doc公司的升级服务器在问题爆发前接近三个月就已经被控制,也就是说,攻击者已经控制了乌克兰50%的公司达三个月之久,Petya攻击只是这个为期三个月的控制的最后终结,目的就是尽可能多破坏掉环境,避免取证。

从政企软件现状看供应链攻击的可能性

软件供应链攻击之所以能够成功,关键在于它们披上了“合法软件”的外衣,因此很容易获得传统安全产品的“信任”,悄悄混入系统并实施攻击。分析不同类型软件在不同行业的应用现状,将有助于行业用户了解自身遭遇软件供应链攻击的风险系数。为此,360威胁情报中心对政府、金融、能源、大企业、互联网等多家政企机构的19万台终端的软件应用情况进行了调研与分析。

在对政企机构中不同类型软件的应用现状进行分析时,我们主要从“安装量”和“覆盖率”两个维度展开。其中,“安装量”,是指某类软件的安装数量在总软件安装数量中的占比;“覆盖率”,指的是某类软件中终端安装数量最高的那款软件的安装率。

就软件安装量来看,在所有参与调研的大型政企机构中,办公软件的安装量最高,占比为29.5%;其次是休闲娱乐软件,占比为14.5%;行业软件(特定行业使用的专用软件)排第三,占14.2%;此外,还有3%的软件是企业自己定制的软件,整体软件安装类别比率如下所示:

从软件覆盖率来看,安全软件的覆盖率最高,高达95.2%;其次是休闲娱乐软件,占比为45.2%;搜索下载软件排在第三,占比为37.7%;接下来分别是办公软件、行业软件、股票软件等,如下图所示。

在政企机构中,有风险的软件类型的“安装量”越大,遭遇软件供应链攻击的概率就越大;有风险的软件类型的“覆盖率”越高,一旦攻击发生,被攻击的电脑数量就越多。

除了从使用角度对软件进行分类外,我们还依据软件供应商与政企机构的关系,将软件简单地分为付费软件和免费软件两种。

关于付费软件,由于软件厂商属于政企机构的直接供应商,因此,这类软件本身的质量、安全性和服务等方面都会有很高的保障,遭遇攻击的概率相对会低很多。当然,也正是因为这种“强”信任关系,付费软件一旦遭遇软件供应链攻击,其破坏能力也将是巨大的。

对于免费软件来说,这类软件通常都是员工自行从互联网上下载安装的,软件本身的安全性参差不齐,政企机构对软件厂商也没有直接的约束关系,因此遭遇软件供应链攻击的风险非常高。

在大型政企机构使用量最多的400款软件中,免费软件的软件安装量占56.8%,付费软件的安装量则为43.2%。而从软件覆盖率来看,付费软件的覆盖率高达96.7%,而免费软件的覆盖率则为80.5%。

政企如何避免软件供应链攻击

从现有的软件供应链攻击事件上看,软件供应链攻击给政企机构的安全管理提出了新的挑战:如果没有良好的终端软件安全运维机制,没有可靠的安全产品进行有效防御,在软件供应链攻击事件来临之际,政企机构将毫无抵抗能力。

就目前政企网络的现状看,员工自行通过互联网下载安装的免费软件无疑已成为政企机构安全防御体系中新的薄弱环节。对于这些免费软件而言,自动推送升级已成为其改善软件质量、提升用户体验的常规手段,这些软件更新器一般可以获得系统权限以便用于程序的安装和注册表的修改,其行为等同于远程控制,是否盗取用户隐私,差别仅仅在于供应商的一念之间。

所以,要想规避软件供应链攻击引发的风险,建议政企机构从如下角度着手:

一、掌控全网终端的软件分布情况

IT安全管理者需要精准、实时、全面掌控公司、单位的软件资产信息,这样安全策略、安全基线才能有的放矢。

二、选择安全软件下载渠道

软件下载途径成为攻击者利用的重要途径,企业IT安全管理者需要为员工构建安全可靠的软件下载平台。企业IT管理者更多的关注点在于业务安全,对于软件基础设施安全,应该交给更为专业的安全厂商,由安全厂商对应用、工具类软件进行安全把关,建立一个软件足够丰富的PC软件生态圈和下载平台,可以覆盖大多数企事业用户的个性化要求。

三、把控软件升级通道

从会计软件M.E.Doc更新攻击、NetSarang公司的服务器与客户端管理工具升级版后门,到黑客组织Operation WilySupply利用软件更新的攻击,在日益严重的供应链安全事件中,利用软件更新发起攻击已经成为最突出的问题,也说明软件提供商对于更新设施的防护措施不够到位。这要求企业IT管理人员封堵软件更新的网络通道,并且部署安全设备进行有力的管控。软件更新管理已经成为供应链安全的重要环节。

四、分析和感知互联网软件的网络通信行为

厂商提供软件的更新渠道并不一定是安全的,有可能造成企业重要信息的外泄或者引入恶意插件、广告构成二次威胁入侵。能够对互联网软件的网络通信行为进行分析和感知,并具备进一步管控的能力。

五、具备安全应急响应能力

在软件供应链攻击事件发生时,可以第一时间封死网络通信链路,避免进一步损失。

软件供应链是继APT攻击后的又一新形态的攻击,而且一旦出现就会给企业带来巨大的损失,所以我们要未雨绸缪,提前做好软件的管理和规划。

(本文刊登于《中国信息安全》杂志2018年第11期)

声明:本文来自中国信息安全,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。