作者:nEINEI、vxjump
原文链接:http://www.vxjump.net/files/aptr/aptr.txt
APT(Advanced Persistent Threat)是当下网络安全防御面临最大的高级威胁之一。目前最被认可是多层立体的防护解决方案,继而人们又提出共享威胁情报等方式[1]。 这些方法倡导集中现有资源互联互通,增加攻击者成本的方式来整体对抗高级威胁。总之,这些是从应对问题的层面提出的防御方法。
本文将从挖掘APT本质的角度出发,归纳推理出一系列关于高级威胁的特性并以此做为安全研究,防御体系设计的指导原则。同时对攻击能力进行量化研究,形成有序数据,这将对预测APT的发生,了解防御能力的有效性方面给出扎实的实践基础。例如,从技术角度看火焰病毒Flame和造成乌克兰大面积断电的BlackEnergy哪一个攻击性更强?如何证明给客户看防御总是有效果的?攻击者在未来可能出现的技术走向等等难以明晰但迫切需要解决的问题。
首先,必须明确APT问题是人为定义的价值判断而不是事实判断。
捕获到攻击者利用的0Day漏洞算是APT吗?抓到特种木马算是APT吗?通过威胁情报“感知并跟踪”到敏感事件算不算是APT?诸如此类的混乱不清的根源就是价值判断缺失。这里的价值判断是说这个事物是否具有我们要求的某个客体的价值。APT的问题如果不拿到特定的语境中去讨论,其结果只能是陷入“到处都是APT”的混乱当中[2]。这里的特定语境就是人为认定的价值判断条件组合起来的语境。缺失,就是却少对这些条件的设定及约束,仅从简单事实开始,以此来推断事件可归类到APT当中的结论。
有能力的安全厂商可以自己去定义哪些情况下是APT事件,它已经越过了简单事实判断的阶段。这一点好转是从2014年开始的[3]。一些严肃的安全厂商在不能完全确信是APT的情况下开始使用Threat Actor或是Target Attack来代替。因为作为一次被发现的攻击行动,ThreatActor是个适合的称谓,这避免了关于能不能算得上是高级威胁的似是而非的判断,但本质是什么的问题就又像踢皮球一样回到了我们的面前。
很多这方面的技术人员觉得什么是APT根本是个不需要讨论的问题,因为大家理解我们网络空间所发生的APT指的是什么样的事情。
但实际上,关于这个问题,我们从来都没有得到一个严肃的缺少争议的概念上的认同[4],进而也得不到一个认清本质的机会。
为了使我们的问题清晰且可被描述我遵循以下原则的设想:
此时,你已经知道我所说的的APT是指什么样的安全事件了。
但在谈论到APT时,大众和技术人员仍然存在一种模糊的认识,似乎高级的漏洞利用技巧,强大的系统底层编程技术,领先的攻击思路运用,并被掌握在某些“神秘色彩”的组织手中的应用算得上是APT。如果有能力追踪并公布出这样的APT组织,那就是高人一筹的了。而对APT的防御则认为就是一种综合的体系对抗。这其实是过于乐观的估计了这一问题,无助于认清本质。其实不需要去解释什么是Advanced ,什么是Persistent,Threat,这就如同拿“字典”去查成语一样白费功夫。事实上,APT早已不是它所定义时的初始含义[5]。但我们必须要将此问题彻底透彻的解决,否则就不可能认识到我们所面临的真正问题。
在解决真正的本质问题前,我们有必要回顾一下业界的解决方案。
在防御APT的问题当中,FireEye是一个贡献很大,值得尊敬的企业。他们发现了很多APT攻击事件,他们强调0Day漏洞的捕获能力在APT产品防御中的重要性。这一思想引领了众多安全企业的产品开发思路,基于虚拟机的自动化行为分析系统随即成为行业的热点。 在2013到2015年全球出现40个ITW 0Day[6]攻击事件,FireEye发现了其中的25个ITW 0Day,遥遥领先其它巨头安全厂商。虽然25个0Day并不等于25个APT事件,但其影响远不是25个APT事件所能概括的。例如在2013年2月,作为最早发现CVE-2013-0640/0641的FireEye并没有确定及谈到与此漏洞有关的任何APT相关事件,但在其后2个月左右被发现该漏洞可能被MiniDuke APT组织所改进利用,同年4月份在中国台湾省地区也同样发现了利用CVE-2013-0640的APT样本。当非常多的ITW 0Day出现后,很自然的让人们相信解决0Day漏洞才是APT问题的第一要素。
紧接着windows8.1sp3发布,而后win10的安全特性持续改进,ITW 0Day的利用也出现减少的趋势。(对攻击者来说这需要一个适应窗口期去解决类似绕过MemGC,CFG,ACG,EPM等安全机制的问题,所以在2014,2015年风向转为攻击相对安全性较弱的AdobeReader/flash/office而不是去对抗IE11,Edge。)但实际上,被挖掘出来的新增APT事件却持续增多[7]。所以,0Day漏洞和APT问题并无直接强关联性,这是第一个层面。第二个层面0Day利用是和攻击者策略存在一定的关系。不可否认利用热点政治事件成为APT攻击中的一个策略[8],可以利用这样的事件做进一步钓鱼攻击。显然对攻击者来讲,何时使用0Day是策略问题,而非其唯一手段。因此0Day漏洞在APT问题中受限于2个层面,系统安全性层面,策略层面,前者越来越难于攻破[9],后者具有一定的不确定性,所以0Day漏洞的使用只是APT问题的突出表象之一,不具备用来定性APT问题的基础。当然,FireEye也意识到这个情况,从他收购Mandiant(2014年),iSHIGHT Partners(2016)时就开始更新了它的防御观念了。
另外的解决方案中以卡巴斯基,赛门铁克,McAfee,TrendMicro为代表的安全厂商发现了大量的APT事件[10]。这代表了以积累深厚安全检测经验为主要能力的厂商如何挖掘APT事件的技术方向。以卡巴斯基为例,强大引擎保证可以挖掘潜在高价值样本,合理的病毒命名体系保证了样本关联的一致性[11],使得其对样本关联挖掘,线索追踪方面具有得天独厚的优势。简单说,一条高质量的启发式特征可以扫描出潜在关联性样本。当利用启发式规则命名一个病毒样本后,更新这条规则后分布在全球的产品将立即告诉你还有哪些地区存在类似的感染情况。例如ProjectSauron APT(发现于2016)[12] ,我编写出针对导入表加节信息的启发式规则,对感染x86平台样本提取一个启发式规则(2009年的样本),同样也可以检测出x64平台下的ProjectSauron(2012年的样本)[13]。卡巴斯基使用反病毒模拟器技术检测该APT样本具有同样的效果,病毒名字是:HEUR:Trojan.Multi.Remsec.gen 。
传统厂商的优势是可以集中一流的研究人员去挖掘丰富的有效威胁资源,这是在近几年window ITW 0Day漏洞减少的情况下仍然保持一定速率曝光APT组织的原因之一。但偶然性和滞后性的问题也难以克服。震网Stuxnet被发现不是因为AV/IDS/IPS/FW等设备报警,而是在客户机器上的不断的BSOD引起了VBA32研究员的注意,至此才引发多个厂商的接力分析。同时,样本信息的缺失也将导致错过重要的APT事件,例如我分析Duqu遇到的问题[14]。目前,事后的分析能力和实时的报警能力是传统厂商最倚重的基础,即样本是APT事件的主要的推动力。2013年以前,绝大多数厂商奉行独特的高水平样本是APT的主要性质,目前开始接受低技术水平的样本也能体现出APT,例如Patchwork APT(发现2016) [15]。因此恶意样本所体现出的技术性是APT所浮现出来的外在表象之一,但不是本质属性。对我们来讲,不能认为高度定制化的恶意程序代表了APT。但挖掘这类利用工具及其相关性是挖掘APT问题的一个重要方面,即关于恶意样本具有高级威胁导向性的研究。
以CrowdStrike为代表的一类新兴安全公司,体现了贯彻Kill Chain的防御思路,但技术方面并不是它的主要特点。从一开始CrowdStrike就对地缘政治问题,经济活动,热点事件给予足够的关心。在命名EMISSARY PANDA APT(发现于2013)[16]时,技术圈开始还是略带嘲讽的态度看待,同Mandiant的APT1报告中详尽的技术细节相比,CrowdStrike的报告突出的是事件以及自身情报系统的作用。这一点在其之后的2014/2015年度安全报告中有了更具体的体现,也就说漏洞,样本都是处于从属地位的,事件背后的含义才是定性APT的关键因素。0Day或是N-day,高质量或是低质量的样本都不重要,发现这样的事件才是重要的,一切防御都围绕在这一个框架下进行。
这似乎比前2种情况有了更深一步的思考。但显然,对任何一个组织来说,事件的确认上是存在很大的差异的。受攻击者信息是否搜集完整,逆向分析程度是否足够深入,关联性是否可信,直接证据,间接证据是否充足,事件所持立场因素都会影响最后的结论判断。例如Gauss APT(发现于2012)[17]的发现,重要在于对Stuxnet,Duqu,Flame对持续跟踪,经过关联研究发现了Gauss APT,如果没有前面的研究,即便漏洞,样本都放在分析人员面前也未必可以完全确认是否属于高级威胁,而Gauss被发现前隐藏的很好,没有产生“任何事件”。因此,事件是活跃APT的表象之一,未活跃的是我们看不见的但仍然存在威胁。
总体上讲,这就是目前阶段针对APT防御的三种主要思考方式,另外还有从流量异常角度,云端虚拟机分析,大数据分析角度,情报分析角度,态势感知等角度的思考方法。但就目前的防御措施来看,以上的这些情况归纳起来就是对APT存在的各种表象问题进行识别的方法。
很多人会说“即便这些都是表象,但也代表了APT问题的事实,也是有意义的”。这样的判断并不完全错误,但如果忽略影响表象的内在动因的分析,将犯就事论事的错误。让我们先设想 一个熟悉的攻击场景,攻击者要完成下面7个步骤,
APT组织考虑到目标人物的安全意识很强,因此针对2,5,6点开发了最新的技术来绕过所有的已知的安全防护措施,整个任务实施时间约半年时间。这是你听到的最多的关于APT的故事,原型也是一个真实的APT案例[18]。
下面我们把APT组织从描述中抹去。替换为分布在互联网上擅长不同领域的程序开发人员,仅通过论坛交流技术,相互间并不十分熟识。他们共同认识的X某人组合了这人开发的技术要素,完成了上面7个步骤,成功的入侵了该企业核心人员的计算机。那么请问,这是否认属于APT呢? 似乎有些不容易回答。
我们再把文中提到的核心人员替换为实习人员。此时,我们已经很难肯定这和APT有什么关系了。虽然这一事件包括了一系列的外在表象,0Day漏洞,定制化样本,攻击事件的产生。但无具体目的的一群人攻击了毫无关系的一个人,把这样的事情和APT联系起来总是牵强。但是,这样的事情在网络空间里面层出不穷,显然失去了组织方与攻击的目标后再去谈论APT问题是缺乏理解的表现。把这样的设想当作例子虽然不够严谨,但实际情况是,我们总能看到这样缺少攻击目的不完整的话题被讨论来讨论去。混乱的原因就是表象的争论并不能代表其理解了本质进而做出合理的判断。
下面彻底来审视一下我们的问题。高级威胁的本质是什么,换句话说代表高级威胁的APT它的本质是什么。不妨将APT本质想象成一个黑盒子,它外在的表象是0Day漏洞,定制化样本,上游投毒,感染固件,网络攻击事件,信息窃取,断电攻击...等等层出不穷的事件表象。
+-----+---\ { 0Day 漏洞 }
| |--------> 表象 { 定制化样本 }
| APT本质 |--------> { 层出不穷的事件 }
| | ... { ... }
+---------/
显然,这个本质里面要能演化出如此多的表象需要包括: {人,组织,目标, 决策,操作步骤,方法,浏览器研究/内核安全/邮件安全/移动安全/IoT研究,网络研究/固件/安全设备逆向,具体代码编写,模块测试,...}
且需要有强有力的组织的去调度协调这一系列步骤流程。
但归纳总结起来就只有两点:
1. 人,组织,目的,决策,操作步骤,方法,抽象起来就是攻击者意向的存在 。
2. 后面这些都是具体资源的合集,抽象起来就是攻击素材的存在。
只要攻击者意向存在,即便是潭死水也可以不断地创造出不同的表象来进攻网络空间。同时攻击素材越多攻击能力就会越强大,例如由Shadow Broker曝光的Equation APT组织用到的攻击模块数量,质量上远高于其它系列的APT组织[19]。其攻击能力明显处于金字塔尖上。
让我们再进一步思考,是否有必要强调APT攻击意向及APT素材的特殊性?其实这是区别于非APT攻击的一个最重要性质。没有APT攻击者意向就是缺乏明确的目的,没有攻击素材的特殊性(充足的“网络军火库弹药”)就不能达成APT的目的,二者缺一不可。再扩展一下,普通攻击其实也包括攻击意向和攻击素材。但这里的“个人的攻击意向”要远远弱于APT攻击意向,APT攻击意向是由强大的组织来决定的,且不以个人意志为转移,这是APT攻击具有长期性的一个体现。另外普通攻击素材也是良莠不齐,取决于攻击者群体及个人的知识技能储备情况。
至此,我们已经可以明确APT和普通攻击并无本质区别,都是由攻击意向和攻击素材决定的,APT是普通攻击的加强演化版本。所以就防御思想而言,并不存在一个我们苦苦追求,却仍然没有被发现的超一流APT检测方案存在。 我们丰富现有的资源,侦测更多的APT表象是最踏实的做法。
从对抗角度看,这种攻击者的APT意向是我们当前无法主动消除的,也就是说对方什么时候出拳不由我们决定,因此,防御的滞后性是先天决定的,它不是技术层面可以解决的,但APT意向可以被引导弱化或是加强。有人喜欢讨论杀毒软件特征码技术具有滞后性,因此认为动态行为分析,或者引入人工智能是解决APT的最佳方案,这也是看不到这个层面的问题所导致的片面认识。但应当指出,开发强大的防御体系具有威慑效果,它会使APT攻击者在决策时陷入困难并可能选择防御较弱的目标作为优先被攻击对象。
另外APT素材具有相当复杂的多样性,这是由防御者能力来激发的。被攻击目标的难易程度,攻击策略的选择都将导致APT素材的不断变化。需要仔细研究的案例就是BlackEnergy APT(2015被发现)[21],这起APT事件的幕后操纵者Sandworm团队技术能力出众[22],但整个攻击过程没有使用一个0Day漏洞(面对如此复杂的电力系统攻击场景,仅使用带宏的xls文档就撕开来一个进攻的口子。相比较Stuxnet v1.2携带6个漏洞5个0Day[23]的气势汹汹,势在必得而言,Sandworm Team这次攻击显得如此的闲庭信步,够用且不浪费,如此精准的控制细思极恐)可以肯定,前期准备的素材一定是非常多的。APT素材只会越来越多,也会继续出现在我们常规观念不易察觉的地方,不同类型厂商之间的协作分析越来越有必要。
现在,我们可以明晰APT这一高级威胁方面的术语所包含的真正进一步含义,即攻击组织在APT素材的协助下由意向转变为目的意图的过程就是APT事件,这个事件的发生过程是具有持续性的。
前面我们从定性的角度讨论的APT的本质,为了便于更细致的讨论,我将从定量的角度分析APT本质和攻击意向,攻击素材的关系。
攻击意向记作集合E E = {e | 元素e具有攻击意向属性} ---- 2.1
攻击素材记作集合M M = {m| 元素m具有攻击素材属性 } ----2.2
E和M一起确定了APT系统,记作A, A =
E = {e | e1 , e2 , e3 .... en} // e1~ n 代表了不同目标的攻击意向,针对电力的/能源的/金融的/政府的/制造政治事件...
M = {m | m1 , m2 , m3 ... mn} // m1 ~ n 代表了不同的攻击素材,针对浏览器/系统内核/移动/IoT研究/固件/代码逆向/代码开发 ....
APT所产生的表象记作集合
P = {p | 元素p是具有某种APT表象的属性} ----2.5
激活函数记作集合 F = {f | 元素f是具有触发具体APT事件的动力因素属性} ----2.6 例如,f1 = 政治事件,f2 = 经贸活动 ,f3 = 军事行动, f4 = 外交变化 ,f5 = 长期潜伏,f6 = 紧急行动,f7 = 经济利益 ...
同样,表象p和攻击意向e,攻击素材m在激活函数的f的作用下有如关系 p = f(e,m) ----2.7 1)在激活函数促进下攻击素材m可以转换产生为m‘,m’是m的扩展应用 ,m' ∈ M, 记作 m => m' ----2.4 2)在激活函数的促进下攻击意向e可以转换产生为e‘,e’是e的增强或是减弱 ,e' ∈ E, 记作 e => e' ----2.3
因此,表象P是APT本质集合的一个活动投影 A => a' ----2.8 // A的活动产生a' a' ∈ P ----2.9 // a'属于表象P集合
对比Stuxnet震网事件,2006年伊朗宣布恢复纳坦滋试验厂铀浓缩活动这一事件,对攻击者而言,起到了激活函数F的作用,进而由攻击意向e转化为e'(e'是e的加强,决定使用网络 武器攻击的意图)和攻击素材m(ORNL部门开始着手研究破坏离心机项目)的组合下由激活函数F产生了表象p 即{离心机被破坏,使用了5个0Day漏洞,攻击工控设备的样本...}。
在分析出APT本质后,我们可以看到,最终影响表象P的因素是:
激活函数F这一动力因素具有两个方面影响,一方面影响内部因素e,m,使其转化为e‘,m’(加强或减弱攻击意向,增加攻击素材),一方面激活f(e‘,m’)产生外部表象p。从防御角度看,激活函数这一因素最复杂,因为我们无法简单根据一个政策,事件,经济活动,外交变化,所持立场等角度判断出F是否对本质A产生确切的影响。这需要对F激活函数有具体的深入研究才能得出相应的一些推断。不妨简化一下这个问题,假设e,m是可以被得知且明确认定情况下,F产生了一个激活函数,例如 f = 外交变化,那么攻击者此时最想做的是什呢?站在攻击者对立场可以设想一下,具体哪些电力系统,航空系统,政府部门是否会受到攻击,潜伏的APT是否会因此被激活?可否做到提前预警?需要采取哪些措施?等等问题都是值得我们深入思考的事情。
从理论上讲,攻击意向E不可能被消除,但我们可以利用激活函数F产生一些伪造的动力因素f’,使得e => e' ;e'是弱化的e,使得其它激活函数不能激发f(e‘,m),这样可以暂时避免或减少目标系统遭受APT攻击的可能性。当下,尚未对激活函数有具体的研究结论时,这样的操作有相当大的难度,但在理论上存在这样的可能。
这里需要说明一下,为什么是攻击意向,而不是意图或是意志呢? 因为意图或意志是明确的具有不可转变的含义。意向的不断增强会转化为明确的意图或持续的坚强的意志。意向的减弱会转变为新的意图。换句话说,攻击意图或是意志是意向的最终表象,是我们进行APT事件分析、样本分析后,所最终肯定的那部分内容。但最本质的部分是攻击者的意向的存在,在攻击素材的配合下,所转化为确定的攻击意图和得手后所呈现的最后结果。
同样,攻击素材M也不可能被消除,M只会变的越来越多。M演化的速度与整体网络环境及目标系统的防御难度成正比关系。即网络环境越复杂,目标系统入侵难度越大,那么攻击素材M就会越多。显然,攻击者的强大优势体现在攻击素材的存量远远高于防御者掌握的表象即 M >>> P .也就是安全研究者提出的“上帝视角攻击”,可以对比看一下方程式/CIA被曝光的攻击包就是这个含义[24]。对此,我们可以伪造一些终端主机/服务器,并暴漏一些安全问题,诱使攻击者选择已有的攻击素材M,消减攻击者对目标系统更新攻击素材M的速度。
综上,从整体上来看各国之间网络战的条件已然形成[25]。因此,APT集合会不断产生表象P,我们未来面对的APT攻击只会越来越具有复杂指向性,不只是单纯的技术高级而是攻击者与被攻击者,目的与意图这些约束关系之间的组成变化。所以就防御而言,梳理各类事件信息形成激活函数模版并在特定场景下进行APT推测具有很深刻的理论意义,我们绝对不会真正知道未来情况如何变化,这堪比预测地震一样困难,确定激活函数是为了弄清其意义,评估接下来发生的可能性。同时对攻击素材方面要扩大认知层面,尽可能多的搜集和整理可实战的新的攻击思路和方法,对防守方来说囊括的攻击素材越多,未来检测出的表象P就会越多,效果就会越好,威慑能力也越强。客户对威胁情报的质量要求远远高于数量要求,厂商简单的积累过往的APT攻击素材对高一阶的APT攻击起不到任何威慑的作用。
从2010开始至今,APT问题层出不穷,不断刷新安全研究人员对其理解程度的认知。APT具有天然复杂性是其一,但根本原因在于缺少梳理归纳APT事件合理方法。我们只看到发现APT事件->曝光->更新产品数据->继续曝光->继续更新... 这样的循环模式。虽然在不断的实践中积累了宝贵经验。但这样的经验显然不能使我们自信的面对未来的威胁,因为这样的经验不能准确的,系统的刻画及表达出未来威胁的可能信息,对未来发生的情况我们所知甚少,惊叹甚多。2010年Stuxnet出现我们惊叹,2012年Flame出现我们惊叹,2015Equation出现我们还是惊叹。
在上一节的关于本质讨论中我们已经知道,目前我们能够干预激活函数的可能性很小,攻击意向也不可能消除,只剩下对攻击素材的研究了。换句话说能不能在激活函数F,攻击意志E一定的条件下,通过对表象信息的研究获得深入的知识,刻画当前,预测未来的可能威胁呢?也就是我们要寻找出归纳APT事件的方法,让APT事件变得有序,可在一定程度上可以被把握,被评估,被预测。
Stuxnet是APT事件中最佳的分析对象,它包含了最少争议的事实,明确的激活函数,明确的攻击意向,明确的攻击素材。为此我们需要仔细研究Stuxnt的方方面面,但在汗牛充栋的资料当中寻找我们需要的细节,没有其它的捷径可走,不断的调试和逆向分析是最可靠的知识来源,我选择从此入手,寻找我们能准确的刻画威胁信息的方法。
分析Stuxnet是非常困难的事情,在那几年当中,即便把所有精力投入,我也没有能力把Stuxnet完全的分析完毕,受知识领域限制尤其工业工控部分,另外对攻击者操作过程中信息的丢失,以及对某些深入问题的研究程度都将影响最终的分析结果。但这仍然是极其有意义的事情,没有这些繁琐的逆向调试过程就不能真正的深刻认识到问题的复杂,它时刻提醒你,摆在眼前的可不是什么小角色,它是网络武器不要放过任何细节。下面把我自己之前的一些分析放在附录中供大家参考(注:这不是完整的技术分析报告,仅是分析时的技术点记录)。
整体分析下来可以得知,Stuxnet称得上是精巧且以极其复杂而著称,攻击者能够一蹴而就的完成攻击,显然是经过长久以来的默契配合才能有如此效果的。但在分析中我也发现了一些问题,首先精心策划数年,价值上百万美元的攻击武器先是被一个名不见经传的白俄罗斯安全公司VBA32发现(行业里面的人会对VBA32的启发式技术有很大的好感,但行业外知名度不高),又被Symantec几个不太懂工控PLC的聪明的加州程序员发现了新问题并模拟出了结果,最后由Ralph等3个人组成的研究团队的德国小公司揭示出了攻击目的[26]。
这看上去有点不可思议?其实一点都不,研究Stuxnet的样本可以看到,代码虽然精巧,但所使用的技术绝大部分并没有超越常规的技术理解范围,只要持续的投入分析,绝大部分信息是可以被破解出来的。Stuxnet也要躲避杀毒软件的,如果发现存在杀软的机器则退出监控。攻击过程中漏洞使用量非常大,这一点令人印像深刻,5个windows漏洞+1针对SIMATIC WinCC 漏洞[27],其中4个windows 0Day漏洞中涉及到的打印机漏洞和lnk漏洞在前些年的hackin9杂志以及银行盗窃病毒zlob(也就是后来被确认用2个0Day漏洞的fanny,Equation组织中的另一款工具)中都有使用出现。利用2个被盗用的合法的数字签名是让人吃惊的,它否定了我们之前的安全假设,Duqu攻击者目的被破解后,人们因数字证书所建立的信任关系开始动摇了。
最为困难的事情是对攻击者的意图的破解,但研究人员最终还是通过这些样本揭示公众对Stuxnet的疑问。通过模拟分析来判断攻击者的意图是针对特定的西门子的S7-315/417型PLC设备,继而靠变频器的设备ID分析出了针对315型号代码意图是修改变频器的工作频率,通过不间断的高低频的变换使得离心机的频率超出正常的范围,在多轮循环之后最终将轴承磨损殆尽,造成过早的机器损害。至此,从样本分析到最终攻击者意图的显现都让人惊讶不已,因为直到3年后发现Stuxnet0.5时,研究员人员才确定为什么当初针对417型的攻击代码是缺失不全的,以及为什么Stuxnet0.5中包含完整的417型攻击代码而后被舍弃。所谓的有组织,国家力量的背后支持,持续性的,高级攻击技术其每一项在震网的案例中都被体现的淋漓尽致。
坦率的讲,虽然我分析过很多的APT组织,但多数都是技术普通的攻击团体,真正称得上高级威胁并不是太多,而从技术角度来看,高级威胁应该具有下面的特点,
当通盘分析和考量了Stuxnet的进攻方式后,就可以直观自然地认识到漏洞,攻击技术,使用方式都只是影响高级威胁到关键要素,而要把握住这样的攻击能力,唯有对攻击目标的整体衡量才会对高级威胁认识方面的困惑慢慢变得减少。漏洞是攻击者采用的手段之一,它只是预备漏洞存储库中的一例,技术的复杂与否只因目标而定,同样体系下产生的Stuxnet和Duqu显然不同,攻击能力高低不等,但却同样是高级威胁。因此我采用最小闭环原则来进行评估,即形成一次攻击所要求的最小数据集合,攻击量化的数据取自攻击者实施当前攻击中成功所需的模块代码数量。因为对于网络攻击技术而言,技术人员很可能拿不到第一时间的入侵数据,现实中的第一步感染操作是如何进行的可能便无从得知,我们只能取得当前可以被认为是第一个步骤的数据进行量化评估。在此之后下载及后续能力的更新则不完全算是初始攻击能力的体现。
所以,针对Stuxnet的量化文件包括~WTR4141.tmp,~WTR4132.tmp,Copy of Shortcut to.lnk 3个文件,因为它们能够构成一个最小的攻击组合。其他产生的衍生文件则不是攻击能力评估的对象,下面给出攻击能力量化的一些原则。
攻击体现在对攻击产生重要影响的技术与代码总量之间比例的考虑,相当于使用一个0Day漏洞产生价值趋向于编写1296k(即a=3;s=1;m=1;p=1;x=5;的情况下)的代码含量的程序。这个比例是兼顾考察Stuxnet与其他攻击案例的差异不至于过大,同时也为了区分使用0Day的案例与其他没有使用0Day的案例的协调关系。
对于需要交互才能完成的利用给予降低攻击能力的评价,例如直接发送伪造为word,pdf文档的exe文件等方式,这样方式作为高级威胁虽然也会出现在个别组织的攻击事件当中,但对于高级威胁的攻击能力的评估上要予以降低分数的考量。
综合了各方面的因素与实际的反复测量,下面给出一种评估模型的检测公式:
攻击能力AT = (a + s + m + p) ^ (k) * (1 + x)^ 2 + c ---- ---- 3.1
c = 代码量衡量值,
如果a >= 3,时, c = 最小闭合的文件大小 / 1024,
如果a = 2时, c = 最小闭合文件大小 / 1024 * 6
如果a = 1时, c = 最小闭合文件大小 / 1024 * 8
其中,k是攻击力系数,k = {k| k 属于2,3,4}
2 = 正常安全认知理解范围(通常我们所见的APT与一般性攻击都属于这个范围) ;
3 = 超出安全认知范围(典型的如,Stuxnet,Flame级别的攻击案例);
4 = 完全不可想象的攻击方式(目前还未遇见这样的案例)
a是攻击自动化情况, a = {a | a 属于,1 = 多步骤交互,2 = 少交互,3 = 无交互 } ,多步骤交互是指攻击者需要操纵多个步骤,引导目标来运行恶意代码的情况。
少交互是指类似运行宏病毒这样的方式,至少需要目标操作一个确认步骤后才能运行恶意代码。无交互是指利用漏洞,web入侵这样的攻击方式,不需要目标参与操作确认,直接即可在目标中运行任意代码的情况。
s是传播方式的种类, s = {s| s 属于,1,2,3...},通常恶意代码传播多数是鱼叉式钓鱼攻击,水坑攻击,社工方式等,在震网中包含两种传播方式,u盘传播和网络共享传播,也有 像DarkHole那样利用wifi网络下的精准传播,这里需要考量的是攻击组织使用了几种传播方式来制造最初的感染向量。
m是攻击方法,m = {m|m 属于1,2,3...} ,就具体攻击方法而言分类十分繁杂,但过于细致的攻击方法会导致评估结果在不同APT组织之间造成很大差异,故给出一些经验上的考核点,供大家参考;大家也可以根据自己的经验来扩展这里的内容,以下皆是针对攻击者使用的技术而言,
一类: 1,代码注入 ;2,使用来rootkit/bioskit;3,使用了未知编程语言;4,横移渗透;5,模块完全ASM编写;6 利用隐写方式
二类: 1,特种木马 ;2,感染特定人群(例如,regin针对研究数学/密码学的人群);3,针对特定文件/设备的利用( 例如,针对韩国Hangul Word Processor HWP文档);4,特定目标感染;5,精准传播
三类: 1,范围极广的间谍功能(例如感染蓝牙设备);2,安装隐蔽的未知功能(例如gauss安装自定义Palida Narrow字体);3,僵尸网络;4,加密网络or支持多协议
四类: 1,恶意破坏(例如重写磁盘文件);2,攻击安全软件(例如Duqu2攻击卡巴斯基);3,改写开源软件;4,反取证技术
五类: 1,高强度破解难度;2,高难度&复杂技术实现(例如,全程ROP编写,No shellcode实现, 内核执行全内存隐藏运行)
六类: 1,武器集合(即该攻击组织具有多款特定目标武器);2,漏洞利用工具包(Lightsout exploit kit ,Nuclear EK);3,使用逻辑类漏洞利用
七类: 1,特殊持久化隐藏;2,被发现已有三年以上隐藏时间;3,usb特性利用;4,伪造特性(故意将自身包含的与某些知名的APT样本相似的代码片段或行为)
p是攻击目标平台数量,p = {p|p属于 1,2,3...} 通常是指windows/linux/android/mac,在震网中包括了windows,wincc 2个平台。
x是包括漏洞利用,盗用签名,硬件攻击等能对安全事件产生重大影响技术的使用数量,其中的详细分类如下;
c是闭环中的代码总量,以K为单位进行计算,(WTR4141.tmp = 25,720 byte + ~WTR4132.tmp = 517,632byte + Copy of Shortcut to.lnk =4,171 byte)/1024 = 534K
K = 3 (超出安全认知范围)
a = 3 (无交互)
s = 2 (u盘+网络共享)
m = 4 (代码注入+rootkit+高难度&复杂技术实现+特定目标感染)
p = 2 (攻击2种平台,WINDOWS + wincc)
x = 30 (攻击组织独享,及1day,
其中CVE-2010-2743 = 5,
CVE-2010-2568 = 4,
CVE-2010-2729 = 4,
CVE-2010-3338 = 5,
CVE-2010-2772 = 6,
CVE-2008-4250 = 2,
盗用数字签名Realtek = 4;
C = (4171+25720+517632)/1024 = 534;
攻击能力AT = (a + s + m + p)^(k) * (1 + x)^ 2 + c
AT = (3+2+4+2) ^(3) * (1+30)^2 + 534
= 11 ^ 3 * 31 ^ 2 + 534
= 1279091+534
= 1279625
我们规定Stuxnet的攻击力是1000T,为了计算及表达方便,可以将得到数值*1000,设定1T攻击力单位 = 1279625,
==> 1279625 * 1000/1279625 = 1000T
注意,该攻击能力描述的是攻击者入侵能力,而不是持续造成的打击或者是造成损失的能力计算,它只是表明攻击者具有攻破防御体系所具有的技能水平,受攻击目标的影响,攻击者会采取的策略也会不同,所以最终的能力体现并不能完全等同于最终事件所造成的影响,二者不是完全等价值的。
该模型建立的目的是以Stuxnet的攻击能力为基准,准确地描述出其它高级威胁组织相对Stuxnet的能力水平。为了区分一般攻击同高级威胁差别,以及高级威胁同另外高级威胁之间的差别能够有很好的区分度,模型做了适当的调整,相对地降低了Stuxnet同这些威胁之间的差别。
目前,众多高级威胁的出现已经成为了一种常态,但显然如果继续以目前的态度对待下去,人们会慢慢减少对这类威胁的敏感性,而不能区分出什么样的高级威胁是应该得到重点关注的,而其它的所谓高级威胁是需要被退去神秘面纱的。Stuxnet的攻击能力评估使得我们有了进一步扩展问题的起点,我们可以依照这一方式将这个方法扩展到对所有已经被认可的高级威胁研究中来,这样会十分清晰的看到我们所处环境及威胁变化的趋势状况。
对于量化的过程我们遵从以下一些原则,主要是因为调查取证过程中的信息缺失,以及单纯的针对第一阶段攻击能力的量化会导致少量案例的数据偏小不能真实反映攻击者能力情况, 因此做以下技术上的调整:
m是攻击方法,包括后续攻击者下载的样本所具有的能力,后续攻击样本本身不计算到c闭环中的代码总量中,但其使用的特殊技术会被累计到参数m当中。
有些攻击行动发生在服务端或是利用web入侵方式,这将导致进行量化评估的时候没有相关数据作为依据,故这样情况下将会按照经验值给出相关数据。
有一些组织的攻击行为是长期反复发生的,一次的样本取证不能很好的衡量这一类APT的整体能力,故在评估这类问题时,统一采用截止目前为止该攻击组织最体现攻击力的行为做为基础的数据。例如,长期利用诱骗技巧(扩展名反转)来运行RAT,或者更多使用1Day漏洞,极少使用0Day漏洞的攻击组织,那么我们选取0Day为主要使用情况来说明该组织的攻击能力,这也体现了该组织攻击能力的逐渐提升过程。
我虽然认同同行安全公司所撰报告的初始目的与态度都是严肃认真的,但对于有些报告的结论及是否算是高级威胁的结论我并不完全认同,但为了不被遗漏,如有大家广为讨论的案例我这里也加入考量当中。
很多被称做APT攻击行动的事件,其实都是可以关联到某些著名的黑客组织当中,例如OperationDog(CVE-2013-3893),Operation Ephemeral Hydra(CVE-2013-3918),SnowMan(CVE-2014-0322) 三者同源,因此不再单独评估这样一次行动所产生的攻击能力,而是针对该组织的攻击能力评估。
对于缺失原始攻击数据,或者是缺少恶意样本母体文件的情况,我仅能够根据报告描述的技术内容给出可能复杂程度的估值。
对于包含多起高级威胁攻击事件的组织评估,原则上需要取所有事件中的最小闭合样本的平均值来进行估算,但实际上由于相关共享信息的缺失,我这里只能取单例事件的最小闭合样本进行评估,但就目前的模型而言,对结果的影响可以忽略,近似的认为就是最后的均值结果。
评估本身并不是完全依据样本的技术细节,而是从整体上来看达到什么操作目的来定义,例如m参数中,高难度/复杂技术实现,即可以是无文件的全内存运行,也可以是磁盘扇区级别的隐藏。但不再继续深究技术实现的细节或评定哪一种水平更高,这样会因为牵扯细节过多而导致攻击能力近似的APT组织出现较大差异。
有一些也被称做定向攻击或是高级威胁,例如针对银行,金融系统的攻击,由于缺少确认攻击者的推断依据,如果按照前面我们提到的关于高级威胁的描述显然这些事件不能被归类到你我所知的APT当中,故这些事件除非已经完全的被明确认定,攻击组织具有明晰攻击意向,否则不被加入到统计当中。归因困难是我们要面对的常态问题。
这里的评估更强调的是代码攻击能力,但其实还包括大量先进的社会工程学技术的应用,但如果兼顾二者则显然不够明晰我们观念当中对攻击能力的体现,因此这里关于社工技巧方面技术的考量是没有被加入的。
受个人资源的限制,这里仅列出了我能够搜集并且可以获得相关样本信息的APT组织或者是攻击行动所使用的样本,而对于那些完全得不到任何信息的攻击组织则没有收录,这不是个完整的不遗漏的评估列表,但我仍然会尽我最大的可能去搜集整理,评估,更新。
APT组织名称 | 时间 | 攻击能力 |
---|---|---|
2010 | ||
Aurora | 2010/2/10 | 2.314T |
Stuxnet | 2010/9/30 | 1000T |
Night Dragon | 2011/2/10 | 0.635T |
RSA Hacked | 2011/8/4 | 1.909T |
Lurid Downloader | 2011/9/22 | 0.623T |
1.php group | 2011/12/12 | 0.351T |
Duqu | 2011/9/22 | 104.184T |
Nitro | 2011/10/31 | 2.586T |
HeartBeat | 2012/1/3 | 1.886T |
Luckycat | 2012/3/29 | 0.556T |
Ixeshe-APT12 | 2012/3/25 | 2.006T |
Flame | 2012/5/25 | 930.899T |
Gauss | 2012/8/9 | 63.311T |
Taidoor | 2012/8/18 | 1.931T |
Elderwood | 2012/9/6 | 7.554T |
Georbot | 2012/9/29 | 4.159T |
Shamoon | 2012/11/1 | 1.762T |
RedOctober | 2013/1/18 | 1.757T |
APT1 | 2013/2/19 | 1.110T |
MiniDuke | 2013/2/12 | 4.045T |
Safe | 2013/3/17 | 0.667T |
Troy | 2013/3/20 | 3.107T |
Winnit | 2013/4/11 | 4.123T |
Deep panda | 2013/6/30 | 0.609T |
NetTraveler | 2013/6/4 | 0.737T |
Hiddenlynx | 2013/9/17 | 25.341T |
DeputyDog | 2013/9/21 | 3.502T |
Icefog | 2014/1/14 | 0.864T |
Masked | 2014/2/11 | 38.628T |
Saffron Rose | 2014/5/13 | 0.623T |
DragonFly | 2014/7/4 | 0.576T |
Energetic-bear | 2014/7/31 | 5.818T |
Sandworm | 2014/10/14 | 3.569T |
Pawn storm | 2014/10/22 | 6.819T |
Apt28 | 2014/10/28 | 27.977T |
Darkhole | 2014/11/10 | 13.761T |
Regin | 2014/11/24 | 53.274T |
Turla | 2014/8/7 | 83.116T |
Desert Falcons | 2015/2/17 | 0.541T |
Animal farm | 2015/3/6 | 10.192T |
hellsing | 2015/4/15 | 0.243T |
Naikon | 2015/5/14 | 0.673T |
Oceanlotus | 2015/5/29 | 3.242T |
Cozyduke | 2015/4/21 | 5.411T |
Duqu2 | 2015/6/9 | 101.663T |
Wild-Neutron | 2015/7/8 | 15.625T |
Potao express | 2015/7/30 | 3.222T |
Blue-termite | 2015/8/20 | 0.982T |
Lotus Blossom | 2015/12/18 | 2.191T |
DustySky | 2016/1/7 | 2.004T |
Scarlet Mimic(apt2) | 2016/1/24 | 1.110T |
Blackenergy | 2016/1/28 | 7.325T |
Transparent Tribe | 2016/3/1 | 0.779T |
Lazarus | 2016/3/13 | 11.625T |
Platinum | 2016/4/12 | 620.299T |
Patchwork | 2016/7/7 | 3.794T |
Sphinx | 2016/7/21 | 0.487T |
ProjectSauron | 2016/8/7 | 770.281T |
Whitebear | 2017/8/30 | 8.462T |
BlackOasis | 2017/10/6 | 2.868T |
Gaza Cybergang | 2017/10/30 | 0.765T |
Sowbug | 2017/11/7 | 0.617T |
Apt34 | 2017/12/7 | 0.788T |
Gravityrat | 2018/1/27 | 0.137T |
Dark caracal | 2018/1/18 | 1.786T |
Apt37 | 2018/2/20 | 3.331T |
Slingshot | 2018/3/9 | 24.756T |
OlympicDestroyer | 2018/3/8 | 0.345T |
LuckyMouse | 2018/6/13 | 1.816T |
Vpnfilter | 2018/5/23 | 9.224T |
具体详细信息请查看《附录十一:APT高级威胁组织攻击力量化列表》
攻击力排前10名的高级威胁是:
Stuxnet = 1000T;
Flame = 930.899T
ProjectSauron = 770.281T
Platinum = 620.299T
Duqu = 104.184T
Turla = 83.116T
Gauss = 63.311T
Regin = 53.274T
Masked = 38.628T
APT28 = 27.977T
Hiddenlynx = 25.341T
攻击力排后10名的高级威胁是:
Sowbug = 0.617T
DeepPanda = 0.609T
DragonFly = 0.576
Luckycat = 0.556T
Desert Falcons = 0.541T
Sphinx = 0.487T
1.php group = 0.351T
OlympicDestroyer = 0.345T
Hellsing = 0.243T
Gravityrat = 0.137T
获得到相关数据后,我们可以做出如下的一些关于未知情况的有意义推断:
绝大多数常规的APT介于0.35T~4T之间,而高于9T以上则是威胁极高的精英黑客组织的作品。
关于APT3(Operation Clandestine Wolf),APT5(Leouncia)APT12(也被称做Etumbot,IXESHE),APT10(又名CVNX、Stone Panda、MenuPass和POTASSIUM), APT16,APT18(Wekby),APT19(Codoso Team) ,APT29(来自俄罗斯),APT30,APT33(来自伊朗), 可知以上APT组织的攻击能力应该介于DragonFly APT ~ DeputyDog(APT17) 之间[28],因为根据攻击代码分析及相互组织之间的关联进行推断,攻击能力范围在 0.609T~ 3.502T。
Platinum攻击力高达620.299T,但攻击范围仅限于东南亚,显得很不可思议,是否仍然存在Platinum的变种在其它地区,而这仅仅是因为我们还没发现呢?
使用0Day漏洞攻击的组织,其攻击力多数在1.8T以上,而大多数可称作定向攻击的水平介于0.1T~1.5T之间。5T~15T的攻击力是实力出众的攻击组织,15T~100T是具有强力国家背景支持的网络攻击力量。100T以上的攻击能力则是具有国家战略意图或是网络战范畴下需要考量的一股军事攻击力量。
依据量化能力的评估可知,大多数的一般性的攻击事件(广告欺诈,DDOS攻击,僵尸网络,垃圾邮件目标的恶意软件,游戏盗号,盗取信息)的攻击力也都在0.1T~2T之间。所以这部分的所谓高级持续性威胁APT是不能说明其技术上的特殊性及其独到之处的,但同样也不能否认其具有国家力量支持的特点。
就每一次的攻击性行动而言,很难说清其具有持续性的意图,所以当我们谈论很多APT时也将这些行动加入其中,有些行动显然具有持续性的关注,渗透入侵达成必要目的,例如使用社工技巧配合0Day漏洞来达到精准的攻击投放,但有些所谓的APT演员的行动则不是这样的情况,更多是散网式的尝试性的攻击形式(Advanced Tentative Threat ,ATT),很难说明这样的攻击意向有多大,成功的几率有多高,但这样的行动每天都在发生,且非常高的频率,这也可称为高级尝试性威胁ATT。
从攻击力的前30名代表组织来看,美国拥有绝对的顶尖实力处于第一梯队,以Turla,APT28为代表的俄罗斯处于一流水平的第二梯队。值得注意的是朝鲜APT组织处于中等偏上的技术水平,这一点反倒并不印证经济实力等同于网络攻击能力。
对以上数据计算平均值s' = 57.47532857 , 计算标准差σ = sqrt(Σ(s-s')^2/n) = 196.0908065 ,所以对应变异系数 σ/s' = 3.4117,该变异系数的值非常高,说明APT组织之间的攻击能力差异非常之大。对于网络空间安全而言这是显而易见的,各国攻击组织能力差异巨大,经验上看,排名前20%的APT组织是很难防御的,我们希望能够监控后80%的攻击组织是否能维持在一个相对较低的攻击力水平区间,为了衡量这一情况我们引入一个威胁指数 x = 后80%的攻击组织的平均攻击力/9T =3.149894737/9 = 0.34998; 根据以上分析得知,5T以上已经具有非常强的攻击能力,故计算一个临界警报值0.556;所以当威胁指数x >> 0.556时,说明整个网络空间产生的APT攻击事件对安全防御而言处于危险的告警状态,接近~1时,则说明绝大多数APT组织的攻击能力已经大幅度提升,网络对抗进入到新的阶段。
目前APT中的高级的含义,更多是用来区别是否具有国家背景的攻击组织,而不是从技术角度的高级来认定的,所以很难想象,APT中的高级这个词竟是被安全公司自己弄丢了本原的含义。从最初的Stuxnet,Flame,Duqu,APT中的“高级”从来没有被怀疑过,但后续的带有些赚取眼球的各种分析报告中,无限制的使用,慢慢地让这个共识失去了最初应该被定义的含义。当然,就APT本身来说也是用来区分网络战的含义,它告诉相关人员这不是网络战而是一次APT攻击。但终归,安全行业不应该牺牲我们研究的准确性来机会主义地促进推广业务,这会降低行业的技术要求水准。
对高级威胁防御的困惑是,以往针对恶意程序的处理方式都是以时间换空间的,即某一时间点单点受害,获取其相关信息提取样本,通过不断更新在以后的时间当中来保护多点大众。但APT不给你机会,单点受害就功亏一溃。故防御的二十四字方针是:引入终端,顺藤摸瓜,分析入口,关联进程,沙箱防护,危险还原。
而我们强调攻击者具有攻击力的体现,更重要的一个原因是检验我们的防御产品,能否做到针对9T以下的完整的防护,而对高于20T以上的攻击力能否做到预警?
从事信息安全工作已经有很多年时间,但APT的定义是最为模糊的一个,它的不够清晰,不利于我们展开防御。我一直思考研究高级威胁本质是否是一个真问题。目前我确信,至少有3个方面会使我们在安全认识上取得进展:
从最初,我们只关心能否检测目标样本,到开始关心攻击者背后的意图。从高级威胁概念的被提出,再到给高级威胁的攻击能力一个清晰的表述上,进而给攻击能力画出一个基本的大致界限范围是我想做的事情。我虽不知未来是否会有超出1000T的攻击力,因为... 但若有,我也可以有勇气去直视这一事实。
防御者如何确保具体防御能力有效是存在困惑的,要让检测能力,威胁情报,亦或是可感知等具体的概念落地,必须有实效的测量手段来检验。改造原有攻击样本或是构造新的攻击能力在2T~30T之间的攻击组合,来验证防御体系是否真正有效果,这种方式是最直接的,攻击能力的量化可以起到对防御的检验作用,相比对威胁事件的可感知而言让防御能力变的看得见,是更为重要的事情。
对攻击意向的研究将会深刻的影响防御体系设计的最终方向,它将开启一个全新的安全视角,解决什么样的因素导致什么企业遭受潜在的多大攻击力的预测问题,进而动态的进行防御能力的调整。而防御能力更像是场舞台的脚本剧,它是被精心设计出的针对性的“保卫战”。
下面这些是研究这个问题过程中产生的一些想法以及看到相关人员对这方面问题的疑问,故一并记下,取其中10个问题回应,仅供大家参考。
1-
Q: 从APT攻击的表象归纳出本质的理论如何保证其正确性?
A:我认为以表面现象及感受到的事件的数据结果来建立理论是错误的,至少是不能因此推导出本因的。 正确的情况是,设定的理论决定你能看到什么表象及什么样的APT问题,APT事件都可以归纳在理论结果当中,本文尝试建立一个认识高级威胁本质的实践的理论框架。当一例攻击事件产生后,它在表象能力上产生的结果就是最后呈现给我们的影响。这个影响与攻击事件相关的直观就是经验性的认定。一个关于APT经验性的直观认定在被规定后的对象就是我们所说的APT事件。而我们经验性的直观认定被包含在实践框架所预设的结果当中。
2-
Q:如果APT问题是价值判断问题,那么价值的标准如何确定?
A:确切的说APT问题是基于价值的综合判断,是主观上对APT素材的认定及攻击者背后意向的肯定。在这一推理过程中,APT素材是相对容易区分的,包括特殊编写的工具或是成熟的流行工具的再次利用。攻击意向的判断基于两点,1)时间上的延续性 2) 被攻击者的范围的设定 。 时间上的延续性是说是否可以肯定攻击者在之前的时间范围内曾发起过攻击。被攻击者的范围的设定是指攻击者仅仅限于某种类型的目标(能源,石油,银行...) 而不是限于整体互联网或局部互联网内无明确目标的攻击。
3-
Q:基于Kill Chain的威胁划分是否有道理,基于这一理论来做APT防御是否可行?
A:Kill Chainc划分了一个攻击者所走的路径,是绝大多数的攻击路径。但没有人能保证攻击者只走这个路径。 划分步骤是分解问题,具体落实工作还要到检测的实体上来,而不是哪一步骤下设置一个检测点。
4-
Q: APT和普通攻击的区别是什么?
A: APT和普通攻击没有本质区别。从网络安全产生之初到目前大规模网络安全事件突起,APT一直都存在,只是我们没有加以区分。从Stuxnet起人们开始区分这一攻击方式,到目前能慢慢的接受白象一类也属于APT攻击。至此,我们已经能心平气和的去思考这一常见的网络攻击现象。APT是攻击类事件里面的明星,除此外无任何区别。但我们还是可以划分出一个边界来梳理APT情况,以攻击能力+统计目标来考虑,
就此还可以继续划分为,武力打击类,间谍刺探类,信息盗取类,而最初我们仅认为是重攻击+重目的+武力打击 => APT (Stuxnet)到目前接受轻攻击+轻目的+间谍刺探类 ~= APT (Patchwork ... ) 这就是这个APT这个词混乱的原因, 轻攻击+轻目的+间谍刺探类 = target attack 更适合。当我们通过对概念加以精确规定后,我们就可以减轻概念带来的混淆,也使得其他任何想要检查对比这一概念的人易于判断我们是否真正明确澄清了该概念的含义。
5-
Q: APT研究和防御的发展以后会有哪些阶段?
A: 现阶段,只有APT表象对于研究者来说才是真实的被给予的体验,研究者从来没有也不会超越其体验之外的APT攻击事件。确切地说,若APT可被研究,其一切皆是表象。下一个阶段将是对攻击者意向猜解,进而对意向产生的动因进行把握,引导以及转化攻击表象的手段。
6-
Q:采用归纳的方式来总结APT的规律,如何保证这是正确的?
A:对于确定性问题,归纳方式是最好的解决方法,但对于APT这样的问题,不能用明确的概念及定义来描述的问题,归纳本身是不具有绝对说服力的。我们的出发点是演绎方式,我们是在假设激活函数F,攻击意向E一定的条件下,进行归纳总结的。我研究目标具有多个变量,如果不确定其中之一,是没有办法同时讨论这两个变量的。
7-
Q:如何识别更多的APT表象?
A:APT表象问题是外部的,防御系统内部需要有相关的属性去响应这些外部的表象,换句话说如果系统内部不具有相当多的关于每一例APT案例的属性分析,那么很难去识别更多的APT问题。APT表象也分为2大类:1)重复性的利用;2)创新出来的新表象。对于1)可以使用过往经验来解决,对于2)则需要综合分析判断,以此来增加防御系统的新知识。
8-
Q:当我们谈论APT时更多的是指哪些令人关注的地方?
A:我们谈论APT时更多的是概念直观当中自己所能够接受理解的高级威胁,但实际的情况是从经验直观中所观察到的情况,这里存在着非常大的概念边界的模糊差异。我们关注的是这次的APT是不是超越以往的经验中的案例,并以此来更新自己关于高级威胁的认知。
9-
Q: 如果APT的决定因素仅在于攻击者意向和攻击素材,那如何构造出千变万化的不同形态的攻击能力与攻击组织?
A:构成APT的意向,素材不同,APT表象就会不同,同一因素的构成方式或比例不同,APT表象就不同。刺激APT的因素不同,APT表象也会不同。即便刺激因素相同,但如果刺激的强度不同,APT的表象同样会不同,攻击组织的技术水平参差不齐,即便攻击素材与意向相同最终也很难呈现一样的表象。
10-
Q:对APT的深入研究,最终是否可以取得防御的全面的胜利?
A: 不存在任何完美的成就,一切都在创造之中。我们看不到终点,而只看到走向终点的道路。光辉的顶点尚未到达,细致入微的改进还在继续. - 歌德
详细信息见:http://www.vxjump.net/files/a_page/7/aptr.htm
《附录一:主要感染模块~WTR4132.tmp的逆向分析》
《附录二:主要感染模块~WTR4132.tmp攻击载荷部分的逆向分析》
《附录三:通过lnk漏洞加载的~WTR4141.tmp的逆向分析》
《附录四:内核rootkit-MRXNet.sys的逆向分析》
《附录五:关于内核提权漏洞CVE-2010-2743的分析与利用》
《附录六:关于Windows Shell远程代码执行漏洞CVE-2010-2568的分析与利用》
《附录七:关于打印机远程任意代码执行漏洞CVE-2010-2729的分析与利用》
《附录八:关于Windows 计划任务导致内核提权漏洞CVE-2010-3338的分析与利用》
《附录九:ITW 0Day:LNK远程代码执行漏洞(CVE-2017-8464)的简要分析》
《附录十:Symantec赛门铁壳通报的Stuxnet相关信息摘要》
《附录十一:APT高级威胁组织攻击力量化列表》
//--依据文中提出的高级威胁评估模型进行的相关分析报告
2018-06-13
《LuckyMouse-APT27:攻击行动评估》
2018-06-13
《VPNFilter:攻击行动评估》
2018-03-09
《Slingshot APT:攻击行动评估》
2018-03-08
《OlympicDestroyer:攻击行动评估》
2018-02-20
《APT37:攻击行动评估》
2018-01-27
《GravityRAT APT:攻击行动评估》
2018-01-18
《Dark Caracal APT:攻击行动评估》
2017-12-07
《Oilrig-APT34:攻击行动评估》
2017-11-07
《Sowbug APT:攻击行动评估》
2017-10-30
《Gaza Cybergang APT:攻击行动评估》
2017-10-06
《BlackOasis APT:攻击行动评估》
2017-08-30
《WhiteBear APT:攻击行动评估》
2016-08-07
《ProjectSauron APT:攻击行动评估》
2016-07-21
《Sphinx APT:攻击行动评估》
2016-07-07
《PatchWork APT:攻击行动评估》
2016-04-12
《Platinum APT:攻击行动评估》
2016-03-13
《Lazarus APT:攻击行动评估》
2016-03-01
《Transparent Tribe:攻击行动评估》
2016-01-28
《Black Energy:攻击行动评估》
2016-01-24
《Scarlet Mimi:攻击行动评估》
2016-01-07
《DustySky APT:攻击行动评估》
2015-12-18
《Lotus Blossom:攻击行动评估》
2015-08-20
《Blue-termite:攻击行动评估》
2015-07-30
《Potao Express:攻击行动评估》
2015-07-08
《Wild-Neutron:攻击行动评估》
2015-06-09
《Duqu2 APT:攻击行动评估》
2015-05-29
《Oceanlotus-APT32:攻击行动评估》
2015-05-14
《Naikon APT:攻击行动评估》
2015-04-21
《CozyDuke APT:攻击行动评估》
2015-04-15
《Hellsing APT:攻击行动评估》
2015-03-06
《Animal Farm:攻击行动评估》
2015-02-17
《Desert Falcons:攻击行动评估》
2014-12-08
《Turla APT:攻击行动评估》
2014-11-10
《Regin APT:攻击行动评估》
2014-11-10
《Darkhole APT:攻击行动评估》
2014-10-28
《APT28:攻击行动评估》
2014-10-22
《Pawn Storm:攻击行动评估》
2014-10-14
《Sandworm Team:攻击行动评估》
2014-07-04
《Dragonfly:攻击行动评估》
2014-02-11
《Saffron Rose:攻击行动评估》
2014-02-11
《Masked APT:攻击行动评估》
2014-01-14
《Icefog APT:攻击行动评估》
2013-09-17
《DeputyDog-APT17:攻击行动评估》
2013-09-17
《Hidden Lynx:APT 攻击行动评估》
2013-06-30
《Deep Panda:攻击行动评估》
2013-06-04
《NetTraveler APT:攻击行动评估》
2013-04-11
《Winnit:攻击行动评估》
2013-03-20
《Dark Seoul(Operation Troy):攻击行动评估》
2013-03-17
《Safe APT:攻击行动评估》
2013-02-19
《APT1:攻击行动评估》
2013-02-012
《MiniDuke APT:攻击行动评估》
2013-01-18
《Red October APT:攻击行动评估》
2012-11-01
《Shamoon APT:攻击行动评估》
2012-09-29
《Georbot APT:攻击行动评估》
2012-09-06
《Elderwood APT:攻击行动评估》
2012-08-18
《Taidoor APT:攻击行动评估》
2012-08-09
《Gauss:高斯攻击行动评估》
2012-05-25
《Flame:超级火焰病毒攻击行动评估》
2012-03-29
《Luckycat APT:攻击行动评估》
2012-03-22
《IXESHE-APT12:攻击行动评估》
2012-01-03
《HeartBeat APT:攻击行动评估》
2011-12-12
《1.php APT group:攻击行动评估》
2011-10-31
《Nitro APT:攻击行动评估》
2011-09-22
《Lurid Downloader APT:攻击行动评估》
2011-09-01
《Duqu:毒区攻击行动评估》
2011-08-04
《RSA Hacked:攻击行动评估》
2011-02-10
《Night Dragon:夜龙攻击行动评估》
2010-09-30
《Stuxnet:震网攻击行动评估》
2010-02-10
《Aurora:极光攻击行动评估》
记得2011年去参加ISF安全会议,武汉大学彭老师谈到的APT的相关问题令我印象深刻,之后对此类问题尤其关注,在AVG的工作期间也重点研究高级威胁方面的技术问题,后来在McAfee IPS研究小组则主要以漏洞利用及防御和恶意代码研究为主要的内容,虽非直接参与这方面的具体工作,但对于高级威胁的相关事件一直都保持着相当的兴趣和关注,没想到这一晃已经有6,7年的时间了。在13,14年关于APT的话题占据了全球各大安全会议的热门榜单,那个时候我是不敢去讨论这个问题,一怕思考的不够成熟且这个问题非常难谈,二是怕有跟风蹭热点之嫌。
随着大数据,以及AI应用于安全领域技术的兴起,APT终于不再是个热点话题,我也可以不再惶恐地讨论这一问题。遂在15年时,下决心完成这方面的研究工作。16年的春节期间完成了最初的评估模型,也写下了初稿,中间断断续续地补些遗漏的地方。现在,也把相关的这个事情做完了,但关于高级威胁的问题恐怕没有完结的时间表,只希望借此处抛砖引玉,如果恰好这里谈到的问题对您工作有点帮助那将是我的最大愿望,如果完全不认同,那估且当作是个无聊冗长的故事读读,但如果您有完整而系统的这方面想法愿意分享,那我将不胜感激,欢迎您能发邮件给我,neineit_AT_gmail.com :)
行文至此,虽辗转反侧,几经考量,但仍然难免挂一漏万唯恐贻笑大方。因此,若有错误及不当之处还敬请大家谅解与批评指正。
https://www-01.ibm.com/common/ssi/cgi-bin/ssialias?htmlfid=WGB03050USEN&
https://www.symantec.com/zh/cn/products-solutions/families/advantages.jsp?fid=adv-threat-prot
[2].http://www.freebuf.com/articles/system/105892.html
https://www.fireeye.com/content/dam/fireeye-www/products/pdfs/pf/web/rpt-delta-testing.pdf
https://www.fireeye.com/current-threats/anatomy-of-a-cyber-attack.html
[4].不同安全厂商,工业界,学术界都有各自对高级威胁的理解:
https://www.symantec.com/zh/cn/solutions/cloud-security/defend-against-threats
https://www.secureworks.com/blog/advanced-persistent-threats-apt-a
http://tominfosec.blogspot.com/2010/02/understanding-apt.html
https://www.academia.edu/6309905/Advanced_Persistent_Threat_-_APT
https://www.damballa.com/knowledge/advanced-persistent-threats.php
http://www.usenix.org/event/lisa09/tech/slides/daly.pdf
[5].这个概念被扩大化来看,尽管我不认同被扩展后的含义,但我认可人们口中表达APT时所说的含义只有这个词最能体现。当然,一些厂商更倾向于这样的概念扩大化,因为这样就可以把 各种安全产品都打包到APT这个概念里面延长客户对其的产品的好感与产品生命周期
[6].https://www.fireeye.com/current-threats/recent-zero-day-attacks.html
[7].2015年之后发现的APT事件持续增多:
https://www.bluecoat.com/security-blog/2015-01-20/reversing-inception-apt-malware
https://securelist.com/blog/research/68732/the-great-bank-robbery-the-carbanak-apt/
https://securelist.com/blog/research/68817/the-desert-falcons-targeted-attacks/
http://securelist.com/blog/research/69114/animals-in-the-apt-farm/
https://www.fireeye.com/blog/threat-research/2015/04/apt_30_and_the_mecha.html
https://www.fireeye.com/blog/threat-research/2015/04/probable_apt28_useo.html
http://securelist.com/blog/69731/the-cozyduke-apt
https://securelist.com/analysis/publications/69953/the-naikon-apt/
https://securelist.com/blog/research/70029/the-naikon-apt-and-the-msnmm-campaigns/
http://www.antiy.net/p/analysis-on-apt-to-be-attack-that-focusing-on-chinas-government-agency/
http://blog.dragonthreatlabs.com/2015/07/dtl-06282015-01-apt-on-taiwan-insight.html
http://www.volexity.com/blog/?p=158
https://www.fireeye.com/blog/threat-research/2015/07/demonstrating_hustle.html
https://www.f-secure.com/weblog/archives/00002822.html
http://go.cybereason.com/rs/996-YZT-709/images/Cybereason-Labs-Analysis-Webmail-Sever-APT.pdf
https://securelist.com/blog/research/72081/satellite-turla-apt-command-and-control-in-the-sky/
[8].https://tools.cisco.com/security/center/viewAlert.x?alertId=39835
https://www.theguardian.com/technology/2014/oct/29/russian-hacker-group-cyber-attacks-apt28
[9].Pwn2Own2015开始独角兽项目IE11+EMET为攻击目标,至此Vupen宣布退出,Pwn2Own2017开始引入攻击VMWARE比赛项目。
https://www.thezdi.com/blog/2017/1/18/pwn2own-returns-for-2017-to-celebrate-10-years-of-exploits
https://threatpost.com/pwn2own-paying-150000-grand-prize-for-microsoft-emet-bypass/104015/
https://securelist.com/blog/software/74503/freezer-paper-around-free-meat/
https://securelist.com/analysis/publications/74828/cve-2015-2545-overview-of-current-threats/
http://www.symantec.com/connect/blogs/suckfly-revealing-secret-life-your-code-signing-certificates
http://newsroom.trendmicro.com/blog/operation-iron-tiger-attackers-shift-east-asia-united-states
[11].卡巴斯基的引擎能力包括,高准确性的检测算法(二段偏移+校验值),文件解包模块,静态脱壳模块,obj库的算法扫描能力+虚拟机的动态启发式检测。相比其它而言,卡巴斯基的病毒命名体系具有相当的准确性及科学性。采用平台+家族+类型+变种
[12].索伦之眼的相关报告:
https://securelist.com/analysis/publications/75533/faq-the-projectsauron-apt/
[13].测试样本的md5:2A8785BF45F4F03C10CD929BB0685C2D & 4728A97E720C564F6E76D0E22C76BAE5
[14].我在2011年7月就应Virus-lab的国外同事的请求分析过Duqu的一个spy模块,但当时并不清楚这是什么,2011年10月卡巴斯基公布来Duqu这一信息之后我才发现其中之一的样本我分析过,因为分析时并没有母体word文档包含的内核字体漏洞CVE-2011-3402样本,我当时并不清楚这单独的需要输入参数才能运行的spy模块代表怎样的威胁等级。
[15].https://www.cymmetria.com/wp-content/uploads/2016/07/Unveiling-Patchwork.pdf
https://www.volexity.com/blog/2018/06/07/patchwork-apt-group-targets-us-think-tanks/
[16.]http://www.slideshare.net/daniel_bilar/crowd-strike-globalthreatreport2013
https://www.secureworks.com/research/threat-group-3390-targets-organizations-for-cyberespionage
[18.]http://www.rsa.com/node.aspx?id=3872
[19.]http://www.antiy.com/response/EQUATION_DRUG/EQUATION_DRUG.html
[20.]很多人喜欢讨论杀毒软件特征码技术落后具有滞后性,以此认为动态行为分析是解决APT的方案,其实不知动态行为一样可以被隐藏,被绕过监控,一劳永逸的规则与解决方案。
[21.]《乌克兰电力系统遭受攻击事件综合分析报告》
http://blog.nsfocus.net/ukraine-power-plant-attack-analysis-protection-programs/
[22].研究过Sandworm APT的人一定还记得CVE-2014-4114这个OLE远程代码执行漏洞。这是一个逻辑漏洞不需要BYPASS DEP+ASLR,不需考虑版本兼容性稳定性问题。之后间接的引发了研究office ole/com对象安全问题的热潮。
[23].https://ics-cert.us-cert.gov/advisories/ICSA-10-238-01B
[24].http://www.freebuf.com/news/131994.html
http://www.freebuf.com/news/128815.html
[25].澳大利亚军方组建新网络司令部
http://www.xinhuanet.com/mil/2018-02/01/c_129803547.htm
美国成立网络司令部
https://en.wikipedia.org/wiki/Cyberwarfare_in_the_United_States
http://niis.cssn.cn/webpic/web/niis/upload/2012/12/d20121207180137851.pdf
https://www.nytimes.com/2016/04/25/us/politics/us-directs-cyberweapons-at-isis-for-first-time.html
http://www.economist.com/node/16478792?story_id=16478792&fsrc=rss
https://www.langner.com/wp-content/uploads/2017/03/to-kill-a-centrifuge.pdf
[28].https://www.fireeye.com/blog/threat-research/2015/07/demonstrating_hustle.html
https://www.fireeye.com/blog/threat-research/2014/09/darwins-favorite-APT-group-2.html
https://www.fireeye.com/current-threats/apt-groups.html#groups
《Countdown to Zero Day: Stuxnet and the Launch of the World's First Digital Weapon》
https://www.amazon.com/Countdown-Zero-Day-Stuxnet-Digital/dp/0770436196
《Reverse Deception: Organized Cyber Threat Counter-Exploitation》 https://www.amazon.cn/dp/0071772499/ref=sr_1_2?ie=UTF8&qid=1532673929&sr=8-2&keywords=Sean+Bodmer%E3%80%80Max+Kilger%E3%80%80Gregory+Carpenter%E3%80%80Jade+Jones
《兰德报告:美国如何打赢网络战争》
https://www.amazon.cn/dp/B00ENE0HDO/ref=sr_1_1?ie=UTF8&qid=1532668510&sr=8-1&keywords=%E5%85%B0%E5%BE%B7%E6%8A%A5%E5%91%8A
本文由 Seebug Paper 发布,如需转载请注明来源。本文地址:https://paper.seebug.org/1775/