越来越多的网络安全专家、公司和业余爱好者形成了一个社区,他们倾向于公开分享他们从恶意软件和攻击分析中获得的关于网络威胁的知识。在网络安全方面,这种类型的知识通常被称为网络威胁情报(CTI)。不幸的是,它通常以自然语言文本的形式提供,例如博客文章或PDF报告。为了使其可用于自动化安全措施或信息共享平台,必须将其转换为机器可读的格式,最好是通过一个基本自动化的过程。已经发表了不同的方法来解决这个问题。然而,它们都不是真正面向用户的,这在CTI领域是至关重要的,因为信息对情报状态的宣告在很大程度上取决于它在具体行动中的应用。考虑到这一差距,我们提供了一个基于理论的问题模型,它反映了由个别情报定义所产生的特定领域的用户需求。然后,我们使用这个模型来实现一个技术解决方案,利用一套强有力的定制技术,以及用户友好的界面进行直接互动。
应用于2000份自然语言威胁报告,我们的示范性实施方案提供了超过150,000个CTI对象和关系,包含33,389个独特的破坏性指标(IoCs)。我们的解决方案的总召回率被测量为0.81,而精度为0.93。这些结果显示了隐藏在前面提到的公开来源中的巨大潜力,并证明有自动化的措施可以可靠地发现它,并使它可以被计算机辅助措施所利用。
越来越多的设备和关键基础设施的全球联网为敌对国家或APT集团提供了大量的可能性,通过网络攻击损害经济、社会和政治。然而,与此同时,IT安全专家越来越多地使用类似的技术来应对这些威胁。一个由专家、公司和个人组成的日益壮大的社区已经出现,他们专门报告网络威胁,提供恶意软件的分析结果,并讨论有关攻击和攻击者的趋势和预测。这些信息通常被称为网络威胁情报(CTI),对网络安全分析师和安全运营中心(SOCs)来说是非常有趣的。然而,由于这些来源的大量信息是以自然语言文本的形式提供的,专家们必须花大力气提取相关信息,使其可用于自动安全解决方案、可视化工具或标准化的共享平台。快速增长的数据量与持续短缺的熟练分析师相结合(例如在[1]和[2]中提到的),使得这项工作越来越难。
在本文中,我们提出了一种广泛支持人工分析过程的方法,使用信息提取(IE)的概念以及自然语言处理(NLP)领域的技术。为了保证密切关注网络安全分析的实际情况,我们首先对该领域的一些基本要求进行了展望。在接下来的步骤中,我们从IE话语的角度描述问题,并推导出一个问题模型。由于CTI的领域非常具体,所以要提取的实体类型也基本上是具体的。我们将展示,这种对问题的看法是如何通过使用各种定制的NLP技术来高精度地解决所产生的子问题的。我们对从自然语言文本中提取CTI的科学和技术讨论的贡献如下:
论文组织:在第2节中,我们对本文范围内的研究进行了概述,以便在科学和技术论述中对其进行定位,并将我们的方法与现有的解决方案进行区分。第3节记录了我们的CTI提取问题的模型,第4节介绍了该方法的实施。第5节对所产生的解决方案进行了评估,并在第6节进行了讨论。在最后一节中,我们得出了结论。