深入了解恶意攻击中的代码签名滥用行为
发布日期:2018-04-20概述
使用机器学习系统我们分析了300万次软件下载,涉及成千上万台连接互联网的机器,由此提供了三部分组成的系列见解。在本系列的第一部分中,我们仔细研究了不受欢迎的软件下载以及它们对组织造成的风险。我们还简要提到了关于代码签名滥用的问题,在这篇文章中将详细阐述。
代码签名是一种加密签名软件的做法,旨在为操作系统(如Windows)提供一种有效且精确的方法来区分合法应用程序(如Microsoft Office的安装程序)和恶意软件。所有现代操作系统和浏览器均通过证书链自动验证签名。
有效证书由可信证书颁发机构(CA)颁发或签署,由父CA进行备份。这个机制完全而严格的依赖于信任的概念。我们认为恶意软件运营者(根据定义)是不可信的实体。据说,这些不可信实体无法访问有效的证书。但是,分析表明情况并非如此。
整个市场均支持恶意攻击者的操作,这些人员可以访问有效的证书,然后用于签署恶意软件。在分析中,我们观察到大量由可信机构签名的恶意软件——绕过了最新操作系统和浏览器中构建的所有客户端验证机制。
表1. 已签名的良性,未知和恶意软件的百分比
从表1可以看出,更多的恶意软件表现比合法或良性应用(66%和30.7%)要好。对于通过浏览器等直接链接提供的恶意软件也是如此(81%与32.1%)。这表明网络犯罪分子通常会提供正确签名的软件,因此可以运行并绕过代码签名验证。
表1提供了恶意软件类型的细分情况,该分布表明恶意软件运营者倾向于投入更多精力来签名在目标机器上首先执行的恶意软件(如本系列第一部分强调的释放器和广告软件),而不是更积极类型的恶意软件(运行在已经搞定的环境中)。从商业的角度来看,这是有道理的,因为使用有效的代码签名是很昂贵的,因此要求网络犯罪分子有策略地使用他们的预算。
表2. 恶意软件主要签名商
表3. 良性和恶意软件的主要签名商
表3给出了良性应用程序和恶意应用程序的名称列表,而表2则提供了有关恶意软件类型的更详细的视图。Somoto Ltd.,ISBRInstaller和Somoto Israel等一些签名商通为不同类型恶意软件签名,其他则用于更具体的类型。发现SecureInstall用于dropper,而Benjamin Delpy用于机器人。
尽管仔细审查恶意软件的主要签名商至关重要,但我们还必须指出为良性和恶意/恶意软件均签名的更严重。
图1.良性和恶意程序通用的签名者
恶意行动中的代码签名滥用
近年来,臭名昭着的代码签名滥用案例已被多次报道。
2010年,当发现针对WinCC监控和数据采集(SCADA)系统的StuxNet 使用来自Realtek Semiconductor Corp.的被盗数字签名来时,引起了媒体的极大关注。Realtek是台湾合法的微芯片全球制造商。当证书被撤销时,StuxNet开始使用另一家专注于微芯片设计的台湾公司JMicron Technology Corp.的签名。事后分析表明,网络犯罪分子攻陷这些组织窃取开发证书,包括用于签署可执行文件的私钥。
2014年,在索尼影业大规模黑客攻击事件之后,名为Destover恶意软件的样本被发现使用索尼的有效证书签署。据报道,该恶意软件被用于针对索尼的攻击,导致企业和个人数据泄露以及企业PC数据被破坏。
CopyKittens, Suckfly, Turla, Regin是其他众所周知的恶意系列,它们也成功使用签名证书进行恶意目的。
验证证书请求时出现的问题
我们观察到的一个普遍问题是,CA在不同程度上无法正确验证他们收到的证书请求。我们不知道这是否是自愿的,谁该为此负责。
虽然公钥基础设施(PKI)提供三类证书,其中两类(第2类和第3类)要求实际组织或业务申请证书的扩展验证过程。但我们遇到了颁发给追踪为用于恶意软件分发的网络犯罪组织的证书。
在我们的调查中,我们观察到涉及这一现象的一些主要CA是Comodo和Certum。在用这些CA颁发的证书签名的数千个二进制文件中,大约14%(Comodo)和12%(Certum)二进制文件是恶意的。在更广泛的恶意活动中,这些值高达36%。还有一些情况是Digicert,赛门铁克和Verisign证书被颁发给后来用于签署恶意软件的实体。
欺诈性证书的源头
欺诈性证书的两个最常见原因如下:
- 窃取证书:从感染恶意软件导致系统受到危害的合法组织中窃取证书。
- 伪造证书:CA向模拟合法组织的网络犯罪分子颁发证书。攻击者通常使用社会工程技术。
我们来看看实际观察到的一些情况。俄罗斯最大的金融经纪商之一成为网络犯罪分子为Razy ransomware勒索软件申请欺诈证书的目标。在我们联系该组织后,他们确认没有请求这样的证书。
图2.用于签署Razy勒索软件变体的欺诈性证书
在另一个案例中,攻击者模仿Oracle供应商获得两个证书,一个在2014年颁发为Oracle America,Inc.,另一个在2017年颁发为Oracle Industries。背后的网络犯罪分子签署了间谍软件、广告软件、其他PUP等恶意文件。这些二进制文件被隐藏为合法的Oracle应用程序,其中一个文件是以Java程序命名的。
图3. 隐藏为Java程序的恶意软件,使用Oracle America,Inc.的证书进行签名
我们还发现有恶意文件使用“邯郸市丛台区立康日用百货部门”的证书签名。但是,该证书已被撤销,可能是因为发行人已采取行动应对可能的数据泄露或盗窃行为。
图4. 用于恶意软件的已撤销证书的例子
分发签名的恶意软件的组织
还有一些组织拥有合法的产品,但进一步的检查揭示了一些不为人知的一面。这些组织处于PUP及其他垃圾软件(如广告软件)的灰色地带。在某种程度上,他们制作并商业化了合法软件,例如工具栏、下载器和压缩软件,但他们也将PUP嵌入到其“免费版”中。其软件通过适当CA颁发的证书进行数字签名。
一些例子:
- Mspspark Interactive Network——开发和销售娱乐和个人计算软件的公司
- 收件箱——提供免费通讯平台(如电子邮件)的供应商
- Auslogics——用于PC性能改进的供应商广告软件(如Booster)
图5. 成千上万由看似合法的组织签署的恶意文件
图6. 收件箱中不需要的工具栏
图7. Auslogics广告页面
地下市场出售的欺诈性证书
我们在地下市场中发现了广告,例如Deep Web中的论坛和市场出售伪造证书的广告。
图8.扩展验证(EV)证书在地下市场出售价格为1,600美元
图9. 出售标准及EV证书的广告
地下市场欺诈证书的广告表明,网络犯罪分子认为代码签名机制在恶意软件活动中非常有用。
总结
代码签名是防范恶意软件的一种非常有效的技术,但正如我们的研究所揭示的那样,它不是万无一失的,也可以被滥用。除了更新操作系统和实施网络安全解决方案之类的标准预防措施之外,用户和企业应仔细评估系统中安装的任何软件。
本文转自嘶吼
相关资讯: