APP下载

基于网络行为自学习的高级持续性威胁检测技术研究

2019-07-05刘嘉谢冰杨传旭万洪强郑妍杨晶

计算技术与自动化 2019年2期
关键词:网络应用数据流基因组

刘嘉 谢冰 杨传旭 万洪强 郑妍 杨晶

摘   要:高级持续威胁(APT)对网络安全构成严重威胁,其独特的高度不可预测性、深度隐蔽性和严重危害性使得传统网络监控技术在大规模复杂网络流量背景下面临前所未有的挑战。针对APT检测的迫切需求,依托大数据分析和云计算技术的快速发展,基于机器学习理论,对网络应用语义丰富的行为特征模式进行描述,通过网络协议反向分析和数据流处理技术的有机结合,建立了一套支持建立入侵容忍网络生态环境的新的APT自学习检测框架。

关键字:高级持续性威胁;网络安全;数据流处理;入侵检测;网络行为模式

中图分类号:TM769                                                文献标识码:A

Research on Advanced Continuous Threat Detection Technology Based

on Network Self-learning Behaviors

LIU Jia?覮,XIE Bing,YANG Chuan-xu,WAN Hong-qiang,ZHENG Yan,YANG Jing

(Yuxi Power Supply Bureau,Yunnan Power Gird Co.,Ltd. ,Yuxi,Yunnan  653100,China)

Abstract: A serious threat is posed by advanced persistent threat(APT)  to network security. Its unique high unpredictability,deep hiding and serious harm make traditional network monitoring technologies face unprecedented challenges in the context of large-scale complex network traffic. The urgent need for APT detection is addressed in this paper,and relies on the rapid development of big data analysis and cloud computing technology. Based on the theory of machine learning,it describes the behavior pattern of semantic richness in network applications,through the reverse analysis of network protocols and the technology of data flow processing. In combination,a new APT self-learning detection framework was established to support the establishment of an intrusion-tolerant network ecosystem.

Keywords: advanced persistent threats;network security;data stream processing;intrusion detection;network behavior patterns

由于強大和资金雄厚的组织(特别是政府)的参与,网络攻击现在变得越来越复杂。自2009年以来发生一系列重大安全事件,如Stuxnet攻击核电站事件、RSA SecureID黑客攻击、RAT病毒、DuQu和Flame等,表明高级持续性威胁(APTs)是当今信息安全领域面临的最快速增长的网络安全威胁之一[1]。APT是一种新一代具有高度复杂性的网络威胁,通常以一个非常精确的目标或瞄准一个特定的系统、实体,并在长时间内执行持续有效的攻击[2-4]。

与传统的网络威胁相比,APT具有三个突出特点:独特的高度不可预测性、深度隐蔽性和严重危害性,然而传统成熟的基于网络流量模式和已知攻击特征的成熟网络监控技术很难找到一个APT。根据各种报道,Flame在被发现之前一直潜伏了两年。同时,随着移动互联网消费者和网络应用的迅速增长,网络协议日益复杂多样,网络空间充斥着庞大而复杂的网络流量。因此,APT攻击难以用传统的网络防御机制来检测。

文献[5]提出一种虚拟执行分析检测。这种APT检测方法是典型的代表有沙箱检测技术,是通过在虚拟环境上执行检测,基于运行行为来判定攻击。由于APT 的长期性,沙箱检测技术短期运行效果不显著,长期运行必然耗时、耗资源。且虚拟环境与真实环境存在差异,需要进行差异性分析。文献[6]基于流量和深度内容对APT攻击行为机械检测。这种检测技术包括全流量审计技术和内容深度分析检测技术。由于APT 攻击持续的时间很长,需要对长时间内的数据流量和内容进行深入、细致的分析。全流量审计和深度内容检测目前面临的最大问题是数据处理量非常庞大,因此检测效率常常难以满足业务需求。

基于网络行为模式自学习而提出了网络基因的概念,通过这一概念描述语义丰富的网络应用行为特征模型。通过对网络行为和网络基因的匹配和学习,可以确定网络实体行为的身份相关性和与已知网络应用程序的源相似性。因此,本文通过网络行为模式的匹配发现深层次的异常网络行为,为识别和追踪APT攻击提供依据。基于上述理论,本文提出了一种基于网络基因的检测框架来预防和识别未知的APT攻击。

1   高级持续威胁(APT)

1.1   定义

目前对APT没有一个统一的标准化定义。美国国家标准与技术研究所(NIST)将APT描述为“拥有先进水平的专业知识和重要资源的对手,可以利用多种攻击载体(例如,网络、物理和欺骗)创造机会实现其目标”[7]。“高级”表明该威胁来自熟练的攻击者组织良好,且资金充足,具有充分的资源来收集情报,并能充分利用网络入侵技术和传统的情报技术。“持久性”指攻击者通过监视被破坏的组织网络来维持长期隐蔽存在的良好生存能力,以最终达到攻击的目的。

尽管APT曾经是军事和防务专家领域的专业术语,但一系列复杂且效果突出的网络攻击(如Stuxnet、Duqu、Flam等)已经将“APT”推向了舆论前沿,因此近年来网络 APT攻击的监测和分析技术已成为网络安全学术界乃至整个行业的焦点。

与网络系统相比,有许多自然系统要复杂得多,但即便如此,它们也是非常强健、有弹性和有效的。许多有机体用来抵御入侵者的生物免疫系统在分布式、复杂和不断变化的环境中发挥着极其出色的作用,即使受到连续不断的攻击。正如美国政府在2011年的联邦网络安全研究和发展计划的战略计划中提到的,生物免疫系统展示了大量有趣的机制,这些机制可以激发许多新方法来对抗网络攻击和保护网络系统[8]。

从网络监控的角度来看,需要更多地关注APT威胁,并通过持续监控,精确分析和实时响应来构建全方位的网络监控系统[9]。考虑到APTs独特的高度不可预测性,应加强对网络异常行为检测技术的研究。

1.2   异常检测

对APT攻击的检测来源于捕获的病毒样本的实际分析,如Stuxnet和Flame。 在实施阶段,APT攻击与传统网络攻击之间没有本质区别,因此APT的概念模型在网络监控中几乎没有帮助。此外,即使存在APT的特定行为模型,由于APT攻击的独特高度不可预测性和对特定APT实例的分析,其检测新攻击的实用性可能是值得怀疑的,因为对特定APT实例的分析得出结论认为,每次攻击对于每个目标都是独特且高度自定义的。因此,APT的网络监控应该被用于基于异常的入侵检测。

网络中基于异常的入侵检测指的是在网络流量中发现不符合预期正常行为的异常模式的问题。 然而,由于APT网络行为与超低速攻击流量不可见,现有的基于流量模式的异常检测方法难以区分隐藏的APT流量与大量正常背景流量。基于协议分析的异常检测是一个更有潜力的方向[10-12]。

文献[13]引入了一种方法,使用决策树和协议分析来进行有效的入侵检测。该方法为每个应用层协议构建一个自适应决策树。异常检测将数据记录分为两类:良性和异常。异常情况包括多种类型,如DOS(拒绝服务),扫描和僵尸网络。因此,多类分类器是一种自然选择,但与任何分类器一样,它们需要昂贵的手标数据集,并且也无法识别未知攻击。文献[14]介绍NIDS扩展的设计和实现以执行动态应用层协议分析。对于每个连接,系统首先识别正在使用的潜在协議,然后激活合适的分析器来验证决策并提取更高级别的语义。

需要注意的是,对于未发布的协议,私有协议或加密协议,则必须事先通过反向工程方法获得协议规范信息。

1.3   大数据流计算

由于攻击者越来越能够规避传统的安全机制,传统防御性边界的瓦解需要安全专家采用大数据驱动的安全模式,依靠大数据计算和分析,这是更具风险意识,相关性和灵活性的。批量计算和流计算是大数据计算的两种重要形式。由于其在大数据环境中的实时处理,波动性,突发性,不规则性和无穷大等特点,流计算是网络安全应用中更合适的选择。现在已经有了各种各样的开源或商业大数据流处理引擎(如Storm、S4),它们可以满足安全分析平台的要求,如可扩展性、一致性、低延迟、高可靠性和容错性。

由于网络实体在许多方面模仿有机系统的行为,已有研究将基因模型应用于数据模型的匹配和自学习,并提出“一个检测网络事件的有机模型” [15]。这是一种用于映射网络实体参与到文本串中的行为序列并使用改进的生物信息学算法分析这些字符串的新颖方法。这种生物信息学方法可以快速计算以前未见过的网络实体在具有良好特征的实体方面的相似性度量,并用于对具有大量后台流量的网络事件进行分类和比较分析。

在大数据分析和云计算的驱动下,大数据流技术和网络安全实时数据分析实施平台得到迅速发展,为细化网络行为监控提供了坚实的基础。但与此同时,其在APT网络监测中的应用研究刚刚起步,缺乏统一有效的计算模型。

2   网络基因

APT检测需要支持更丰富的行为语义,这可以通过基于协议分析的异常检测来提供。 APT检测还需要分析网络协议行为以发现异常,协议反向工程有助于解决自动生成协议行为正常模式的效率问题。 由于实时处理能力对于APT检测非常重要,因此将APT检测与数据流处理技术相结合是一个合适的发展方向。

APT检测是一个非常全面和系统化的新兴研究重点。本文在前人关于网络威胁行为分析,网络入侵检测,软件逆向分析和协议逆向工程等研究的基础上,利用云计算和数据流处理的最新研究成果,提出了一种新的系统理论和计算模型,计算大量网络应用程序的语义丰富的网络行为模式。然后以网络基因为纽带,将网络行为深入分析与网络数据流实时处理有机结合起来,可以为检测未知的APT提供重要支持。

为此,本文引入网络基因这一概念来描述网络行为。网络基因通过网络协议反向分析提取的数字段,以及它们的组合序列,它们表示网络应用的语义丰富的网络行为模式。

根据APT网络行为表达的高度复杂性,网络应用程序的行为模式由低至高的消息行为基因、协议行为基因和操作行为基因三个层次基因组成,我们将其全部称为应用程序的网络基因组。消息行为基因表征协议消息级别的行为模式,包括消息格式,消息特征字符串及其类型限制。协议行为基因表征协议状态机级别的行为模式,例如协议消息序列。 操作行为基因的特点是应用程序级别的行为模式,它反映了密钥协议,文件传输和加密通道建立等高级行为意图。在基因组中不同水平的基因之间存在关联关系,正如在某种意义上,较高水平的基因是由较低水平基因形成的关联。

多个应用的网络基因组构成了庞大的网络基因库,并且在库中的不同基因组之间存在共享的相关性和变异相关性。共享相关性是指不同基因组中较高水平的基因共享相同的相关较低水平基因。变异相关性意味着该基因是另一个相同水平的基因的表征,并且其行为模式有一些变化。这两个相互性关系,尤其是后者,表达了不同基因之间的谱系演变。信息行为基因的变异可能意味着隐藏在消息内部的信息,而协议或操作行为基因的变异可能暗示欺骗性异常行为。网络基因的谱系演化对深入分析APT网络行为具有重要意义。

如图1所示,网络基因表达和网络基因库示意图鉴定了重用和共享基因以及变异基因。协议行为基因GP2由具有相同协议行为模式的操作行为基因GO2和GO3共享。与协议行为基因GP1相关的消息行为协议GM2是GM4的变体,这可能意味着存在某种隐藏行为或攻击行为的网络安全威胁。

我们也可以从形式化的角度描述网络基因和基因组。网络基因库D由网络基因组和相互之间的关系组成:

D =

其中G代表基因组集合,S代表共享相关集合,V代表变异相关集合。

该组基因组G = {G1,G2,G3,...,Gn},其中Gi代表基因组。Gi = 是代表基因组构成的三元组,其中GO代表操作行为基因,GP代表协议行为基因、GM代表消息行为基因。共享相关集合S = {,...}由两个元组以及变异相关集合V组成。如果∈S,则Gi和Gj之间将存在共享相关性,并且类似地,如果∈V,则会存在变化相关性。如图1所示.

3   检测框架

3.1   基于网络基因的APT检测

如图2所示,以网络基因为链接,APT网络监测模型分为两个阶段:网络基因的自动分析和提取,以及基于网络基因实时计算的异常网络行为的深入分析。

首先,通过构建动态二进制程序分析环境,可以通过处理多种网络应用程序提取网络基因,构建网络基因库。来自大量网络应用的网络基因库(可以被确定为良性、恶性或中性类型)为网络流量监测和分析提供统一的分析模板和客观依据。网络应用包括已知的应用软件(具有特定的功能和不同的意图)以及未知的应用软件。对于已知的应用程序,如果它们是著名的商业软件或开源软件,则应该认定它们是良性的;或者如果他们被捕获恶意软件样本,则应将其标识为恶意。对于未知的应用程序,在基因分析和提取之前应将其确定为中性,并且在自动分析之后,它们的性质可以被初步确定。

利用网络基因库,可以构建基于数据流处理平台的网络监控环境。通过部署具有网络基因实时计算能力的深度行为异常检测系统,可以发现APT攻击者或恶意软件利用垫脚石攻击特定目标服务器的隐身流量,同时分析由该网络产生的正常流量 大量的应用程序。这是一个典型的白名单异常检测方法。在网络基因的基础上,还可以应用黑白名单混合检测。通过对网络流量的全面检查和分析,在深度行为模式匹配后,我们可以发现,验证和预测各种异常网络行为。

基于网络基因的网络监测模型可以为构建具有异常检测和入侵容忍能力的网络生态环境提供强有力的安全保障。

3.2   网络基因库

在APT检测框架中,网络基因库是实现检测的关键数据。网络基因的自动生成和数据库构建能够满足APT网络监测中自动建立语义丰富的网络行为模式的需求。如图3所示,网络基因的构建包括两个过程:网络协议行为的反向分析和网络基因的自动提取。

网络协议行为的反向分析采用动态二进制分析和主动学习。通过对网络消息格式的反向分析,网络协议模型的反向推理和提取操作序列,我们可以提取消息格式,协议模型和操作序列,然后将它们放入相应的数据库中。

污点分析是网络消息格式反向解析的关键技术。在指令级、数据以字节为单位进行移动和计算,多字节数据段的处理与指令流的逻辑结构有关。 因此,可以使用指令级污点分析技术来精确确定消息域的边界,并构建消息域层次结构。在功能层面,接口的输入输出参数是消息域的处理,它们反映了消息域的功能。因此,梳理系统调用,典型的API和相关的语义知识库,可以使用功能级污点分析来推断消息域中的语义。

协议模型描述了网络协议的整个运行过程,是网络行为的抽象描述,以图同构算法为基础的同构子图挖掘和前缀树状态机规范为关键技术。在信息交互图中,同构子图描述了协议的相同会话状态,并可用于合并协议状态。前缀树状态机是一种冗余协议模型,通过指定机器我们可以得到协议系统的协议模型。

操作序列可以反映出高水平的网络应用程序的行为和功能的意图,是网络应用程序在网络对象(例如,某个文件)上执行操作时生成的操作序列(例如,发送或接收操作),也是APT深度网络行为的重要表征。通过构建语义知识库,采用动态的污染跟踪方法,可以找到语义知识的操作,以及内存和网络之间对象的传输轨迹,从而获得足够的网络行为模式知识。

在对多个网络应用样本进行网络协议行为反向分析后,建立了消息格式数据库、协议模型数据库和操作序列数据库,从而可以在网络基因自动提取过程中获得行为基因片段。如圖3所示,我们可以进行消息相关性提取,从消息格式数据库中获取消息行为基因,通过协议相关性提取从协议模型数据库中获取协议行为基因,并从操作序列中获取操作行为基因数据库通过操作相关提取。

由于已经获得了各种行为基因片段,我们可以对它们进行综合关联和变异,比较和匹配基因片段,最终构建网络基因组和关键网络基因库。

3.3   基于数据流计算的实时网络基因处理

Storm是一个开源的分布式实时计算系统,可以轻松可靠地处理无限数据流,为实时处理Hadoop进行批处理所做的工作提供便利。它使用自定义创建的“喷嘴”和“螺栓”来定义信息源和操作,以允许流式数据的分布式处理。针对APT检测应急响应的特殊要求,提出了基于Storm的网络基因实时计算模型。该模型如图4所示,旨在实现一个高性能的网络基因计算系统,能够处理无限的网络数据流和大规模的网络基因库。

猜你喜欢

网络应用数据流基因组
应用数据流分析排除起动机不转故障的研究
宏基因组测序辅助诊断原发性肺隐球菌
数据流和波形诊断技术在发动机故障诊断中的应用
科学家开发出人工基因组高效简化策略
泰国·曼谷
数据流安全查询技术综述
利用数据流进行电控故障诊断的案例分析
民航空管气象网络安全建设方案设计与实现
思考聚类算法下网络应用协议识别系统的实现
PocketPC网络应用全接触