有效测试APT防护:APT定义,处理异议,测试利用方法
http://p7.qhimg.com/t014eeb8f0b51a1baff.jpg概述:本文讲述我们所解决的一些关于APT保护软件以及设备的挑战。我们将从客观角度讲述了,什么是APT攻击,APT攻击是如何实现的,APT测试的现状以及发展等等一系列内容。并且我们在最后,将为那些正在试图采取措施或者受到APT攻击困惑的人们提供一些简单的指导。
1.摘要:
观望网络安全市场的人会注意到,号称能够对抗‘Advanced Persistent Threats’ (APTs)(高级持续性威胁)的保护性产品会迅速崛起。随着有针对性的攻击获得更多关注,安全产品开发者将更多的注意力放在了新的防御技术的实施上,这就需要测试针对新威胁时产品的功效。然而,与一般产品测试相比,APTs 向测试者发起了更多挑战。在这种情况下,我们问APT的保护性能否得以测试,如果能的话,是否具有实际操作性。
2.什么是APT?
虽然”APT”这个词如今已经应用普遍,但是还是没有针对它的具有普遍接受性的定义,这就极大地导致了测试时的问题。
在某种程度上,APT已经成为了今年的流行词,但供应商,评论者和用户根据不同的环境和目的使用这个词汇。这种定义上的困难只会增加混乱。
比如,TechTarget 定义如下:
“高级持续性威胁(APT)是一种由未经授权的人在很长时间不被发现的情况下获得网络访问权的网络攻击。”
根据这一定义,样本要想成为APT,必须做到不被发现。如果产品检测出威胁,那它就不是APT。
这就导致了必然结果是测试APT的唯一有效结果是什么都发现不到(除非检测样本不是APT)。
尽管这一定义因此而显着地简化了APT的普遍性测试,但这也使APT测试成为了一个非常简单(不存在)的任务,因此我们需要寻找一个更为实际的定义。下面是一些其它的相当有趣的定义:
维基百科:
APT是一系列隐身和持续的电脑攻击过程,经常被人为策划为针对某一实体。APT通常针对出于经济或政治动机的组织或国家。APT过程需要长时间的高度隐蔽性。
NSS实验室:
NSS实验室对有针对性的攻击采用另一个字母缩写,指的是Targeted Persistent Attack (TPA)(有针对性的持续攻击)。
针对性:攻击者出于某一具体原因选择该机构。
持久性:这种攻击能够使用多个命令控制渠道和攻击向量,不断增加它在你IT系统和资源里的渗透力。它也是顽固的,反抗整治举动。
攻击性:尽管“威胁”这个词汇在用于APT的内容里时有些模糊,但在这里没什么是不清楚的。这是一次真正的攻击,它可能有几个不同的阶段。
Gartner:
高级威胁:任何能够通过你现有的防御的攻击。
持续威胁:任何成功不被发现并且持续造成破坏的攻击。
高级持续威胁:任何能够通过现有防御,不被发现并持续造成破坏的攻击。
这些定义的问题在于,一旦再次使用,它们就被定义为APT的核心。这些定义是的APT防御和测试没有用处。其他的定义集中在其他方面:
RSA:
“一个高级持续威胁是针对高价值资产或物理系统的有目标性的攻击”。虽然这是一个可以容易地确定攻击是否属于这一类的有用定义,但它不能解释APT中“高级”和“持续性”属性的意义。
Damaballa:
“‘Advanced Persistent Threats (APTs)(高级持续威胁)属于针对经济和政治目标的网络犯罪范畴。为了成功APT需要在延长的操作时间里具有高度的隐蔽性。
高级性--在这些威胁背后的犯罪者利用计算机入侵技术的全谱和···
持久性--犯罪者会优先处理具体的任务,而不是投机取巧立即寻求经济增益。
威胁--意味着在攻击中有协调性的人为参与,而不是一段盲目的自动化代码···
我们试图在抽象的层面上定义APT时做出了很多定义,但是很少能够帮助测试者归类测试场景。在这一点上我们最好的选择就是改变范围,沿着RSA定义线路得到一个更好的界定和更实用的针对有目标性的攻击做出的定义。
“APT”和“有针对性的攻击”经常同义地用于新闻界和APT供应商中,因此坚持在测试方案中更容易地定义“有针对性的攻击”是有意义的。
为了测试的实用性目的,我们定义针对性攻击如下:
有针对性的攻击是指针对有限的预先选定的高价值资产或物理系统并且有明确的数据泄露或损害的目的的感染方案。
3.APT攻击是什么情形?
对一个有针对性的运作流程进行说明,我们以当前流行的微软Word漏洞进行讲解。
① 网络钓鱼邮件:该恶意软件是被放在邮件中传播的。
② 利用文件:电子邮件附件是一个.doc的文件,攻击者可以利用微软办公软件的漏洞进行攻击。由Microsoft Word Intruder 生成工具包。一旦打开文件,就会触发其中一个漏洞(具体取决于系统补丁状态),并且需要嵌入在文档中的’shellcode’得到执行。
③ Shellcode:尽管(CVE-2012-0158, CVE-2013-3906 and CVE-2014-1761) 其中任何一个漏洞,都有一个开发版块,以及一个单独的shellcode.但是,它们都会有同样的流程(见图一)。
http://p8.qhimg.com/t014e02ab9520d663b7.png
图1:多个漏洞存在于同一个文档中。
http://p0.qhimg.com/t01361bab8a631a06f5.png
http://p0.qhimg.com/t01361bab8a631a06f5.png
图2:主木马下载。
http://p9.qhimg.com/t01f7fcd96143746949.png
图3:C&C的接收与反馈。
http://p1.qhimg.com/t01082665572b5371de.png
图4:溢出凭证
http://p5.qhimg.com/t01065755336b558efb.png
图5:不同的安全模块可以在若干点上阻塞方案。
http://p5.qhimg.com/t01065755336b558efb.png
图6:忽略多个防御层,使一个不完整的测试面临风险。
4.对APT测试的异议
反APT产品的供应商也许有很多反对测试者评估他们的理由。在新闻界有的公开声明批判这些测试,而之前在本文中我们分析了一些APT的解释,其中明确表示供应商、分析师和其他人对于什么是真正的APT各抒已见。
如果测试人员和供应商不能在产品用途上达成一致,那么这会给测试带来主要障碍。以下是一些供应商可能会反对测试人员评估产品的原因:
?一般情况,会情不自禁的对安全测试/测试人员产生怀疑或是不信任。
?APT检测/保护市场还未成熟,而且当前对测试结果非常敏感。
?在提供有用结果的方面,测试是有一定的局限性的。因为他们并不是基于真实情况中发生的事件。
?声称产品是不可测试的,因为一个现实的测试要求:
--对警报作出反应的防卫
--未知的恶意软件/攻击
--恶意软件/漏洞总是会绕过其他防御技术
5.不断前进、发展
基于本文上述讨论,有一点需要我们明确的是,这是一个连续的、可行性的攻击,这点符合了一些人关于什么是APT的定义。因此,测试结果在这方面会必不可少的有所展现,正如我们所说的,攻击者的技能会从战斗力五渣进化到大杀器爆表。
想要发展与提升,我们需要明白的是:
明确APT测试的内容
明确攻击威胁是微不足道,还是极度危险,亦或是其他。
明确这是否是一层或是一套的测试
任何APT测试必须渗透在检测
6.总结
APT测试非常复杂,我们并不需要考虑APT无法进行术语定义的现状。此外,在真实场景中,当攻击削弱的时候APT攻击者不会盲目的认输,攻击者们会不断地探寻挖掘,直到弱点被发现。考虑到攻击者与防御者会共同进化、升级,这方面是最为明显的。攻击者在找寻攻击目标时是有针对性的,他们会尽快的适应防御并采取行动。能够阻止第一波APT攻击,不代表攻击事件的结束,这对我们来说还远远不够。相反,我们的保护机制必须能够承受一波又一波的攻击。
我们认为,最重要的是,我们应该向不断进步的测试者致敬,并且测试用户需要清楚的知道,测试的目的是什么,以及测试可以解决哪些方面的问题。这个问题同样也可以帮助到攻击测试人员以及受到攻击的人。
本文仅代表作者个人观点,与AMTSO以及他们当前的老板无关。
因篇幅问题,想了解APT的详细内容还请阅读PDF,下载地址:https://yunpan.cn/cxPARQsefC9nf (提取码:f7d2)
666,荣誉会员。
666:荣誉会员 666,荣誉会员。
页:
[1]