开源数据中有许多与威胁有关的信息。从此类信息中尽早发现新兴安全威胁是已部署软件和系统安全的重要组成部分。尽管已经存在几种网络安全事件检测方法来从开放数据源中的非结构化文本中提取安全事件,但是大多数现有方法都集中于检测大量提及的事件。相反,为了比攻击者更快地做出响应,无论事件被提及多少次,安全分析人员和IT运营商都需要尽早意识到关键的安全事件。在本文中提出了一种新颖的安全事件检测系统W2E(https://github.com/Samsung/W2E ),该系统可以快速地从Twitter识别关键的安全事件,例如新威胁或相关攻击的再次出现。与现有方法不同,该方法通过监视新单词和重新出现单词来触发事件,从而在数百个事件中缩小候选事件的范围。然后,它通过将与触发词链接的推文聚类来形成事件。这种方法使安全人员能够尽早发现新的威胁。
0x01 Introduction
随着云计算,物联网(IoT),人工智能(AI)和5G等新技术在数字市场中被采用,网络安全的攻击面在不断扩大。根据赛门铁克的《互联网安全威胁报告》,不仅网络威胁的数量每年都在增加,而且威胁的态势也变得更加多样化,因此越来越多的威胁来自新的和意外的来源。
为了减轻不断增加的网络威胁带来的风险,组织必须尽早感知正在进行的网络安全事件,并分析检测到的事件对其产品,服务和基础架构的潜在影响,这一点很重要。与安全威胁,漏洞和攻击有关的许多信息每天都会在各种非正式来源(例如社交媒体平台,博客和开发者论坛)上发布,这使得人工分析人员几乎不可能手动查看和评估其与他/她的组织。因此,用于自动事件检测和从开放数据源生成警报的技术已引起研究社区和行业的极大关注。
社交媒体是一种有效的方式,可以不断地通知新兴的网络安全威胁。在其他方面,Twitter是收集数量和多样性方面与威胁相关的信息的最有用的资源。从个人安全专家,主流新闻到安全公司,各种不同的安全利益相关者团体,拥有Twitter帐户,并使用Twitter作为信息传播的来源。这些帐户发布的推文从安全公告,产品促销,新漏洞发现到共享最新网络安全事件(如勒索软件攻击,DDoS攻击和数据泄露)不等。
在许多应用领域中,多个用户在Twitter上提到的事件非常重要,例如,自然灾害检测或突发新闻检测。因此,已经设计了许多事件检测算法来检测很多人提到的事件。但是,在安全领域,事件开始时的提及次数可能与事件的重要性不成正比。
很多网络安全事件开始时只有很少的用户讨论,直到对其影响进行分析之前尚不清楚。此类事件需要几天的时间才能提及。例如,@tencent_blade和@Nicky_Wu在其第一天(2018年12月11日)仅提及两次Magellan漏洞(一种SQLite远程执行漏洞),而在2018年12月14日仅提及了不到5次。2018年12月15日,该数字的提及超过70。此外,新的Android恶意软件Mys terybot由@ThreatFabric于2018年6月7日首次发布,但直到其分析报告发布后6天才引起关注。分析报告发布后的一天,发布了100多条推文。此类事件无法通过需要大量提及的事件检测算法在其早期阶段进行检测。从安全角度来看,及早发现被提及的新的网络威胁或事件的早期识别对于预防网络攻击具有重要作用。因此在本文中,着重于检测大量日常安全事件中的新威胁和重复威胁。
本研究提出了一种新颖的事件检测系统W2E(Words to Events),该系统可以在早期阶段以低误报率和高事件检测覆盖率来感知新的和重现的网络威胁。 W2E通过采用单词级事件监视而不是语义聚类方法来实现此目标。在各种类型的单词中,W2E会识别新单词和重新出现的单词,以发现新的和复兴的网络威胁。将新单词定义为事件检测之前未看到的单词,它们可能与新的安全事件(例如新的恶意软件和新的漏洞)相关联,可以检测没有新术语的新安全事件。重新出现的单词被定义为在事件检测之前至少出现一次,但在检测时其频率显着上升的单词。它们很可能代表与以前的受害者或以前的威胁(如众所周知的恶意软件和漏洞)相关的安全事件。重新出现的词包括公司名称(如“ google”),产品名称(如“ android”或“ iphone”),恶意软件名称(如“ mirai”),漏洞名称(如“ heartbleed”)和技术(如“ wpa2”)。使用重新出现的单词可以检测到较早发生的安全事件,但这产生了新问题。识别新单词和重新出现的单词后,W2E使用聚类算法合并或拆分按检测到的单词分组的推文以形成事件。
W2E是单词级别的事件监视程序,因此如果没有适当的文本处理,它可能会遇到性能问题。例如,监视单词而不管其词性(名词,动词,形容词等)或词尾变化,都会导致过多的误报。 W2E采用了许多自然语言处理(NLP)技术,例如词性(POS)标记,词形化和命名实体识别(NER),以尽可能减少误报。此外,W2E通过限制与选定Twitter用户的数据收集,大大减少了误报。
根据真实Twitter数据得出的评估结果表明,W2E可以通过恶意软件,漏洞利用程序,恶意软件,漏洞利用程序,垃圾邮件,垃圾邮件,垃圾邮件,垃圾邮件,垃圾邮件,垃圾邮件,垃圾邮件,垃圾邮件,垃圾邮件,垃圾邮件,垃圾邮件,漏洞,DDoS攻击和数据泄露事件。 (第5节)
0x02 Twitter as a Data Source
有很多与威胁有关的信息提要,理想情况下,监视所有数据源对于早期事件检测是最好的。但是,没有适用于任何数据馈送的通用事件检测算法。也许用户会想知道哪个数据源是一个好的开始。因此,本文评估了哪个数据源可以很好地监视早期安全事件检测。本研究探讨了提及事件的时间表,该事件涉及2018年发生的一系列网络安全事件,涉及从主流新闻到开发人员论坛的各种数据源。
建立:选择了105个安全事件,其中包括12个勒索软件攻击,13个僵尸网络攻击,13个其他恶意软件攻击,12个DDoS攻击,11个网络钓鱼攻击,6个漏洞(针对性漏洞),13个数据泄露事件,12个帐户劫持事件和13个披露的漏洞。选择了符合以下条件的与来自Hackmageddon的恶意软件,网络钓鱼,帐户劫持和漏洞利用相关的事件:
(i)在事件发生后的一个月内和之后一个星期内,该事件在Google搜索结果中的数量Hackmageddon提供的事件日期在其对应的威胁类型中排名最高,
(ii)事件描述详细,以至于返回的模棱两可的搜索结果更少。
由于Hackmageddon并未涵盖许多数据泄露事件,DDoS攻击以及诸如Spectre和Drupalgeddon之类的漏洞,因此参考了安全报告来选择此类安全事件。将搜索域限制为Twitter,Facebook,新闻媒体,博客,论坛和安全供应商报告。从安全新闻或报告中给出的描述中提取了每个事件的关键词,并使用Google和Recorded Future在6种数据源类型中使用关键词搜索提及。对于每个事件,手动检查搜索结果是否实际上与事件相对应,然后获得提及的时间表。请注意,Recorded Future是一家商业化的威胁情报公司,提供网络安全领域中最大的数据平台。
以下是从调查中观察到的内容:
1.Twitter在很大程度上是讨论网络安全事件的第一来源,有时甚至是唯一的来源。上图显示了事件第一天的数据源类型分布。它表明与其他消息源类型或更早在同一天在Twitter上讨论了75%的事件。这是因为人们将Twitter用作信息传播平台。新闻媒体,安全公司和个人安全研究人员经常在其网站上发布其原始文章或报告后,使用Twitter快速传播其有关恶意软件和漏洞的发现。在推特第一天提到的事件中,有16%是在推特上首次看到的唯一事件。下图显示了事件第一天按威胁类型划分的数据源类型分布。它表明,大多数威胁类型的事件一出现就在Twitter上被提及。
2.Twitter具有足够的信息量,可以收集有关网络安全事件的更多信息。发现有82%的第一条推文在第一天提到活动时都提供了链接,以获取更多信息。在这些外部链接中,新闻文章占56%,博客文章占34%,VirusTotal等分析报告占7%。
3.博客和安全厂商报告对于早期发现网络安全事件也很重要。博客和安全厂商共同讨论事件的数量超过了Twitter,在105个事件中,只有18%仅在博客和安全厂商报告中被提及。此外,他们与其他来源类型或更早的日期讨论了68%的事件。上图显示,博客和安全厂商报告是检测与恶意软件,漏洞和数据泄露有关的事件的良好来源。这表明通过利用Twitter,博客和安全厂商报告中的信息,可以期望更高的覆盖范围和更低的网络安全事件检测延迟。
4.提及的次数与早期网络安全事件的重要性不成比例。上图显示了每种威胁类型在事件发生第一天发布的推文数量。尽管选择热门事件,但第一天许多事件很少提及。实际上,第一天在Twitter上提到的事件中有23%被提及的次数少于5次,而在事件中有37%的事件被提及的次数少于10次。这表明,不管安全事件的重要性如何,都需要花费一些时间来吸引许多人的注意。
5.与恶意软件,漏洞利用和漏洞相关的安全事件主要是由安全专家,安全公司和新闻媒体启动的,而与帐户劫持,网络钓鱼和DDoS相关的事件是由其他用户而不是出于安全考虑的用户引入的 。本研究已经首次检查了提及事件的推文作者,将它们分为5类:安全专家(安全研究人员和道德黑客),安全公司(包括其研究组),新闻媒体,漏洞源以及其他。下图显示了作者组的分布。观察到最早提到该事件的作者中有65%是安全专家,安全公司和新闻媒体。还观察到,与安全软件,漏洞利用和漏洞有关的事件中,有87%首先由安全专家,安全公司和安全新闻提及,而与帐户劫持,网络钓鱼和DDoS攻击有关的事件中,有61%首先由其他用户。
6.与Twitter相比,Facebook中用于网络安全事件检测的数据少得多。事件的第一天在Facebook中提到了32%的事件,但是同一天在Twitter上都提到了这些事件。 Facebook致力于用户之间的私人通信,尽管它提供了用于数据收集的公共API,但与Twitter相比,可用数据少得多。这使得Facebook在网络安全事件检测方面不如Twitter受欢迎。
0x03 The Proposed System
W2E包括四个步骤。第一步是从Twitter收集数据。第二步是数据预处理,用于提取要监视的单词。在第三步中,通过检测新单词和重新出现的单词来找到触发事件的单词。在最后一步中,将基于相似度的聚类方法应用于与触发词相关联的推文,以形成事件。下图说明了W2E的工作流程。
1)数据收集
对于事件检测,本研究自2018年以来一直在使用Twitter流API收集选定Twitter用户的推文。本研究收集了著名安全专家,知名安全新闻媒体,安全公司及其研究小组以及漏洞源的Twitter帐户,以及安全专家关注的Twitter帐户。然后,选择在连续三个月中发布了一定数量的推文的用户,这些推文中包含一组与威胁相关的给定关键字。在此过程之后,选择了560个Twitter用户-50%的安全专家,5%的新闻媒体,9%的安全公司,2%的漏洞摘要和34%的其他用户(例如,发布与安全相关信息的IT专业人员)。
请注意,有两个原因导致限制用户在数据收集中进行事件检测。首先,可以减少事件检测中的噪声。当具有安全意识的用户提及与威胁相关的词(例如“vulnerability”, “breach”, 和 “hack”)时,误报率就会大大降低。其次,它有助于使事件检测算法对对抗攻击具有鲁棒性。在社交媒体(如Twitter和Facebook)中有许多假新闻,通过限制精选用户的数据收集可以避免检测到虚假新闻触发的事件,除非监视的用户变成了敌手。
2)数据预处理
一旦在前一时间t-1和事件检测时间t之间收集了推文,它们就会通过一组给定的关键字通过过滤器。关键字集是一个超集,其中包括感兴趣的5种事件类型(恶意软件,漏洞利用,漏洞,DDoS攻击和数据泄露)的关键字集作为子集。关键字的示例是“malware”, “ransomware”, “botnet”, “trojan”, “vulnerability”, “vuln”, “bug”, “exploit”, “ddos”, 和“data breach”。请注意,关键字集越大,漏报率就越低,但误报率越高。然后,根据推文的相应关键字集将推文分为5种事件类型。如果存在包含两种以上事件类型的关键字的推文,则会按照感兴趣的事件类型的顺序将它们分组。如果对端设备安全性感兴趣,则可以按恶意软件,漏洞利用,漏洞,DDoS攻击和数据泄露的顺序对推文进行分组。包含非5种事件类型的关键字的其余推文将收集到“其他”类别中。注意到在W2E中,与勒索软件,间谍软件,特洛伊木马,僵尸网络,rootkit,广告软件,键盘记录程序和任何其他恶意文件有关的所有事件均被归类为恶意软件事件类型。推文的分类顺序不会影响事件检测算法的性能,它仅影响检测到的事件的分类位置,还通过收集包含CVE ID的推文来分别监视与CVE相关的事件。
推文的分类有助于按事件类型拆分多个事件(与一个单词相关)。例如,当检测到单词“ Linux”是一个重新出现的单词时,可能会在同一天发生多个事件,例如新的Linux漏洞发现和新的Linux恶意软件出现。在实现中,将非常通用的关键字(如“攻击”,“黑客”和“泄漏”)收集到“其他”类别的关键字集中,以便不会错过任何重要的安全事件。
在过滤和分类之后,对推文进行预处理,以构建一组单词,以在以下步骤中进行监视:
(1)命名实体识别(NER)应用于每条推文。 然后构造人名列表,以便稍后移除它们。
(2)语音(POS)标记应用于每个推文。感兴趣的威胁词是恶意软件名称,漏洞,公司和产品。这些单词主要是名词,因此在每个推特中用词性标记单词,以便以后提取名词。
(3)在每条推文中,都会删除符号,电子邮件,URL和Twitter句柄。这些推文是小写的。停用词已删除。请注意,停用词(例如“,”,“,”或“至”等)是出现在大多数文本中的最常用词。由于许多Twitter用户过度使用了他们的Twitter句柄进行自我广告,因此Twitter句柄在单词监视中产生了很多噪音。
(4)技术/产品术语及其别名被替换为具有单个令牌形式的单个代表性术语。例如,将“ wi-fi”替换为“ wifi”,将“ smart tv”和“ smart-tv”替换为“ smarttv”。将DBpedia用作同义词。
(5)将推文标记化,仅提取名词词以形成要监视的候选词,也保留CVE ID。然后,将人名列表中的单词从候选单词中移除,还将移除单个字符的单词。请注意,尽管有些人的名字是威胁者,但根据经验观察,大多数推文中的人名都不是本研究感兴趣的。
(6)对每个单词应用词法分解,以便将单词的变形形式表示为单个单词。
请注意,有许多用于POS标记和NER的开源NLP工具,例如NLTK,CoreNLP,twitter_nlp和Twokenizer。
3)新词和重复词检测
监视所有候选单词不仅耗时,而且在事件检测中也会产生大量噪声。因此,重要的是配置需要过滤掉的单词和可以构成安全事件的单词。为此构建了以下词典:
•DTech:此词典用于监视重新出现的单词。它包括技术词以及特定于安全性的词,例如恶意软件名称,漏洞名称,公司名称和软件/硬件名称。通过执行统计显着性测试来构建初始字典,以比较安全文档和非安全文档中单词的两个比例。使用了2017年从9个主流新闻站点收集的9,934条安全新闻文章和8,597条非安全新闻文章。提取了安全新闻中的单词,这些单词的发生率显着高于非安全新闻,且显着性水平为5%。第一个词典中有14,592个单词,从2014年到2017年,已经运行了4年,每天从著名的安全性部门收集的282万条推文每天运行新单词检测算法,并将检测到的新单词更新到该词典中,如下所述。截至2017年底,该词典共包含16,014个单词。
•DCommon:此词典用于移除常见的英语单词。它包括常见的英语单词以及常见的Twitter术语。为了构建此词典,提取了在非安全新闻中出现频率明显高于具有统计显着性检验的安全新闻的单词。由于Twitter中的单词与英语词典中的单词完全不同,还通过从2015年初使用公共API从Twitter收集的8.63亿条推文中提取前100,000个单词来包含Twitter单词,而对关键字或用户没有任何限制。但是,安全事件中的一些重要单词,例如“ apple”和“ google”,都是英语词典和Twitter中的重要单词。为了从DCommon中排除此类单词,手动审查了与DTech,《财富》 500强公司,百思买,《消费者报告》和NVD CPE词典相交的单词。截至2017年底,该词典中共有72623个单词。
•DWhitelist:此词典用于消除无用监视的常见技术单词。这样的词的示例是“网络”,“网络安全”,“信息安全”和“网络攻击”。在超过9,934篇安全新闻文章中使用IDF(反文档频率)为DTech中的单词提取了常见的技术单词。为了从Twitter提取常用技术词,还计算了DTech中101,604条推文中IDF值的IDF值,这些推文包含从2017年1月至2017年12月收集的与威胁相关的关键字。此外还包括了会议名称,例如“ defcon” ,“ bhusa”和“ rsac”到该词典。到2017年底,该词典中共有2339个单词。
请注意,除了特定于Twitter的处理外,新闻文章的处理方式与第4.2节相同。在构造DCommon时,由于POS标记无法完美运行,因此跳过了上节的步骤(2),除了名词以外的其他单词也包含在要监视的单词集中。另外考虑了Twitter数据集中的前100,000个单词,因为它们覆盖了8.63亿条推文的单词分布的大约98%。
现在解释如何检测新单词和重新出现的单词。令n为在时间t-1和t之间包含一组给定关键字的tweet总数。同样,令C为在时间t从数据预处理返回的一组单词。用K表示一组给定的关键字。
新词检测:通过从集合C中删除DTech∪DCommon中的单词来检测新单词。由于K中的单词不是一个要监视的单词,因此也从C中淘汰了这些单词。在获得候选新词之后,过滤掉出现在n条推文中的统计意义不大的词。换句话说,保留一个满足条件的词w:
其中pt(w)= ft(w)/n,其中在时间t包含单词w的推文的ft(w)数和zα是标准正态分布的(1∞α)-百分位数。请注意,对于95%置信度(α= 0.05),z0.05 = 1.645。如果要从候选新单词中删除更多单词,他/她可以提高置信度。
重新出现单词检测:由于基于新单词的事件检测仅适用于涉及新单词的事件,因此其在事件检测中的覆盖范围非常有限。首先,它不能涵盖以前出现的威胁或其变体。从实验中,观察到基于新单词的事件检测方法无法检测到Spectre的变种,尽管自2018年1月3日首次发现以来,已经对其进行了重复报道。其次,它无法在更早的时间内发现事件新威胁被命名。发现在2017年10月16日公开宣布密钥更新攻击(KRACK)漏洞的前一天,有几条推文。但是,这些推文中从未提及“ KRACK”等新词。例如,2017年10月15日的第一条推文是“这是WPA2 wi-fi中的核心协议级缺陷,看起来很糟糕。可能的影响:Wi-Fi解密,连接劫持,内容注入”。最后,它不适用于任何类型的事件。许多数据泄露事件并不涉及新词。有关数据泄露的推文通常会提及受害公司,数据泄露的规模以及公开的用户数据类型,因此没有太多新词来解释此事件类型。为了扩大基于新单词的事件检测方法的覆盖范围,还监视重新出现的单词。
用于重新出现单词检测的算法基本上是在DTech中监视单词,但不会在DWhitelist中(即DTech \ DWhitelist)监视单词。为了重新出现单词检测,令CR为C∩中的单词列表(DTech \ DWhitelist)。首先过滤掉CR中出现次数不像在新单词检测中那样具有统计意义的单词。回想一下,重新出现的单词被定义为较早见过的单词,但在时间t出现频率突然增加。因此,检查CR中的每个单词在时间t处的出现是否与以前相比有统计学意义的上升。有很多方法可以测量单词出现的变化。例如,可以计算在时间t和t-1处包含一个单词的推文数量之差。在算法中,根据时间t来计算包含一个单词的推文数量与期望值之间的差。在过去的事件。为了进行数学上的定义,令ft(w)为在时间t包含单词w的推文的数量。对于CR中的每个单词w,通过过去k次出现时的指数加权移动平均值(EWMA),用平滑因子λ(0 <λ<1)通过下面公式计算出关于w的预期提及次数fˆt(w):
为了确定关于w的提及次数是否迅速增加,推导出ft(w)在高置信度下可以取的值的范围。 为此计算:
若要将单词w视为重新出现的单词,需要ft(w)满足:
请注意,较高的λ会更快地降低较早观测值的影响。另外,请注意,对于95%的置信度,z0.025 = 1.96。
下图显示了重新出现单词的示例。在2018年1月3日公开披露Intel CPU漏洞时,同时检测到‘spectre’和’intel‘两个词。这两个词都表明提及人数迅速增加。特别是,“幽灵”一词在事件发生前一个月从未出现过。在“ wifi”一词的情况下,从“ wifi密码破解”,“ wifi破解程序”到“ wifi固件错误”等各种事件经常提到它。与“ spectre”和“ intel”不同,即使被触发为事件,提及的次数也大多低于10倍。
请注意,尽管在每种事件类型中都提取了新单词和重新出现的单词,但是单词的过滤规则将应用于在所有事件类型中提及每个单词的推文数量。因此,将推文分类为事件类型的顺序不会影响检测到的单词。它仅影响事件的分类位置。尽管专注于从Twitter进行事件检索,但是所提出的算法适用于安全新闻监视以及论坛监视。
词典更新:由于新事件每天都在发生,因此需要更新DTech,以便在检测到新单词时重新检测单词。当检测到新单词时,可以每天更新DTech。但是,检测到的新单词的自动更新会在词典DTech中积累噪音。这导致重新出现单词检测中的误报增加。因此,为了减少由自动词典更新引起的累积噪声,需要每日人工检查或保守的词典更新策略。为了使本文的系统完全自动化,选择后一个选项。当DTech每周至少两次被检测为新单词时,决定在DTech上更新每个检测到的新单词。在将检测到的新单词更新到DTech之前,这些单词会显示在新单词列表中。
监视CVE ID:当发现新的漏洞或再次提及已知漏洞时,感测这些漏洞对于组织减轻潜在风险很重要。 W2E监视推文中的一些漏洞,包括一组给定的特定于漏洞的关键字。通过将“ cve”包含在一组关键字中,可以监视漏洞事件类别中的CVE ID。但是,在那种情况下,CVE ID会生成太多事件,并且在漏洞事件类别中占主导地位,因此,除非有足够的提及,否则分析人员可能会忽略没有CVE ID的漏洞事件。因此,W2E分别监视CVE ID。在CVE监视中,对NVD之前的CVE感兴趣,NVED之前的CVE被定义为已分配ID,但尚未在NVD(国家漏洞数据库)中发布的CVE。在Twitter上运行CVE监视器后,截至2018年1月至2018年12月,已发现345个NVD之前的CVE。其中,截至2019年4月30日,已发布309个CVE,而尚未发布36个CVE。至少早于NVD 1天被提及,最多早于NVD 450天(平均被提到早于NVD 46天)。本研究也有兴趣检测已在NVD中发布但由于某些原因在Twitter上再次提及的CVE。如果关于NVD中CVE的讨论迅速增加,则组织需要在其产品/服务/基础架构上评估其CVE的风险,并检查是否对CVE进行了修补。与上面介绍的威胁词检测算法不同,将事件检测时间t之前从NVD馈送的CVE列表用作字典DCVE,而不是DTech,DWhitelist和DCommon。假设CCVE是从在时间t-1和t之间收集的推文中获得的一组CVE ID。在CVE监视中,如果CCVE中的CVE ID不在DCVE中,则这些CVE被标识为新单词。为避免输入错误,消除了MITRE中找不到的CVE ID。对于CCVE∩DCVE中的CVE ID,检查每个CVE ID是否被足够提及,并显示其发生率迅速上升。为了重新出现CVE检测,从漏洞摘要中排除了推文并使用了与上面相同的过滤规则,其中n是包含CVE ID的推文的数量。
4)事件产生
本研究的系统通过识别新单词和重新出现的单词来检测事件。但是,这种方法的局限性在于单词与事件不具有一一对应关系。也就是说,(i)两个或多个检测到的单词可能代表一个事件–一个单词和一个新出现的单词或两个新单词可能来自一条推文,并且(ii)检测到的单词可能不对应一个事件。后一种情况在通过重新出现的单词进行事件检测中更经常发生。例如,当单词“ wifi”被检测为重新出现的单词时,可能会在同一天被wifi固件错误和wifi检查程序漏洞引起混淆。
为了克服上述问题开发了一个事件生成器,该事件生成器将W2E的最后一步合并或拆分由检测到的单词触发的候选事件。在每种事件类型中,事件生成器都会对包含新单词和重新出现单词的推文进行聚类分析。许多安全事件由特定于上下文的词来描述,例如恶意软件名称,漏洞,受害者和攻击目标。因此,关于同一事件的提及可能包含相同的事件特定词。因此,从每个推文中提取一组此类单词,并通过计算Jaccard相似度来测量两个推文之间的相似度。
通过以下步骤从每个tweet中提取事件特定的单词:(1)上节的步骤(3)和(4),(2)安全性术语及其别名被替换为单个代表性术语,形式为单个令牌。例如,将“缓冲区溢出”,“缓冲区溢出”,“ buffer_overflow”和“ buffer overrun”替换为“ buffer-overflow”。(3)在标记化和词法化之后,修剪DCommon∪DWhitelist∪K中的单词然后,通过将分层聚类方法应用于Jaccard距离矩阵来对推文进行分组。在将每种事件类型中的推文进行聚类之后,最终通过以类似方式将所有事件类型中的推文聚类进行分组来形成事件。请注意,具有相同外部链接的两条推文会形成同一事件。
请注意,出于事件检测的目的,有几种聚类方法可以将推文分组。可以采用诸如word2vec,GloVe和ELMo之类的词嵌入来将推文表示为向量空间,以便测量两个推文之间的语义距离。但是观察到,对于有关安全事件的推文,使用上下文特定单词的聚类比语义聚类要好得多。
由于W2E每天都在运行,因此同一事件可以在Twitter上进行讨论时一次又一次地出现。每当检测到事件时,重复生成同一警报效率低下并且令人讨厌。因此开发了一个事件管理器,它将在时间t处检测到的事件合并到在时间t-1内检测到的事件。事件管理器首先接管过去7天内检测到的事件。然后,它保留事件特定的单词,这些单词在每个事件中至少出现50%的推文,以提取事件的特定于上下文的单词。如果两个事件的特定于上下文的单词集的Jaccard相似度大于0.7,它将最终在时间t将检测到的事件合并为过去的事件。
0x04 Evalution
1)评估设置
从2018年1月到2019年4月,每天从560个Twitter用户收集的推文中运行W2E。本文的Twitter数据集的总量为1,647,629(包括转发)。
从3个方面评估W2E的性能-(i)每日事件生成的聚类准确性,(ii)每日事件检测的准确性,以及(iii)覆盖率和检测延迟。对于(i)和(ii),在2019年4月选择了W2E的结果。请注意,在选择的另一个月份(2018年6月)至2019年4月,观察到了相似的结果,尽管没有在此处报告。新词/重复词触发了大约5,900条独特的推文。五名安全专家手动注释每个推文的群集标签,并确定检测到的事件是否是真正的安全事件。注释者通过引用推文中的外部链接或Google搜索做出判断。对于(iii),从105个安全事件中提取了82个涉及恶意软件,漏洞,漏洞利用,DDoS攻击和数据泄露事件类型的事件,分析了W2E是否检测到它们,如果是,它们被检测到的时间为何。对于延迟计算,参考了关于整个Twitter事件的第一条推文的日期。W2E将勒索软件,间谍软件,特洛伊木马,僵尸网络,Rootkit,广告软件,键盘记录程序,以及将任何其他恶意软件转换成恶意软件事件类型。
在实施中,使用200个关键字(从单个单词到术语)– 28个关键字用于与恶意软件相关的事件,11个关键字与与漏洞相关的事件,20个关键字与与漏洞相关的事件,6个用于DDoS攻击,以及17个用于数据泄露。通过查看CWE,CAPEC,STIX和ENISA威胁分类法中的术语来选择初始关键字。然后,将每个关键字的复数形式,词尾变化和别名包含到关键字集中。对于新词和重新出现的词检测,都将α= 0.05。请注意,到2017年底,DCommon中有72,623个单词,DTech中有16,014个单词,DWhitelist中有3,078个单词。使用Stanford CoreNLP进行POS标签和NER。
2)评估结果
聚类精度:为了衡量事件生成器的聚类准确性,将事件生成器的估计聚类与人工标记的聚类进行了比较,然后计算了也未计算化的互信息(NMI)。请注意,NMI是评估群集质量的流行指标之一。它始终是介于0和1之间的数字,并且1表示完美的聚类。下图展示了事件生成器在2019年4月的每日NMI。在所选月份的大部分时间里,NMI大于0.9。该月的平均年龄NMI为0.96,标准偏差(SD)为0.06,这表明事件生成器表现良好,可以将共享同一事件特定单词的不同tweet拆分为相似的tweet,或将相似的tweet合并为一个簇,且误差很小。
每日事件检测准确性:本研究测量每天产生多少误报,下表显示了W2E在选定月份中所有日常事件中的精度。 W2E的整体精度为80%,每种威胁类型的精度接近或大于70%。 W2E总共检测到2359个日常事件(平均每天79个),形成930个独立事件。在930个唯一事件中,有763个事件是真正的安全事件,因此W2E在当月唯一事件的准确性为82%。
覆盖率和检测延迟:分析W2E涉及恶意软件,漏洞,漏洞利用,DDoS攻击和数据泄露等事件的范围。上表显示了82项安全事件中W2E的召回情况。 W2E的总体召回率为89%-在82个事件中检测到73个。在73个事件中,仅通过重新出现单词就检测到26个事件,因为它们的推文中未包含任何新术语。这验证了重新出现单词监视的重要性。
尽管W2E对恶意软件攻击,利用事件,漏洞和数据泄露事件的召回率很高,但DDoS攻击的召回率却相对较低。DDoS攻击的覆盖率较低是因为,遭受此类攻击的任何用户(而不是安全意识强的用户)都可能开始讨论此类事件,正如前文中观察到的那样。还观察到W2E导致0.67在Twitter上首次看到后,平均检测延迟天数。但是,在该事件首次出现在Twitter的当天,发现了82个事件中的45个。另外,第二天检测到17个事件。请注意,尽管在整个Twitter的第一天中,有82个事件中有29个被提及的时间少于10次,但W2E可以检测到其中12个事件。特别是,W2E可以检测到僵尸网络攻击,利用事件和漏洞而几乎没有延迟,这从早期事件检测的角度来看非常有意义。此外,观察到W2E在事件的第一天检测到82个事件中的31个,而从事件的第一天开始,平均检测延迟为2.68天。请注意,从第一条推文到活动的第一天之间有1.89天的延迟。下表列出了事件首次出现当天W2E检测到的一些示例性事件。
3)案例研究
在W2E从2018年1月到2019年4月检测到的几个事件中,选择了4个事件– Lokibot恶意软件,Drupal漏洞,Firebase数据泄露和WiFi固件错误。
Lokibot(恶意软件)–该恶意软件是特洛伊木马,它从受感染计算机中窃取信息。 Trustwave的研究人员发现了推动Lokibot的新垃圾邮件活动,并于2019年4月5日在Threatpost等新闻媒体进行了广播,并对其进行了分析和缓解指导。在同一天,W2E还检测到该事件,并带有“ zipx”,“ png”和“ “ lokibot”。但是,有趣的一点是W2E在2019年4月2日检测到与Lokibot相关的事件,其中一些推文包含Lokibot的下载URL。该推文中的URL之一:bluewales.ml/wp/wp-content/uploads/2019/04/Panel/five/fre.php 在2019年4月4日被VirusTotal中的某些引擎检测为恶意网址,为2比W2E晚几天。此案例显示了W2E收集最近的危害指标(IOC)的能力。
Drupal(CVE-2018-7602)–这是开源内容管理框架Drupal中的RCE漏洞。 W2E在NVD之前的CVE中于2018年4月25日检测到此严重漏洞,其单词为“ drupal”和“ cve-2018-7602”。可以从推文中的外部链接获得此漏洞的描述及其缓解措施。 Drupal安全团队强烈建议立即更新,因为该漏洞非常重要(其CVSS评分为9.8)。后来,他们确认该漏洞已在野外被利用。这种情况表明,及早发现漏洞并立即更新非常重要。 Firebase(数据泄露)– Firebase是Google提供的后端即服务,其中包含大量服务。移动开发人员使用它来制作移动和基于Web的应用程序。根据Appthority研究人员的报告,成千上万的iOS和droid应用程序通过错误配置的Firebase后端泄漏了用户的敏感数据。在发布报告之前,Appthority研究人员将这一问题通知了Google,并提供了受影响的应用程序和Firebase数据库服务器的列表。但是,所有开发人员可能都没有意识到Firebase的风险,因此Google花费了一些时间解决该问题。为了减轻风险,开发人员需要尽快发现问题。 W2E早于新闻媒体检测到此问题,并将有关此事件的信息作为警报传递。 W2E于2018年6月20日首次检测到“ firebase”一词,并提供了信息丰富的单词“ android”和“ database”。尽管在检测当天只有2条推文提到“ firebase”,但W2E可以通过提出的重新出现词检测算法将其检测到
Marvell Avanstar(WiFi固件错误)– Marvell AvanstarWifi芯片SoC错误已于2019年1月18日通过Embedi博客和ZDNet公开披露。 2019年1月3日,W2E从Marvell Avanstar上的“ unauth,unassoc远程代码执行程序”推文中检测到带有“ wifi”,“ chromebooks”,“ marvell”,“ avanstar”,“ playstations”和“ samsung”字样的事件。适用于Playstations,Xbox,Surfaces,Chromebooks,Samsung手机等中的Wifi芯片SoC,攻击时间不到五分钟。在Linux驱动程序中,在Steamlink上的PoC上获得第二阶段的升级奖励。 https://t.co/s54QBc5mDK ”。该案例清楚地表明了W2E的早期检测能力以及监视开放数据源的好处。
0x05 Conclusion
本文提出了一种新颖的基于单词的网络安全事件检测系统。所提出的系统通过分析随着时间推移出现的单词来监视新单词和重新出现的单词,新词/重复词检测算法是由时域中词分布或词出现中的异常检测引起的。在识别了与安全事件相关的单词之后,事件检测算法将触发的tweet聚类以进行事件构建。无论提及的威胁量如何,此方法都可以检测到新的威胁和重复的威胁,本研究证明了所提出的事件检测系统在各种网络威胁类型上都有望实现。
发表评论
您还未登录,请先登录。
登录