近年来APT攻击的持续爆发给网络空间安全带来前所未有的挑战,APT攻击的高隐藏性、潜伏久、攻击周期长、攻击方式复杂、追踪困难等成为公认的检测难题。业内公认的检测方法归纳总结起来可分为三类:第一类基于恶意代码的检测;第二类基于主机的应用保护;第三类基于大数据的分析检测。

本文第一部分研究目前关于APT检测主流方法介绍,第二部分介绍了APT检测发展趋势。

第一部分 现行检测方法研究现状

第一类,基于恶意代码的检测。 该类检测的主要对象是计算机软件,包括检测木马、病毒、内核套件、蠕虫等,恶意代码检测是APT检测的首道防线。APT攻击的常用手段是0day攻击、变形木马,检测APT攻击其本质是检测0day攻击和变形木马,0day攻击是指在发布补丁前就得知了漏洞的一种漏洞攻击,其检测非常困难;但检测变形木马则相对容易,变形木马是通过变形恶意代码并植入到系统中的一种攻击,所以可以通过检测恶意代码来检测变形木马,但这种连环检测的方法存在一定的误报和漏报。

此外常用恶意代码检测方法有基于特征码的检测方法、仿真分析法、行为特征分析法和校验法,最近几年科研人员将人工智能、机器学习、深度学习等大数据方法与安全检测技术(入侵检测、容错技术)扩展到了恶意代码检测中,使之发展更向前迈了一步。

第二类,基于主机的应用保护。 该类检测的主要对象为计算机主机、服务器和磁盘阵列等,主机检测是APT攻击检测的最后一道防线。Johnson等人提出的减弱APT攻击方案是使用自己提出的安全参数,该参数主要可以计算任意节点到目标服务器的概率,但是该参数有使用范围限制。Bit9利用安全策略建立可信安全平台,涉及技术包括可信计算、安全审计、云计算等;服务对象包括企业、机构和政府。其平台目标是提供可信的平台来保护对象的网络、主机、服务器安全,Bit9 的平台还针对在网络节点的安全检测,包括节点上的路由器、服务器等对象,阻止未授权或者恶意程序的执行,拒绝不可信代码的运行,最终达到阻止APT攻击的目的。不足的是该方案只能覆盖APT攻击过程中的单点攻击阶段和数据收集外泄情况,从而导致误报和漏报的存在。Johnson和Bit9的方法都属于主机应用保护类型的一种。

第三类,基于大数据的分析检测。 该检测的主要对象为计算机、网络、服务器等设备中产生的各种参数或者整合数据,如流量信息、日志信息、软件信息等,大数据的分析检测可以作为APT攻击检测第二道防线。大数据分析检测方案是基于网络取证的思想来进行逆向分析,故并不重点检测APT攻击中的某个步骤,也不能确定APT攻击事件的准确性,更不能分析攻击者的意图,但大数据的分析检测可以涵盖APT攻击过程中的所有数据。

现有的APT攻击检测方案各有各自的特点,网络入侵检测可以检测APT攻击的初始阶段,期间可以配合恶意代码检测进行双重检测;网络入侵预警和内网扫描可以防范一部分的APT渗透攻击;开启访问控制或者增加主机保护可以抑制APT在潜伏阶段发挥的作用;人工智能、机器学习、深度学习可以进行全局流量和日志的扫描,对检测隐藏的APT攻击有很大帮助。其中全局流量检测主要针对在网络层的数据进行分析(主要是数据包包头)从中发现异常数据包或者恶意数据包,方法涵盖了数据挖掘和统计学习。流量检测的首要任务是被动收集和主动捕获流量数据,然后从流量中选取出自己所需要的特征用于分析,如流量中数据包的数量、大小、发送接收时间等。一般来说,提取流量特征的方式有以下两种:

(1)以流量的包头信息作为特征属性,例如五元组(源IP地址、目的IP地址、源端口、目的端口和协议号),更深入解析包头信息可以得到接收时间、发送时间等相关属性。

(2)以流量的统计数据作为特征属性,如流量的数据包数量、收发字节数、流量平均数据包大小、传输时间方差、平均通信时间等。

通常情况下,以流量的包头信息作为特征属性来进行检测的都会使用机器学习、深度学习的方法,包括无监督学习,半监督学习,监督学习。无监督学习的流量检测主要是以聚类算法为主,对所捕获的网络攻击流量进行聚类,把网络流量聚为若干组,再分类识别网络流量是否异常。聚类算法优势在于训练过程中不需要对异常网络数据进行标记,缺点在于误报较高。在解决网络攻击模型更换频率高、检测效率慢、系统使用庞大的问题上,提出了一种改进的GHSOM神经网络模型用于检测网络攻击,并在系统上增加多个模块接口使得系统可扩展,从而提高系统检测的自适应性,增加系统检测范围,这种算法的新颖之处在于能检测出新的攻击

相比包头信息特征的检测,统计数据特征的检测更容易得到学者的认可,其原因是统计特征范围更加宽广,检测效率和准确率也更高。统计数据特征的方法也可以分为两种形式的检测,一种是基于单流量的检测,另外一种是基于全网流量的检测。 第一种检测方法对流量研究的更加深入,适用于有针对性的网络攻击排查;第二种检测方法对流量的整体要求较高,需要对网络的各个分层进行逐一检测,还需要对各层数据进行关联,这种算法适用于整体检测,也能检测出新的攻击。但是全网流量也存在一些问题,如流量维度高、数据量大、关联关系复杂等,因此还需要做好降维、过滤、简化的工作。

综上所述,现有的APT检测方法一般都是检测C&C服务器,恶意DNS流量,恶意TCP流量和对异常行为检测, 前三种方法都只能覆盖到APT攻击的某一阶段,存在严重的漏报问题;大数据分析的检测方法是基于网络取证的思想进行逆向分析,从而对整个攻击过程进行跟踪、取证,因其检测的全面性已成为APT攻击检测常用且有效的手段。但是APT大数据分析技术仍处于研究的初级阶段,不能针对APT的深度隐藏和持续作战的特点进行详细分析。

第二部分 APT研究发展趋势

现有的APT攻击检测大多都是运用了机器学习、人工智能、数据挖掘等技术来处理数据,如机器学习可用于检测分类网络原始数据;人工智能可用于分析日志、主机或其他设备行为;网络事件的数据挖掘可对APT攻击是否运用社会工程学进行检测。

APT的检测技术可以分为两个方面:高级性和持续性。对于高级性,主要体现在APT攻击的隐藏能力,攻击手段与正常操作类似使得其难以被发现;攻击方式和目标难以把控,有无弱点或者漏洞的网络、设备、系统都可能是它的攻击目标;再者攻击者通常会使用0day攻击,增大了检测难度。对于持续性,体现在攻击时间长,从几个月到几年不等,从而导致检测周期长、开销大;基于时间周期的检测效果不理想。

未来会将机器学习、数据挖掘、人工智能等技术更多的应用到检测各种威胁中,为克服加密所带来的可视性不足的问题和限制攻击者的行动时间,但它的真正价值表现在监控加密网络流量方面,特别是在需要大量加密的网络中。越来越多的企业、高校、研究所开始探索更前沿的技术,这些前沿技术可以增强网络的安全性。

在可期的未来,还将进一步完善自动检测网络流量中的恶意攻击活动或异常模式。

640 (1)_副本

如图所示,机器学习方法对自动检测“已知—已知”类型的威胁非常有用,在检测“已知—未知”类型的威胁和“未知—未知”类型的威胁时,其功能尤其强大。