作者描述了一种新颖的协作框架,该框架通过利用语义丰富的知识表示和与不同机器学习技术集成的推理功能来协助安全分析人员。文中介绍的认知网络安全系统从各种文本源中提取信息,并使用一种扩展的UCO安全本体的将其存储在知识图谱中。该系统将知识图谱和基于网络的传感器的各种协作代理组合在一起,进行推理从而为安全管理员提供高质量情报。
目前市面上各种各样的安全工具和系统可用于检测和缓解网络安全攻击,包括入侵检测系统(IDS),入侵检测和防御系统(IDPS),高级安全应用设备(ASA),下一步代入侵防御系统(NGIPS)和一些云安全工具和数据中心安全工具。但是网络安全威胁及其相关的防御成本正在飙升。复杂的攻击者仍然可以在受害者的系统上花费超过100天的时间而躲避防御。根据Microsoft的一项研究,每天产生23,000个新的恶意软件样本,而一家公司的数据泄露平均成本约为340万美元。从信息泛滥到响应速度慢等多种因素,使现有技术失效,无法减少这些网络攻击造成的破坏。
早期的安全监视系统(例如IDS和IDPS)开始向安全分析人员发出警报时,现代安全信息和事件管理(SIEM)系统应运而生。 Splunk,IBM QRadar和AlienVault是一些商业上可用的SIEM系统。典型的SIEM从企业中的大量计算机中收集安全日志事件,集中汇总此数据,然后对其进行分析以向安全分析人员提供警报。尽管摄取了大量的主机/网络传感器数据,但它们的报告仍然难以理解,嘈杂并且通常缺乏可操作的详细信息,研究显示有81%的用户经常被误报信息困扰,在此类系统中缺少的是协作推理能力,不仅是聚合来自主机和网络传感器的数据,而且还包括它们的集成以及推理威胁情报和从协作源收集的感知数据的能力。
这篇论文描述了一种基于多部分之间协作的早期检测网络安全攻击认知系统。首先从多个威胁情报源中获取有关新发布的漏洞的信息,并将其表示在机器可推断的知识图谱中。在该知识图谱中也可以表示被监视的企业网络状态通过集成来自协作传统传感器(例如主机IDS,防火墙和网络IDS)的数据。系统将威胁情报与观察到的数据融合在一起,以尽早在漏洞利用开始之前发现攻击,这种认知分析不仅减少了误报,而且减轻了分析人员的认知负担。威胁情报的数据来源包括多种文本来源,利用UCO通用的语义模式整合来自如STIX, CVE, CCE, CVSS, CAPEC, CYBOX和STUCCO的数据
为了监测网络状态,系统开发了多个代理(Agent?),包括进程监视代理,文件监视代理和Snort代理,它们分别在各自的计算机上运行,并将数据提供给认知安全推理Cognitive CyberSecurity(CCS)模块,该模块是本系统的核心模块,用来对代理监测的数据和存储的知识图谱来检查各种网络安全事件
尽管安全领域中存在多种工具,但是攻击检测仍然是一项艰巨的任务。攻击者通常会适应新的安全系统,并找到避开它们的新方法。
网络攻击监测目前的三大挑战:
认知方法即知识图谱;知识推理,这篇论文的认知策略涉及从各种情报来源获取知识和数据,并将它们组合到一个现有的知识图中,该知识图谱中已经包括如攻击方式,先前的攻击,用于攻击的工具,指标等的网络威胁情报数据。然后根据来自多个传统或非传统的传感器数据进行推理分析,检测和预测网络安全事件。
机器可以通过知识图谱中的节点路径包括的经验信息来推理结论,此外为了应对在结构上存储和处理有关网络安全知识的挑战,引入了kill chain概念(七个步骤,侦查跟踪,武器化,载荷投递,漏洞利用,安装植入,C2命令控制和目标行动), 在这篇论文工作中,将kill chain表示在知识图谱中并连接与其相关的所有信息,如步骤中使用的潜在工具和技术,例如,我们将工具nmap与侦察步骤相关联,并且当诸如Snort之类的传统网络检测器检测到它的存在时,我们就推断出潜在的侦察步骤。将网络攻击信息围绕攻击链展开表示可以有助于知识图谱像安全分析人员一样推理,通过知识图谱和网络数据可发现其他可能存在的攻击步骤,但不是所有的网络攻击可以都应用了这七个步骤,随着推断的指标越来越多,系统对发现网络攻击的可信度也越来越高,网络攻击信息围绕攻击链展开表示还有以下优点:
系统将攻击者根据知识和复杂度分成低中高三类,(script kiddies,intermediate,advanced state actors),
图1 系统流程图
最后专家可以定义特定的规则来检测复杂行为或复杂的攻击,同时还可以定义一下标准,比如IP的白名单,所有输入都需要经过Intel-Aggreate模块进一步处理。
CCS是系统核心模块,输出为可信的/可执行的情报,这部分系主要做的是知识表示,CCS模块基于UCO本体做延伸(OWL格式),使得它可以利用输入的网络嗅探器数据比如Snort,IDS等和cyber-kill chain的信息,使用SWRL(Semantic Web Rule)来确定实体entity的规则。比如在攻击链中的某个阶段检测到特定的IP地址,name推断这是一次特定的攻击行为。
在CCS模块,对于异常事件可以进行统计分析和子图分析,首先通过传感器建立事件间的关联规则然后对他们进行聚类来分析事件流中的轨迹模式。HMM隐马尔可夫模型可以用来学习模式(已经标注的数据)并且识别数据流中相似的模式,可以使用任何标准技术来生指示器/指标,只要它们采用标准OWL三元组的形式即可,即可将其输入CCS知识图中。Jena中的RDF/OWL推理机也是CCS的一部分。
此模块(IA模块)的主要作用是将输入的传感器的数据和其他形式的数据映射到UCO本体,并转换为OWL格式。
论文工作实现了一个称作网络安全认知协助的系统,类似于赛门铁克的数据安全中心,其主节点是CCS模块,用来检测各种网络事件并且对在主机上收集统计数据的传感器进行统一调度配置,如下图所示,不同的传感器将各自的状态数据传输给CCS模块然后CCS整合所有信息进行推论。
图5-1 CCS架构图
每个Cognitive Agents包括一个传统传感器和IA数据整合模块,IA模块可以设置可与多个传感器配合,最后以UCO本体,RDF/OWL数据格式的形式传输到 CCS模块。此实验包括了进程监控;文件监控和Snort网络检测。
CCS模块使用配置有SWRL规则引擎和Jena推理机的Apache Fuseki 服务器,CCS获取Cognitive Agent的RDF/OWL格式输入,并且将输出反馈给前端Web界面,Web端动态的显示信息,例如源和目标IP,传感器检测的活动以及观察到的复杂事件,当发现网络攻击时,前端会发出攻击报警。 如下图所示:
图5-2 系统前端展示图
这篇工作以勒索软件攻击的具体用例测试了系统的有效性。描述了针对用例场景设计的定制勒索软件攻击,测试中使用的网络拓扑,认知协助系统在检测到攻击时采取的一系列步骤以及我们对认知协助系统的评估。
攻击目标定位具有CVE-2017-0143漏洞(SMB协议有关的缓冲区溢出)的Win7系统主机,使用Metasploit 工具利用此漏洞攻击计算机,一旦勒索软件获得访问权限后,它将恶意软件脚本从攻击者的计算机下载到受害计算机。恶意软件脚本的攻击步骤如下:
这篇工作将对这次勒索软件的攻防网络进行建模,图示如下三部分
在此部分列举攻防时间线是为了检查系统是否可以检测到勒索软件攻击,首先对知识图谱中的通用知识更新,包括网络攻击链和网络攻击等知识,并且此系统证实了在知识图谱仅包括通用知识也可以检测到网络攻击行为。 下图展示了攻防时间线:
图6-2 攻防时间线
在上述测试中,CCS模块中的知识图谱部分纳入了勒索软件的信息,比如“Wannacry is a ansomware” 和“Wannacry uses malformed SMB packets to exploit”,那么在Step2 Snort报告端口扫描的时候可能会被CCS推断出潜在的侦查化阶段,Step4当Snort检测到错误格式的SMB数据包,此时不能确定是一次攻击,因为它可能只是一些错误数据包,在随后的第9步到12步,系统检测到位置来源的下载任务;敏感文件修改和处理器使用率的提高。从知识图谱上,我们知道勒索软件攻击的“目标操作”的典型特征和指标包括敏感文件修改以及加密导致的处理器使用率高,然而在正常使用时,这些情况也可以发生,例如,用户可能已经手动修改了文件,下载并安装了建立Internet连接的新应用程序,然后运行它们。单独使用这些指标的情况不能用于可靠地检测勒索软件。但是,CCS系统从文本信息中已经知道有新的勒索软件攻击利用错误的SMB数据开始攻击。该信息与来自各种传感器的数据结合后,CCS系统推断系统中正在发生类似于Wannacry攻击的攻击。
这篇论文描述了一个针对网络攻击的多协作的认知推理协助系统,知识图谱部分与之前介绍的VKG相同,另外将主机和网络探测器的信息也利用IA数据转换模块生成RDF,同时纳入了经验信息,比如学习到的攻击模式,SWRL规则,它基于此知识来检测与网络安全相关的复杂事件并预测可能发生的攻击。该工作还开发了概念验证CCS系统,该系统具有认知仪表板,可将网络安全事件报告给安全分析人员,待完成工作需要考虑可扩展性,需要更多的传感器的数据,并且细化UCO本体提高其表示和推理时间限定的数据和信息的能力,并且支持STIX2.0,并还正在实施一个系统,以从TAXII服务器的提要中连续地向知识图中添加新的网络威胁情报数据。