一种基于时间序列的入侵攻击路径溯源算法及实践
2020-07-22李智宏王瑶
李智宏 王瑶
(中国移动通信集团海南有限公司 海南海口 570125)
全球网络安全形势日趋严峻,大规模网络攻击事故层出不穷。2018年5月,Wannacry勒索病毒席卷全球,150多个国家和地区受到影响,教育、企业、医疗、交通等多个行业受到影响。2018年8月,华住旗下连锁酒店用户开放信息在暗网被公开售卖,140GB包含姓名、手机号、邮箱、身份证号码的用户信息惨遭泄露。2018年10月,瑞典三家交通机构IT系统遭受DDoS攻击,官网服务瘫痪、公共交通严重受阻。全国网络攻击形势更加严峻,关键信息基础设施攻击次数飙升。
持续进化的网络威胁环境带来了更为复杂的攻击场景,网络空间的攻击者不再像以往仅使用单一的攻击行为,而是在一个长期的过程中利用多种复杂的攻击相互配合来达到非法牟利的目的[2]。而传统网络防御体系主要是通过安装安全检测工具防火墙、入侵检测系统、防病毒软件、安全评估系统等来抵御攻击。这种基于设备的检测存在的通用问题是只能检测已知的威胁,且攻击告警只能反映单点、单一时刻的攻击,无法感知复杂的、持续时间长的高级持续性威胁攻击(APT攻击)。针对以上问题,本文介绍了一种基于时间序列的入侵攻击路径溯源算法,并将算法成功应用于某企业态势感知平台,取得了较好的检测效果。
1 入侵攻击链介绍
国家互联网应急响应中心在2019年5月发布的《2018年中国互联网安全报告》[1]显示,网络安全形势日趋严峻,全国所遭受网络攻击统计数据可以看出,绝大多数网络攻击涵盖了多个攻击步骤,黑客的攻击行为不可能一蹴而就,都需要精密设计,并有计划地实施多个相互关联的步骤才能达到攻击目的。入侵检测设备的任务是在发生多步攻击时,及时全面地识别攻击行为并告警,这类设备通常是保护网络安全的第二道防线。为了应对日趋频繁的黑客攻击,许多组织和企业都在其网内部署了入侵检测设备、防火墙等。入侵检测设备的目的是全面的检测告警,且全天候运行,其产生的告警日志通常存在以下问题:首先产生的安全告警离散、冗余、难以运营。其次,误报率及漏报率很高,大量重复告警混淆运维人员视线,告警并不能真实地反映出攻击的多个步骤[2-3]。第三,这些设备告警通常只能检测单点、单一时刻的威胁,不能检测识别多步攻击[4],更不能应对复杂的APT攻击。如何从这些入侵检测设备产生的海量告警数据中抽丝剥茧,提取出关键信息,为用户绘制一幅易于理解,能够还原入侵攻击全貌的安全视图显得尤为重要。
入侵攻击链(Intrusion Kill Chain)[5],是由洛克希德·马丁(Lockheed Martin)公司的计算机事件响应专家团队,在2011年提出来的用来保护计算机及网络安全的框架,这个属于后来被广泛应用于安全领域。入侵攻击链模型被认为是一个模型、一个过程,而不是一种技术,他认为攻击者的入侵行为是随着时间的推移穿透信息系统,对目标进行攻击所采取的手段和路径的有序集合[6],是对黑客入侵行为和预期效果的分析和建模。入侵攻击链包含7个阶段,一般黑客的入侵攻击行为都会毫无例外遵循这7些阶段来计划和执行[7],这7个过程如图1所示。目前攻击链模型已经被安全领域广泛采用,可以说是一个非常合理的模型。
攻击链模型指出,入侵攻击是分阶段发生,并可以通过在每个阶段建立有效的防御机制中断攻击行为[8]。这些攻击阶段有7个,按照攻击发展的深入程度顺序,分别是目标侦查 、武器化、交付和投送、漏洞利用、安装工具、命令和控制以及恶意活动[8]。
本文以攻击链为基础,介绍了一种基于时间序列的攻击路径溯源算法。
2 基于时间序列的攻击溯源算法
针对入侵检测设备(IPS)冗余度高、误报率高、离散无法运运管,发现的大多是单一时刻告警,无法感知复杂高级持续性攻击的问题,本文介绍了一种基于时间序列还原攻击路径,对入侵攻击进行溯源的算法。
该算法分为输入模块、溯源模块及输出模块三个大功能模块,以传统安全厂商入侵检测设备或算法告警以及自有资产IP列表为基础输入,经过预处理单元和攻击溯源单元,最终输出自有资产被攻击的攻击路径。攻击溯源算法流程如图2所示。
图1 经典攻击链7阶段模型
图2 入侵攻击路径溯源流程
整体算法是一个多维度入侵攻击路径推理算法,包含了攻击事件威胁程度标记、资产重要等级划分、告警发生时间及告警所处攻击阶段。下面以告警发生时间和所处攻击阶段两个维度为例,说明各个单元模块检测逻辑。
2.1 预处理单元
图3 攻击标记
图4 归并过程
事件处理第一步是根据检测输入的告警生成攻击事件,过程中只关注资产相关的事件,这一步骤形成一个告警与事件之间对应的字典,每个事件根据入侵攻击链的七个阶段分别对应相应的攻击阶段,同时事件中包含入侵发生的时间戳。
得到资产的入侵事件之后,标记资产在事件中的角色以及入侵是否攻陷。资产根据在入侵事件中是源IP还是目的IP,被标记为攻击者和受害者。标记失陷时,从入侵攻击链的概念,本发明中以攻击链阶段为5、6和7阶段的事件为攻陷事件。同时,如果资产作为源IP发起攻击事件,则修正攻击阶段为6或7,即资产相关的事件为失陷事件。
预处理的最后操作是事件归并,当告警是以秒或者毫秒为单位生成,同时同一时刻中有不同阶段的告警产生,为了减少大量低价值的告警,同一时间片只保留高阶段事件,对于相同阶段只保留最先发生事件的一种归并方法。
当事件处理模块完成时,每个告警被划入了不同的攻击事件中,每个事件有对应的攻击者或受害者,并且攻击阶段、是否攻陷明确,结果如图5所示。图中一个方格表示一个事件,s代表攻击阶段,取值1至7,t代表时间,每一张图即为一个资产的所有发生安全事件告警。
2.2 攻击溯源单元
按照洛克希德·马丁提出的入侵攻击链模型,攻击者随着时间的推移逐步进行高阶层的攻击行为,分别是目标侦查 、武器化、交付和投送、漏洞利用、安装工具、命令和控制以及恶意活动[8]。在较早的时间一般进行级别比较低的攻击活动,因此在基于资产的攻击事件序列图上,可以以左下向右上指向的方式溯源攻击过程,溯源详细过程如下。
攻击回溯阶段使用事件处理模块的输出作为输入,每个受害者的攻击事件按照时间与攻击阶段的升序排序,如图7所示。每个新生成的节点(即事件,图中的方块表示,后面均称之为节点),与没有父节点的比较攻击阶段与时间大小,找到其子节点,并更新子节点,将其指向当前节点。由于告警是持续生成的,事件处理和攻击回溯也实时更新。
3 算法仿真及实验结果
图5 基于资产的攻击时间序列图
图6 入侵攻击溯源流程
图7 资产入侵攻击路径溯源结果
为了验证本文提出的基于时间序列的攻击溯源算法的有效性,选取某企业ips告警日志为基础数据进行验证。
3.1 攻击溯源过程
为了便于理解,图8展示了原始告警经过攻击阶段修正形成了基于资产的攻击时间序列图后,入侵攻击溯源的全过程。自下而上是原始攻击事件分布图谱、攻击事件归并和压缩图谱、攻击行为推理和还原图谱。
3.2 实验结果
本文提出的算法以作为HNYD智能安全运营平台的核心功能已经成功应用于系统入侵防护模块,目前已经对HNYD全量IPS日志进行实时检测及分析。在2019年某次保障的红蓝对抗应急演练中发现一起真实入侵过程的案例,即XX系统被植入后门程序的全过程还原(见图9)、在2018年11月发现网内XX业务系统漏洞被利用进而被控制成一台挖矿肉鸡的全过程(见图10)。
图8 入侵攻击溯源全过程
图9 XX系统被植入后门程序过程还原
3.3 算法实用性分析
经过对算法的现网应用和仿真实验,本文提出的算法有以下两个方面的实用性。
首先,解决单一告警无法感知APT攻击问题。本文基于入侵攻击链的概念背景,通过基于时间序列的入侵攻击溯源算法,有效还原系统被入侵的历史痕迹,基于资产溯源攻击树状拓扑,有效提高网络安全威胁感知和预警能力。
图10 XX系统被控制为挖矿肉鸡过程还原
第二,还原入侵全过程提升管理员运维效率。原先发生安全事件,需要安全管理员对入侵检测设备告警人工去梳理,抽丝破茧还原入侵全貌,对管理员安全专业能力要求较高,且需要花费大量时间,往往效果也不好。本文提出一种基于攻击链的攻击路径还原算法,以资产为视角还原入侵攻击的全过程,大幅降低安全管理员日志研读量,提升管理员运维效率,降低运维难度。
4 结语
信息技术给我们的生活、生产带来巨大便利的同时,也带来了许多安全问题,网络安全形势日趋严峻。入侵检测系统作为防护网络安全的重要工具已被广泛使用,但是入侵检测系统产生的告警误报率高、冗余度高不能反映攻击者多步攻击策略。研究告警智能分析技术,自动从海量高进忠提取有用信息显得尤为重要。
本文介绍了一种基于时间序列的入侵攻击溯源算法,通过将设备或算法检测产生的告警数据,以资产为基础,基于入侵攻击链模型,利用时序关联、攻击威胁程度、攻击阶段和资产重要程度,溯源资产的被攻击路径,有效还原系统被入侵的历史痕迹,基于资产溯源攻击树状拓扑,有效提高网络安全威胁感知和预警能力。