46期报告汇总
安天发布《一种针对沙箱检测的逃逸技术分析》
近日,安天追影小组在产品样本分析测试中,发现了某一样本会出现异常崩溃的现象,而这种现象会导致追影威胁分析系统无法对其进行监测。通过逆向分析,追影小组发现这是因为该样本在调用OpenServiceA这个API的过程中,先自写了一部分汇编代码,然后再调用剩余的代码,导致了其在追影中执行时会发生异常,而在普通环境中却可以正常运行的情况。
追影威胁分析系统对样本的监测分析主要依赖于HOOK一些关键的API,而大多数API的前五个字节的作用是打开栈帧。经分析,该样本在调用OpenServiceA时,会先自写并执行API里的一部分汇编代码,然后直接跳转到API自写汇编代码的后面去执行,这样整个API所属代码都可以得到完整执行,也就不会发生执行错误,类似于代码分块执行。但是,当使用mhook库中的功能函数对API的前5个字节进行HOOK的时候,样本的执行流就会进入到HOOK的API的前五个字节的内部,执行结构就会被打乱,程序也会出现异常,导致提前退出。这种方法不仅仅影响OpenServiceA这一个API,如果攻击者精心构造,甚至可以使所有HOOK的API都可以受到影响。
针对以上情况,追影小组提出两种解决方法:
1.把HOOK点移到更底层:即将HOOK
ntdll里的一些API直接在RING0进行HOOK。
2.更改HOOK点的位置:即从API头部开始,向后移动几个字节后再选择在合适位置开始HOOK。
这两种方法都可以有效地解决该样本导致的不能正常HOOK的问题。
网络安全就是一场攻防博弈,随着沙箱技术越来越成熟,攻击者也开始注重在恶意软件里运用反沙箱技术来对抗检测。对此,追影威胁分析系统会持续提高对威胁的检出能力。目前,经过安天追影小组的研究,对于上述样本,追影威胁分析系统已经可以采取其他方式对其进行识别,从而达到检出效果。