APP下载

基于图算法的APT攻击检测

2018-01-15李斯祺李艳斐

网络空间安全 2018年6期
关键词:网络攻击

李斯祺 李艳斐

摘 要:伴随着网络技术的发展,网络环境充斥着各种不安全因素,面对层出不穷的网络攻击,出现了针对各项攻击进行预防的安全技术,例如病毒扫描、防火墙、入侵检测等。然而,当前高级持续性威胁(Advance Persistent Threat,以下简称APT攻击)已经成为各类网络面临的主要安全威胁。论文结合APT攻击探测分析和图的生成算法,提出一个能够有效提高APT攻击检测效率的系统。

关键词:APT攻击;网络攻击;图算法;全流量审计;攻击检测

中图分类号:TP393.0 文献标识码:A

Abstract: Network environment filled with all kinds of threats with the development of network technology. And advanced persistent threats (aka “APT”) have become the major cybersecurity threats in all kinds of networks. In the face of endless cyber attacks and intrusions, the common prevention methods, such as virus scanners, firewalls, intrusion detection systems lack the ability to detect the APT attack. This paper proposes a method to improve the efficiency of APT attack detection system by using graph generation algorithm in full flow auditing in attack detection.

Key words: APT attacks; network attacks; graph algorithms; full flow audit; attack detection

1 引言

高级持续威胁(APT)攻击不断发生,现已成为一个社会问题。APT攻击不同于传统的网络攻击,以渗透到特定公司或组织并获取重要的敏感数据信息为目的,并利用复杂的攻击技术提高攻击的成功率,这种攻击行为首先具有极强的隐蔽能力和针对性,通常是利用企业或机构网络中受信的应用程序漏洞来形成攻击者受控网络。通过长期盯稍、定点侵入、持续渗透等方式,可以让用户网络环境中传统的IPS/IDS、防火墙等安全网关失去应有的防御能力,无论是0day或者精心构造的恶意程序,传统的基于特征库的被动防御体系都无法抵御定向攻击的入侵。APT攻击已经成为世界范围内的重大威胁,APT防范成为热点议题。

2 APT攻击技术分析

高级持续威胁(APT)普遍认可的定义是,利用各种先进的攻击手段,对高价值目标进行的有组织、长期持续性网络攻击行为。APT不只是某个攻击手段,更是一系列为了达成目标而使用的攻击手段的集合,其攻击特点导致传统针对单一网络攻击的安全技术无法对APT攻击进行有效预防。

2.1 攻击特点

APT攻击具有很强的针对性,攻击者会收集目标对象网络环境或应用系统的相关精确信息,通过详尽、系统化的分析和总结,发现漏洞并构造相应的攻击方法。其次,APT攻击的成本很高,攻击者会对收集的信息进行长时间的分析,数据挖掘。最后,APT攻击是持续的,攻击和防御体系时刻处于对抗之中,一次完整的APT攻击往往包含多个步骤。最重要的两个特点为“A”和“P”,其中“A”为Advanced代表攻击方式的多变性与高阶性,APT攻击最常用的手段为使用0day或社会工程学绕过防护边界,同时利用多种攻击手段达到目标,基于特征匹配的防护措施难以应对该攻击;“P”为Persistent代表攻击的长持續性,APT攻击往往都是由攻击者长期进行渗透攻击,对目标系统的扫描、探测、攻击均维持在一个相当长的时间跨度内,该特点可能增加检测完整攻击链的难度。

2.2 攻击对象

被攻击的对象主要分为三类:政府、企业及个人。其攻击的核心是入侵系统后进行信息窃密和行为干扰。对于APT攻击,发起者是人,利用了大量的社会工程学手段,从不同角度利用多种业务进行渗透,通过网络进行连接,而作用点在终端,不同的终端,在APT攻击中表现也不一样,例如移动终端, APT 可以通过移动终端进行信息收集,而智能终端上的各种信息往往比 PC 终端要丰富得多; BYOD模式(Bring Your Own Device,允许员工自带智能设备使用企业内部应用)在提高员工工作效率、降低企业的成本和投入的同时,也为系统数据的安全带来了更多的风险。目前,很多业务系统都允许用户的移动终端接入,终端的类型也呈多样化(如 iPhone、安卓、iWatch等),任何终端上安装了存在安全风险的应用软件都会导致整个系统的防御体系出现问题。智能机上的终端软件,如手机邮箱、办公系统等都会成为 APT 攻击的跳板,甚至直接导致企业关键业务信息的泄漏[1]。

2.3 攻击过程

APT攻击指攻击者在未经允许访问某组织的内部网络,并长时间停留且不被发现的攻击形式,并实现几个目的。

长期潜伏在该单位网络中,并伺机窃取机密数据;策划攻击方案并实施攻击,使该组织网络部分瘫痪或完全失效;为后续攻击打开后门,为未来的攻击做准备,达到长期利用的目的。攻击者可能会持续多年并重复采取各种攻方式,以保证一直可以以高权限在该组织的网络来投放恶意程序,以实现长期利用的目的。

高级持续威胁攻击可以分为四步:准备、试探性攻击、内网活动和实现最终攻击目标。

在初始阶段,攻击者会从多方面收集信息来寻找被攻击者的弱点。有经验的攻击者一般可能从公司官方网站、社交媒体和其他各种渠道,来了解目标个人或公司的方方面面并伺机寻找弱点。在攻击者做好准备后,在第二阶段,攻击者会尝试在目标网络中建立立足点。

一般攻击者会利用社会工程学,使恶意软件得以植入到目标系统中[8,9]。内网活动这一步中,攻击者会以上一步被感染的主机作为跳板,收集被攻击者内部网络的基础架构信息,找到目标以实现最终目的。一旦攻击者进入目标组织内部,会通过远程控制的方式,实现对目标被渗透系统的控制,这就是高级持续威胁的常见控制方式[5]。

最后一步,攻击者会攻击最终目标,在在对方网络执行恶意程序或操作后,即从目标网络中窃取机密信息,或者破坏对方IT基础设施等恶意行为。同时,攻击者还可能在目标网络中植入更强大的后门,以便长期访问受害者网络,在未来继续窃取信息或采取恶意行动。

3 当前业内常用检测方案

3.1 沙盒方案

针对攻击者使用0day漏洞而致使基于特征的扫描技术失效的情况,提出沙盒技术方案识别异常行为,其原理是在实时流量进入受保护系统之前就先将其引入沙箱之中,通过对沙箱的文件系统、进程、注册表、网络行为实施监控,判断流量中是否包含恶意代码。沙盒方案最大的困难点在于测试环境的多样性,由于沙盒对操作系统类型,浏览器版本和相关插件都有关系,如果缺乏合适的测试环境,可能会导致流量中的恶意代码无法被检测,造成漏报的情况。

3.2 基于异常的检测方案

该方案首先对受保护系统的正常状态进行建模,形成规则,通过对比识别异常情况,其核心技术是元数据提取技术、基于连接特征的恶意代码检测规则,以及基于行为模式的异常检测算法。其中,元数据提取技术是指利用少量的元数据信息,检测整体网络流量的异常。基于连接特征的恶意代码检测规则,是检测已知僵尸网络、木马通信的行为。而基于行为模式的异常检测算法包括检测隧道通信,可疑加密文件传输等。

3.3 全流量审计方案

这种方案具备强大的事后溯源能力和实时检测能力,是将安全人员的分析能力、计算机强大的存储能力和运算能力相结合的完整解决方案。其核心思想是通过对全流量进行深层次的解析和还原,检测异常行为,在检测到异常行为后,回溯分析相关流量,确认攻击的完整过程。全流量审计方案核心技术包括大数据存储及处理、应用识别、文件还原等。

通常来讲,以上三种检测方案需要面临的数据量和计算量是相当大的。针对一个普通的百兆网络,一天内需要处理的数据已经达到TP级别,因此提高对攻击行为的分析能力将会对整个检测效率的提升起到至关重要的作用[2]。

4 基于图算法的检测方案

基于图算法的APT攻击检测方案,由两个部分组成,对APT攻击行为进行探测分析的框架和用于生成图算法的生成方法。

4.1 攻击分析框架

该框架首先包含了七个因素,其中三个用于描述攻击的相关特性,相当于提供了攻击的一些细节。第一个特性包含了每一个攻击的攻击步骤,不同攻击的具体攻击步骤与数量也是不同的。第二个特性是用于描述完成整个攻击的每一个步骤中需要实现的方法,例如获取系统权限,就可能会用到密码爆破攻击。第三个特性是用于描述攻击方法,例如在密码爆破攻击中,有尝试的次数和频率。针对一些使用0day漏洞的攻击,该特性可用于描述攻击导致的系统预期改变。第四个特性用于描述攻击可能发生的位置,可能在日志服务器中、也可能在工作站中,被探测的攻击位置可以更加清晰的描述APT攻击的思路。第五个特性和第六个特性因素则是探测攻击的方法与分析攻击的方法,探测攻击的方法包括基于网络的探测,基于主机的探测和基于日志分析的探测。分析方法即使用数据智能分析,通过智能分析才可以获取攻击的具体特性和攻击位置。第七个特性是攻击对象具体的业务属性,可以判断攻击者的目的是什么,可能获取的信息是什么[3]。

以上七种特性分别回答了四个问题:攻击需要在哪里探测(第四个特性),如何将其探测出来(第五个特性和第六个特性),需要探测哪些攻击(第一个特性、第二个特性和第三个特性),为什么需要探测这些攻击(第七个特性)。这些特性有助于对单一攻击进行分析并为建立攻击链创造良好的数据基础。例如,在某服务器中探测到密码爆破攻击,该攻击探测的位置即在服务器上,服务器中用户的权限为这次攻击的目标,针对服务器中的数据可以判别攻击者需要获知的情况,同时也可以通过攻击链判断出攻击者使用的跳板或下一个的方向,针对分析后指定的攻击进行探测,做到有的放矢。

4.2 图的生成方法

攻击链中一个节点代表的是APT攻击的某一个阶段,如已经攻陷的服务器、获得的权限或是一次木马的布置,每一个节点上的攻击都具备着上一节中所有的特性,攻击链可以依据目标状态数目、生成引擎实现方法、搜索策略、规模约束方法等进行分类。这些分类依据中最关键就是生成引擎,据此可以将生成方法大致分为基于模型检测,基于规则推理。

基于模型检测的生成方法是对整个网络进行建模,分别将网络中各个元素进行编码,然后将攻击者的起始点指向攻击者当前所在的主机,攻击者可利用的攻击是指网络中的漏洞,在模型完成后,利用已有的漏洞攻击信息从攻击者的初始权限开始,用一个有限状态机模型表示网络状态的变化,通过检测工具在网络中寻找是否有违反安全设置的状态,若有这可以以此生成一个攻击链[4]。

基于规则推理的图算法生成方法主要思想是运用逻辑学的理论来建立和分析图算法,当前常用的逻辑编程语言成为 Prolog,这种语言于 1972 年正式诞生。Datalog在语法构成上是 Prolog 的一个子集,是一种针对演绎式数据库的查询和规则语言。

4.3 APT攻击分析

APT攻击虽然有多种攻击路径,但针对每一种攻击路径中具体每一种攻击行为,攻击者都是有一个相对固定的攻击模式,例如攻击者若试图获取或提升自己在目标系统中的权限,可能会使用社会工程攻击或密码探测攻击以及一些漏洞探测;攻击者若试图窃取目标系统核心数据时,则可能使用数据库遍历;在获取到部分权限时,攻击者会进行权限的测试,进而尝试进行权限的提升等。同样,在一个网络中,总是存在着某些关键的节点,攻击者的攻击必须经过这些节点,而作為有经验的网络管理者,这些关键的节点是可以确定出来的。如果从这些关键的节点出发生成图算法,那么可以消除不必要的冗余,以及大大简化图算法的复杂程度,并且也有利于图算法的分析。

該系统的主要思想是即通过对关键节点的探测分析,当检测到异常攻击时,对攻击行为进行分析,并使用图算法生成中的攻击路径生成算法计算出攻击路径,在攻击路径中会出现于该攻击相关的攻击作为其前提条件或结果,针对这些攻击进行探测可有效地判断系统中是否正发生攻击。

攻击路径指的是由一系列相互关联的攻击构成的从攻击起点到攻击目标的一条攻击序列。一条有效的攻击路径必须满足几个条件。

(1)起始的攻击前提必须是攻击者的初始状态。

(2)最后的攻击结果必须是攻击者的目标。

(3)中间的攻击的前提必须是前一个攻击的攻击结果,攻击结果是后一个攻击的前提条件。

(4)攻击路径不包含圈。基于单调性假设,攻击者不会通过攻击获取一个已经得到的权限,假设攻击路径包含圈,那么就意味着攻击者的某次攻击的攻击结果是先前某次攻击的前提条件。而这次原子攻击的前提条件显然曾经达到过,因此这条攻击路径是没有意义的。

(5)有效的攻击路径的长度应该是有限的,以往的图算法生成工具分析真实的大规模网络时,常常出现很长的攻击路径,但实际上攻击者采用的攻击路径往往很短。因此,针对网络的实际情况应当限定攻击路径的长度,这对于识别分析攻击者的真实攻击路线是有意义的。

系统工作流程如图3所示。

4.4 案例

以Windows服务器为例,攻击者在获取webshell后,一般会进行本地网卡信息查看,并运行:ifconfig;然后进行权限探测,运行命令:whoami、query user、net user等;接着检查服务器的网络连接信息,运行:netstat;最后查看服务器的补丁修补情况,运行命令systeminfo。以这些命令为图元素节点,生成图模型,符合此模型的行为疑似为攻击者已经获取到服务器的部分权限,正在进行信息收集并进而尝试提权的行为。

4.5 实验效果

与传统的APT检测系统相比,该系统有效地提高了APT攻击检测的工作效率。有效降低整个网络检测的数据量,针对特定的攻击进行探测,探测系统可使用全流量审计方案,攻击路径生成系统以攻击探测系统得到的攻击为基础,分析出该攻击的七大特性,并利用网络拓扑得到整个网络的关键节点。生成在该关键节点发起的攻击所可能的攻击路径,针对攻击路径中的攻击使用攻击探测系统进行逐一排查,该系统并未对整个系统的所有流量进行全审计,而只是对可疑的位置进行探测。

5 结束语

APT攻击是一个全新的,更具备复杂性的攻击方式,目前APT之所以难以被探测是因为APT攻击不具有特定的特征点,APT攻击更多的使用一些从未用的攻击组合或漏洞,该系统通过分析系统内发生的某一个异常攻击,并通过图算法生成技术由后向前的对攻击进行探测,可有效地防御APT攻击。

参考文献

[1] 翟立东,李跃,贾召鹏,郭莉.融合网络空间的APT威胁检测与防护[J].技术研究,2013.03(58-60).

[2] 周涛.大数据与APT攻击检测[J].信息安全与通信保密 2012.7(23).

[3] Johannes De Vries,Hans Hoogstraaten.Systems for Detecting Advanced Persistent Threats[C].2012 International Conference on Cyber Security.

[4] 是灏.基于专家知识的网络攻击图生成方法[D].上海交通大学,2011.

[5] Junho Choi,Htet Myet Lynn.Ontology based APT Attack Behavior Analysis in Cloud Computing[C].2015 10th International Conference on Broadband and Wireless Computing, Communication and Applications.

[6] Mathew Nicho, Shafaq Naheed Khan.A Decision Matrix Model to Identify and Evaluate APT Vulnerabilities at the User Plane [C].2018 MIPRO 2018, May 21-25, 2018, Opatija Croatia.

猜你喜欢

网络攻击
基于ARP欺骗的校园网防御策略研究
《塔林网络战国际法手册》探析
企业如何应对新的信息安全威胁
浅谈军事斗争中网络对抗运用
APT攻击的特征分析与防御策略