我们可以看看从2001年到2005年期间,几个比较典型的恶意代码,包括:CodeRedII、冲击波、震荡波等这些具有快速传播能力的恶意代码。无论当时这些恶意代码把安全厂商和安全响应组织打得多么措手不及,但这些安全团队对它的感知时间都没有超过24 小时。从另一方面来讲,当时的反病毒/反入侵对抗主要依赖的机制是一种捕获、辨识、分析、提取签名、发布规则库/病毒库。由于感知时间不超过24个小时,这种机制在蠕虫时代和病毒时代一直工作的很好。
2010前后进入APT时代,有三个非常典型的APT事件:Stuxnet、Duqu和Flame。从释放时间和发现时间我们可以看到,Stuxnet是在2010年7月被发现的,根据其对应的时间戳信息,我们认为它的释放时间是在2009年6月。Duqu是在2011年8月被发现的,目前认为它的释放时间是在2007年底或在2008年初。Flame则更晚,它在2012年5月才被发现,但从其相关的注册域名来看,其体系在2007年底就已经开始了早期的活动。
从上面的时间对比中,我们可以看出令整个安全业界感到非常尴尬的一点,就是这些APT攻击至少存在了几乎一年之久(火焰几乎长达5年)才被业内广泛感知和进行相应处理。而更让安全业界感到尴尬的是,Flame是在用户提交样本的配合下,才最终被发现的。
从上面对比我们可以看出,在APT时代,安全厂商已经由“24小时”敏锐感知能力退化到了以“月“甚至以“年”为单位的迟钝感知能力。
在APT时代,基于事后签名机制的传统产品,如IPS、IDS、杀毒软件等产品受到极大的挑战,由于感知能力比较差,感知时间比较长,面对APT攻击时,这种事后签名机制几乎失效。
我们来分析下,是什么原因导致我们APT感知能力比较差呢?APT时代,整个恶意代码的分布不再与信息化程度相关,而是和它的初始投放目标和地理位置有关。第一个原因就是定向攻击。APT攻击是高级持续的威胁这三个词的缩写,在我们看来更是高级持续的定向攻击。第二个原因是针对某些安全产品进行攻击。在韩国320事件中,韩国的银行和电视台多安装了本土的杀毒软件安博士,然而在本次事件中,安博士不但没有起到杀毒的作用,反而在攻击中被杀掉了。今年5月份发生的美国劳工部网站被黑事件,攻击代码中的一段代码就是针对Bitdefender杀毒软件,导致Bitdefender不但没有查到攻击,相反在这次的攻击中被关闭了。
从这两个事件可以看出,APT攻击的针对性非常强,攻击者对对方的信息了解的非常多,包括操作系统、使用的软件(安全软件、邮件账号、微博账号等等),所以在APT事件中,杀毒软件/传统防御产品件往往是第一个失效的。
第三个原因,利用文档发起攻击。因为传统的IDS/IPS、AV对文档解析能力弱,另外,文档可能涉及到隐私和秘密,用户对提交该类文件有疑虑,导致该类危害不能及时反馈到安全厂家手上。第四个原因,APT攻击中往往包含有零日攻击和特马(专门逃避传统安全产品查杀的木马)。