_ _ (_) | | __ ____ __ _ _ _ _ __ ___ _ __ _ __ ___ | |_ \ \ / /\ \/ /| || | | || '_ ` _ \ | '_ \ | '_ \ / _ \| __| \ V / > < | || |_| || | | | | || |_) |_ | | | || __/| |_ \_/ /_/\_\| | \__,_||_| |_| |_|| .__/(_)|_| |_| \___| \__| _/ | | | |__/ |_| /---------------------------------------------------------------------------------------\ |>.....................[ 论高级威胁的本质和攻击力量化研究 ].......................<| |>......................[ by nEINEI/vxjump.net ]........................<| |>.......................[ 初稿时间: 2016-03-17 ].........................<| |>........................[ 更新时间: 2018-07-26 ]..........................<| \>........................[ neineit_AT_gmail.com ].......................... [2]开发一个Office/Adobe Reader 0Day漏洞利用文档--> * [3]发生一封伪造内部邮件--> [4]拿到执行权限横向渗透--> [5]注册表中隐藏完成持久化感染 * [6]连接远端C&C--> * [7]文件窃取完毕. APT组织考虑到目标人物的安全意识很强,因此针对2,5,6点开发了最新的技术来绕过所有的已知的安全防护措施,整个任务实施时间约半年时间。这是你听到的最多的关于APT的 故事,原型也是一个真实的APT案例[18]。 下面我们把APT组织从描述中抹去。替换为分布在互联网上擅长不同领域的程序开发人员,仅通过论坛交流技术,相互间并不十分熟识。他们共同认识的X某人组合了这人开发的技术 要素,完成了上面7个步骤,成功的入侵了该企业核心人员的计算机。那么请问,这是否认属于APT呢? 似乎有些不容易回答。 我们再把文中提到的核心人员替换为实习人员。此时,我们已经很难肯定这和APT有什么关系了。虽然这一事件包括了一系列的外在表象,0Day漏洞,定制化样本,攻击事件的产生。 但无具体目的的一群人攻击了毫无关系的一个人,把这样的事情和APT联系起来总是牵强。但是,这样的事情在网络空间里面层出不穷,显然失去了组织方与攻击的目标后再去谈论APT问 题是缺乏理解的表现。把这样的设想当作例子虽然不够严谨,但实际情况是,我们总能看到这样缺少攻击目的不完整的话题被讨论来讨论去。混乱的原因就是表象的争论并不能代表其理 解了本质进而做出合理的判断。 [0x02.2].再看本质问题 - 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事件,这个事件的发生过程是具有持续性的。 [0x02.3].定量研究APT高级威胁 前面我们从定性的角度讨论的APT的本质,为了便于更细致的讨论,我将从定量的角度分析APT本质和攻击意向,攻击素材的关系。 攻击意向记作集合E E = {e | 元素e具有攻击意向属性} ---- 2.1 攻击素材记作集合M M = {m| 元素m具有攻击素材属性 } ----2.2 E和M一起确定了APT系统,记作A, A = ,A代表了APT的本质的组成集合 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的因素是: 1)激活函数F 2)攻击意向e 3)攻击素材m三方面的作用。 激活函数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攻击起不到任何威慑的作用。 三 有效方法的提出 [0x03.1]纸上得来终觉浅 - 提出问题 从2010开始至今,APT问题层出不穷,不断刷新安全研究人员对其理解程度的认知。APT具有天然复杂性是其一,但根本原因在于缺少梳理归纳APT事件合理方法。我们只看到发现 APT事件->曝光->更新产品数据->继续曝光->继续更新... 这样的循环模式。虽然在不断的实践中积累了宝贵经验。但这样的经验显然不能使我们自信的面对未来的威胁,因为这样的 经验不能准确的,系统的刻画及表达出未来威胁的可能信息,对未来发生的情况我们所知甚少,惊叹甚多。2010年Stuxnet出现我们惊叹,2012年Flame出现我们惊叹,2015年Equation出 现我们还是惊叹。 在上一节的关于本质讨论中我们已经知道,目前我们能够干预激活函数的可能性很小,攻击意向也不可能消除,只剩下对攻击素材的研究了。换句话说能不能在激活函数F,攻击意志E 一定的条件下,通过对表象信息的研究获得深入的知识,刻画当前,预测未来的可能威胁呢?也就是我们要寻找出归纳APT事件的方法,让APT事件变得有序,可在一定程度上可以被把握, 被评估,被预测。 Stuxnet是APT事件中最佳的分析对象,它包含了最少争议的事实,明确的激活函数,明确的攻击意向,明确的攻击素材。为此我们需要仔细研究Stuxnt的方方面面,但在汗牛充栋的资料 当中寻找我们需要的细节,没有其它的捷径可走,不断的调试和逆向分析是最可靠的知识来源,我选择从此入手,寻找我们能准确的刻画威胁信息的方法。 [0x03.2]Stuxnet逆向分析 分析Stuxnet是非常困难的事情,在那几年当中,即便把所有精力投入,我也没有能力把Stuxnet完全的分析完毕,受知识领域限制尤其工业工控部分,另外对攻击者操作过程中信息的丢 失,以及对某些深入问题的研究程度都将影响最终的分析结果。但这仍然是极其有意义的事情,没有这些繁琐的逆向调试过程就不能真正的深刻认识到问题的复杂,它时刻提醒你,摆在眼 前的可不是什么小角色,它是网络武器不要放过任何细节。下面把我自己之前的一些分析放在附录中供大家参考(注:这不是完整的技术分析报告,仅是分析时的技术点记录)。 《附录一:主要感染模块~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相关信息摘要》 附录的技术详情见:http://vxjump.net/files/a_page/7/aptr.htm 未完待续... 整体分析下来可以得知,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型攻击代码而后被舍弃。所谓的有组织,国家力量的背后支持,持续性的,高级攻击技术其每一项在震网的案例中都被体现的淋漓尽致。 [0x03.3]构建高级威胁评估模型 坦率的讲,虽然我分析过很多的APT组织,但多数都是技术普通的攻击团体,真正称得上高级威胁并不是太多,而从技术角度来看,高级威胁应该具有下面的特点, 1)使用0Day攻击,这一点几乎是必须的条件 2)支持各种网络协议上的多个隐蔽通信通道 3)不同寻常的持久化技术,借助于操作系统的某些不被人知的技术 4)恶意程序模块只能存在于内存中而不会触及磁盘,造成取证困难 5)高难度复杂技术的实现,其技术门槛的高度仅限于该组织独有 6)未被发现感染媒介,也就是最初的感染向量到目前为止也不清楚 7)已经破坏了多个国家/地区的多个政府组织 8)在被发现前已经隐藏潜伏多年,而造成的损失以无从评估 当通盘分析和考量了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是包括漏洞利用,盗用签名,硬件攻击等能对安全事件产生重大影响技术的使用数量,其中的详细分类如下; 完全属于APT组织的独有的破解高难度目标的利用技术 ---------- 8级 完全属于APT组织的独有漏洞,硬件级别漏洞 ------------------ 6级 完全属于APT组织的独有漏洞,软件产品漏洞 ------------------ 5级 对非个人操作系统的利用及攻击技术 ------------------------- 5级 完全属于APT组织的独有漏洞,web产品漏洞 ------------------- 4级 APT组织与其它组织机构共享漏洞 --------------------------- 4级 盗用数字签名 --------------------------------------------- 4级 利用方法曝光但尚未修补的漏洞 ---------------------------- 3级 未曾曝光的攻击手法---------------------------------------- 3级 尚未可知的入侵手段---------------------------------------- 3级 N day的使用 --------------------------------------------- 2级 web方式入侵----------------------------------------------- 2级 SQL注入利用 ---------------------------------------------- 1级 DDOS 攻击 ------------------------------------------------ 1级 无任何漏洞及其他利用方式---------------------------------- 0级 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同这些威胁之间的差别。 [0x04].解决细节问题 [0x04.1]不畏浮云遮望眼 -为什么需要量化APT 目前,众多高级威胁的出现已经成为了一种常态,但显然如果继续以目前的态度对待下去,人们会慢慢减少对这类威胁的敏感性,而不能区分出什么样的高级威胁是应该得到重 点关注的,而其它的所谓高级威胁是需要被退去神秘面纱的。Stuxnet的攻击能力评估使得我们有了进一步扩展问题的起点,我们可以依照这一方式将这个方法扩展到对所有已经被认可的 高级威胁研究中来,这样会十分清晰的看到我们所处环境及威胁变化的趋势状况。 对于量化的过程我们遵从以下一些原则,主要是因为调查取证过程中的信息缺失,以及单纯的针对第一阶段攻击能力的量化会导致少量案例的数据偏小不能真实反映攻击者能力情况, 因此做以下技术上的调整: 1)m是攻击方法,包括后续攻击者下载的样本所具有的能力,后续攻击样本本身不计算到c闭环中的代码总量中,但其使用的特殊技术会被累计到参数m当中。 2)有些攻击行动发生在服务端或是利用web入侵方式,这将导致进行量化评估的时候没有相关数据作为依据,故这样情况下将会按照经验值给出相关数据。 3)有一些组织的攻击行为是长期反复发生的,一次的样本取证不能很好的衡量这一类APT的整体能力,故在评估这类问题时,统一采用截止目前为止该攻击组织最体现攻击力的行为做 为基础的数据。例如,长期利用诱骗技巧(扩展名反转)来运行RAT,或者更多使用1Day漏洞,极少使用0Day漏洞的攻击组织,那么我们选取0Day为主要使用情况来说明该组织的攻击能力,这 也体现了该组织攻击能力的逐渐提升过程。 4)我虽然认同同行安全公司所撰报告的初始目的与态度都是严肃认真的,但对于有些报告的结论及是否算是高级威胁的结论我并不完全认同,但为了不被遗漏,如有大家广为讨论的案 例我这里也加入考量当中。 5) 很多被称做APT攻击行动的事件,其实都是可以关联到某些著名的黑客组织当中,例如OperationDog(CVE-2013-3893),Operation Ephemeral Hydra(CVE-2013-3918),SnowMan(CVE-2014-0322) 三者同源,因此不再单独评估这样一次行动所产生的攻击能力,而是针对该组织的攻击能力评估。 6) 对于缺失原始攻击数据,或者是缺少恶意样本母体文件的情况,我仅能够根据报告描述的技术内容给出可能复杂程度的估值。 7) 对于包含多起高级威胁攻击事件的组织评估,原则上需要取所有事件中的最小闭合样本的平均值来进行估算,但实际上由于相关共享信息的缺失,我这里只能取单例事件的最小闭合样 本进行评估,但就目前的模型而言,对结果的影响可以忽略,近似的认为就是最后的均值结果。 8) 评估本身并不是完全依据样本的技术细节,而是从整体上来看达到什么操作目的来定义,例如m参数中,高难度/复杂技术实现,即可以是无文件的全内存运行,也可以是磁盘扇区级 别的隐藏。但不再继续深究技术实现的细节或评定哪一种水平更高,这样会因为牵扯细节过多而导致攻击能力近似的APT组织出现较大差异。 9) 有一些也被称做定向攻击或是高级威胁,例如针对银行,金融系统的攻击,由于缺少确认攻击者的推断依据,如果按照前面我们提到的关于高级威胁的描述显然这些事件不能被 归类到你我所知的APT当中,故这些事件除非已经完全的被明确认定,攻击组织具有明晰攻击意向,否则不被加入到统计当中。归因困难是我们要面对的常态问题。 10) 这里的评估更强调的是代码攻击能力,但其实还包括大量先进的社会工程学技术的应用,但如果兼顾二者则显然不够明晰我们观念当中对攻击能力的体现,因此这里关于社工技巧方 面技术的考量是没有被加入的。 受个人资源的限制,这里仅列出了我能够搜集并且可以获得相关样本信息的APT组织或者是攻击行动所使用的样本,而对于那些完全得不到任何信息的攻击组织则没有收录,这不是个完整 的不遗漏的评估列表,但我仍然会尽我最大的可能去搜集整理,评估,更新。 APT组织名称 时间 攻击能力 2010: Aurora 2010/2/10 2.314T Stuxnet 2010/9/30 1000T 2011: 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 2012: 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 2013: 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 2014: 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 2015: 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 2016: 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 2017: 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 2018: 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高级威胁组织攻击力量化列表》 [0x04.2]推测出一些结论 攻击力排前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 获得到相关数据后,我们可以做出如下的一些关于未知情况的有意义推断: 1) 绝大多数常规的APT介于0.35T~4T之间,而高于9T以上则是威胁极高的精英黑客组织的作品。 2) 关于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。 3) Platinum攻击力高达620.299T,但攻击范围仅限于东南亚,显得很不可思议,是否仍然存在Platinum的变种在其它地区,而这仅仅是因为我们还没发现呢? 4)使用0Day漏洞攻击的组织,其攻击力多数在1.8T以上,而大多数可称作定向攻击的水平介于0.1T~1.5T之间。5T~15T的攻击力是实力出众的攻击组织,15T~100T是具有强力国家背景 支持的网络攻击力量。100T以上的攻击能力则是具有国家战略意图或是网络战范畴下需要考量的一股军事攻击力量。 5)依据量化能力的评估可知,大多数的一般性的攻击事件(广告欺诈,DDOS攻击,僵尸网络,垃圾邮件目标的恶意软件,游戏盗号,盗取信息)的攻击力也都在0.1T~2T之间。 所以这部分的所谓高级持续性威胁APT是不能说明其技术上的特殊性及其独到之处的,但同样也不能否认其具有国家力量支持的特点。 6)就每一次的攻击性行动而言,很难说清其具有持续性的意图,所以当我们谈论很多APT时也将这些行动加入其中,有些行动显然具有持续性的关注,渗透入侵达成必要目的,例如使 用社工技巧配合0Day漏洞来达到精准的攻击投放,但有些所谓的APT演员的行动则不是这样的情况,更多是散网式的尝试性的攻击形式(Advanced Tentative Threat ,ATT),很难说明这 样的攻击意向有多大,成功的几率有多高,但这样的行动每天都在发生,且非常高的频率,这也可称为高级尝试性威胁ATT。 7) 从攻击力的前30名代表组织来看,美国拥有绝对的顶尖实力处于第一梯队,以Turla,APT28为代表的俄罗斯处于一流水平的第二梯队。值得注意的是朝鲜APT组织处于中等偏上的技术 水平,这一点反倒并不印证经济实力等同于网络攻击能力。 8) 对以上数据计算平均值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以上的攻击力能否做到预警? [0x05].沉舟侧畔千帆过 - 最后的问题 从事信息安全工作已经有很多年时间,但APT的定义是最为模糊的一个,它的不够清晰,不利于我们展开防御。我一直思考研究高级威胁本质是否是一个真问题。目前我确信,至少有3个方面会使我们 在安全认识上取得进展: 1)从最初,我们只关心能否检测目标样本,到开始关心攻击者背后的意图。从高级威胁概念的被提出,再到给高级威胁的攻击能力一个清晰的表述上,进而给攻击能力画出一个基本 的大致界限范围是我想做的事情。我虽不知未来是否会有超出1000T的攻击力,因为... 但若有,我也可以有勇气去直视这一事实。 2)防御者如何确保具体防御能力有效是存在困惑的,要让检测能力,威胁情报,亦或是可感知等具体的概念落地,必须有实效的测量手段来检验。改造原有攻击样本或是构造新的攻击 能力在2T~30T之间的攻击组合,来验证防御体系是否真正有效果,这种方式是最直接的,攻击能力的量化可以起到对防御的检验作用,相比对威胁事件的可感知而言让防御能力变的看得见, 是更为重要的事情。 3)对攻击意向的研究将会深刻的影响防御体系设计的最终方向,它将开启一个全新的安全视角,解决什么样的因素导致什么企业遭受潜在的多大攻击力的预测问题,进而动态的进行防 御能力的调整。而防御能力更像是场舞台的脚本剧,它是被精心设计出的针对性的“保卫战”。 [0x06].APT十问 下面这些是研究这个问题过程中产生的一些想法以及看到相关人员对这方面问题的疑问,故一并记下,取其中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情况,以攻击能力+统计目标来考虑, 1 重攻击+重目的 = Stuxnet,Duqu.. ; >30T 以上的攻击能力 2 轻攻击+重目的 = BlackEnergy,Shamoon;5T~10T之间的攻击能力 3 轻攻击+轻目的 = Patchwork,海莲花,非常多APT都是这一类型,准确说是网络间谍行动,介于0.1T ~ 4T之间的攻击能力 4 重攻击+轻目的 = 花费很大的资本但却实现很小的目的这很不现实的。 就此还可以继续划分为,武力打击类,间谍刺探类,信息盗取类,而最初我们仅认为是重攻击+重目的+武力打击 => 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: 不存在任何完美的成就,一切都在创造之中。我们看不到终点,而只看到走向终点的道路。光辉的顶点尚未到达,细致入微的改进还在继续. - 歌德 [0x07].附录 详细信息见: 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:极光攻击行动评估》 [0x08].后记 记得2011年去参加ISF安全会议,武汉大学彭老师谈到的APT的相关问题令我印象深刻,之后对此类问题尤其关注,在AVG的工作期间也重点研究高级威胁方面的技术问题,后来在McAfee IPS研究 小组则主要以漏洞利用及防御和恶意代码研究为主要的内容,虽非直接参与这方面的具体工作,但对于高级威胁的相关事件一直都保持着相当的兴趣和关注,没想到这一晃已经有6,7年的时间了。在 13,14年关于APT的话题占据了全球各大安全会议的热门榜单,那个时候我是不敢去讨论这个问题,一怕思考的不够成熟且这个问题非常难谈,二是怕有跟风蹭热点之嫌。 随着大数据,以及AI应用于安全领域技术的兴起,APT终于不再是个热点话题,我也可以不再惶恐地讨论这一问题。遂在15年时,下决心完成这方面的研究工作。16年的春节期间完成了最初的评估 模型,也写下了初稿,中间断断续续地补些遗漏的地方。现在,也把相关的这个事情做完了,但关于高级威胁的问题恐怕没有完结的时间表,只希望借此处抛砖引玉,如果恰好这里谈到的问题对您工作 有点帮助那将是我的最大愿望,如果完全不认同,那估且当作是个无聊冗长的故事读读,但如果您有完整而系统的这方面想法愿意分享,那我将不胜感激,欢迎您能发邮件给我,neineit_AT_gmail.com :) 行文至此,虽辗转反侧,几经考量,但仍然难免挂一漏万唯恐贻笑大方。因此,若有错误及不当之处还敬请大家谅解与批评指正。 [参考引用] [1].https://www.ibm.com/common/ssi/cgi-bin/ssialias?subtype=BK&inafotype=PM&htmlfid=WGM12357USEN&attachment=WGM12357USEN.PDF https://www-01.ibm.com/common/ssi/cgi-bin/ssialias?htmlfid=WGB03050USEN& https://media.kaspersky.com/en/business-security/enterprise/TMD_Product_Whitepaper_Customer_0418_EN_GLB.pdf https://www.symantec.com/zh/cn/products-solutions/families/advantages.jsp?fid=adv-threat-prot [2].http://www.freebuf.com/articles/system/105892.html [3].https://securingtomorrow.mcafee.com/mcafee-labs/threat-actors-use-encrypted-office-binary-format-evade-detection/ 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 http://securelist.com/analysis/publications/69567/the-chronicles-of-the-hellsing-apt-the-empire-strikes-back/ 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/ https://www.fireeye.com/blog/threat-research/2015/06/operation-clandestine-wolf-adobe-flash-zero-day.html http://blog.dragonthreatlabs.com/2015/07/dtl-06282015-01-apt-on-taiwan-insight.html http://researchcenter.paloaltonetworks.com/2015/07/apt-group-ups-targets-us-government-with-hacking-team-flash-exploit/ 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/ http://h30499.www3.hp.com/t5/HP-Security-Research-Blog/Pwn2Own-s-New-Exploit-Unicorn-Prize-Additional-Background-for/ba-p/6357753#.Uu--uvn-OSo [10].https://securelist.com/blog/research/73440/blackenergy-apt-attacks-in-ukraine-employ-spearphishing-with-word-documents/ 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/iran-based-attackers-use-back-door-threats-spy-middle-eastern-targets https://www.symantec.com/content/en/us/enterprise/media/security_response/whitepapers/waterbug-attack-group.pdf http://www.symantec.com/connect/blogs/suckfly-revealing-secret-life-your-code-signing-certificates http://blog.trendmicro.com/trendlabs-security-intelligence/an-in-depth-look-at-how-pawn-storms-java-zero-day-was-used/ http://newsroom.trendmicro.com/blog/operation-iron-tiger-attackers-shift-east-asia-united-states http://www.trendmicro.tw/vinfo/us/security/news/cyber-attacks/rocket-kitten-continues-attacks-on-middle-east-targets [11].卡巴斯基的引擎能力包括,高准确性的检测算法(二段偏移+校验值),文件解包模块,静态脱壳模块,obj库的算法扫描能力+虚拟机的动态启发式检测。相比其它而言,卡巴斯基的病毒命名体 系具有相当的准确性及科学性。采用平台+家族+类型+变种 [12].索伦之眼的相关报告: https://securelist.com/analysis/publications/75533/faq-the-projectsauron-apt/ https://media.kasperskycontenthub.com/wp-content/uploads/sites/43/2018/03/07190156/The-ProjectSauron-APT_Technical_Analysis_KL.pdf [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 http://blog.trendmicro.com/trendlabs-security-intelligence/untangling-the-patchwork-cyberespionage-group/ https://researchcenter.paloaltonetworks.com/2018/03/unit42-patchwork-continues-deliver-badnews-indian-subcontinent/ 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 [17.]Gauss:https://securelist.com/analysis/publications/36620/gauss-abnormal-distribution/downloads/vlpdfs/kaspersky-lab-gauss.pdf [18.]http://www.rsa.com/node.aspx?id=3872 [19.]http://www.antiy.com/response/EQUATION_DRUG/EQUATION_DRUG.html [20.]很多人喜欢讨论杀毒软件特征码技术落后具有滞后性,以此认为动态行为分析是解决APT的方案,其实不知动态行为一样可以被隐藏,被绕过监控,一劳永逸的规则与解决方案。 [21.]《乌克兰电力系统遭受攻击事件综合分析报告》 http://www.antiy.com/response/A_Comprehensive_Analysis_Report_on_Ukraine_Power_Grid_Outage/A_Comprehensive_Analysis_Report_on_Ukraine_Power_Grid_Outage.html http://www.antiy.com/response/A_Comprehensive_Analysis_Report_on_Ukraine_Power_Grid_Outage/A_Comprehensive_Analysis_Report_on_Ukraine_Power_Grid_Outage.pdf 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].澳大利亚军方组建新网络司令部 https://www.lowyinstitute.org/publications/full-spectrum-defence-re-thinking-fundamentals-australian-defence-strategy http://www.abc.net.au/news/2017-06-30/cyber-warfare-unit-to-be-launched-by-australian-defence-forces/8665230 http://www.xinhuanet.com/mil/2018-02/01/c_129803547.htm https://www.theaustralian.com.au/national-affairs/defence/australias-worldclass-cyber-warriors-take-the-fight-to-islamic-state/news-story/1c4d7c17c3cbc7435ad316077974ec59 美国成立网络司令部 https://en.wikipedia.org/wiki/Cyberwarfare_in_the_United_States http://niis.cssn.cn/webpic/web/niis/upload/2012/12/d20121207180137851.pdf http://www.defense.gov/Portals/1/features/2015/0415_cyber-strategy/Final_2015_DoD_CYBER_STRATEGY_for_web.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 [26].https://www.langner.com/2010/09/ralphs-step-by-step-guide-to-get-a-crack-at-Stuxnet-traffic-and-behavior/ https://www.langner.com/wp-content/uploads/2017/03/to-kill-a-centrifuge.pdf [27].https://www.trendmicro.com/vinfo/us/threat-encyclopedia/web-attack/54/Stuxnet-malware-targets-scada-systems [28].https://www.fireeye.com/blog/threat-research/2015/07/demonstrating_hustle.html https://www.fireeye.com/blog/threat-research/2015/06/operation-clandestine-wolf-adobe-flash-zero-day.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.com/%E7%BD%91%E7%BB%9C%E6%88%98%EF%BC%9A%E4%BF%A1%E6%81%AF%E7%A9%BA%E9%97%B4%E6%94%BB%E9%98%B2%E5%8E%86%E5%8F%B2%E3%80%81%E6%A1%88%E4%BE%8B%E4%B8%8E%E6%9C%AA%E6%9D%A5-%E4%BF%9D%E7%BD%97%C2%B7%E6%B2%99%E5%85%8B%E7%91%9E%E6%81%A9%EF%BC%88Paulo-Shakarian-%EF%BC%8C%E4%BA%9A%E5%A8%9C%C2%B7%E6%B2%99%E5%85%8B%E7%91%9E%E6%81%A9%EF%BC%88Jana-Shakaria/dp/B01K19LMY2/ref=sr_1_3?s=books&ie=UTF8&qid=1532668345&sr=1-3&keywords=%E7%BD%91%E7%BB%9C%E6%88%98 《兰德报告:美国如何打赢网络战争》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