• 查询稿件
  • 获取最新论文
  • 知晓行业信息
官方微信 欢迎关注

针对铁路信息系统的APT恶意流量预警系统研究

朱广劼

朱广劼. 针对铁路信息系统的APT恶意流量预警系统研究[J]. 铁路计算机应用, 2022, 31(11): 14-19. DOI: 10.3969/j.issn.1005-8451.2022.11.04
引用本文: 朱广劼. 针对铁路信息系统的APT恶意流量预警系统研究[J]. 铁路计算机应用, 2022, 31(11): 14-19. DOI: 10.3969/j.issn.1005-8451.2022.11.04
ZHU Guangjie. APT malicious traffic early warning system for railway information system[J]. Railway Computer Application, 2022, 31(11): 14-19. DOI: 10.3969/j.issn.1005-8451.2022.11.04
Citation: ZHU Guangjie. APT malicious traffic early warning system for railway information system[J]. Railway Computer Application, 2022, 31(11): 14-19. DOI: 10.3969/j.issn.1005-8451.2022.11.04

针对铁路信息系统的APT恶意流量预警系统研究

基金项目: 中铁科(北京)信息工程设计咨询有限公司研究开发课题(DZYF21-62)
详细信息
    作者简介:

    朱广劼,高级工程师

  • 中图分类号: U29 : TP393

APT malicious traffic early warning system for railway information system

  • 摘要: 为了更准确和高效地检测针对铁路信息系统的高级持续性威胁(APT,Advanced Persistent Threat)攻击,研究并设计了基于堆叠式长短期记忆(LSTM,Long Short -Term Memory)模型的APT恶意流量预警系统。将UNSW-NB15数据集改造为适用于APT恶意流量预警系统中模型训练的数据集;提出利用APT攻击阶段性的特性进行预警结果再计算的方法,引入置信度的概念,从而更准确地判定流量类型。在Kaggle云平台上对APT恶意流量预警系统进行了实验,其准确率、精确率和召回率等指标均优于其他方法。实验结果表明,所设计的系统具有更好的性能表现,能够有效提高APT恶意流量预警的准确率,降低误报率和漏报率。
    Abstract: In order to detect the Advanced Persistent Threat (APT) attack against the railway information system more accurately and efficiently, this paper studied and designed an APT malicious traffic early warning system based on stacked Long Short Term Memory (LSTM) model. The paper transformed UNSW-NB15 data set into data set suitable for model training in APT malicious traffic early warning system, proposed a method to recalculate the early warning results by using the periodic characteristics of APT attack, and introduced the concept of confidence to achieve more accurate determination of the traffic type. The APT malicious traffic early warning system was tested on the Kaggle cloud platform. Its accuracy rate, accuracy rate, recall rate and other indicators were superior to other methods. The experimental results show that the system has better performance, can effectively improve the accuracy of APT malicious traffic early warning, and reduce the rate of false alarm and missing report.
  • 近年来,针对铁路信息系统的网络攻击不断增加,其中,大规模、有组织的高级持续性威胁[1](APT, Advanced Persistent Threat)攻击占多数,是威胁铁路信息系统网络安全的重要因素。区别于普通的网络攻击方式,APT攻击具有生命周期的特征,完整的APT攻击包括信息收集、漏洞利用、权限维持和横向渗透等阶段。如何有效、精准地对APT攻击进行拦截、研判与溯源成为当前网络安全行业亟需解决的问题。

    目前,APT攻击的检测与预警多针对攻击过程的某一阶段进行设计,没有从全局出发,有效利用APT攻击的各个阶段进行全方位预警。有学者利用机器学习算法对APT攻击的防护进行研究,如刘海波 [2]提出利用生成对抗网络(GAN,Generative Adversarial Network)模型结合长短期记忆(LSTM,Long Short -Term Memory)模型对恶意流量加以识别,该方法仅针对普通的单次性的网络攻击进行预警,并未考虑APT攻击具有高级性、持续性和隐蔽性的特征;Rosenberg等人[3]提出利用深度学习技术拟合APT攻击的检测模型,但是该方法忽视了APT攻击具有阶段性、生命周期的特性;李骏韬[4]提出对系统请求的域名进行检测,利用聚类算法构造数据集,利用决策树(DT,Decision Tree)算法推断系统请求解析的域名是否为恶意域名,该方法同样是只针对APT攻击生命周期中的权限维持及后续阶段进行预警,并且,在检出系统与恶意主机交互行为的同时,黑客已经完成了漏洞利用攻击,信息系统已经受到了损害。

    已有的机器学习算法,如最近邻(KNN,K-Nearest Neighbor)、DT、多层感知机(MLP,Multi-Layer Perceptron)和门控循环单元(GRU,Gated Recurrent Unit)[5]等模型适用于处理攻击预警二分类问题,涉及到多分类问题,即细化攻击类型时,则会出现部分攻击类型预警不准确、误报率高的问题。此外,由于APT攻击具有持续性的特性,特征规则库和机器学习算法很难利用过往的预警结果对当前的流量进行综合分类、判定。

    本文研究并设计了基于堆叠式LSTM[6]模型的APT恶意流量预警系统(简称:本文系统);将UNSW-NB15数据集[7]改造为适用于APT恶意流量预警系统中模型训练的数据集;利用APT攻击分阶段的特性,提出对过往报警记录再利用的方法,提升LSTM模型对恶意流量的判别率。

    APT攻击是指由专业的攻击者在长时间保持隐蔽性的前提下、针对特定的目标进行的网络安全攻击。APT攻击主要包含3个要素,即高级性、持续性和威胁性。

    APT攻击中的高级性是指攻击者使用精心构造的恶意代码或技术、利用信息系统的漏洞,实施对信息系统的攻击;持续性是指整个攻击过程的持续性,区别于普通的网络安全攻击,APT攻击能够长期隐蔽地进行;威胁性是指攻击者是针对特定目标发起的、带有目的性的攻击。杀伤链 [8](kill-chain)模型将APT攻击分为7个阶段,如图1所示。

    图  1  杀伤链定义的APT攻击7个阶段

    杀伤链定义的7个阶段中:第1阶段,攻击者进行侦察工作,即搜集目标系统和人员的信息;第2~第4阶段为攻击阶段,攻击者将恶意程序通过社会工程学或系统漏洞上传至目标系统中,并发动攻击;第5~第7阶段,为后期渗透阶段,包括权限提升,权限维持,横向移动和数据渗出等。

    图1可知,完整的APT攻击是阶段性的,各阶段之间环环相扣,相邻两阶段的联系更加紧密。本文将据此量化APT攻击各阶段之间的关系,设置各阶段之间的权重。

    LSTM模型是由循环神经网络(RNN,Recurrent Neural Network)模型发展而来,为解决RNN模型长时间依赖问题,LSTM模型引入了“门”的概念,通过设置遗忘门、输入门和输出门,可以对前置信息进行选择性遗忘的同时,将新的信息选择性地记录到模型中。

    UNSW-NB15数据集是由原始网络数据包进行特征提取而构建的、用于入侵检测模型训练的数据集。该数据集包括标签在内共49个特征,标签分为二分类标签和十分类标签(包括9种攻击类型和 1 种正常类型),9 种攻击类型分别为:信息侦察、目标分析、模糊测试、漏洞利用、后门攻击、代码执行、拒绝服务(DoS,Denial of Service)、蠕虫攻击和泛型攻击。

    为了能降低误报率且能够综合利用针对同源主机的预警记录,本文系统主要由两个模块组成:第 1 个模块为基于深度学习的流量预警模块,可根据当前的流量信息对其类型做一个初步的判断;第 2 个模块为流量预警结果再计算模块,该模块利用过去一段时间内同源主机的预警记录,对当前流量预警模块所给出的结果进行再计算。

    LSTM模型本身可以记忆前一个甚至几个样本的特征,因此可以有效利用APT攻击分阶段的特性。本文设计的流量预警模块采用堆叠式LSTM模型,如图2所示。

    图  2  堆叠式LSTM模型

    图2的模型中,各层神经元之间通过不同的权重连接,区别于普通的多层深度神经网络,图中所示的隐藏层均为LSTM神经元的形式,通过该神经元可以使模型能够记录之前样本的特征信息并加以利用。

    本文将APT攻击生命周期精简为5个阶段,对应5种攻击类型,分别为信息侦察,漏洞利用,权限维持,横向移动,数据泄露。流量预警模块最终输出为 6 个和为 1 的值,分别代表流量的 6 种类型,即: 1 种正常流量和APT攻击的 5 种类型的流量。6 个值分别表示流量属于相应类型的概率,取其中的最大值所表示的类型作为当前流量的分类。

    本文结合铁路信息系统遭受APT攻击的流量特征,改造UNSW-NB15数据集为适用于APT恶意流量预警系统中模型训练的数据集,将该数据集中十分标签的 9 种攻击类型映射为APT攻击中的 5 种类型,映射关系如表1所示。

    表  1  UNSW-NB15十分标签攻击类型与APT攻击类型映射关系
    十分标签攻击类型APT 攻击类型
    正常(Normal)正常(Normal)
    信息侦察(Reconnaissance)信息侦察(Reconnaissance)
    目标分析(Analysis)
    模糊测试(Fuzzers)漏洞利用(Exploit)
    漏洞利用(Exploit)
    后门攻击(Backdoor)权限维持(FootHold)
    代码执行(Shellcode)
    蠕虫攻击(Worm)横向移动(Move Laterally)
    泛型攻击(Generic)数据泄露(Data Exfiltration)
    下载: 导出CSV 
    | 显示表格

    表1中并未出现DoS类型,因为在针对铁路信息系统的恶意流量攻击中,DoS攻击比较少见,并且DoS攻击也不符合APT攻击的几个特性,因此,在数据集改造过程中删除了DoS攻击类型的数据。

    数据集标签映射完成后对数据特征进行极值裁剪和标准化处理。极值裁剪是为了防止数据集中某个样本的特征值与中位值差距过大而影响整个数据集的标准化分布所进行的操作。

    数据集经过标签映射、极值裁剪和标准化处理后,即可作为最终的数据对模型进行训练。

    APT攻击过程中,后一阶段依赖于前一阶段的发生[9],如攻击者需要先完成信息侦察,再进行后续的漏洞利用和权限维持等攻击。因此,当流量被判定为APT攻击中信息侦察阶段后的某一阶段时,上一个时间段存在同源主机中的前一个或几个阶段的报警记录会增加对当前流量判定的可信度。利用该思想,本文提出一个对流量预警结果进行再计算的方法,综合上一个时间段预警记录,引入置信度的概念,以此来更加准确地判定当前流量的类型。

    在收到来自流量预警模块的判定结果后,通过调取同源主机的报警记录,获取到各阶段上个时间段内报警分类结果的最大值,在乘以对应权重的基础上,将其与本次得到的流量预警结果的对应值相加,得到各个阶段的置信度,再从中取最大值所属类型作为本次流量判定类型。用公式表示为

    $$ con{f_n} = phas{e_n} + \mathop \sum \limits_{i = 1}^{n - 1} {w_{ni}}{\text{max}}\left( {pre\_phas{e_i}} \right) $$ (1)
    $$ res = \max (con{f_n}) $$ (2)

    其中,$res$为最终的分类结果,$con{f_n}$表示当前流量属第 n 类的置信度(2 ≤ n ≤ 5),$phas{e_n}$表示当前流量被流量预警模块判定为属第 n 类的概率,$ {w}_{ni} $表示第 n 类与第 i 类之间的权重,$pre\_phas{e_i}$表示同源主机在上一个时间段内流量为第 i 类的概率。

    由式(1)、式(2)可知,各类型之间的权重反应了APT攻击各阶段之间的关系。由于信息侦察为APT攻击的第 1 阶段,因此,针对信息侦察和正常类型则不需要进行再计算。

    为了验证本文系统的有效性和预警方法的优越性,在Kaggle云平台上对本文系统进行了实验。使用Tensorflow、Sklearn、pandas等依赖包进行代码编写,代码环境为Python 3.9;使用Telsa P100 16 GB GPU、改造后UNSW-NB15数据集进行模型训练。

    改造后数据集的样本分布如图3所示,可以看出,数据集中正常类型、漏洞利用类型和数据泄露类型占多数,信息侦察类型占比较小,而权限维持和横向移动两种类型作为APT攻击的后期阶段,其数据在图中占比极少,尤其是横向移动类型的数据,在图中几乎不可见。

    图  3  改造后UNSW-NB15数据集样本分布

    文中使用的LSTM模型结构及参数量如表2所示,其中,隐藏层有3层,隐藏神经元数量分别为32、32、16,每层之间加入批标准化(BN,Batch Normalization)操作,缓解在训练过程中的过拟合问题,每层的激活函数为LeakyReLU。

    表  2  LSTM模型结构及对应参数量
    输出形状 参数量
    LSTM(隐藏层1)(批次数,1,32)11 392
    BN(批次数,1,32)128
    LSTM(隐藏层2)(批次数,1,32)8 320
    BN(批次数,1,32)128
    LSTM(隐藏层3)(批次数,1,16)3 136
    BN(批次数,1,16)64
    拉伸(Flatten)(批次数, 16)0
    网络输出(批次数,6)102
    下载: 导出CSV 
    | 显示表格

    流量预警结果再计算模块的核心问题为APT攻击各阶段之间的权重设置问题,设置一个合适的权重能够提高最终分类结果的准确率。由式(1)可知,APT攻击靠后阶段需要加多个阶段的预警记录值,通过该方法也可以解决数据集中APT攻击后期阶段数据量太少(如权限维持和横向移动)、样本失衡导致少数类样本无法训练、模型无法有效判断其所属类型的问题。

    本文根据APT攻击各阶段之间的关系,设置了各阶段之间的权重,如表3所示。由于APT攻击的各阶段按固定次序发生,因此在设定各阶段之间的权重时,相邻阶段的权重设置偏高一些,而非相邻阶段的权重设置低一些;在APT攻击中的数据渗出阶段,攻击者可以跳过横向渗透,甚至权限维持阶段,直接进行数据渗出,因此在设置数据渗出与各阶段之间的权重时,并未按照相邻阶段设置高,非相邻阶段设置低的原则,而是根据APT攻击过程中可能发生的实际情况设定权重值。

    表  3  APT攻击各阶段之间权重设置
    APT攻击阶段APT攻击阶段
    信息侦察(Reconnaissance)漏洞利用(Exploit)权限维持(FootHold)横向移动(MoveLaterally)数据渗出(DataExfiltration)
    信息侦察(Reconnaissance)-0.20.10.030.01
    漏洞利用(Exploit)--0.20.10.03
    权限维持(FootHold)---0.20.1
    横向移动(MoveLaterally)----0.1
    数据渗出(DataExfiltration)-----
    下载: 导出CSV 
    | 显示表格

    本文模型在经过500次迭代后收敛,损失函数曲线及准确率曲线如图4图5所示。由图可知,在前100次迭代过程中,性能得到了比较大的提升,损失函数下降最快;在100~500次迭代过程中,上升幅度较小,但仍旧比较稳定。从整个训练过程可以看出,训练集和验证集在损失函数和准确率的曲线走向上是一致的,可以认为经过训练的模型具有良好的泛化能力。

    图  4  模型迭代过程损失函数曲线
    图  5  模型迭代过程准确率曲线

    在相同数据集的基础上,将流量预警模块中的LSTM模型分别替换成KNN、DT、MLP和GRU模型,比较准确率、精确率、召回率和F1分数值这4个指标,其中,F1分数值是精确率和召回率的调和平均数,结果如表4所示。由表4 可知,本文采用LSTM模型的方法在 4 个指标上均优于其他方法,因此,本文系统能够有效提高恶意流量预警的准确率,降低误报率和漏报率。

    表  4  模型表现对比
    模型指标 / %
    准确率召回率 精确率F1分数值
    KNN89.6789.6790.2889.85
    DT92.5692.5692.5092.43
    MLP91.4191.8191.9691.77
    GRU93.0093.0093.0093.00
    LSTM93.4493.4493.1593.05
    下载: 导出CSV 
    | 显示表格

    针对铁路信息系统遭受的APT攻击特征,本文研究并设计了基于堆叠式LSTM模型的APT恶意流量预警系统。利用APT攻击具有阶段性的特性,抽取上一个时间段内同源主机报警记录,引入置信度概念,以此判断当前流量所属类型。该方法有效利用了APT攻击的特性,能够更加准确地判断当前流量所属类型,并且,该方法可解决样本不平衡数据集中少数类样本无法训练、无法判别的问题。

    本文对APT攻击中各阶段之间的权重是在分析各阶段间关系的基础上主观设置的,更加客观地量化各阶段之间的权重是本文未来要研究的内容。

  • 图  1   杀伤链定义的APT攻击7个阶段

    图  2   堆叠式LSTM模型

    图  3   改造后UNSW-NB15数据集样本分布

    图  4   模型迭代过程损失函数曲线

    图  5   模型迭代过程准确率曲线

    表  1   UNSW-NB15十分标签攻击类型与APT攻击类型映射关系

    十分标签攻击类型APT 攻击类型
    正常(Normal)正常(Normal)
    信息侦察(Reconnaissance)信息侦察(Reconnaissance)
    目标分析(Analysis)
    模糊测试(Fuzzers)漏洞利用(Exploit)
    漏洞利用(Exploit)
    后门攻击(Backdoor)权限维持(FootHold)
    代码执行(Shellcode)
    蠕虫攻击(Worm)横向移动(Move Laterally)
    泛型攻击(Generic)数据泄露(Data Exfiltration)
    下载: 导出CSV

    表  2   LSTM模型结构及对应参数量

    输出形状 参数量
    LSTM(隐藏层1)(批次数,1,32)11 392
    BN(批次数,1,32)128
    LSTM(隐藏层2)(批次数,1,32)8 320
    BN(批次数,1,32)128
    LSTM(隐藏层3)(批次数,1,16)3 136
    BN(批次数,1,16)64
    拉伸(Flatten)(批次数, 16)0
    网络输出(批次数,6)102
    下载: 导出CSV

    表  3   APT攻击各阶段之间权重设置

    APT攻击阶段APT攻击阶段
    信息侦察(Reconnaissance)漏洞利用(Exploit)权限维持(FootHold)横向移动(MoveLaterally)数据渗出(DataExfiltration)
    信息侦察(Reconnaissance)-0.20.10.030.01
    漏洞利用(Exploit)--0.20.10.03
    权限维持(FootHold)---0.20.1
    横向移动(MoveLaterally)----0.1
    数据渗出(DataExfiltration)-----
    下载: 导出CSV

    表  4   模型表现对比

    模型指标 / %
    准确率召回率 精确率F1分数值
    KNN89.6789.6790.2889.85
    DT92.5692.5692.5092.43
    MLP91.4191.8191.9691.77
    GRU93.0093.0093.0093.00
    LSTM93.4493.4493.1593.05
    下载: 导出CSV
  • [1] 付 钰,李洪成,吴晓平,等. 基于大数据分析的APT攻击检测研究综述 [J]. 通信学报,2015,36(11):1-14. DOI: 10.11959/j.issn.1000-436x.2015184
    [2] 刘海波,武天博,沈 晶,等. 基于GAN-LSTM的APT攻击检测 [J]. 计算机科学,2020,47(1):281-286. DOI: 10.11896/jsjkx.181102103
    [3]

    Rosenberg I, Sicard G, David E. DeepAPT: nation-state APT attribution using end-to-end deep neural networks[C]//Proceedings of the 26th International Conference on Artificial Neural Networks, 11-14 September, 2017, Alghero, Italy. Cham: Springer, 2017. 91-99.

    [4] 李骏韬,施 勇,薛 质. 基于DNS流量和威胁情报的APT检测 [J]. 信息安全与通信保密,2016(7):84-88. DOI: 10.3969/j.issn.1009-8054.2016.07.028
    [5] 胡小宁. 基于GRU循环神经网络的云数据中心应用故障预测方法 [J]. 铁路计算机应用,2022,31(2):7-11. DOI: 10.3969/j.issn.1005-8451.2022.02.02
    [6] 时 林,时绍森,文伟平. 基于LSTM的Linux系统下APT攻击检测研究 [J]. 信息安全研究,2022,8(8):736-750.
    [7] 高忠石,苏 旸,柳玉东. 基于PCA-LSTM的入侵检测研究 [J]. 计算机科学,2019,46(S2):473-476,492.
    [8] 陈 庄,王国栋,常俊杰. 基于杀伤链模型的工业控制系统信息安全分析 [J]. 电子技术与软件工程,2015(23):206-208.
    [9] 陈瑞东,张小松,牛伟纳,等. APT攻击检测与反制技术体系的研究 [J]. 电子科技大学学报,2019,48(6):870-879.
  • 期刊类型引用(0)

    其他类型引用(1)

图(5)  /  表(4)
计量
  • 文章访问数:  132
  • HTML全文浏览量:  59
  • PDF下载量:  37
  • 被引次数: 1
出版历程
  • 收稿日期:  2022-09-08
  • 刊出日期:  2022-12-06

目录

/

返回文章
返回