2. 电子科技大学 计算机科学与工程学院,四川 成都 610000
2. School of Computer Sci. and Eng., Univ. of Electronic Sci. and Technol. of China, Chengdu 610000, China
近年来,随着网络通信技术和互联网应用的发展,网络与信息系统被企业和政府部门广泛应用,极大地改善了人们的生活便捷性。但是,针对企业和政府的网络攻击事件也愈发频繁,尤其是有组织、有目的、隐匿性的攻击逐渐增多,网络空间安全问题俨然成为企业和政府关注的焦点。为了全面有效地防御网络攻击,企业和政府通常会部署IDS、IPS、防火墙、终端检测等多种安全防护设备来抵御网络入侵。例如,针对校园网,刘海龙[1]和李小志[2]等采用防火墙和IPS作为基础安全防护,姜开达等[3]基于IDS设备建立了大数据安全分析平台。张贺然等[4]基于传统的网络安全防护系统(防火墙系统、IDS和IPS)设计了一种基于安全网关控制的近威胁源攻击阻断方法。随着防御方检测能力深度和广度的增加,人工智能技术也引入到网络安全检测和响应中[5],企业安全运营中心被动接入的原始告警日志成倍增加,发现真实威胁犹如大海捞针[6]。因此,安全分析人员面临着巨大的压力和挑战。基于海量、多源、异构的原始安全告警日志,如何自动化和智能化地过滤大量重复、误报的告警,发现高优先级、亟需处理的攻击者IP并构建其特征,进而辅助安全分析人员从中发现真正具有危害性的安全事件,是网络空间安全中亟需解决的难点问题。因此,近年来建立网络安全态势感知[7]平台逐渐成为企业和政府构建网络防御基础设施的共识。态势感知平台通过对不同安全厂商的各种安全防护设备产生的告警信息进行了一定的关联融合[8],能够有效降低原始日志的告警数量,例如:基于攻击者行为假设建立行为基线[9]和行为关联规则[10],但这些规则往往需要较多的人工参与且场景预先固定,对于多场景甚至未知场景的情况无法应对。
利用机器学习实现态势感知平台的海量日志异常分析、威胁检测和态势预测,是目前网络安全态势感知研究的一个重点方向。在海量日志异常分析方面,Valeur[11]和秦子燕[12]等提出将原始安全日志聚类关联成高级别的入侵告警展示给安全分析人员。郑志娴等[13]采用了K-means聚类算法在网络安全数据集KDDCup99上进行聚类分析。李蓉等[14]提出了改进的K-means算法来解决IDS系统的告警数量巨大的问题。张园园[15]将增量的AIDM密度聚类算法应用于入侵检测系统中以解决静态聚类形成的轮廓不容易改变的缺点。洪飞等[16]将K-Medoide聚类算法应用到攻击者IP的群体画像刻画中,进而实现预警模型。这些方法虽然能够通过聚类的方式聚焦群体IP行为,但侧重于群体行为,对单IP没有进行深入刻画和分析。在威胁检测方面,Mirsky等[17]提出了基于集成学习的自动编码器模型来进行实时的网络入侵检测。Xu等[18]提出了基于变分自编码器的Web应用异常检测模型。Zhao等[19]基于Xgboost算法提出了原始告警日志的评分排序方法。但上述算法模型均是离线学习的模型,没有考虑到模型如何在真实现场自动更新的问题。在态势预测方面,Haslum[20]和李建平[21]等分别基于连续马尔可夫模型和条件随机场来量化预测网络环境的安全态势,并观察到了一个现象:大多数的攻击行为对安全态势的威胁都是低的。这也证实了日常安全设备探测到的大量攻击行为都是无效的,进一步造成安全日志误报高的特点[22]。
因此,本文基于大量攻击行为都是无效且日常安全日志存在大量误报的两个经验假设下,结合传统异常检测算法LOF,提出了一种基于集成学习的局部异常因子(ensemble based local outlier factor,EBLOF)算法的攻击者IP分析系统。该系统通过对海量、多源、异构的安全告警日志进行CAPEC标准化操作[23]和实时流式的解析[24],并结合攻击者IP的属性维度和攻击行为的时空维度构建特征工程,辅助安全分析人员进行快速分析,降本增效。本文所提的系统具有以下两个特点:1)借鉴随机森林的特征空间抽样的思想,提出EBLOF算法模型,增强异常检测模型LOF的鲁棒性,减少模型的敏感度;2)通过结合批处理方式的批次学习和通过数据库调用预测结果的模式,构建了一套在线更新模型的架构,缓解数据分布漂移带来的问题。
1 系统架构机器学习算法本身只是整个机器学习应用系统中很小的一个环节[25],因此首先从数据流转和机器学习应用系统模式的角度来设计系统架构。
1.1 数据流转图态势感知平台往往需要接入多个不同厂商、多种不同设备的外部告警数据,不同设备的告警数据结构通常不一致,需要经过标准化范式处理之后才存入大数据分析平台。其数据流转如图1所示。
![]() |
| 图1 数据流转图 Fig. 1 Pipeline of data flow |
由图1可知:外部数据指安全产商的安全设备(如IDS探针、WAF等设备)产生的告警数据;数据采集通常会利用消息中间件(如kafka)将外部数据上传至大数据平台;数据范化通常利用自定义范化插件有效解决多源异构数据的标准化结构定义,范化存储指将范化好的数据存入大数据仓库(如HDFS或者ClickHouse等)中;数据计算一般采用Spark或者Flink等计算框架进行计算;业务存储通常是将计算结果存入MySQL或者ES等数据库,方便业务使用。
1.2 机器学习应用系统设计在大数据领域,对数据的处理一般分为批处理和流处理。同样,在机器学习领域对数据的学习一般也分为批次学习和逐次学习。批次学习指权重计算需要所有的训练数据,运用所有数据才能算出最优权重;逐次学习指给一个训练数据,就立即计算一次权重,更新一次模型。因此,在大数据与机器学习结合的领域中,在训练阶段对机器学习模型的学习通常存在以下3种组合:采用批处理方式进行批次学习,采用批处理方式进行逐次学习,采用流处理方式进行逐次学习。其中,采用批处理方式进行批次学习的模式在实际场景中得到广泛的应用。在预测阶段,围绕采取批处理方式的批次学习通常存在以下3种预测架构:通过Web应用调用预测结果、通过API调用预测结果、通过数据库调用预测结果。
在现实生产环境中,机器学习应用系统一旦部署到真实现场,很难人工离线更新模型。因此,在机器学习应用系统设计时,应该考虑到如何让学习到的模型能够自动根据现场的最新数据自动在线更新,缓解数据分布漂移带来的问题。本文通过结合批处理方式的批次学习和通过数据库调用预测结果的模式,构建了一套在线更新模型的架构,从系统架构层面而非算法层面解决了模型的在线更新问题。整体系统架构如图2所示,分为预测批处理和学习批处理两阶段。
![]() |
| 图2 系统架构 Fig. 2 System architecture |
图2中:在学习批处理阶段,特征提取器通过从泛化存储的数据库中提取告警日志,形成特征向量;学习器是核心算法模块,用于训练形成预测模型。在预测批处理阶段,先利用特征提取器从数据库中提取特征,再结合预测模型进行预测。该系统架构保证了模型能够定期在线更新,定时根据最近一段时间窗口的告警日志数据训练得到模型,并实现批次预测。图2所示的系统架构有以下4个特点:1)通过系统架构层面而非算法层面实现了模型的定时在线更新,缓解数据分布漂移问题;2)学习批处理的执行间隔要比预测批处理间隔设置得更长;3)预测数据应该在执行预测批处理前存在;4)Web应用与机器学习系统通过数据库解耦,避免特定的编程语言依赖关系。
2 算法建模算法建模主要包括图2所示的系统架构中的特征提取器模块和学习器模块。数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限。因此在机器学习算法建模时,首先,应该结合业务,抽象建模问题,提出假设;接着,结合领域业务知识构建业务特征向量;然后,考虑选择什么算法及其如何优化;最后,还要考虑算法的业务可解释性问题。
2.1 问题假设企业侧态势感知平台接收的告警日志通常符合图3中的金字塔分布。
![]() |
| 图3 告警日志金字塔示意图 Fig. 3 Pyramid diagram of alarm log |
图3中:L5表示确实导致安全事件或者指示已发生的安全事件;L4表示攻击方试图利用漏洞,但没有成功;L3表示试探性的恶意行为,就算存在漏洞也不会失陷;L2表示误报,或者攻击类告警但实际上没有恶意;L1表示日志型低危告警,难以直接关联到恶意行为。从图3可看出,绝大部分都是无效告警、重复告警和误报,例如,试探性的恶意行为、黑客使用自动化工具发起的尝试性攻击,而真正高威胁的攻击如L5相对较少。因此,可以假设:大部分源IP产生的告警被认为是正常点,少量真正高威胁IP产生的告警被认为是异常点,进而利用异常检测算法进行挖掘。
2.2 特征工程特征工程属于系统架构中的特征提取器模块。在特征工程中,至关重要的一个环节是通过结合业务领域的经验知识对原始数据进行一系列工程处理,将其提炼为具有领域知识的特征。在攻击者IP分析过程中,为了更好地贴合在威胁入侵场景下对事件攻击行为的描述,本文借鉴用户行为分析的思路,从攻击者IP的属性维度和行为维度进行特征提取。其中,属性维度的特征来源于互联网数字号码分配机构(Internet Assigned Numbers Authority,IANA)[26]的IP Whois信息、测绘信息、地址库信息、备案信息、情报信息,累计18维,例如,源IP是否命中情报、源IP是内网还是外网、源IP是否失陷、源IP是国内还是国外、源IP是否恶意家族、源IP是否攻击组织。行为维度特征可以通过对范式化安全告警日志的统计归并实现行为刻画,累计32维,例如,源IP产生多少条日志、源IP攻击了多少个目的IP、源IP触发了多少种类型的告警、源IP触发的最严重的威胁级别、源IP连接的目的端口个数、源IP触发的漏洞个数、源IP杀伤链最严重的阶段、源IP攻击类型分布占比、源IP危害等级分布占比、源IP活跃时间段等。每一个源IP经过特征提取器加工后,被映射为特征空间中的一个点,EBLOF算法基于特征空间中的这些点进行学习,得到预测模型。
2.3 EBLOF算法EBLOF算法属于系统架构中的学习器模块。不同网络环境由于面向不同的业务,因此在安全设备的部署上存在差异。例如:政务云、互联网公司等面向公众,外网部署的安全设备更多;而有些政府集团企业面向内部使用更多,内网部署的安全设备更多。由内网源IP和外网源IP所产生的告警数量和类型差异很大,其经过特征提取器的加工后在特征空间中形成多个团簇分布,存在类团密度不一致的现象。根据Goldstein等[27]对无监督异常检测的综述,局部异常因子(local outlier factors,LOF)[28]是一种评估局部相对密度的异常情况的算法,能够较好地适用于类团密度不一致的数据集。
一方面,LOF算法的关键超参数
算 法 本文提出的EBLOF算法
输入:所有特征组成的特征空间
输出:单个源IP的EBLOF异常分数值
算法过程如下:
1)随机从特征空间
| $ {\;\;\;\;\;\;\;\;\;\; {x}_{i}\cap {x}_{j}\ne \varnothing ,{x}_{i}\ne {x}_{j},\forall {x}_{i}\subset X,\forall {x}_{j}\subset X} $ | (1) |
2)给定近邻尺度参数
| $ f({k}_{i},{x}_{i},p)=\frac{{\displaystyle\sum _{o\in {N}_{{k}_{i}}(p)}}{d}_{\rm l}\left(o\right)}{\left|{N}_{{k}_{i}}(p)\right|\times {d}_{\rm l}\left(p\right)} $ | (2) |
式中,
3)假设
| $\begin{aligned}[b]& s=\frac{1}{n}{\sum_{i} }\left[\frac{1}{m}{\sum _{j}}f({k}_{i},{x}_{j},p)\right] \end{aligned}$ | (3) |
式中:
如图2所示的系统架构,在学习批处理阶段,学习器模块基于EBLOF学习算法和特征提取器得到的特征数据进行学习,通过并行训练输出预测模型。该模型的更新机制为:将EBLOF算法学习器基于最近时间数据训练得到的模型输出与高危级别的关联规则引擎的输出进行比较,当两者输出的源IP交集占比超过一定阈值,则更新模型,否则保留原有模型用于预测。
3 实 验本文实验分为两部分:1)在公共数据集ODD(outlier detection datasets)[29]中,将本文的EBLOF算法和传统LOF算法模型进行对比;2)在真实攻防演练应用实践中,将本文所提的整个系统和人工检出进行对比。
3.1 公共数据集对比实验ODD数据集提供了来自不同领域、不同类型的数据集,包括多维表格型数据集、时间序列数据集、视频数据集等。本文提出的EBLOF算法是针对特征工程后的表格型数据集,因此,在ODD数据集中选择如表1所示的多维表格型数据集进行对比实验。
| 表1 多维表格型数据集 Tab. 1 Multidimensional tabular datasets |
![]() |
公共数据集对比实验在配备CPU为8核Intel(R)Core(TM)i7@2.9 GHz、内存为16 GB 2 133MHz LPDDR3的MacOS笔记本上完成。在公共数据集中,通常存在类别不平衡的问题,因此算法评价指标采用AUC(area under the ROC curve)指标,AUC指标值越大,说明模型对漏报和误报的平衡性能越好。
将本文所提的EBLOF算法和传统LOF算法在表1中的数据集进行AUC对比实验,结果如表2所示。
| 表2 EBLOF和LOF算法的AUC对比 Tab. 2 AUC comparison between EBLOF and LOF |
![]() |
由表2可知:在异常值占比最少的ForestCover数据集和特征维度最高的Arrhythmia数据集中,EBLOF算法的训练AUC指标和测试AUC指标均比传统LOF算法高。并且,在大部分数据集下,EBLOF算法的性能也优于传统LOF算法。因此,EBLOF算法在不同数量级、不同特征维度、不同异常值占比的数据集中,相比传统LOF算法都具有更好的鲁棒性。
3.2 应用实践对比实验本系统的应用实战数据来源于2021年4月一次真实网络演练行动。在网络中部署WAF、IDS、探针等网络安全设备,进行连续一周的真实攻防演练。本系统运行在单机版Spark分布式计算系统上,节点的CPU为48核Intel(R) Xeon(R) CPU E5-2620v3@2.40 GHz,内存为64 GB,操作系统为CentOS。各种安全设备采集的各类型告警日志数量如图4所示,日均产生告警日志4505043条。
![]() |
| 图4 每日告警日志数量 Fig. 4 Daily alarm log numbers |
在本次持续一周的演练行动中,1名安全分析人员每天需要从百万级别的告警日志中筛选出真正具有威胁的告警并对其源IP进行处置。本系统通过定时运行,自动化地将每小时异常分数高的源IP推送给安全分析人员进行处置。安全分析人员人工处理的真实攻击IP数和本系统发现的真实攻击IP数对比情况如图5所示。
![]() |
| 图5 本系统和人工检出的真实攻击IP数对比 Fig. 5 Real attack IP number comparison between the system and analyst |
从图5中可以看出,人工日均综合研判并检出攻击IP约43个,其中本分析系统命中约1/3(15个)。并且,随着攻击演练的深入和数据的积累,效果越来越明显,例如,最后一天人工累计处置50个攻击IP,本分析系统命中32个。同时,在本系统发现的攻击IP中,也存在部分关联分析规则漏报的攻击IP。因此,本系统能够很好地辅助安全分析人员从海量的告警日志中及时发现真正的高威胁告警,提高人工效率,节省时间成本,并且和关联分析规则引擎形成互补关系。
4 结 论本文提出一种基于EBLOF算法的攻击者IP分析系统。该系统首先以网络安全态势感知平台采集的各种安全设备的原始日志为基础;然后,基于 CAPEC 标准,将海量、多源、异构的数据快速范式化成为统一的告警日志;接着,对攻击者IP的属性特征和行为特征进行了提取刻画;最后,利用本文提出的EBLOF算法检测和发现高威胁攻击IP。通过在公共数据集的对比实验发现,EBLOF算法比传统LOF算法在不同数量级、不同特征维度、不同异常占比的数据中具有更好的鲁棒性。同时,在真实攻防演练中,本系统能够从海量日志中有效辅助安全分析人员快速发现和聚焦真正值得关注的攻击者IP。但是,系统仍然存在一些问题,例如,EBLOF算法对计算内存的占用比传统LOF更多,以及模型的业务可解释性问题,这些是未来进一步研究的方向。
| [1] |
刘海龙,安寅杰. 基于高校的信息安全体系设计与应用研究[J]. 信息系统工程, 2017(6): 152-155. DOI:10.3969/j.issn.1001-2362.2017.06.110 |
| [2] |
Li Xiaozhi. Campus network security analysis and solutions[J]. Modern Educational Technology, 2008, 18(3): 91-93. [李小志. 高校校园网络安全分析及解决方案[J]. 现代教育技术, 2008, 18(3): 91-93. DOI:10.3969/j.issn.1009-8097.2008.03.022] |
| [3] |
Jiang Kaida,Li Xiao,Sun Qiang. Big data analysis on security based on network trafifc metadata[J]. Netinfo Security, 2014(5): 37-40. [姜开达,李霄,孙强. 基于网络流量元数据的安全大数据分析[J]. 信息网络安全, 2014(5): 37-40. DOI:10.3969/j.issn.1671-1122.2014.05.008] |
| [4] |
Zhang Heran.Control and management of linkage protection based on security gateway[D].Beijing:Beijing University of Posts and Telecommunications,2019. 张贺然.基于安全网关的联动防护控制与管理[D].北京:北京邮电大学,2019. |
| [5] |
邵江宁. 人工智能助力网络安全检测和响应[J]. 信息安全与通信保密, 2018, 16(7): 27-28. DOI:10.3969/j.issn.1009-8054.2018.07.008 |
| [6] |
绿盟天枢实验室.智能安全运营[EB/OL].[2021–09–01].http://blog.nsfocus.net/wp-content/uploads/2020/12/AISecOps_White_Paper_NSFOCUS_20201218.pdf.
|
| [7] |
王小群,丁丽,严寒冰,等. 2016年我国互联网网络安全态势综述[J]. 互联网天地, 2017(4): 47-56. |
| [8] |
Bass T. Intrusion detection systems and multisensor data fusion[J]. Communications of the ACM, 2000, 43(4): 99-105. DOI:10.1145/332051.332079 |
| [9] |
Brynielsson J,Franke U,Adnan Tariq M,et al.Using cyber defense exercises to obtain additional data for attacker profiling[C]//Proceedings of the 2016 IEEE Conference on Intelligence and Security Informatics.Tucson:IEEE,2016:37–42.
|
| [10] |
Mallikarjunan K N,Prabavathy S,Sundarakantham K,et al.Model for cyber attacker behavioral analysis[C]//Proceedings of the 2015 IEEE Workshop on Computational Intelligence:Theories,Applications and Future Directions.Kanpur:IEEE,2015:1–4.
|
| [11] |
Valeur F,Vigna G,Kruegel C,et al. Comprehensive approach to intrusion detection alert correlation[J]. IEEE Transactions on Dependable and Secure Computing, 2004, 1(3): 146-169. DOI:10.1109/TDSC.2004.21 |
| [12] |
Qin Ziyan,Zhao Zengyi. Alarm clustering for intrusion detection systems in network[J]. Network and Computer Security, 2008(5): 27-30. [秦子燕,赵曾贻. 网络入侵检测系统中的警报聚类[J]. 计算机安全, 2008(5): 27-30. DOI:10.3969/j.issn.1671-0428.2008.05.010] |
| [13] |
Zheng Zhixian,Wang Min. The application of K-means clustering algorithm based on big data in network security detection[J]. Journal of Hubei University of Education, 2016, 33(2): 36-40. [郑志娴,王敏. 基于大数据的K-means聚类算法在网络安全检测中的应用[J]. 湖北第二师范学院学报, 2016, 33(2): 36-40. DOI:10.3969/j.issn.1674-344X.2016.02.008] |
| [14] |
Li Rong,Zhou Weibai. A distributed intrusion detection framework based on improved K-means algorithm[J]. Research and Exploration in Laboratory, 2014, 33(3): 110-114. [李蓉,周维柏. 基于改进的K-Means算法入侵检测框架[J]. 实验室研究与探索, 2014, 33(3): 110-114. DOI:10.3969/j.issn.1006-7167.2014.03.027] |
| [15] |
Zhang Yuanyuan.Research and implementation of intrusion detection based on clustering algorithm[D].Changchun:Jilin University,2009. 张园园.基于聚类的入侵检测算法研究与实现[D].长春:吉林大学,2009. |
| [16] |
Hong Fei,Liao Guangzhong. Early warning model of hacker portrait based on K-Medoide clustering[J]. Computer Engineering and Design, 2021, 42(5): 1244-1249. [洪飞,廖光忠. 基于K-Medoide聚类的黑客画像预警模型[J]. 计算机工程与设计, 2021, 42(5): 1244-1249. DOI:10.16208/j.issn1000-7024.2021.05.007] |
| [17] |
Mirsky Y,Doitshman T,Elovici Y,et al.Kitsune:An ensemble of autoencoders for online network intrusion detection[C]//Proceedings 2018 Network and Distributed System Security Symposium.San Diego:Internet Society,2018:1–15.
|
| [18] |
Xu Haowen,FengYang,ChenJie,et al.Unsupervised anomaly detection via variational auto-encoder for seasonal KPIs in web applications[C]//Proceedings of the 2018 World Wide Web Conference on World Wide Web(WWW’18).New York:ACM,2018:187–196.
|
| [19] |
Zhao Nengwen,Jin Panshi,Wang Lixin,et al.Automatically and adaptively identifying severe alerts for online service systems[C]//Proceedings of the IEEE Conference on Computer Communications(IEEE INFOCOM 2020).Toronto:IEEE,2020:2420–2429.
|
| [20] |
Haslum K,Arnes A.Multisensor real-time risk assessment using continuous-time hidden Markov models[C]//Proceedings of the 2006 International Conference on Computational Intelligence and Security.Guangdong:IEEE,2006:1536–1540.
|
| [21] |
Li Jianping,Wang Huiqiang,Lu Aiping,et al. Quantification awareness method of network security situation based on conditional random fields[J]. Transducer and Microsystem Technologies, 2010, 29(10): 83-86. [李建平,王慧强,卢爱平,等. 基于条件随机场的网络安全态势量化感知方法[J]. 传感器与微系统, 2010, 29(10): 83-86. DOI:10.13873/j.1000-97872010.10.022] |
| [22] |
Wen Zhicheng,Chen Zhigang,Tang Jun. Prediction of network security situation on the basis of time series analysis[J]. Journal of South China University of Technology(Natural Science Edition), 2016, 44(5): 137-143. [文志诚,陈志刚,唐军. 基于时间序列分析的网络安全态势预测[J]. 华南理工大学学报(自然科学版), 2016, 44(5): 137-143. DOI:10.3969/j.issn.1000-565X.2016.05.021] |
| [23] |
CAPEC-Version-3.6[EB/OL].[2021–09–01].http://capec.Mitre.org/data/index.html.
|
| [24] |
Huang Zhihong,Zhang Bo. Attacker portrait construction based on large data and graph community clustering algorithms[J]. Application Research of Computers, 2021, 38(1): 232-236. [黄志宏,张波. 基于大数据和图社群聚类算法的攻击者画像构建[J]. 计算机应用研究, 2021, 38(1): 232-236. DOI:10.19734/j.issn.1001-3695.2019.09.0621] |
| [25] |
Sculley D,Holt G,Golovin D,et al.Hidden technical debt in machine learning systems[C]//Advances in Neural Information Processing Systems 28(NIPS 2015).Montréal:NTPS,2015:1–9.
|
| [26] |
IANA互联网号码分配机构分配的IPv4地址空间注册表[EB/OL].[2021–09–01].https://www.iana.org/assignments/ipv4-address-space/ipv4-address-space.csv.
|
| [27] |
Goldstein M,Uchida S. A comparative evaluation of unsupervised anomaly detection algorithms for multivariate data[J]. PLoS One, 2016, 11(4): e0152173. DOI:10.1371/journal.pone.0152173 |
| [28] |
Breunig M M,Kriegel H P,Ng R T,et al. Lof[J]. ACM SIGMOD Record, 2000, 29(2): 93-104. DOI:10.1145/335191.335388 |
| [29] |
多维度表格型异常检测数据集OOD在线地址链接[EB/OL].[2021–09–01].http://odds.cs.stonybrook.edu/.
|
2022, Vol. 54








