利用NLP技术革新信息安全情报收集

本文探讨了自然语言处理(NLP)在信息安全领域的创新应用,重点介绍了如何通过Maltego框架实现自动化信息提取和关联分析,从而高效发现隐藏在海量文本中的关键情报,提升安全威胁检测能力。

利用NLP进行信息收集 | MSRC博客

BlueHat
/ 作者:bluehat / 2008年9月22日 / 5分钟阅读

维基百科将自然语言处理(NLP,非Darren Brown相关概念)描述为“人工智能和计算语言学的一个子领域”。那么为什么我要在BlueHat博客上讨论这个呢?如果你像我一样在学校里语言学学得不好,可能会认为它与IT安全无关。然而,我越深入研究NLP,就越对其在信息收集——进而在IT安全中的可能应用感到兴奋。

在过去大约18个月里,我全心投入Maltego——一个用于信息收集的框架。Maltego由“实体”和“转换”组成,允许你将一种类型的实体转换为另一种。举个简单的例子,你可以考虑DNS名称实体和IP地址实体,其中转换会将DNS名称解析为IP地址,或者反向解析IP地址到DNS名称。事实证明,信息之间的关联性比我最初想象的要复杂得多,到目前为止,我们已经创建了超过100种转换,涉及约15种实体类型。以DNS/IP地址为例进一步说明,一个IP地址位于某个网络中,该网络具有“whois”信息(和地理位置信息),这引向名称、电子邮件地址和电话号码,进而关联到人员、域名(来自电子邮件地址)和地理位置,这些又指向其他实体,如此往复——形成一个无限延伸的松散信息块网络,可以在图表上可视化为一组互连的节点。

回到NLP。上周我一直在研究Maltego的NLP转换,特别是将信息提取集成到Maltego中。信息提取是NLP的一个具体应用,如果你将其集成到一个可以实现自动化和关联的框架中,它就变得非常有趣。我第一次感觉到我可以真正发现“隐藏在日常视野中”的信息。目前,这些功能还不稳定,并且像餐前小吃一样快速消耗CPU和内存,但我们正在努力使其更稳定并达到生产就绪状态。

信息提取用于从文本中提取“实体”。例如,它将能够查看网页并提取页面上的所有人名。它还可以提取组织名称和位置名称。实际上,它可以提取任何可以通过编程方式从文本中描述的内容。假以时日,它甚至能够从页面中提取“事实”。这意味着如果你有四个基本上说同一件事的网页,NLP将能够连接这些页面。这是我第一次能够为转换赋予“类人”功能。

再次——为什么这对安全人员有趣?

让我们看一个非常具体的例子。假设你正在为一家跨国公司进行足迹分析。我们都知道这些公司可能有数千个域名。假设你有某种方法收集你认为可能与组织相关的约500个域名。这些域名分布在多个国家,每个域名在不同的注册商注册,每个注册商都有自己格式化“whois”信息的方法。因此,即使你设法收集了所有“whois”信息,你也无法正确格式化信息以便轻松搜索目标组织。使用NLP,你不需要担心这一点,你可以告诉你的信息提取器简单地从收集的数据中提取组织名称。没有NLP,你需要为每种格式编写解析器,或者需要手动检查每个“whois”结果。

还不信服?当然——也许你从未体验过进行足迹分析的乐趣。那么让我们看看其他东西。假设你想知道与特定短语相关的关键人物。你的短语可能是“高级外交官”甚至公司名称。你可以将短语输入你最喜欢的搜索引擎,并获取短语出现的URL列表(在第一个例子中,你可能希望将结果限制在特定域或国家)。接下来,你可以将结果网页上的所有文本输入你的信息提取引擎——它会整齐地将文本“解析”为人名。瞧——几分钟内你就有了一个名字列表。如果你使用像Maltego这样的工具来做这件事,你现在可以了解谁是最突出(或最直言不讳)的人——因为有些名字会在多个页面上被提到。

所以让我们试试——实践出真知。让我们在一个可以验证结果的短语上运行这个过程。使用短语“BlueHat会议”作为起点,我们最终得到一个看起来像这样的图表:

[图表描述:显示与“BlueHat会议”相关的关键人物网络]

从图表中我们很快看到所有常见的嫌疑人。当然,程序无法为结果提供任何上下文。例如,它不会告诉你Ryan Naraine是报道IT安全的记者,而Andrew Cushman组织会议。此外,图表中充斥着误报,但这只是一个小麻烦,当查看提取实体的频率时,它会像白噪声一样消失。

你可能会说“但我知道这些人是BlueHat的关键人物——有什么大不了的?”嗯——考虑一下你可以将任何短语输入系统,几分钟后就知道关键人物是谁。当我们将这种功能与其他开源信息收集技术结合时,它就变得有点可怕。考虑一个过程,随后查找这些人的电子邮件地址并开始发送定制制作的恶意软件(尽管上面的列表 hardly 是好候选人),或者可能自动解析社交网络成员资格,并在可能的情况下创建虚假身份。底线——如果你希望以自动化方式攻击与某个“短语”相关的个人,你首先需要知道他们是谁。

现实生活中的实用黑客技术实际上都是关于收集信息。长期从事这项工作的人会告诉你,漏洞利用实际上只占整个工作的5%。当然,你并不总是需要设置邪恶位,挖掘互联网信息对执法部门、情报机构或任何只想深入了解某个主题的人非常有用。

过去,你可以希望通过将电子邮件地址写为roelof at paterva dot com来欺骗电子邮件地址收集器。有了NLP,你可以跑……但你无法隐藏。

R.o.e.l.o.f T.e.m.m.i.n.g.h

附言:NLP实现是毛茸茸的野兽,喷火,有锋利的牙齿、复杂的眼睛和许多腿。我认为它是一个充满魔法的大黑盒——但只要我能得到一点魔法,我就非常高兴。

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计