网络安全

威胁情报最佳实践提示

mm
将 Unite.AI 添加到您在 Google 上的首选来源

很多人说威胁情报(TI)很好吃,但很少有人知道如何烹饪它。更少的人知道哪些过程需要参与才能使TI发挥作用并带来利润。此外,几乎没有人知道如何选择一个feed提供商,在哪里检查假阳性指标,以及是否值得阻止同事通过WhatsApp发送的域名。

我们有两个商业APT订阅,十个信息交换,约十几个免费feed,以及一个TOR出口节点的综合列表。我们还使用了一些强大的逆向工具,精通Powershell脚本,Loki扫描器和付费VirusTotal订阅。虽然没有这些,安全事件响应中心仍然可以工作,但如果你想捕捉复杂的攻击,你必须全力以赴。

我特别关心的是检查指标的自动化。没有什么比人工智能取代人类在需要思考的活动中更不道德的了。然而,我意识到我的公司迟早会面临这个挑战,因为我们的客户数量正在增长。

在几年的持续TI活动中,我踩了很多雷,我想提供一些提示来帮助新手避免常见的错误。

提示1。不要寄希望于通过哈希捕获东西:大多数恶意软件都是多态的

威胁情报数据以不同的格式和表现形式出现。它可能包括botnet命令和控制中心的IP地址,参与钓鱼活动的电子邮件地址,以及关于APT组即将使用的规避技术的文章。简而言之,这些可以是不同的事情。

为了整理这个混乱,David Bianco建议使用所谓的Pyramid of Pain。它描述了不同指标之间的关联,这些指标用于检测攻击者,以及识别特定IOC时对攻击者造成的“痛苦”量。

例如,如果你知道恶意文件的MD5哈希,可以轻松准确地检测到它。然而,这不会对攻击者造成太大的痛苦,因为添加仅1位信息到该文件将完全改变其哈希。

提示2。尝试使用攻击者技术上难以改变或昂贵的指标

预测如何找到一个具有给定哈希的文件是否存在于我们的企业网络中,我会说以下几点:有不同的方法。其中最简单的方法是使用一个维护所有企业内可执行文件的MD5哈希数据库的解决方案。

让我们回到Pyramid of Pain。与通过哈希值检测相比,识别攻击者的TTP(战术、技术和程序)更为有效。这样做更难,也需要更多的努力,但你会对对手造成更多的痛苦。

例如,如果你知道针对你经济部门的APT团队发送带有*.HTA文件的钓鱼邮件,那么创建一个检测规则来查找此类电子邮件附件将会打击攻击者。他们将不得不修改垃圾邮件策略,并可能需要花钱购买0-day或1-day漏洞,这些漏洞并不便宜。

提示3。不要寄希望于别人创建的检测规则,因为你需要检查这些规则的假阳性并对其进行微调

当你开始创建检测规则时,总是会有使用现成规则的诱惑。 Sigma 是一个免费仓库的例子。它是一个SIEM独立的检测方法格式,允许你将Sigma语言规则转换为ElasticSearch以及Splunk或ArcSight规则。该仓库包含数百个规则。看起来很棒,但魔鬼总是在细节中。

让我们看一下 mimikatz 检测规则。该规则检测尝试读取lsass.exe进程内存的进程。mimikatz在尝试获取NTLM哈希时会执行此操作,该规则将识别恶意软件。

然而,对于我们这些不仅仅是检测而且还响应事件的专家来说,必须确保它确实是一个恶意行为。遗憾的是,有许多合法的进程会读取lsass.exe内存(例如,一些防病毒工具)。因此,在现实场景中,像这样的规则会产生更多的假阳性而不是好处。

我不想指责任何人 – 所有的解决方案都会产生假阳性;这是正常的。然而,威胁情报专家需要了解,从开放和封闭源获取的规则的双重检查和微调仍然是必要的。

提示4。检查域名和IP地址的恶意行为,不仅要在代理服务器和防火墙上,还要在DNS服务器日志中 – 同时要关注成功和失败的解析尝试

恶意域名和IP地址从检测简单性和对攻击者造成的痛苦量的角度来看是最优的指标。然而,它们看起来很容易处理,只是在表面上如此。至少,你应该问自己一个问题:从哪里获取域名日志。

如果你只限制在检查代理服务器日志上,你可能会错过直接查询网络或请求由DGA生成的不存在的域名的恶意代码,不要说DNS隧道 – 这些都不会在企业代理服务器的日志中列出。犯罪者还可以使用具有高级功能的 VPN服务 或创建自定义隧道。

提示5。监视或阻止 – 只有在确定指标类型和阻止的潜在后果后才决定

每个IT安全专家都面临着一个非平凡的困境:阻止威胁还是监视其行为并在触发警报时开始调查。一些说明鼓励你选择阻止,但有时这样做是一个错误。

如果指标是APT组使用的域名,不要阻止它 – 开始监视它。部署有针对性的攻击的当前策略假设存在一个额外的秘密连接通道,例如 手机跟踪应用 ,这些只能通过深入分析来发现。自动阻止将阻止你在这种情况下找到该通道;此外,攻击者很快就会意识到你已经注意到了他们的把戏。

另一方面,如果IOC是加密勒索软件使用的域名,应该立即阻止它 。但不要忘记监视所有尝试查询被阻止域名的失败尝试 – 恶意编码器的配置可能包括几个命令和控制服务器URL。其中一些可能不在feed中,因此不会被阻止。迟早,感染会尝试联系它们以获取用于加密主机的加密密钥。唯一可靠的方法来确保你已经阻止了所有C&C是反向工程样本。

提示6。监视或阻止之前检查所有新指标的相关性

请记住,威胁数据是由容易出错的人类或机器 学习算法 生成的。我见过不同的付费报告提供商不小心将合法样本添加到恶意MD5哈希列表中。考虑到甚至付费威胁报告包含低质量的IOC,通过开源情报获得的IOC肯定需要经过相关性验证。TI分析师并不总是检查他们的指标的假阳性,这意味着客户必须为他们做检查工作。

例如,如果你获得了一个新的 TrickBot 版本使用的IP地址,在将其用于你的检测系统之前,你应该确定它不是托管服务的一部分或来自你的IP地址。否则,你将很难处理来自访问托管平台上完全无害网页的用户的许多假阳性。

提示7。最大限度地自动化所有威胁数据工作流。首先,完全自动化假阳性检查,通过警告列表,同时指示SIEM监视不触发假阳性的IOC

为了避免来自开放源的许多与情报相关的假阳性,你可以对这些指标进行预检,使用警告列表。要创建这些列表,你可以使用流量最高的1000个网站,内部子网的地址,以及Google,Amazon (AMZN ) AWS,MS Azure等主要服务提供商使用的域名。实施一个动态更改警告列表的解决方案也是一个好主意,包括公司员工在过去一周或一个月内访问的顶级域名/ IP地址。

为中型SOC创建这些警告列表可能存在问题,因此考虑采用所谓的威胁情报平台是有意义的。

提示8。扫描整个企业的主机指标,而不仅仅是连接到SIEM的主机

作为一般规则,企业中的所有主机都没有连接到SIEM。因此,仅使用标准SIEM功能检查具有特定名称或路径的恶意文件是不可能的。你可以通过以下方式解决这个问题:

  1. 使用IOC扫描器,如Loki你可以使用SCCM在所有企业主机上启动它,然后将结果转发到共享网络文件夹。
  2. 使用漏洞扫描器。其中一些具有合规模式,允许你检查网络中特定路径中的特定文件。
  3. 编写PowerShell脚本并通过WinRM运行它。

如上所述,本文并非旨在成为如何正确进行威胁情报的综合知识库。然而,根据我们的经验,遵循这些简单的规则将使新手避免在处理不同指标时犯致命错误。

Alex 是一位网络安全研究人员,拥有超过 20 年的恶意软件分析经验。他具有强大的恶意软件移除技能,并为多家安全相关出版物撰稿,以分享他的安全经验。