来源:Early Detection of Cybersecurity Threats Using Collaborative Cognition
鉴于不断演变的威胁格局,对网络安全事件(如攻击)的早期检测具有挑战性。即使有了先进的监控,老练的攻击者也可能在系统中待上100多天才被发现。本文描述了一种新颖的协作框架,该框架利用集成了不同机器学习技术的语义丰富的知识表示和推理的能力来帮助安全分析人员。我们的认知网络安全系统从各种文本来源获取信息,并使用统一网络安全本体扩展版本中的术语将其存储在公共知识图中。然后,系统对知识图进行推理,将代表主机的各种协作代理与基于网络的传感器结合起来,为安全管理员获得更好的可操作智能,降低他们的认知负荷,提高他们对结果的信心。我们为我们的方法描述了一个概念框架的证明,并通过在一个类似于WannaCry的定制勒索软件上测试它来展示它的能力。
一、介绍
各种各样的安全工具和系统可用于检测和减轻网络安全攻击,包括入侵检测系统(IDS)、入侵检测和预防系统(IDPS)、防火墙、高级安全设备(ASA)、下一代入侵预防系统(NGIPS)、云安全工具和数据中心安全工具。然而,网络安全威胁及其防范成本正在飙升。老练的攻击者仍然可以在受害者的系统中使用超过100天的[8]而不被发现。根据微软[20]的一项研究,每天有23,000个新的恶意软件样本被生成,一个公司的平均数据泄露成本约为340万美元。从信息泛滥到反应时间较慢,许多因素导致现有技术无效,无法减少这些网络攻击造成的损害。
当早期的安全监视系统(如IDSs和IDPSs)开始向安全分析人员发出大量警报时,现代安全信息和事件管理(SIEM)系统就出现了。LogRhythm、Splunk、IBM QRadar和AlienVault是一些可商用的SIEM系统[11]。典型的SIEM从企业中的大量计算机收集安全日志事件,集中收集这些数据,并对其进行分析,以向安全分析人员提供警报。然而,尽管接收了大量的主机/网络传感器数据,但它们的报告难以理解、噪音大,而且通常缺乏可操作的细节[39]。在最近的一项关于SIEM效率[40]的调查中,81%的用户报告说,现有系统中的噪音让他们感到困扰。这类系统缺少的是协作工作,不仅仅是聚合来自主机和网络传感器的数据,还包括它们的集成以及推断来自协作源的威胁情报和感知数据的能力。
在本文中,我们描述了一种基于不同组件之间协作的网络安全攻击早期检测的认知助手。它从多个威胁情报来源获取关于新发布的漏洞的信息,并将其表示为机器可推理的知识图。通过集成来自协作的传统传感器(如主机IDSs、防火墙和网络IDSs)的数据,还可以在相同的知识图中表示被监视的企业/网络的当前状态。与许多传统系统不同的是,我们的系统将威胁情报与观察到的数据融合起来,以便及早发现攻击,最好是在攻击开始之前。这样的认知分析不仅减少了误报,也减少了分析师的认知负荷。
网络威胁情报来自多种文本来源。像博客和安全公告这样的资源的一个关键挑战是它们固有的不完整性。通常,它们是为特定的读者编写的,并不解释或定义每个术语的含义。例如,微软安全公告中的一段摘录是“如果攻击者向Microsoft Server Message Block 1.0 (SMBv1)服务器发送经过特殊设计的消息,则最严重的漏洞可能允许远程代码执行。””[22]。由于本文面向安全专家,因此本文的其余部分没有定义或描述远程代码执行或SMB服务器。
为了填补这一空白,我们使用统一网络安全本体[36](UCO)1表示网络安全领域知识。它为来自不同来源的信息提供了一个通用的语义模式,允许集成它们的数据。来自不同情报源的概念和标准,如STIX[1]、CVE[21]、CCE[24]、CVSS[9]、CAPEC[23]、CYBOX[25]和STUCCO[12],可以直接使用UCO表示。
我们已经开发了一个概念系统的证明,它从文本源获取信息,并将其与通过协作的主机和网络传感器观察到的系统状态的知识相结合,以及基于这些知识检测已知(和潜在未知)攻击的原因。我们开发了多个代理,包括进程监视代理、文件监视代理和Snort代理,它们运行在各自的机器上,并向认知网络安全(Cognitive CyberSecurity, CCS)模块提供数据。该模块通过对数据的推理和存储知识图来检测各种网络安全事件。然后使用V-D节中描述的仪表板接口将检测到的事件报告给安全分析人员。我们还开发了一个自定义勒索软件程序,类似于Wannacry,以测试我们的原型系统的有效性。第六节a节介绍了它的设计和工作原理。我们在此领域[26]的基础上进行了早期的工作。
二、背景
尽管安全领域存在多种工具,但攻击检测仍然是一项具有挑战性的任务。通常情况下,攻击者会使自己适应新的安全系统,并找到绕过这些系统的新方法。本节描述了检测网络安全攻击的一些挑战。
影响网络攻击传播和相关成本的一个关键问题是,攻击被公开与系统被修复之间的时间间隔。这一点在臭名昭著的勒索软件Wannacry身上体现得很明显。Wannacry使用的核心漏洞(Windows SMB远程代码执行漏洞)于2017年3月由Microsoft Security Bulletin[22]和Cisco NGFW首次发布。2017年4月晚些时候,影子经纪人(一个黑客组织)发布了一套工具,包括永恒蓝2和双脉冲星,利用这个漏洞进入受害者的机器。直到5月中旬,真正的勒索软件才开始使用这些工具在内部传播。如果能够迅速发现并修补受影响的系统,影响超过20万台机器的“Wannacry”病毒的大规模传播本可以得到缓解。
相同网络攻击的变体是现有攻击检测系统面临的另一个挑战。许多企业工具仍然使用特定于攻击的签名和策略进行检测。然而,聪明的攻击者通过稍微修改现有的攻击来规避这些系统。有时,黑客甚至使用来自其他攻击的工具组合来逃避攻击。Petya勒索软件攻击就是一个例子,该攻击于2016年被发现,通过电子邮件附件和运行Windows的受感染电脑传播。它覆盖主引导记录(MBR),安装自定义引导加载程序,并强制系统重新启动。然后,自定义引导加载程序加密主文件表(MFT)记录,并使整个文件系统不可读。这次攻击没有导致大规模的机器感染。然而,2017年出现的另一起攻击与Petya共享重要代码。在名为NotPetya5的新攻击中,攻击者使用永恒的蓝色来传播,而不是使用电子邮件附件。通常,恶意软件本身是加密的,类似的代码很难检测到。通过改变它们的传播方式,用来检测潜在行为特征的系统也可以被绕过。
攻击检测的另一个挑战是一类称为高级持久威胁(Advanced Persistent threat, APTs)的攻击。它们往往是复杂的,并在较长时间内持续的[18][34]。攻击者获得对组织网络的非法访问权,可能在很长一段时间内未被发现,而攻击的整个范围仍然未知。与其他常见威胁(如病毒和木马)不同,apt是在[34]的多个阶段实现的。这些阶段大致包括对目标网络或主机的侦察(或监视)、获得非法访问、有效载荷交付和执行恶意程序[3]。尽管这些步骤保持不变,但是用于执行这些步骤的特定漏洞可能会从一个APT更改到另一个APT。因此,检测威胁的新方法(或apt)应该能够适应不断发展的威胁,从而帮助尽早检测攻击。
我们的原型系统在第四节中详细介绍了从不同的威胁情报来源获取知识,并以一种可以直接用于攻击检测的方式表示这些知识。这种快速的适应能力有助于我们的系统适应不断变化的威胁环境。它还有助于减少前面描述的时间间隔问题。此外,知识图的存在和基于知识图的推理有助于识别攻击中的变化。
三、相关工作
3.1安全与事件管理
随着威胁和apt复杂性的增加,一些公司已经发布了用于安全信息和事件管理(SIEM)的商业平台,这些平台集成了来自不同来源的信息。典型的SIEM具有许多特性,例如管理来自不同源的日志、对各种事件的相关性分析以及向系统管理员发出[35]警告的机制。例如,IBM的QRadar可以管理日志、检测异常、评估漏洞,并对已知事件[15]执行取证分析。它的威胁情报来自IBM的X-Force[27]。思科的Talos[5]是另一个威胁情报系统。市场上有许多SIEMs6,如LogRhythm、Splunk、AlienVault、Micro Focus、McAfee、LogPoint、Dell Technologies (RSA)、Elastic、Rapid 7和Comodo,具有实时监视、威胁情报、行为分析、数据和用户监视、应用程序监视、日志管理和分析等功能。
3.2基于本体的系统
Obrst等人详细介绍了网络安全领域本体的设计过程。该研究基于定义恶意活动[16]的diamond模型。本体构建在一个三层体系结构中,该体系结构由底层的特定于领域的本体、中间层本体和上层本体组成,中间层本体聚类并一起定义多个领域,上层本体定义为尽可能通用的本体。后来设计的多个本体都使用了上述过程。
Oltramari等人[31]创建了crato作为一个三层本体来描述不同的网络安全威胁。这些层包括一个用于安全操作的本体(OSCO),它组合了不同的领域本体,一个扩展安全概念的与安全相关的中间本体(SECCO),以及更高级别的DOLCE本体[19]。在Oltramari等人的[30]中,使用了DOLCE本体(DOLCE- spray)的简化版本来展示如何检测SQL注入攻击。
Ben-Asher等人设计了一个混合的基于本体的模型,将网络包中心本体(代表网络流量)与自适应认知代理相结合。它学习人类如何在抵御恶意攻击的同时做出决策。agent基于基于实例的学习理论,利用强化学习通过经验改进决策。Gregio等人讨论了一个全面的本体来定义恶意软件行为。
这些系统和本体中的每一个都只关注一个很小的信息子集,比如网络流量或主机系统信息,而SIEM产品并没有使用本体方法和系统的巨大功能和好处来推断使用它们的原因。在这方面,认知网络安全(Cognitive CyberSecurity, CCS)通过整合来自多个现有本体以及基于网络和主机的传感器(包括系统信息)的信息,对安全威胁采取更大、更全面的视角。它为系统管理员创建数据的一个代表性视图,然后提供一个框架来跨这些不同的数据源进行推理。
本文在语义规则用于网络安全攻击检测的[37]、[38]、[26]领域对我们之前的工作进行了显著的改进。CCS使用统一的网络安全本体(与stix兼容的模式)来表示、集成和增强关于网络威胁情报的知识。目前对它的扩展有助于将标准的网络杀伤链阶段与各种主机和网络行为连接起来,这些行为是由诸如Snort和监视代理等传统传感器检测到的。与我们之前的工作不同,这些扩展允许我们的框架从源中吸收不完整的文本,以便以一种认知的方式检测网络安全事件。
四、网络安全认知方法
本节介绍我们检测网络安全攻击的方法。它的灵感来自于人类用来吸收各种知识的认知过程。《牛津词典》将认知[7]定义为“通过思维、经验和感官获取知识和理解的心理活动或过程”。我们的认知策略包括从各种情报来源获取知识和数据,并将它们组合成一个现有的知识图,其中已经填充了关于攻击模式、以前的攻击、用于攻击的工具、指标等网络威胁情报数据。这是用来推理的数据,从多个传统和非传统的传感器来检测和预测网络安全事件。
我们的框架的一个新特性是它能够从动态文本源中吸收信息,并将其与恶意软件行为信息结合起来,检测已知和未知的攻击。文本源的主要挑战在于它们是供人类消费的,而且信息可能是不完整的。此外,文本是为特定的读者,谁已经有一些关于主题的知识。例如,如果一篇文章的目标读者是一名安全分析师,那么“Wannacry是一种新的勒索软件。比文本本身更具有语义意义。基于他们的背景知识,安全分析人员可以扩展前面的描述,并推断出Wannacry可能执行的操作如下:
•Wannacry试图加密敏感文件;
•下载的程序可能启动了加密;
•使用下载的密钥或随机生成的密钥进行加密;和
•Wannacry会修改许多敏感文件。
然而,机器不能仅从文本中推断出这些知识。我们的认知方法通过将经验或安全威胁概念(攻击模式、执行的操作和相关信息,如攻击源和目标)集成到一个知识图中,并使用标准推理技术将其与新的、可能不完整的文本知识结合起来,从而解决这个问题。
为了解决在结构上存储和处理有关网络安全领域的此类知识的挑战,我们使用了入侵杀死链,这是大多数网络安全攻击中观察到的一种常见模式。Hutchins等人[14]描述了一个入侵杀死链,包括以下七个步骤。
•侦察:收集目标和各种现有攻击的信息(如端口扫描、收集使用的硬件/软件的公共信息等)
•武器化:将特定的木马(提供对受害机器的远程访问的软件)与漏洞(首先获得对受害机器的未经授权的访问的软件,通常利用漏洞)结合起来。在选择木马和漏洞时,要考虑侦察阶段的知识。
.交付:将武器有效载荷交付给受害者机器。(如电子邮件附件、可移动媒体、HTML页面等)
•利用:在受害机器上执行武器有效载荷。
•安装:一旦利用成功,攻击者可以通过安装附加的木马更容易地访问受害机器。
•命令与控制(C2):安装在受害机器上的木马可以连接到命令与控制机器上,随时准备接收要在受害机器上执行的各种命令。apt经常使用这样的策略。
•目标操作:最后一步是对受害机器执行不同的恶意操作。例如,当数据窃密攻击向攻击者发送敏感信息时,勒索软件开始搜索和加密敏感文件。
许多攻击都符合这七个步骤。因此,我们将这些步骤表示在一个知识图中,并将它们链接到相关信息,如每个步骤中使用的潜在工具和技术、来自传统传感器的指示器等。例如,我们将工具nmap与侦察步骤关联起来,当它的存在被诸如Snort之类的传统网络检测器检测到时,我们推断出一个潜在的侦察步骤。
一个完整的知识图连接了许多概念,可以使用标准的演绎推理技术进行推理。这种对知识图和网络数据的推理,如果存在的话,可以在网络杀戮链中找到类似于人类分析师的其他步骤。应该指出的是,并不是所有的攻击都适用于它们生命周期中的所有七个步骤。例如,一些攻击是自包含的,因此不需要命令和控制设置。我们的系统对攻击正在发生的信心随着推断出更多的指标而增强。
围绕网络攻击链表示网络安全攻击信息还有许多其他优点。首先,它有助于轻松地将来自文本源的信息吸收到知识图中。例如,在Wannacry、NotPetya和Retefe等大型攻击的武器化阶段也发现了“永恒蓝”的漏洞。让我们假设知识图已经包含了关于永恒蓝色的信息,这可能是因为它是作为之前攻击的一部分添加的。现在,有了NotPetya使用永恒蓝色进行开发的新信息,可以推断出几件事,比如为NotPetya的活动提供证据的指标,即使它们没有在图中明确指定。
另一个优点是,它有助于检测现有攻击的变化。为了躲避攻击,攻击者通常使用可以执行类似活动的不同工具。例如,如果有一个指定在攻击中使用nmap的签名,对手可能会试图通过使用另一个扫描器来逃避检测,比如Angry IP Scanner7 Solar Winds8。我们的技术将仍然可以在其他指标的帮助下进行侦察——图中将nmap与这些工具联系起来,因为它们的目的类似——这有助于减少规避策略。
此外,一些新的攻击是旧攻击中使用的工具/技术的排列。在许多情况下,使用类似的工具,或者在不同的攻击中利用漏洞。例如,Petya和NotPetya共享类似的目标操作(MFT加密)。前者使用网络钓鱼来传播,后者使用永恒的蓝色。由于我们将有关不同攻击的信息组合在一起,并将其与文本信息融合在一起,因此我们还可以检测到此类新攻击。
本文给出了一个详细的推理实例。让我们假设一个博客报道了一个新的勒索软件,它使用nmap进行侦察,并使用Eternal Blue进行开发。我们的知识图中已经填充了一些常见的信息,包括“Eternal Blue使用畸形的SMB包进行开发”、“一个通用的勒索软件修改敏感文件”、“勒索软件提高处理器利用率”等等。让我们还考虑我们的传感器检测到敏感的文件修改、SMB包的畸形和nmap端口扫描。这些数据不能独立地检测到勒索软件攻击的存在,因为它们可能发生在其他原因,如文件被用户修改或不正确的SMB数据包传输由于一个坏的网络。然而,当我们处理来自博客等来源的信息时,一个新的勒索软件使用了“永恒的蓝色”(Eternal Blue)进行攻击,它就提供了拼图游戏中缺失的一块,可以更有把握地表明攻击的存在。
为了约束系统,我们对攻击者做了一些假设。首先,攻击者对被攻击的系统没有完整的内部知识。这意味着这个人进行了一些探测或侦察。第二个假设是,并非所有的攻击都是全新的。攻击者重用软件/系统中已发布的(安全博客、黑市等)漏洞,执行不同的恶意活动,如拒绝服务(DoS)攻击、数据过滤或未经授权的访问。最后,我们假设我们的框架有足够的传统传感器来检测网络(NIDS)和主机(HIDS)中的基本行为。
我们将攻击者分为三类,它们的知识和成熟度各不相同:脚本小子、中级和高级状态参与者。脚本kiddy通常使用已知的现有技术和工具,并尝试执行已知方法的简单排列来执行入侵。另一方面,中间攻击者显著修改已知的攻击或工具,并试图逃避直接检测攻击行为通常保持不变。作为国家行为者或专家的对手会挖掘新的漏洞并设计零日攻击。我们的系统试图有效地抵御前两类。在将这些攻击的信息添加到知识图中之前,很难防御第三类攻击者。
四、系统架构
本文描述了一种网络安全认知助手,通过融合传统传感器、动态在线文本源和知识图的信息来检测网络安全事件。我们的网络安全认知助手的系统架构如图1所示。我们的框架有三个主要的输入源:文本源的动态信息、传统的传感器和人工专家。Intel-Aggregate模块从博客、网站甚至社交媒体获取信息,并将其转换为语义web RDF表示。然后数据被发送到CCS(认知网络安全)模块,这是我们框架的大脑,在那里生成可操作的情报,以协助安全分析师。下面几节将描述各种组件。
4.1CCS框架的输入
第一个输入来自文本源。这种输入可以是STIX、TAXII等格式的结构化信息(来自US-CERT和Talos等威胁情报来源),也可以是博客、twitter、Reddit帖子和暗web帖子等来源的纯文本。介绍了US-CERT在wannacry上共享的部分STIX格式的威胁情报示例如图2所示。我们使用从Joshi等人的[17]网络安全文本训练的现成的命名实体识别器(NER)从纯文本中提取实体。下一个输入来自传统的网络传感器(Snort、Bro等)和主机传感器(主机入侵检测系统、文件监控模块、进程监控模块、防火墙等)。我们使用来自这些传感器的日志作为系统的输入。最后,人类专家可以定义特定的规则来检测复杂的行为或复杂的攻击。来自人类专家的输入是至关重要的,因为分析师的直觉经常被用来识别潜在的入侵。捕捉这样的直觉使我们的框架更好。此外,分析人员可以指定组织中使用的标准策略。例如,分析人员可以指定是否强制执行白名单策略(即默认情况下只接受特定列表中的IP地址),是否认为具有与特定位置对应的地理位置的IP地址是假的,等等。然后将所有这些输入发送到Intel-Aggregate模块进行进一步处理。
4.2认知网络安全模块
认知网络安全(CCS)模块使用不同的系统输入来聚合和推断网络安全事件,被认为是我们框架的大脑。这个模块的输出对于安全分析人员来说是可操作的情报。该模块的核心是知识表示。我们使用UCO(统一网络安全本体)的扩展,使用W3C标准OWL格式表示领域中的知识。我们对UCO进行了扩展,使其能够对来自各种网络传感器(如Snort、IDS等)的输入和来自网络攻击链的信息进行推理。我们还使用SWRL(语义Web规则语言)来指定实体之间的规则。例如,SWRL规则用于指定,如果为特定的IP地址标识了终止链中的不同阶段,则将检测到攻击。知识图中的信息是通用的,因此专家可以很容易地向其中添加新知识。它们可以直接使用不同的已知技术作为指示器,因为我们的知识图已经知道如何检测它们(直接从传感器或使用这些传感器的复杂分析)。例如,专家可以将端口扫描作为指示器,推理程序将自动推断Snort可以检测到它并查找Snort警报。
统计分析和图分析子模块通过建立传感器检测到的事件之间的关联规则来检测数据流中的异常事件,然后将这些关联规则聚类分析数据流中生成的事件轨迹模式。此外,还使用隐马尔可夫模型(HMM)来学习模式(从现有的带注释的数据中),并在流中隔离相似的模式。任何标准技术都可以用来生成指标,只要它们是以标准OWL三重态的形式提供给CCS知识图即可。RDF/OWL推理器(如JENA[4])也是CCS模块的一部分,该模块将对生成可操作智能的知识图进行推理。第V-D节描述了该模型概念实现的具体证明。
4.3Intel-Aggregate模块
Intel-Aggregate (IA)模块负责将各种传统和非传统网络传感器输入转换为标准的语义web OWL格式。我们系统的各种输入在V-A节中提到。但是,它们将产生不同格式的输出,并且与我们的框架的知识图(使用UCO表示)不兼容。为了与UCO中定义的实体和类保持一致,需要转换数据。该模块接收认知框架的所有输入,将它们映射到UCO类并生成它们相应的格式良好的OWL语句。IA模块是连接到框架上的所有传感器的一部分.
4.4概念实施证明
我们的概念验证网络安全认知助手的体系结构类似于赛门铁克的数据中心安全和人群罢工等现实世界的系统。它的主节点是CCS模块,它检测各种网络安全事件,并与一组可配置的认知代理进行协调和管理,这些认知代理运行在收集各种统计数据的主机系统上,如图3所示。运行在不同系统中的认知代理将各自的状态报告给CCS模块,该模块整合信息并推断可能发生的网络安全事件。
1)认知agent:全agent是智能体聚合器(IA)模块与传统传感器的组合。Intel-Aggregator模块是这样开发的,它可以定制为与多个传统传感器一起工作,这些传感器收集信息并将信息作为RDF数据发送给CCS模块,这些RDF数据由UCO模式支持,用于进一步处理。实验实现包括流程监视和文件监视代理,以及如下所述的Snort代理。
•进程监控代理:该代理组合了自定义流程监控和IA模块,并在网络中的所有主机上运行。它监视机器中的不同进程及其父层次结构,同时收集内存和CPU使用情况等统计信息。它还注意到进程正在访问和/或修改的文件,特别注意受限制的文件。代理使用IA模块将所有这些信息转换为RDF数据,并将其报告给CCS模块。我们使用Python psutil[32]模块实现了我们的流程监控工具。监视器维护它自己的进程表(系统中所有进程的列表),以便它可以监视每个进程的状态,即,如果已创建或正在运行或已退出。
•文件监控代理:一个自定义文件监控附加到一个IA模块,该模块类似于一个进程监控代理,并且运行在所有主机上,聚合各种与文件相关的统计信息。为了避免监视所有文件和目录,我们在检测可疑文件时维护敏感文件列表。可疑文件是由新进程创建或修改的新文件、从Internet下载的大文件或从大规模存储设备复制的文件。发送到CCS模块的信息包括修改文件的过程、大小、创建方法和其他文件元数据。文件监视代理在Python中使用Watchdog观察者库实现,该库允许我们监视敏感目录上的所有文件操作。与processing monitoring agent类似,它将文件操作信息转换为RDF表示并将其报告给CCS模块。
•Snort代理:该代理是Snort日志处理器和IA模块的组合。它读取Snort的输出日志文件,并生成与CCS模块的知识图一致的RDF三元组。
2) CCS模块:CCS模块是我们方法的大脑,它使用认知分析来检测来自代理的信息攻击。它使用配置了SWRL规则引擎和Jena推理程序的Apache Fuseki服务器[10]。该模块从所有代理获取输入,对它们执行演绎推理,并将输出提供给仪表板Web接口。仪表板动态显示源和目标ip、从传感器检测到的活动和观察到的复杂事件等信息。当检测到全面攻击时,仪表板会发出攻击警报,如图4所示。
五、用例场景
我们用一个勒索软件攻击的具体用例测试了我们的系统的有效性。我们描述了为用例场景设计的定制勒索软件攻击,测试中使用的网络拓扑,认知助手在检测攻击时所采取的一系列步骤,以及我们对认知助手的评估。
5.1定制Ransomware设计
我们的自定义勒索软件针对Windows 7机器,其中有CVE-2017-0143漏洞[6],一个缓冲区溢出相关的SMB协议。我们使用来自Metasploit的漏洞来访问受害者机器。一旦自定义勒索软件获得访问权限,它就会将恶意软件脚本从攻击者的机器下载到受害者的机器。下载的恶意软件脚本然后执行以下步骤.
1)下载可执行文件加密文件;
2)从攻击者机器上下载公钥;
3)使用已编译的潜在位置列表(如默认的雷鸟电子邮件客户端存储位置、默认的Outlook位置、文档文件夹和默认的下载文件夹)发现受害者机器中的敏感文件和文件夹,避免系统文件,因为加密可能会妨碍引导;
4)将选择的文件分割成块,并为每个块生成一个随机密钥;
5)使用AES (RSA实现通常不用于加密大文件)和相应的随机密钥对每个块中的文件进行加密;
6)安全删除与加密数据文件对应的原始文件;
7)创建一个文件,包含所有加密的文件位置和用于加密的随机密钥;
8)使用RSA和下载的攻击者公钥加密新生成的文件;和
9)安全删除含有chunk信息的原始文本文件;
5.2概念网络架构的证明
为了部署我们的系统并使用VI-A节中描述的自定义勒索软件感染它,我们创建了一个包含3台不同机器的网络,如图5所示。
1)攻击机器:攻击机器是一个Ubuntu 16,带有自定义脚本和一个web服务器。攻击脚本负责扫描网络中易受攻击的机器,并识别它们的IP地址。一旦编译了IP列表,它就开始攻击,发送格式错误的SMB包并访问受害机器。下一步是从攻击机器下载勒索软件脚本到受害者机器,并启动它的执行。这台机器还将运行一个webserver,该服务器托管勒索软件脚本、加密软件等,以及为每个请求的IP地址生成、发送和保存公私密钥对的机制。
2)受害机器:我们的评估使用了针对CVE-2017-0143的漏洞,如第VI-A节所述,目标是Windows 7机器。因此,我们选择重新安装Windows 7 SP1作为受害机器。我们在其上安装的唯一附加软件是V-D1节中描述的文件监视和进程监视代理。我们还增加了将“有价值的”文件放入文件和图片之类的文件夹。
3) CCS主机:核心检测技术安装在CCS主机上,主机运行两个主要部件。第一个是一个装载了Jena的Fuseki服务器,一个标准的OWL DL推理程序,修改后的UCO本体和相关的SWRL规则。第二个是CCS模块,它提取关于主机活动和可能的新攻击的新信息,运行分析并动态更新CCS仪表板。此外,我们在这台机器上运行Snort和Snort代理,不过Snort也可以在另一台机器上运行,因为Snort代理将负责将其信息发送到CCS主模块。
5.3概念时间轴证明
我们实现了CCS的相关模块,并创建了VI-B节中描述的网络。我们的下一个目标是检查我们是否能检测到勒索软件攻击。我们的知识图更新了常见的知识,包括网络攻击链和第四节中提到的关于网络攻击的知识。我们证明,即使是这样简单的信息也可以用这个实验系统来检测新的攻击。图6显示了执行攻击的时间轴和来自CCS模块的操作。下面详细介绍其中的每个步骤。
•第一步:攻击者执行使用Nmap受害者机器上的端口扫描;
•步骤2:Snort代理检测端口扫描并报告给CCS模块;
•第三步:攻击者使用攻击脚本来攻击受害者机器(使用“永恒的蓝色”)
•步骤4:Snort代理检测网络中畸形SMB数据包;
•第五步:成功利用后,攻击者向受害机器注入恶意软件;
•步骤6:第一个攻击脚本开始从受害机器运行恶意软件
•步骤7:如第VI-A节所述,恶意软件现在开始下载加密软件、密钥等;
•步骤8:将加密软件和密钥下载到受害机器中。恶意软件的下一个任务是使用下载的工具检测敏感文件及其加密;
•步骤9:Snort检测来自未知/潜在错误IP地址的下载;
•步骤10:文件监控代理检测从互联网上下载的新文件;
•步骤11:在执行加密时,恶意软件修改了许多敏感文件,文件监控代理将其报告给CCS模块;和
•步骤12:当对较大的文件进行加密时,处理器使用量显示较大的值,流程监控代理将其报告给CCS模块。
在这个测试中,CCS知识图从文本来源获得了关于一个新的勒索软件攻击的信息。来自文本源的新信息是“Wannacry是一个勒索软件”和“Wannacry使用畸形SMB包进行攻击”。在攻击时间表中,在第2步,Snort报告端口扫描,CCS模块将推断端口扫描作为潜在的侦察步骤。在第4步,当Snort检测到网络中一些格式错误的包时,不能断定这是攻击,因为它可能只是一些错误包。
后续步骤(步骤9到步骤12)检测来自未知源的下载、敏感文件修改和处理器使用量的增加。从知识图中,我们知道勒索软件攻击“目标上的行动”的典型特征和指标包括敏感文件修改的多个实例,以及加密导致的高处理器使用率。
然而,由于正常使用,也可能发生这些情况。例如,用户可能手动修改了文件,下载并安装了用于进行Internet连接的新应用程序,然后运行它们。单独使用这些指标不能可靠地检测勒索软件。然而,CCS系统已经知道了一种新的勒索软件攻击,这种攻击使用来自文本源的畸形SMB包。当这些信息与来自不同传感器的数据相结合时,CCS系统推断系统中正在发生类似于Wannacry攻击,并将其显示在仪表板上,如图4所示。
六、结论
本文描述了一种用于检测网络安全事件和攻击的协同认知助手的设计与实现。我们的技术从各种来源(如安全公告、CVE和博客)吸收和解释往往不完整的文本信息,并使用统一网络安全本体中的术语将其表示为知识图。它表示来自传统主机和网络传感器的数据,以及由机器学习技术生成的任何分析,在同一个知识图中。它利用这些知识来检测与网络安全相关的复杂事件,并预测可能发生的攻击。
我们还开发了一个概念验证CCS系统,该系统具有一个认知仪表盘,可以将网络安全事件报告给安全分析师。我们的系统的能力是通过测试它对自定义构建的勒索软件,它使用SMB漏洞感染受害者类似于臭名昭著的Wannacry勒索软件。我们的技术通过融合来自多个来源的信息,并像人类分析师一样对其进行推理,减少了分析人员解释大型企业中发生的复杂事件的认知负担。
在正在进行的工作中,我们通过添加更多的传感器和概念来解决系统的可伸缩性问题,这些传感器和概念定义了在典型网络上运行的各种进程的行为。我们正在修改UCO模式,以提高其表示和推断临时合格数据和信息的能力,管理和使用数据来源,并支持STIX 2.0版本。我们也正在实施一个系统,从TAXII服务器[28]的提要连续不断地将新的网络威胁情报数据添加到知识图中。