谈谈软件供应链污染

2015年9月,XcodeGhost事件爆发,超过 4000个不同版本的苹果应用被感染,该事件影响了中国近一亿苹果手机用户,由此引发的软件供应链安全问题受到广泛关注,软件供应链污染也首次进入了大众的视野。本文对软件产品供应链污染进行简要介绍并围绕软件供应链污染危害、安全事件分析和防范几方面展开。

0×01 简介

鉴于业内目前对于软件供应链尚无明确的定义,本文结合广义的供应链概念以及本文的研究内容,姑且将软件产品供应链及其污染定义如下:

软件供应链是指由软件源码编写,源码编译,软件分发,软件下载,软件更新环节组成的流水线。

软件供应链污染则是在软件供应链中的各个环节利用不同的技术对软件进行污染。

0×02 危害

软件供应链污染会造成许多危害,主要包括泄露隐私信息、恶意替换正版软件、让攻击者获得系统控制权限等,下面对几类常见危害进行详细介绍。

a)    隐私信息泄露

攻击者通过在软件产品中加入键盘记录功能、安装后门以及窃取密码等方式,污染软件供应链的某一环节,读取使用者的隐私信息,其中不仅包含个人用户隐私信息,也包括企业和国家的机密信息,攻击者进而利用获得的隐私信息敲诈勒索个人及企业合法用户、甚至出卖国家机密危害国家利益。

b)   恶意替换

在一些“流氓软件”中,商家结合社会工程学方法污染软件供应链的下载环节,使用自己的软件产品替换正版软件产品,导致用户下载到的是“流氓软件”,从而增加该软件的下载量和使用量。

c)    重定向系统控制

部分被污染的软件会重定向系统控制从而允许攻击者远程控制计算机。攻击者运用具有命令—控制功能的软件接管特定活动,控制计算机进行软件原本设计目的之外的活动,并且通常情况下用户对此毫不知情。

0×03 安全事件

发生在软件供应链各环节的污染屡见不鲜,下面通过对主要安全事件的简要分析对各环节污染进行说明。

a)    源码编写

2013年美国“棱镜门”事件曝光,以思科公司为代表的科技巨头利用其占有的市场优势在科技产品中隐藏“后门”,协助美国政府对世界各国实施大规模信息监控,随时获取各国最新动态。1

思科公司多款主流路由器产品被曝出在VPN隧道通讯和加密模块存在预置式“后门”,即技术人员在源码编写过程中已经将“后门”放置在产品中,利用“后门”可以获取密钥等核心敏感数据。

b)   源码编译

文章一开始提到的XcodeGhost污染原理就是软件应用在编译过程中被强制加入了恶意的库文件,XcodeGhost污染流程图如下。
2

在该事件中,攻击者发现开发人员从官方途径获取Xcode编译器困难的现象,从苹果官方网站取得开发工具Xcode,植入恶意程序,然后将被污染的 Xcode上传到百度网盘或者其他常见的下载论坛,利用黑帽SEO的方式提高恶意Xcode的搜索排名。开发者下载遭到污染的 Xcode,然后使用被污染的Xcode开发APP,这些 APP 会自动连线到恶意Xcode内建C&C服务器,向攻击者服务器回传APP 用户的个人信息,并接受攻击者服务器控制进行非法操作。

此次XcodeGhost事件中,使用被污染Xcode开发的恶意APP 数量超过四千个,包括用户群非常庞大的QQ、微信、滴滴打车等应用,受害用户近一亿人。

c)    软件分发与下载

近日,第三方安全机构火绒安全实验室发布了一份报告称,用户在百度旗下两个网站http://www.skycn.net/http://soft.hao123.com/ 下载任何软件时,都会被植入恶意软件,使得软件分发与下载环节受到污染,百度方面在3月3日也发表声明承认问题真实存在,并致歉用户。

用户使用hao123下载器下载软件的同时,下载器会在后台静默释放和执行一个名为nvMultitask.exe的释放器,进而向用户电脑植入恶意代码。即使用户不做任何操作直接关闭下载器,恶意代码也会被植入。

下图是下载器向用户计算机植入恶意代码示意图。
3

d)   软件更新

在Havex APT事件中,攻击者在ICS(Industrial Control Systems ,工业控制系统)软件升级包中插入Havex恶意文件,用被污染的软件升级包替换正版升级包,Havex程序在工控系统软件升级的同时被下载和执行。

下面是Havax污染软件更新环节的流程示意图。
4

攻击实施过程中,攻击者利用水坑攻击,首先入侵ICS软件供应商主站,污染正版软件升级包,以ICS软件供应商为跳板来实现对 ICS的攻击,在ICS下载安装升级包的同时,Havex文件得以成功进入 ICS 内部。

0×04 防范

上文针对各环节的攻击给出了具体实例,在网络世界里,软件供应链污染情况层出不穷,被污染的软件会结合各种社会工程学的方法渗透到我们的生活中,比如将污染软件与合法软件进行捆绑、网页中虚假消息或者弹框、钓鱼邮件等。虽然软件供应链污染情况大量存在,但并不意味着我们对软件供应链污染毫无办法,下面介绍几点防范措施。

a) 谨慎下载免费软件,并使用虚拟机运行不明来源的软件,尽量从官网等正规渠道获取软件

b) 操作系统中尽量使用非管理员账户

c) 对于可疑电子邮件或图片保持警觉

d) 不要轻信要求您下载软件的弹出窗口

e) 安装使用防病毒软件

参考资料:

1.  https://www.usenix.org/system/files/conference/usenixsecurity16/sec16_paper_nelms.pdf

2. https://hgi.rub.de/media/emma/veroeffentlichungen/2013/09/18/backdoorDetection-CCS13.pdf

3. http://news.163.com/17/0303/23/CEL1R78C00018AOR.html

4. http://pinglun.youth.cn/wztt/201405/t20140526_5261699.htm

5. https://www.gsea.com.cn/blog/topic/qq_phone_manager-traffic-hijacking

发表评论

电子邮件地址不会被公开。 必填项已用*标注