其他

NotPetya:针对乌克兰的定向攻击

2017-07-06 J0ker 国际安全简报

上周二发生的NotPetya勒索软件爆发事件尚未尘埃落定之际,越来越多的证据正在表明NotPetya可能并不是以谋求经济利益为目的的勒索软件,而是一个针对乌克兰机构、可实施毁灭性网络攻击的恶意软件。NotPetya的设计看来与勒索软件类似,但实际上该恶意软件首先感染并不出名的乌克兰国产软件,而后以极快的速度在受害者网络内传播,并在激活时损害或摧毁受其感染的系统。


安全研究者最初将NotPetya识别为Petya勒索软件的一个变种,该恶意软件的传播机制与5月爆发的WannaCry勒索软件相同,也借用了从美国安局(NSA)外泄的“永恒之蓝(EthernalBlue)”漏洞利用工具进行传播。然而,NotPetya的功能设计比WannaCry更精巧,攻击过程也策划得更完善。首先,NotPetya并未像WannaCry那样内置“安全开关”,一旦启动就无法停止。其次,NotPetya还具备利用Web攻击——即“隐蔽强迫下载(Drive-by-Download)”和“水坑攻击(Watering hole)”进行扩散的能力。最后,与只加密受害者文件并要求赎金的传统勒索软件不同,NotPetya在加密文件后会覆盖写入被感染机器的主启动记录(Master Boot Record,MBR),使被感染机器再也无法启动。换言之,尽管NotPetya设计有用户支付赎金并解密被加密文件的功能,但它的破坏行为更像是一款专门破坏数据的恶意软件,受害者通常也很难再次找回被它所加密的数据。


NotPetya与WannaCry最大的区别,是它并不以“永恒之蓝”漏洞工具作为在公众互联网上扩散的手段,而通过感染乌克兰会计软件MEDoc而进行传播。MEDoc是一款相当少见的乌克兰国产软件,以该软件作为发动攻击的要素,显然不可能像WannaCry那样获得全球性的影响力和经济效益。事实上,MEDoc在乌克兰国内也只是被政府机构及各类企业用于涉税有关事务,也就是说,任何在乌克兰开展商务活动的机构实体都必须使用MEDoc,而针对该软件的攻击显然会伤害到参与乌克兰社会经济活动的任何机构实体。


因此,NotPetya借道MEDoc入侵某个企业后,它将使用“永恒之蓝”工具,在该企业内网中像野火般蔓延。这能够解释为何像丹麦企业马士基集团——全球七大航运企业之一——并非乌克兰企业,却也遭到NotPetya的沉重打击。尽管马士基集团及其他遭同样攻击的企业目前并未就该攻击事件披露更多情况,但如果说最初的攻击发生在乌克兰或东欧地区,而后扩散至整个集团的内网,显然也能解释得通。


那么,谁是NotPetya的幕后黑手?乌克兰本国的安全研究者认为俄罗斯黑客是该攻击事件的始作俑者,但拿不出更有说服力的证据。从地缘政治角度来说,怀疑俄罗斯并非是毫无理由的。首先,俄罗斯在2014年入侵和吞并克里米亚后,就与乌克兰处于实质战争的状态,两国都在边境上部署重兵,也曾爆发过多次遭遇战。俄罗斯一直试图操纵乌克兰政治,并煽动东乌克兰的俄罗斯族人反对基辅中央政府。或许只是巧合,乌克兰国防情报局局长沙波瓦尔(Maksim Shapoval)在NotPetya爆发的同一日遭汽车炸弹袭击身亡,此人曾领导一个在东乌克兰战斗的反俄罗斯武装团体。NetPetya爆发与沙波瓦尔死于非命发生在同一天,显然会引起这两个事件有所关联的猜想。


其次,尽管有少数俄罗斯公司同样遭到了NotPetya的攻击,但它们的运转似乎并未受到太大影响,相关商业活动也很快恢复正常,而马士基集团及其他乌克兰企业至今仍未从攻击中恢复。这可能只是因为那些俄罗斯企业更重视安全,并在NotPetya爆发前及时地加强了内网的安全防范,但这仍是个相当令人惊讶的结论。


第三,俄罗斯有相当长的对乌克兰实施黑客攻击的历史,有安全研究者认为乌克兰一直被俄罗斯开展毁灭性网络攻击的试验场。在过去的三年里,俄罗斯黑客已攻击了乌克兰的政府机构、电力网络和企业,并造成了相当的经济损失。


最后,除了俄罗斯之外,没有其他国家或组织能够从打击乌克兰经济中获益。NotPetya攻击事件中或许存在勒索软件的元素,然而既然能感染乌克兰会计软件MEDoc,攻击者却没有利用这个渠道窃取乌克兰企业的资金,而要使用更为费时耗力的勒索方式,显然是说不过去的。实际上,NotPetya摧毁式的“数据加密”,更透露了幕后黑手有打击和损害乌克兰的理由,而即便是据称实施了WannaCry攻击的朝鲜黑客,也没有刻意地破坏韩国受感染目标上的数据。

 


简评:

    不管如何,NotPetya以每一个在乌克兰经商的机构实体为打击对象,其实施者的动机相当值得怀疑。而此次攻击事件背后的针对性和缜密策划,也相当值得我国有关部门及安全行业研究。


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存