引言
随着通信技术的发展,与此同时,网络的规模也在迅速增长,网络攻击也不可避免的有所增长。中本聪发明的比特币拉开了网络匿名交易的幕帘,因此催生了一大批的黑色产业,伴随而来的是这些黑产相关的网络攻击,例如挖矿攻击、勒索病毒攻击等。随着人与网络的关系越来越密切,网络的安全问题将对我们每一个人产生更加深远的影响。
面对诸多的网络攻击,更加先进的防御技术便是有效的防护措施。这些防御技术可以分为被动防御和主动防御。我们所熟知的防火墙便是最具有代表性的被动防御措施。配置防火墙规则可以在很大程度上阻断攻击行为,但是它的缺点也同样明显,无法辨别这些行为是否为真的攻击,无法为防御改进提供新的知识。入侵检测和防御技术可以补充防火墙这种被动防御的不足,主动识别攻击行为,发生网络攻击事件后可以对攻击行为进行更加细致的分析,发现系统中存在的漏洞和弱点,及时升级被动防御系统,提升系统的安全性。
入侵检测[1]是对企图入侵、正在进行的入侵或者已经发生的入侵进行识别的过程[2]。入侵防御技术区别于入侵检测技术,它不仅能识别网络威胁,还能对网络威胁做进一步的分析和相应的响应,是对防火墙和防病毒技术的有力补充。对于入侵防御系统而言,检测出威胁事件只是第一步,接下来需要对威胁事件进行分析,掌握威胁事件,溯源定位威胁源头,才能实施有效的响应处置手段。
近些年,网络攻击行为逐渐呈现出大规模、协同、多阶段等特点,网络攻击不再是孤立事件。根据国家互联网应急中心CNCERT(National Internet Emergency Center)2017年度网络安全工作报告,攻击事件按类型进行统计的结果,大部分攻击(尤其是危害巨大的攻击)几乎都是多步攻击。针对多步攻击,传统的被动防御模式能够起到的作用十分有限,而主动防御技术则具有一定的防御能力。入侵防御系统通过分析安全设备产生的告警事件,挖掘这些事件背后所隐藏的网络威胁事件,识别网络中存在的多步攻击行为,并且对其进行精准清除。入侵防御系统为了抵御更加复杂多步攻击,需要在事件分析环节能够准确地关联到事件发生的源头,串联起事件的上下文信息。由于多步攻击中的每一步攻击的成功都是下一步攻击成功的某种先决条件,研究人员利用语言模型逻辑性来描述攻击模型。本文将从网络威胁事件分析中的事件要素提取和事件关联分析两方面展开讨论。
利用深度学习进行事件要素提取
入侵防御系统所接收到的数据往往都是多源异构的,并且格式十分复杂,并不适合直接人类阅读,不能直接用于事件的关联分析,需要确定能够涵盖事件显著特征的要素字段,并且对这些要素特征进行提取。深度学习是近年来兴起的一种基于表征学习思想的机器学习技术,一般使用深层神经网络实现。它通过由神经元组成的多层神经网络逐步学习得到原始数据的高层特征表示并进一步用于分析的任务。
深度学习采用的一般是端到端的方式,即不再需要人工对数据进行特征处理等操作,而是由神经网络直接处理原始数据并自动学习和输出高层特征,不再依赖于特定领域的专家知识。这个优势使得深度学习在很多特征设计比较困难的领域得到了广泛应用,并取得了非常好的效果。[3]
图1 深度学习提取事件要素
深度学习可以用于将网络威胁事件的低维数据信息提取成高质量的高维数据信息。结合事件关联分析技术可以对网络威胁事件进行冗余合并以及因果关联,便于系统管理员及时有效地响应处置网络威胁事件。根据深度学习的端到端学习特点,只需要将入侵防御系统中的网络威胁事件输入到模型中,如图1所示,模型便可以将输入的底层日志信息进行加工处理为与攻击高度相关的高层抽象信息。这些高维信息中包含了低维信息中的重要要素。如果使用非深度学习的方法,事件要素提取的工作需要经验丰富的网络运维人员来参与其中,并且还无法避免存在人为因素而导致的错误。大量的事件来训练模型,最终可以实现快速、无需人为干预地提取出事件的关键要素信息。
基于深度学习的事件要素抽取主要是借鉴文本分类的思想,对事件要素进行识别,再将其进行抽取,将事件要素的识别转化为分类问题。如图2所示为事件要素的具体抽取流程,在特征获取阶段获取原始告警事件的所有特征,将机器不易处理的文本类信息进一步处理后得到模型训练可以识别的向量特征。经过预处理后可以得到数值类型、枚举类型、文本向量类型等可以用于模型训练的特征数据。对事件要素识别任务中,Chieu首次在事件要素的识别任务中引入最大熵模型[8],实现对人事管理事件的要素抽取。H. Lorens等通过CRF模型进行语义标注[9],并应用于TimeML的事件抽取,提升了系统的性能。为了提高识别效果,有时将多种深度学习算法混合使用或将深度学习与模型匹配相结合[10,11]。D.Ahn结合 Megam和 TIMBL两种深度学习方法分别实现了事件元素提取的任务,实验结果表明,综合方法优于单一算法。由于深度学习与领域知识无关,无需太多领域专家的指导,可移植性好。随着相关技术的发展,深度学习在事件要素抽取领域逐渐发力。
事件关联分析
在海量的网络威胁事件中,关联分析旨在发现事件之间有意义的隐式联系、挖掘攻击意图、重建攻击场景。经调研,关联分析方法大量地被应用到入侵检测系统的结果分析中,其中关联规则和频繁模式挖掘是网络威胁事件关联分析中常用的方法。
网络威胁事件之间的关系可以抽象为两类:冗余关系和因果关系。如图3所示为事件的分析流程,根据事件的属性对冗余关系的关联分析合并相似事件,再对事件进行因果关联分析,获得事件完整的发展过程,从而了解到网络威胁事件的全貌,发现网络中的多步攻击行为,消除威胁事件对系统的影响。
图3 事件分析流程
冗余关系关联分析基于事件攻击特征中相关属性之间的相似度,相似度基于概率统计。警报聚合是事件关联分析重要的一个应用场景。警报聚合的目的是将具有某些相似度的警报聚合成为一组,将其作为整体进行处理,从而减少系统运维人员的处理数据量。H.Debar [4] 提出了一个抽象聚合方法框架,通过计算两个警报之间不同属性的相似度进行聚合警报。Maggif [5]等人针对时间属性,提出了利用模糊集理论进行聚合的方法,即通过建立一个数学模型来描述时间上的距离,两个警报之间的不同时间差距可以按照此数学模型转换成聚合概率,通过比较此概率与阈值来确定是否对两个警报进行聚合。
因果关系关联分析是基于攻击行为的前因后果进行攻击推理。攻击者突破进入系统之前,会有一系列的攻击,而每一步的攻击的成功都是下一步攻击的某种先决条件。S.Cheung [6]等人提出了一种语言模型用于描述攻击模型。这种模型描述语言中包含两个概念,即先决条件和后置条件,当某个警报的后置条件与另一个警报的先决条件相匹配时则对两个警报进行关联,如此便能理清警报之间的逻辑关系。Cuppens和Miege[7]也提出一种攻击模型描述语言 LAMDA,其中也提到了先决条件和后置条件的概念。通过前因后果的关联分析可以在网络威胁事件发生的时候发现引发当前事件的原因,不再将网络威胁事件孤立的看待,将事件的前因后果合并为一个有机的整体。通过对这个整体进行处置,不仅“治标”还能“治本”。
结束语
深度学习将不易使用的网络威胁事件低维数据信息提取成高质量的高维数据信息。结合事件关联分析技术可以对网络威胁事件进行冗余合并以及因果关联,便于系统管理员及时有效地响应处置网络威胁事件。虽然网络的规模与其中存在的网络攻击在变得越来越复杂和多样化,但是随着深度学习的发展,也将会改善攻守双方的地位。网络威胁事件的分析工作经过新兴人工智能技术的加持将由人员密集型转向技术密集型,在减少人力参与的同时又提升工作效率。相信随着更多新技术的出现,入侵防御技术也将会面临更多的机遇与挑战。
参考文献
1. Denning D E. An intrusion-detection model[J]. IEEE Transactions on software engineering, 1987 (2): 222-232.
2. 唐正军. 入侵检测技术导论[M]. 机械工业出版社, 2004.
3. 仲思超, 朱磊, 蔡冰. 基于深度学习的 Web 安全事件分析系统及其实现[J]. 江苏通信, 2019 (2): 13.
4. Debar H, Dacier M, Wespi A. Towards a taxonomy of intrusion-detection systems[J]. Computer networks, 1999, 31(8): 805-822.
5. Ussath M, Jaeger D, Cheng F, et al. Advanced persistent threats: Behind the scenes[C]//2016 Annual Conference on Information Science and Systems (CISS). IEEE, 2016: 181-186.
6. Smith R, Japkowicz N, Dondo M, et al. Using unsupervised learning for network alert correlation[C]//Conference of the Canadian Society for Computational Studies of Intelligence. Springer, Berlin, Heidelberg, 2008: 308-319.
7. Cuppens F, Ortalo R. Lambda: A language to model a database for detection of attacks[C]//International Workshop on Recent Advances in Intrusion Detection. Springer, Berlin, Heidelberg, 2000: 197-216.
8. Chieu H L, Ng H T. A maximum entropy approach to information extraction from semi-structured and free text[J]. Aaai/iaai, 2002, 2002: 786-791.
9. Llorens H, Saquete E, Navarro B. TimeML events recognition and classification: learning CRF models with semantic roles[C]//Proceedings of the 23rd International Conference on Computational Linguistics (Coling 2010). 2010: 725-733.
10. Ahn D. The stages of event extraction[C]//Proceedings of the Workshop on Annotating and Reasoning about Time and Events. 2006: 1-8.
11. 丁效, 宋凡, 秦兵, 等. 音乐领域典型事件抽取方法研究[J]. 中文信息学报, 2011, 25(2): 15-21.