你的出路,图表:我们如何没有找到一个好的网络图表并创建了我们自己的网络图表

你的出路,图表:我们如何没有找到一个好的网络图表并创建了我们自己的网络图表

Group-IB 专家多年来一直在调查与网络钓鱼、僵尸网络、欺诈交易和犯罪黑客团体相关的案件,使用图形分析来识别各种类型的连接。 不同的案例有自己的数据集、识别连接的算法以及针对特定任务定制的界面。 所有这些工具均由 Group-IB 内部开发,仅供我们的员工使用。

网络基础设施图分析(网络图)成为我们内置到公司所有公共产品中的第一个内部工具。 在创建网络图之前,我们分析了市场上许多类似的开发,但没有找到满足我们自己需求的单一产品。 在这篇文章中,我们将讨论如何创建网络图、如何使用它以及遇到了什么困难。

德米特里·沃尔科夫, IB 集团首席技术官兼网络情报主管

Group-IB网络图可以做什么?

调查

自2003年Group-IB成立至今,识别、惩治网络犯罪分子并将其绳之以法一直是我们工作的重中之重。 如果不分析攻击者的网络基础设施,任何一次网络攻击调查都是不完整的。 在我们的旅程一开始,寻找有助于识别犯罪分子的关系是一项相当艰苦的“体力劳动”:域名、IP地址、服务器数字指纹等信息。

大多数攻击者尝试在网络上尽可能匿名地进行攻击。 然而,像所有人一样,他们也会犯错误。 此类分析的主要目标是找到攻击者的“白色”或“灰色”历史项目,这些项目与我们正在调查的当前事件中使用的恶意基础设施有交叉。 如果能够检测到“白色项目”,那么通常来说,找到攻击者就变成了一项微不足道的任务。 对于“灰色”的情况,搜索需要更多的时间和精力,因为它们的所有者试图匿名或隐藏注册数据,但可能性仍然很高。 一般来说,在犯罪活动开始时,攻击者不太关心自己的安全,犯的错误也较多,因此我们对故事的了解越深入,调查成功的机会就越高。 这就是为什么具有良好历史记录的网络图是此类调查中极其重要的元素。 简而言之,公司拥有的历史数据越深入,其图表就越好。 假设 5 年的历史记录可以有条件地帮助解决 1 起犯罪中的 2-10 起,而 15 年的历史记录则有机会解决所有 XNUMX 起犯罪。

网络钓鱼和欺诈检测

每当我们收到网络钓鱼、欺诈或盗版资源的可疑链接时,我们都会自动构建相关网络资源的图表,并检查所有找到的主机是否有类似内容。 这使您可以找到活跃但未知的旧网络钓鱼站点,以及为未来攻击做好准备但尚未使用的全新网络钓鱼站点。 一个经常发生的基本示例:我们在只有 5 个站点的服务器上发现了一个网络钓鱼站点。 通过检查每个网站,我们发现其他网站上存在网络钓鱼内容,这意味着我们可以阻止 5 个而不是 1 个。

搜索后端

此过程对于确定恶意服务器的实际驻留位置是必要的。
99% 的卡商店、黑客论坛、许多网络钓鱼资源和其他恶意服务器都隐藏在自己的代理服务器和合法服务代理(例如 Cloudflare)后面。 了解真实后端对于调查非常重要:可以得知可以从中获取服务器的托管提供商,并且可以与其他恶意项目建立连接。

例如,您有一个用于收集解析为 IP 地址 11.11.11.11 的银行卡数据的网络钓鱼站点,以及解析为 IP 地址 22.22.22.22 的信用卡商店地址。 在分析过程中,可能会发现钓鱼网站和信用卡商店都有一个共同的后端IP地址,例如33.33.33.33。 这些知识使我们能够在网络钓鱼攻击和可能出售银行卡数据的银行卡商店之间建立联系。

事件关联

当您有两个不同的触发器(假设在 IDS 上)、不同的恶意软件和不同的服务器来控制攻击时,您会将它们视为两个独立的事件。 但如果恶意基础设施之间存在良好的联系,那么很明显,这些不是不同的攻击,而是一个更复杂的多阶段攻击的各个阶段。 如果其中一个事件已归因于任何攻击者组,那么第二个事件也可以归因于同一组。 当然,归因过程要复杂得多,因此请将此视为一个简单的示例。

指标丰富化

我们不会过多关注这一点,因为这是在网络安全中使用图表的最常见场景:您提供一个指标作为输入,作为输出,您将获得一系列相关指标。

识别模式

识别模式对于有效狩猎至关重要。 图表不仅可以让您找到相关元素,还可以识别特定黑客群体的共同属性。 了解此类独特特征使您即使在准备阶段也能识别攻击者的基础设施,并且无需证据确认攻击,例如网络钓鱼电子邮件或恶意软件。

为什么我们要创建自己的网络图?

我们再次研究了不同供应商的解决方案,然后得出结论:我们需要开发自己的工具,该工具可以完成现有产品无法完成的任务。 创建它花了几年的时间,期间我们对其进行了几次彻底的修改。 但是,尽管开发周期很长,我们还没有找到一个能够满足我们要求的类似物。 使用我们自己的产品,我们最终能够解决我们在现有网络图中发现的几乎所有问题。 下面我们将详细考虑这些问题:

问题

缺乏提供不同数据集合的提供商:域、被动 DNS、被动 SSL、DNS 记录、开放端口、在端口上运行的服务、与域名和 IP 地址交互的文件。 解释。 通常,提供商会提供不同类型的数据,要了解完整情况,您需要向每个人购买订阅。 即便如此,并不总是能够获取所有数据:一些被动 SSL 提供商仅提供有关受信任 CA 颁发的证书的数据,并且它们对自签名证书的覆盖范围极差。 其他也使用自签名证书提供数据,但仅从标准端口收集数据。
以上藏品全部是我们自己收集的。 例如,为了收集有关 SSL 证书的数据,我们编写了自己的服务,从受信任的 CA 收集数据并扫描整个 IPv4 空间。 证书不仅从 IP 收集,还从我们数据库中的所有域和子域收集:如果您有域 example.com 及其子域 www.example.com 并且它们都解析为 IP 1.1.1.1,那么当您尝试从 IP、域及其子域上的端口 443 获取 SSL 证书时,您会得到三种不同的结果。 为了收集开放端口和正在运行的服务的数据,我们必须创建自己的分布式扫描系统,因为其他服务通常将其扫描服务器的 IP 地址列入“黑名单”。 我们的扫描服务器最终也会被列入黑名单,但检测我们所需服务的结果高于那些简单地扫描尽可能多的端口并出售对这些数据的访问权限的服务。

无法访问整个历史记录数据库。 解释。 每个正常的供应商都有良好的历史积累,但出于自然原因,我们作为客户无法访问所有历史数据。 那些。 您可以获取单个记录的完整历史记录,例如通过域或 IP 地址,但您无法看到所有内容的历史记录 - 如果没有此记录,您就无法看到完整的情况。
为了收集尽可能多的域名历史记录,我们购买了各种数据库,解析了许多有这段历史的开放资源(数量很多很好),并与域名注册商进行协商。 当然,我们自己的收藏的所有更新都会保留完整的修订历史记录。

所有现有的解决方案都允许您手动构建图表。 解释。 假设您从所有可能的数据提供商(通常称为“丰富者”)购买了大量订阅。 当您需要构建图表时,您“手”给出从所需连接元素构建的命令,然后从出现的元素中选择必要的元素,并给出命令以完成它们的连接,依此类推。 在这种情况下,图表构建的好坏完全由人负责。
我们自动构建了图表。 那些。 如果您需要构建图表,则会自动构建第一个元素的连接,然后也会自动构建所有后续元素的连接。 专家仅指示需要构建图表的深度。 自动完成图表的过程很简单,但其他供应商没有实现它,因为它会产生大量不相关的结果,我们也必须考虑到这个缺点(见下文)。

许多不相关的结果是所有网络元素图的问题。 解释。 例如,一个“坏域”(参与攻击)与一台服务器关联,该服务器在过去 10 年里有 500 个其他域与其关联。 当手动添加或自动构建图表时,所有这 500 个域也应该出现在图表上,尽管它们与攻击无关。 或者,例如,您从供应商的安全报告中检查 IP 指示器。 通常,此类报告的发布会显着延迟,并且通常会持续一年或更长时间。 最有可能的是,在您阅读报告时,具有此 IP 地址的服务器已经租给具有其他连接的其他人,并且构建图表将再次导致您获得不相关的结果。
我们训练系统使用与专家手动操作相同的逻辑来识别不相关的元素。 例如,您正在检查一个坏域 example.com,它现在解析为 IP 11.11.11.11,一个月前解析为 IP 22.22.22.22。 除了域 example.com 之外,IP 11.11.11.11 还与 example.ru 关联,IP 22.22.22.22 与 25 个其他域关联。 系统就像人一样,知道 11.11.11.11 最有可能是专用服务器,并且由于 example.ru 域在拼写上与 example.com 相似,因此它们很可能已连接并且应该位于图形; 但 IP 22.22.22.22 属于共享主机,因此不需要将其所有域都包含在图中,除非有其他连接表明也需要包含这 25 个域之一(例如,example.net) 。 在系统了解需要断开连接并且某些元素不移动到图中之前,它会考虑元素和这些元素组合成的簇的许多属性,以及当前连接的强度。 例如,如果我们在图上有一个小簇(50 个元素),其中包括一个坏域,以及另一个大簇(5 个元素),并且两个簇都通过强度(权重)非常低的连接(线)连接,那么这样的连接将被破坏,并且大簇中的元素将被删除。 但是,如果小簇和大簇之间有很多连接,并且它们的强度逐渐增加,那么在这种情况下,连接不会被破坏,并且两个簇中的必要元素将保留在图上。

不考虑服务器和域所有权间隔。 解释。 “坏域名”迟早会过期并被再次购买用于恶意或合法目的。 即使防弹托管服务器也会租给不同的黑客,因此了解并考虑特定域/服务器受一个所有者控制的时间间隔至关重要。 我们经常遇到这样的情况:IP 11.11.11.11 的服务器现在被用作银行机器人的 C&C,而 2 个月前它被勒索软件控制。 如果我们在不考虑所有权间隔的情况下建立连接,那么银行僵尸网络的所有者和勒索软件之间看起来似乎存在联系,但实际上并没有联系。 在我们的工作中,这样的错误是至关重要的。
我们教导系统确定所有权间隔。 对于域名来说,这相对简单,因为 whois 通常包含注册开始日期和到期日期,并且当有完整的 whois 更改历史记录时,很容易确定间隔。 当域名的注册尚未过期,但其管理权已转移给其他所有者时,也可以对其进行跟踪。 SSL证书不存在这样的问题,因为它们是一次性颁发的,并且不会更新或转让。 但对于自签名证书,您不能信任证书有效期中指定的日期,因为您可以在今天生成 SSL 证书,并指定证书的开始日期为 2010 年。 最困难的是确定服务器的所有权间隔,因为只有托管提供商才有日期和租赁期限。 为了确定服务器所有权期限,我们开始使用端口扫描的结果并创建端口上正在运行的服务的指纹。 使用这些信息,我们可以相当准确地得知服务器所有者何时发生变化。

连接很少。 解释。 如今,获取 whois 包含特定电子邮件地址的免费域名列表,或者找出与特定 IP 地址关联的所有域名,甚至都不是问题。 但是,当涉及到尽最大努力难以追踪的黑客时,我们需要额外的技巧来寻找新的属性并建立新的连接。
我们花了很多时间研究如何提取传统方式无法获得的数据。 由于显而易见的原因,我们无法在这里描述它是如何工作的,但在某些情况下,黑客在注册域名或租用和设置服务器时会犯错误,从而使他们能够找到电子邮件地址、黑客别名和后端地址。 您提取的连接越多,您可以构建的图表就越准确。

我们的图表如何运作

要开始使用网络图,您需要在搜索栏中输入域、IP 地址、电子邮件或 SSL 证书指纹。 分析师可以控制三个条件:时间、步长深度和清除。

你的出路,图表:我们如何没有找到一个好的网络图表并创建了我们自己的网络图表

时间

时间 – 搜索元素被用于恶意目的的日期或时间间隔。 如果不指定该参数,系统将自行确定该资源的最后所有权间隔。 例如,11月XNUMX日,Eset发布 报告 关于 Buhtrap 如何利用 0day 漏洞进行网络间谍活动。 报告最后有6个指标。 其中之一 secure-telemetry[.]net 于 16 月 16 日重新注册。 因此,如果您在 126 月 69 日之后构建图表,您将得到不相关的结果。 但是,如果您表明此域名在此日期之前已被使用,则该图表将包含 XNUMX 个新域名、XNUMX 个未在 Eset 报告中列出的 IP 地址:

  • ukrfreshnews[.]com
  • unian-search[.]com
  • 维斯蒂世界[.]信息
  • runewsmeta[.]com
  • 福克斯新闻元[.]biz
  • sobesednik-元[.]信息
  • rian-ua[.]net
  • 等等

除了网络指示器之外,我们还立即找到了与该基础设施有连接的恶意文件的连接,以及告诉我们使用了 Meterpreter 和 AZORult 的标签。

最棒的是,您可以在一秒钟内获得结果,而不再需要花费数天的时间来分析数据。 当然,这种方法有时会显着减少调查时间,而这通常是至关重要的。

你的出路,图表:我们如何没有找到一个好的网络图表并创建了我们自己的网络图表

构建图表的步骤数或递归深度

默认情况下,深度为3。这意味着将从所需元素中找到所有直接相关的元素,然后从每个新元素到其他元素建立新的连接,并从最后一个新元素创建新元素步。

让我们举一个与 APT 和 0day 漏洞无关的例子。 最近,Habré 上描述了一起与加密货币相关的有趣欺诈案例。 该报告提到了域名themcx[.]co,诈骗者使用该域名托管一个声称是矿工币交易所和电话查找[.]xyz的网站以吸引流量。

从描述中可以清楚地看出,该方案需要相当大的基础设施来吸引欺诈资源的流量。 我们决定通过 4 个步骤构建图表来研究该基础设施。 输出是一个包含 230 个域和 39 个 IP 地址的图表。 接下来,我们将域分为两类:类似于使用加密货币的服务的域和旨在通过电话验证服务驱动流量的域:

与加密货币相关
与电话打卡服务相关

coinkeeper[.]cc
来电记录[.]站点。

mcxwallet[.]co
电话记录[.]空间

btcnoise[.]com
fone-uncover[.]xyz

加密矿工[.]手表
number-uncover[.]info

你的出路,图表:我们如何没有找到一个好的网络图表并创建了我们自己的网络图表

清洁的

默认情况下,“图形清理”选项处于启用状态,所有不相关的元素将从图形中删除。 顺便说一句,它在前面的所有示例中都使用过。 我预见到一个自然的问题:我们如何确保重要的东西不被删除? 我会回答:对于喜欢手工构建图表的分析师来说,可以禁用自动清理,并且可以选择步骤数 = 1。接下来,分析师将能够从他需要的元素中完成图表,并从中删除元素与任务无关的图表。

分析人员可以在图表上看到 whois、DNS 以及在其上运行的开放端口和服务的更改历史记录。

你的出路,图表:我们如何没有找到一个好的网络图表并创建了我们自己的网络图表

金融钓鱼

我们调查了一个 APT 组织的活动,该组织多年来对不同地区的多家银行的客户进行网络钓鱼攻击。 该组织的一个显着特征是注册的域名与真实银行的名称非常相似,并且大多数网络钓鱼网站具有相同的设计,唯一的区别在于银行的名称及其徽标。

你的出路,图表:我们如何没有找到一个好的网络图表并创建了我们自己的网络图表
在这种情况下,自动图形分析对我们帮助很大。 以他们的一个域名 - lloydsbnk-uk[.]com 为例,我们在几秒钟内构建了一个深度为 3 步的图表,该图表识别出该组织自 250 年以来一直使用并继续使用的 2015 多个恶意域名。 其中一些域名已被银行购买,但历史记录显示它们之前已被攻击者注册。

为了清楚起见,该图显示了深度为 2 步的图。

值得注意的是,早在2019年,攻击者就改变了策略,不仅开始注册银行域名用于托管网络钓鱼,还开始注册各种咨询公司的域名用于发送钓鱼邮件。 例如,域名 swift-department.com、saudconsultancy.com、vbgrigoryanpartners.com。

你的出路,图表:我们如何没有找到一个好的网络图表并创建了我们自己的网络图表

钴帮

2018年XNUMX月,专门针对银行进行定向攻击的黑客组织Cobalt代表哈萨克斯坦国家银行发起了一次邮件活动。

你的出路,图表:我们如何没有找到一个好的网络图表并创建了我们自己的网络图表
这些信件包含 hXXps://nationalbank.bz/Doc/Prikaz.doc 的链接。 下载的文档包含启动 Powershell 的宏,该宏将尝试从 %Temp%einmrmdmy.exe 中的 hXXp://wateroilclub.com/file/dwm.exe 加载并执行该文件。 文件 %Temp%einmrmdmy.exe 又名 dwm.exe 是一个 CobInt stager,配置为与服务器 hXXp://admvmsopp.com/rilruietguadvtoefmuy 交互。

想象一下无法接收这些网络钓鱼电子邮件并对恶意文件进行全面分析。 恶意域nationalbank[.]bz 的图表立即显示与其他恶意域的连接,将其归因于一个组并显示攻击中使用了哪些文件。

你的出路,图表:我们如何没有找到一个好的网络图表并创建了我们自己的网络图表
让我们从此图中获取 IP 地址 46.173.219[.]152,并通过它一次性构建一个图并关闭清理。 有 40 个与之关联的域,例如 bl0ckchain[.]ug
paypal.co.uk.qlg6[.]pw
cryptoelips[.]com

从域名来看,它们似乎被用于欺诈计划,但清理算法意识到它们与这次攻击无关,因此没有将它们放在图表上,这大大简化了分析和归因的过程。

你的出路,图表:我们如何没有找到一个好的网络图表并创建了我们自己的网络图表
如果您使用Nationalbank[.]bz重新构建图表,但禁用图表清理算法,那么它将包含超过500个元素,其中大多数与Cobalt组织或其攻击无关。 下面给出了此类图表的示例:

你的出路,图表:我们如何没有找到一个好的网络图表并创建了我们自己的网络图表

结论

经过几年的微调、实际调查测试、威胁研究和追捕攻击者,我们不仅成功地创建了一个独特的工具,而且还改变了公司内部专家对此的态度。 最初,技术专家希望完全控制图构建过程。 让他们相信自动图构建可以比具有多年经验的人做得更好是极其困难的。 一切都是由时间和对图表生成结果的多次“手动”检查决定的。 现在,我们的专家不仅信任该系统,而且还在日常工作中使用其获得的结果。 这项技术适用于我们的每个系统,使我们能够更好地识别任何类型的威胁。 手动图形分析界面内置于所有 Group-IB 产品中,并显着扩展了网络犯罪追捕的功能。 我们客户的分析师评论证实了这一点。 反过来,我们继续用数据丰富图表,并使用人工智能开发新算法来创建最准确的网络图表。

来源: habr.com

添加评论