基于未知恶意代码检测的APT防御

安全 黑客攻防
对于我们来说,那些肯定会打开,打开以后肯定会中招的邮件,我们该怎么去检测,特别是检测那种未知的恶意代码,作为安全从业者,我们有责任帮助用户尽快走出这个困境。

对于我们来说,那些肯定会打开,打开以后肯定会中招的邮件,我们该怎么去检测,特别是检测那种未知的恶意代码,作为安全从业者,我们有责任帮助用户尽快走出这个困境。

从技术层面来讲,APT攻击可能用到我们所有已知、好用的攻击技术。包括但不限于例如扫描、钓鱼、社会工程欺骗获技术取信息,利用暴力破解、嗅探、中间人攻击、缓冲区溢出、XSS、CSRF、拒绝服务、ARP欺骗等等。更大胆的猜测是,APT攻击更有可能跟真实的企业间谍配合。总之,APT攻击手法将无所不用其极。

由于APT的特性,需要从多层次角度来防御APT攻击。多层次需要从网络层、流量协议内容做检测,然后主题层从文件、日志、行为去做检测。我们更需要从多种恶意对象去做检测,基于深度内容检测的恶意文档中可能drop出恶意的exe文件,恶意exe可能又会产生cnc ip和通讯协议等,这样我们又可以在流量中检测那些恶意的元素,这样就能够在中招后放入安全设备后的情况下,依然有机会检测到该APT攻击。

在新的安全形势下,防御的目标、防御的对象、防御的理念都发证了变化。新一代的防御产品可能演化为多维度、多角度的一体化产品,也可能演变为多个纵深防御的独立产品。

一般的攻击事件中,例如IPS报告了攻击事件,但往往是告诉了该用户IP接收到了该类型的数据报文或者是文件,但是用户是否是真正中招没有办法获知。那么我们联合比如沙盒技术,分析出行为,分析出木马用到的网络协议以及cnc ip. 那么我们就能不仅告诉用户哪些用户或者是机器遭受了攻击,更能告诉用户中招了没有,以及它做了什么坏事,甚至还可以帮助用户自动清理受感染的机器。

大数据处理需要一个支点,这个点就是对事件/攻击准确定性的一个点。有了这个点,大数据处理就能依据这个做关联,做深度分析,更能做到在过去的流量中找出更多的蛛丝马迹

针对前面提到的我们对APT感知能力比较差的4个原因,我们分别给出解决方案。1、针对定向攻击,我们广布点,检测到的机会就越多;即使是单点,也要有很强的捕获能力。2、APT攻击会针对某些安全产品进行攻击,因为客户端软件往往可以被攻击者获得,而且容易逆向。应对的方法是做设备,提高攻击者的成本。3、APT利用文档攻击,那么我们就要有强有力的文档解析能力,这种能力对产品的性能提出了强烈的挑战。4、APT攻击包含零日和特马,所以我们必须要具备未知恶意代码检测能力,这是一个高对抗性的事,需要长期巨大投入。总之,应对感知能力差最为关键的就是要具备快速的未知恶意代码检测能力。

我们把未知恶意代码分为两类,一类是未知的木马、特马、病毒、后门、间谍软件等等,未知的意思就是说当前的主流软件查杀不到。第二类就是利用未知漏洞的恶意文档,也是零日。我们就是要想方设法检测这两类未知的代码。检测思路是:

1、从攻击手法上去检测,而非基于签名。为了得到控制权,有些攻击在手法上很难有较大的变动,例如堆栈缓冲区溢出漏洞,利用的技术无非几种。

2、从动态行为分析上去检测而非静态。动态行为分析不仅能告诉用户是不是恶意代码,更能告诉用户该恶意代码进行了哪些恶意操作,为用户的下一步应对提供重要有价值的参考。

3、从内容上检测,而非流量上。因为APT的恶意负载都在内容里面。

4、检测APT攻击更要使用智能启发,大数据分析。从全局角度把握APT攻击手法、特性的变迁,才可能在新一轮的猫和老鼠的游戏中胜出。

还有很重要的一点,要把快速鉴别未知恶意代码的能力交给用户。在APT时代,安全厂家独自作战变得非常困难,必须紧密联系用户。厂家需要用户设备的计算能力,用户需要安全厂家的应对分析能力,用户和安全厂家都是APT防御体系的重要一环。

对APT正面的防御就是在入口流量中去实时的检测恶意内容的负载,检测对象包括:文档、程序、URL、HTML、压缩包、邮件等等。我们第一个重要的思路是基于攻击手法的无签名算法。文档数据到代码过程的攻击手法识别,上面已经讲到过,例如堆栈缓冲区溢出漏洞,要让数据变成代码执行必须要有的一些手段是逃不脱的。恶意文档中的SHELLCODE也是避免不了的,所以给我们的检测提供了一些依据。 当然,APT攻击中往往嵌入EXE可执行文件,在我们捕获到的真实APT样本中,有一半以上的APT文档样本都带有各种加密/编码的恶意的可执行文件。有人可能会问,APT的攻击者为什么会在攻击样本中嵌一个exe文件,让我们有了这个检测的方法。其实原因比较简单,就是很多被攻击的网络是隔离的,只有嵌入文档中,才有机会被一同带入隔离的网络运行起来。

第二个思路是基于动态行为分析技术,所谓知己知彼,百战不殆。了解了程序的一举一动,是否恶意就比较好判断了。

利用已知可发现未知,我们做过测试,对于已有十几万个真实文档攻击样本,基于无签名算法我们的检测率为98%以上。我们部署了一系列的用户真实环境,利用已知的漏洞发现了未知木马和未知病毒攻击。例如6月8号,我们预警了利用PDF漏洞的奈特币木马来袭。该攻击利用了4个老的PDF漏洞,进行了变形,当前各大杀毒软件都查不出来奈特币木马。

在实际的环境中,我们利用基于攻击手法的无签名算法和基于动态行为的分析技术,成功发现了未知木马和未知病毒攻击。例如5月份,我们预警了新一波针对银行金融和运营商的攻击,我们在文档中检测到SHELLCODE的利用,里面用到的木马也是当前各大杀毒软件都查不出来的。

APT事件接连不断,攻击者已经遥遥领先于我们好几年了,防御方已经输在了起跑线上,我们还需要加倍努力。

责任编辑:蓝雨泪 来源: 51CTO.com
相关推荐

2012-11-21 14:41:00

2013-07-27 20:19:14

2011-08-09 11:45:45

2013-11-08 10:42:09

代码工具

2013-11-05 15:06:29

scdbg恶意代码分析安全工具

2017-03-27 15:46:14

2016-11-24 11:07:54

Andriod恶意代码

2014-10-29 14:43:05

2014-12-12 14:55:42

移动恶意代码移动安全

2015-08-26 10:32:18

2013-11-12 13:09:46

2011-08-09 11:51:37

2013-07-27 20:04:38

2014-07-03 14:13:51

2021-03-01 11:33:03

微软恶意代码恶意软件

2014-12-30 16:37:11

2021-11-17 10:40:33

网络安全恶意代码网络攻击

2019-05-27 11:13:07

2009-07-02 10:16:34

北京外国语大学恶意代码黑客

2021-06-15 09:10:41

漏洞网络安全程序员
点赞
收藏

51CTO技术栈公众号