CIA涉密文档披露之杀毒软件绕过技术

华盟原创文章投稿奖励计划

1

2017年3月8日,维基揭秘网站曝光了美国中央情报局网络情报中心的8761份文件,其中涉密文件达156份,涵盖中央情报黑客部队攻击手法、目标、工具及代码等内容,引发全球关注。本文将为您解读文件中涉及的杀毒软件绕过技术。

传统的木马“免杀”技术主要针对杀毒软件的静态扫描进行对抗,通常采用加壳、敏感字段加密、动态函数获取、虚拟机检测等方式绕过杀毒软件,实现窃取信息的目的。而从此次维基揭秘网站披露的相关资料中,可以看到美国中央情报局在网络攻击中和杀毒软件的对抗。本文以本次涉密资料中杀毒软件相关的文档为原型,看看中央情报局是如何进行杀毒软件对抗的。

 ◆ ◆杀毒软件安全套件对动态链接库注入的抗性检测

通常,恶意程序侵入电脑之后,为了隐藏其痕迹,动态链接库(dll)注入成为主流恶意程序的标配功能,因此杀毒软件对于dll注入的防御情况成为攻击者首要关注点,如下所示,可以看到中央情报局对于主流的一些杀毒软件dll注入方面的相关统计。

1. 卡巴斯基

针对dll注入的行为,当卡巴斯基(Kaspersky)运行在system权限时会对wininit.exe、csrss.exe和lsass.exe这3个系统进程进行保护,不保护svchost.exe进程和用户进程。但是,卡巴斯基的沙盒会对某些注入行为进行记录,因此建议攻击前最好关闭该沙盒。

2. AVG杀毒软件

针对dll注入的行为,AVG杀毒软件会保护explorer.exe进程,通过沙盒检测相关的注入行为,但是当加载的样本存在大内存分配时(如恶意程序直接分配100MB的内存空间时),该沙盒会失效。

3. 比特梵德

针对dll注入的行为,比特梵德(Bitdefender)会保护explorer.exe进程。

4. 瑞星

针对dll注入的行为,瑞星(Rising)会对explorer.exe的注入行为进行标记。

针对上述杀毒软件的注入行为,中央情报局内部实现的绕过策略主要为以下3种方式。

一是通过以创建的一个非挂起的隐藏窗口进程为目标进行注入。

二是通过以创建的一个notepad.exe或cmd.exe的挂起进程为目标来进行注入。

三是通过以创建的一个杀毒软件本身的程序的挂起进程为目标来进行注入(AVG、比特梵德和瑞星皆可以)。

 ◆ ◆启发式扫描

启发式扫描是一种恶意程序检测技术,通过分析程序的结构和行为来发现恶意程序,不依赖传统的签名库。针对杀毒软件的启发式扫描,中央情报局的绕过策略如下。

1. AVG杀毒软件

对于AVG的启发式扫描,可以通过将木马名修改为setup.exe来绕过,该扫描会过滤掉此类exe文件。

2. 比特梵德

通过将资源的类型由RC_DATA修改为BITMAP,可以绕过比特梵德对资源的启发式扫描。

2

 ◆ ◆熵检测

熵检测是通过计算文件熵值来判断该文件是否有恶意倾向,如一个文件加密压缩前后的熵值就有很大的差异。很多杀毒软件引入了熵检测。中央情报局内部针对小红伞(Avira)和F-Secure这两款杀毒软件熵检测的绕过手段如下。

1. 小红伞

小红伞的熵检测是对加密和压缩的文件进行检测,通过计算出的熵值来确定被检测文件是否合法(熵为5%或更高)。针对小红伞的熵检测,中央情报局提出可以通过往二进制文件尾添加几个bit的以rar为开头的字符以实现绕过。

2. F-Secure

F-secure也是通过计算熵值对加密和压缩的文件进行检测。CIA通过拷贝一个rar自解压的清单文件到恶意程序中,就可以实现对应的绕过。

 ◆ ◆特定杀毒软件

除了以上通用的绕过杀毒软件技术之外,以下为中央情报局针对特定杀毒软件的绕过方式。

1. AVG payload投放检测绕过机制

通过DriftingShadows投放的GravityTurn在运行之后会被AVG检测到(DriftingShadows和GravityTurn为中央情报局内部使用的投放工具和对应模块)。

中央情报局相应的手段是通过进程掏空的方式对投放的GravityTurn进行启动。进程掏空即通过CREATE_SUSPENDED的方式以CreateProcess的方式创建进程,此时进程会挂起,通过NtUnmapViewOfSection、VirtualAllocEx、WriteProcessMemory模块往该挂起线程中写入恶意代码,之后使用GetThreadContext和SetThreadContext模块修改入口点,最后调用ResumeThread模块恢复进程运行,此时看着像是正常的合法进程,但是其实际执行的代码为写入的恶意代码。

2. Comodo反病毒软件拖放行为检测绕过机制

美国反病毒软件Comodo6.x的监控过程会对程序运行时的包类文件(io)进行监控,因此任何文件的拖放(drop)行为都会被监控。但是,该扫描引擎会忽略回收站,因此回收站会成为一个好的drop目录。

Comodo6.x的引擎认为任何System权限的程序都是合法的。

3. 瑞星认证程序绕过机制

瑞星通过校验证书来实现对程序的认证,但是这种行为是基于网络认证的,在断网的情况下,瑞星会默认信任自签名的软件,仅仅通过Windows SDK自带的signtool进行检测。中央情报局则针对这一特性实施绕过机制。

3

 ◆ ◆防护建议

综上,中央情报局对杀毒软件的绕过,大部分的方式都是通过杀毒软件设计时的部分缺陷来实现(可以认为是漏洞),一些新的扫描方式和检测手法会存在一些策略性的安全问题,从而导致恶意程序的漏检。

同样,也可以看到一些杀毒软件的短板,如针对进程的保护,由于性能的需求,通常的手法是保护重要的进程,又如沙箱对于大内存分配的样本无法运行的问题。

通过这些相关的漏洞,中央情报局的网络攻击人员能保证进入一台机器后,投递的恶意程序从启动到主要功能运行时不会被杀毒软件检测到。

文章来源:保密科学技术

本文由Chuck投稿,不代表华盟网立场。如需转载,请注明出处:https://www.77169.net/html/157764.html

发表评论