当前位置: 首页 > 科技观察

利用代码相似性提前预测重大网络安全风险

时间:2023-03-17 00:09:49 科技观察

近日,卡巴斯基实验室正式宣布发布卡巴斯基威胁归因引擎(KTAE),这是一种最初由卡巴斯基全球研究和分析团队开发供内部使用的代码归因技术,您可以去直接到卡巴斯基公司网站的信息页面了解详细信息。2017年5月12日,计算机勒索病毒WannaCry在全球爆发,瞬间影响了150多个国家的75000台计算机,英国、美国、中国、俄罗斯、西班牙、意大利等99个国家受到攻击。.此后不久,西班牙计算机应急响应小组CCN-CERT在其网站上发布了一条警报,称大规模勒索软件攻击影响了西班牙的多个组织。该警告建议安装Microsoft2017年3月安全公告中的更新,以此作为阻止攻击传播的一种手段。与此同时,英国国民健康服务体系(NHS)也发出警报,16家医疗机构确诊感染。卡巴斯基的SystemWatcher组件对于阻止这些攻击很重要,如果恶意样本设法绕过其他防御措施,SystemWatcher组件可以回滚勒索软件所做的更改。如果勒索软件样本越过防御并尝试加密磁盘上的数据,这将非常有用。随着分析的进行,研究人员开始了解更多;例如,该感染依赖于2017年4月14日通过Shadowbrokers转储发现的一个众所周知的漏洞(代号为“EternalBlue”)。该漏洞已在互联网上发布并于3月14日由微软修复。尽管距此已经两个月了补丁发布了,好像很多公司还没有打补丁。研究人员整合了几个博客,更新了研究人员的技术支持页面,并确保所有样本都被检测到并被阻止,即使是在易受“永恒之蓝”攻击的系统上。WannaCry勒索软件在世界范围内广泛使用在WannaCry之后,研究人员正在寻找与已知犯罪分子或APT组织的任何可能联系,试图确定该恶意软件如何能够在短短几天内引起这种流行病。谈到勒索软件,研究人员很少看到全新的、大流行级别的样本是从头开始构建的。在大多数情况下,勒索软件攻击会利用犯罪分子在地下论坛上出售的一些流行的恶意软件。但是,研究人员无法找到任何已知勒索软件变体的链接。感谢谷歌研究员NeelMehta,他在推特上发布了一条带有#WannaCryptAttribution标签的神秘消息:这条神秘消息实际上是指两个具有共享代码的样本之间的相似性,Neel在文章中提到了这两个样本。这些样本是:2017年2月的WannaCry样本,看起来像非常早期的变种;2015年2月来自LazarusAPT组的样本。下面的屏幕截图显示了两个样本之间的相似性并突出显示了共享代码:虽然有人怀疑链接,但研究人员认为它是正确的。这种代码重叠的发现显然不是随机的。多年来,谷歌将他们从Zynamics获得的技术集成到他们的分析工具中,使得基于共享代码的恶意软件样本聚类成为可能。显然,这项技术似乎运作良好。考虑到WannaCry和Lazarus之间的联系,研究人员制定了一项计划,以建立一种技术,该技术可以快速识别恶意软件攻击之间的代码重用,并在未来的情况下识别可能的罪魁祸首。如何?研究人员的目标是让这项技术在更大范围内可用,以帮助威胁猎手、SOC和CERT加快事件响应或恶意软件分类。新技术的第一个原型于2017年6月在卡巴斯基内部发布,研究人员在接下来的几个月里继续对其进行完善和微调。原理上,代码相似性原则很容易理解。过去已经测试和讨论了几种方法,包括:1.计算子程序的校验和并将其与数据库进行比较;2.重构代码流并从中创建图,比较相似结构的图;3.提取n-gram并与数据库进行比对;4.对整个文件或部分文件使用模糊散列;5.使用元数据,例如丰富的标头、导出文件或文件的其他部分,虽然这不是代码相似性,但它仍然可以产生一些非常好的对比结果。例如,要找到两个恶意软件样本之间的共同代码,例如,可以提取所有8-16字节的字符串,然后检查重叠。但是,主要存在两个问题:1.恶意软件集合太大,如果研究人员想要对所有文件都这样做,研究人员需要一个大的计算集群和大量的存储空间;2、资本支出太小。此外,以研究人员可以作为独立盒子、VM或设备交付的高效方式进行大量代码提取、分析和存储(更不用说搜索)是另一个复杂程度。为了改进它,研究人员开始试验基于代码的Yara规则。这个想法也很简单:从样本中找到的唯一代码创建一个Yara规则,然后使用我们现有的系统使用该Yara规则扫描恶意软件集合。这是一个受WannCry启发的示例:上面这个看似良性的Yara规则捕获了BlueNoroff(在孟加拉国银行抢劫中使用的恶意软件)、ManusCrypt(LazarusAPT使用的更复杂的恶意软件,也称为FALLCHILL)和Decafett,一个键盘记录器研究人员之前无法链接到任何已知的APT。2017年9月,研究人员在识别共享代码方面取得了突破,并首次能够将一个新的“未知”恶意软件链接到一个已知实体或一组工具。这发生在#CCleaner事件期间,最初由Morphisec和CiscoTalos发现。特别是,研究人员使用该技术在Cbkrdrshellcode加载程序中发现了一个代码片段,它是自定义base64编码子程序的一部分,它与之前的恶意软件样本相同,名为Missl,据称被APT17使用:深入挖掘后,研究人员发现至少三个恶意软件家族共享此代码:Missl、Zoxpng/Gresim和Hikit,如下图Yara规则所示:自主运行作为定义Yara规则的结果,从恶意软件样本中提取的独特代码片段不会出现在任何干净的样本中,它们特定于该恶意软件家族。很快,卡巴斯基威胁归因引擎(“KTAE”)(在内部也被昵称为“Yana”)成为研究人员的流行分析工具。实际测试美国网络司令部,简称USCYBERCOM,于2018年11月开始向VirusTotal发送样本,研究人员认为这是一个非常好的举措。这些上传的唯一缺点是缺乏任何上下文,例如恶意软件家族,它是APT还是其他组,以及它们是在野外发现的还是从某处偷猎的。虽然第一次上传的是经过重新调整用途的AbsoluteComputrace加载程序,这不是什么难以识别的问题,但2019年5月上传的却有点难以识别。标记为Sofacy,特别类似于XTunnel示例。分析d51d485f98810ab1278df4e41b6927612020年2月,USCYBERCOM发布了另一批样本,研究人员迅速与KTAE进行了验证。结果显示,包括Lazarus、Andariel、HollyCheng在内的多个APT组织使用了一组不同的恶意软件系列,其共享代码片段可追溯到DarkSeoul攻击、OperationBlockbuster和SPEHack。更有意义的是,USCYBERCOM在2020年5月发布了另一批样本,KTAE也发现了类似的模式。当然,有人可能会想,除了帮助识别USCYBERCOM的VT转储之外,KTAE还能做什么?为了进行更实际的检查,研究人员查看了2018年SingHealth数据泄露事件中的样本。维基百科称该事件是由身份不明的国家行为者发起的。虽然这次攻击中使用的大多数样本相对通用并且与之前的攻击没有任何相似之处,但其中两个样本具有非常有趣的联系:KTAE对SingHealth数据泄露中使用的两个样本的分析当研究人员分析一组样本时,出现了另一个有趣的情况Shadowbrokers转储中包含的文件。分析07cc65907642abdc8972e62c1467e83b在上面的示例中,“cnli-1.dll”(md5:07cc65907642abdc8972e62c1467e83b)被标记为与Regin的相似度高达8%。查看该文件,研究人员发现这是一个包含许多自定义导出的DLL:查看导出(例如fileWriteEx)会发现该库实际上是作为流行IO函数的包装器创建的,很可能是出于可移植性目的,以便可以针对不同平台编译代码:说到多平台恶意软件,最近Leonardo的同事发表了他们对一组新的Linux系统Turla样本的分析。我们最初是在2014年发现TurlaPenquin(该组织的Linux后门之一)时发布了这些内容。其中一个样本(sha256:67d9556c695ef6c51abf6fbab17acb3466e3149cf4d20cb64d6d34dc969b6502)已于2020年4月上传到VirusTotal。在KTAE中对该样本的快速检查揭示了以下内容:b4587870ecf51e8ef67d98bb83bc4be7-Turla64位Penquin样本分析研究人员可以看到与其他两个样本的高度相似性(99%和99%),与其他已知TurlaPenquin的相似性样本量低。通过查看它们的共同点,研究人员立即发现了一些适合Yara规则的候选者。当代码相似性失败时在研究一项激动人心的新技术时,有时很容易忽略它的陷阱和局限性。但是,重要的是要了解代码相似性技术只能满足某些检测的需要,分析师仍有责任验证和验证线索。以OlympicDestroyer为例,这是一种非常有趣的攻击,最初由CiscoTalos描述和命名。在他们的研究中,思科Talos研究人员指出,OlympicDestroyer使用与Badrabbit和NotPetya类似的技术来重置事件日志和删除备份。尽管这两种技术在意图和目的上相似,但在代码语义上存在许多差异。绝对不是复制粘贴代码,并且由于命令行在安全博客上公开讨论,因此任何想要使用它们的人都可以使用这些简单的技术。此外,Talos研究人员指出,evtchk.txt文件名与evtdiag非常相似,后者是恶意软件在运行期间使用的虚假标志。2016年,BlueNoroff/Lazarus在孟加拉国的Swift网络盗窃案中使用了exe、evtsy.exe和evtchk.bat。在Talos报告发布后不久,以色列公司IntezerLabs在推特上表示,它发现了与中国APT组织的联系。作为二级节点,IntezerLabs本身就有非常优秀的代码相似度技术,大家可以去他们的网站analytics.intezer.com看看。几天后,媒体开始发表文章暗示俄罗斯APT组织的潜在动机和活动。CrowdstrikeIntelligence表示,在2017年11月和2017年12月,它观察到国际体育中的凭证收集。当时,该操作归因于俄罗斯黑客组织FancyBear。另一方面,Crowdstrike自己的情报副总裁亚当迈耶斯在接受媒体采访时表示:“没有证据表明FancyBear与奥运会袭击事件有关。另一家公司RecordedFuture决定不将此次攻击归咎于任何一方。然而,他们声称发现了与BlueNoroff/LazarusLimaCharlie恶意软件加载器的相似之处,该恶意软件加载器被广泛认为是朝鲜黑客组织。同时,研究人员还使用KTAE检查样本是否与先前已知的任何可能的联系活动。令人惊讶的是,KTAE发现了一个独特的模式,它也将OlympicDestroyer和Lazarus联系起来。可执行文件中存储的特定代码开发环境特征的组合,称为富标头,在某些情况下可用于识别恶意软件开发者。分析3c0d740347b0362331c882c2dee96dbf4%的相似度上面显示的是示例Richheader,最初,我们很惊讶地发现这种联系,尽管它是有道理的。其他公司也发现了相似之处,而Lazarus已经以多次破坏性攻击而闻名。但有些事情似乎很奇怪。朝鲜的参与看起来不太可能,尤其是金正恩的妹妹参加了在平昌举行的开幕式。根据研究人员的取证调查,此次攻击发生在2018年2月9日正式开幕式之前。随着研究人员对该案件的深入调查,研究人员得出结论认为这是一次精心设计的错误标记;进一步的研究使研究人员能够将这次攻击与HadesAPT组织联系起来。这证明即使是最好的归因或代码相似性技术,也可能被经验丰富的攻击者干扰,因此不应盲目依赖这些工具。当然,提示在大多数情况下是非常有效的。随着攻击者变得更加熟练,研究人员可能会遇到更多的错误标记。本文翻译自:https://securelist.com/big-threats-using-code-similarity-part-1/97239/