本研究是McAfee和Intezer研究人员共同完成的,作者Jay Rosenberg(Intezer)和Christiaan Beek(McAfee)。
分析发现来自Lazarus、Silent Chollima、Group 123、Hidden Cobra、DarkSeoul、Blockbuster、Operation Troy、10 Days of Rain的攻击都来自朝鲜。那么这些攻击组织之间有没有什么关系呢?这些攻击组织与WannaCry又有什么关系呢?本文就以上问题进行分析和解答。
从Mydoom变种Brambul到最近的Fallchill、WannaCry、和对加密货币交易所的攻击,研究人员发现从朝鲜进入威胁世界后的攻击时间线。攻击者在攻击中都会留下痕迹,研究人员可以将这些点联系起来。朝鲜攻击者在恶意软件发展的过程中留下了许多的线索。
研究人员通过代码分析说明了朝鲜攻击活动中样本之间的相似性揭示了网络基础设施之间的关系,以及其他二进制文件下隐藏的数据。这些数据一起说明了攻击活动之间的关系,研究人员还对不同组织之间使用的攻击进行了分类。
代码重用是网络犯罪世界中常用的方法,其背后的原因有很多。攻击者在发起勒索软件活动时间,如果不成功,就会对代码进行修改以绕过防护措施。而且要确保攻击者使用的工具尽可能地不被检测到。识别出重用的代码后,就可以找出不同攻击者和攻击活动之间的关系。
研究人员在调查网络威胁时发现朝鲜发起了多个网络攻击活动。在朝鲜,黑客的技能决定了为哪个网络攻击组织工作。研究人员发现朝鲜活动的两个关注点是挣钱和达到国家目的。第一批攻击者会为国家收集金钱,甚至黑进金融机构、劫持赌博会话、出售盗版和破解的软件进行犯罪行为。Unit 180就是负责利用黑客技术来非法收集外币的组织。第二批攻击者会从其他国家收集情报、破坏敌对国家和军事目标等达到国家目的,Unit 121就是这样的组织。
研究人员在分析过程中发现有国家背景的攻击活动中存在大量的代码重用。
本文描述了恶意软件样本和有名的攻击活动的时间线,这也是研究的起点,主要通过论文和博客进行总结。
图1: 恶意软件和攻击活动的时间线
研究人员发现许多恶意软件家族名都与朝鲜网络活动相关。为了更好地理解这些攻击者和攻击活动之间的相似性,研究人员使用了Intezer的代码相似性检测引擎勾画出大量恶意软件家族之间的关系。
下图是这些关系的概览图,每个节点表示一个恶意软件家族或攻击中使用的恶意工具,每条边表示两个恶意软件家族之间的代码相似性。边的粗细表示代码之间的相似度。定义相似度时只考虑唯一的代码联系,不考虑常见的代码和库。
图2: 朝鲜恶意软件家族之间的代码相似度概览图
图中可以看出几乎所有的恶意软件家族之间都存在大量的代码相似,研究中的样本大都是未分类的。上图只使用了几百个样本,所以全图中的关系可能更加复杂。
研究人员在研究中发现了之前没发现的一些代码相似的情况。之前并没有把一些攻击和其中的一些恶意软件关联起来。经过分析之后,研究人员对其进行了关联。
第一个代码样本出现在WannaCry(2017)、Mydoom(2009)、Joanap和DeltaAlfa的SMB(server message block,服务器消息块)模块中。这些恶意软件家族共享的代码还有CodeProject项目的AES库。这些攻击最终对归结于Lazarus组织,也就是说该组织至少从2009到2017年都在重用代码。
图3: Mydoom样本的代码重叠
下面是攻击中常见的SMB模块代码块,有别于WannaCry 和Mydoom。
图4: 攻击中常见的SMB模块
针对WannaCry的分析有很多了,所以直接分析代码,可以得出下面的结果:
图5: WannaCry代码比较
研究人员对比分析了WannaCry的三个主要变种,2017年2月和4月的beta版以及5月的版本。
第二个代码重用的例子是负责映射文件和在文件的前4个字节使用key 0xDEADBEEF进行XOR加密的代码。这段代码出现在NavRAT、Gold Dragon和韩国赌场被黑活动中使用的一个DLL中。这三个RAT都与朝鲜的Group 123组织有关,NavRAT和韩国赌场被黑活动中使用的一个DLL相似代码更多,应该是一个变种。
图6: NavRAT样本的代码重叠
图7: 文件映射代码
第三个样本是负责用net share启动cmd.exe的,出现在Brambul(SierraBravo,2009)和KorDllBot(2011)中。这些恶意软件家族都与Lazarus组织有关。
图8: SierraBravo (Brambul) 样本的代码重叠
图9: Brambul/SierraBravo和KorDllBot恶意软件家族中重用的代码块
2014年,Kaspersky报告了一起针对亚洲酒店的持续超过7年的攻击活动,攻击者使用了一些攻击来入侵酒店访问用户的电脑。使用了0 day漏洞和控制服务器,恶意软件家族被称作Tapaoux和DarkHotel。
在检查朝鲜样本时,研究人员注意与到收集到的Dark Hotel样本有关。分析代码发现,有大量的代码重叠和重用,比如与Operation Troy样本的代码重用。
图10: Dark Hotel样本中的代码重用
通过比较和代码块识别,研究人员发现了恶意软件家族和攻击组织之间的关系。
图11:通过代码重用分析出的攻击组织与恶意软件家族的关系
Lazarus组织的恶意软件的代码重用比较多,同时也是许多朝鲜网络活动名,从中可以看出不同恶意软件家族和攻击活动之间的关系。
恶意软件NavRAT、赌博、Gold Dragon应该是Group 123创建的,这件软件之间彼此关联,但与Lazarus使用的恶意软件是分开的。虽然是针对不同区域的攻击单元,他们看起来是一个合作的并行架构。
从恶意软件样本的分析中,可以识别出他们使用的一些技术:
用MITRE模型的Discovery分类,发现这些技术主要是一阶段dropper恶意软件。攻击者将恶意样本释放到受害者机器上,并收集受害者设备和网络的相关信息。
2018年有很多的攻击活动样本都用PowerShell来下载和执行这些dropper。一旦信息发送给控制服务器,攻击者就会进行下一步行动,包括在网络上安装远程访问工具来完成攻击的最终目的。
研究人员在分析过程中发现不同的安全厂商和研究人员会对相同的恶意软件、攻击组织和攻击活动使用不同的名字。这种习惯对分析活动带来了一定的影响。本文通过代码重用这种科学的方法分析了恶意软件与攻击活动和攻击组织之间的关系。这对大家了解和分析朝鲜的攻击活动会有一定的帮助。