Pre-driving fatigue detection system for high-speed railway drivers
-
摘要: 对高速铁路司机行车前疲劳状态进行检测,可预防疲劳驾驶,保障行车安全。为此,设计开发了高铁司机行车前疲劳检测系统。检测了高铁司机的心率变异性、闪光融合频率、血氧、血压、呼吸、体温等心理、生理指标,并调查主观疲劳程度和出乘前一晚睡眠时间,获得了180人的有效数据。用统计产品与服务解决方案(SPSS)进行因子分析,计算出综合疲劳指数,并验证综合疲劳检测模型的拟合度。采用K-均值聚类分析和CART决策树算法,将综合疲劳指数分为4个等级。系统可在5 min内完成全部检测,即刻出报告,可防止高铁司机疲劳驾驶,并促使他们出乘前注意休息。系统附加提供按摩放松操作和保健知识推送,同时建立个人档案,以便长期监测司机疲劳状况。Abstract: Testing the fatigue state of high-speed railway drivers before driving can prevent fatigue driving and ensure driving safety. Therefore, this article designed and developed pre-driving fatigue detection system for high-speed railway drivers. In this study, the heart rate variability, flash fusion frequency, blood oxygen, blood pressure, breathing, body temperature and other psychological and physiological indicators of high-speed railway drivers were examined, subjective fatigue and sleep time the night before departure were investigated, and 180 valid data were obtained. The factor analysis was carried out using statistical product and service solution software. The comprehensive fatigue index was calculated by factor analysis with statistical product and service solution software, and the fitness of the integrated fatigue detection model was verified. By K-means clustering analysis and CART decision tree algorithm, the fatigue index was categorized into 4 levels. The pre-driving fatigue detection system for high-speed railway drivers can complete all the tests within 5 minutes and report immediately, which can prevent high-speed railway drivers from driving fatigued and urge them to take a rest before leaving. The system additionally provides massage relaxation operation and health knowledge push, while establishing personal files for long-term monitoring of driver fatigue.
-
近年来,针对铁路信息系统的网络攻击不断增加,其中,大规模、有组织的高级持续性威胁[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模型对恶意流量的判别率。
1 APT攻击及相关技术简介
1.1 APT攻击
APT攻击是指由专业的攻击者在长时间保持隐蔽性的前提下、针对特定的目标进行的网络安全攻击。APT攻击主要包含3个要素,即高级性、持续性和威胁性。
APT攻击中的高级性是指攻击者使用精心构造的恶意代码或技术、利用信息系统的漏洞,实施对信息系统的攻击;持续性是指整个攻击过程的持续性,区别于普通的网络安全攻击,APT攻击能够长期隐蔽地进行;威胁性是指攻击者是针对特定目标发起的、带有目的性的攻击。杀伤链 [8](kill-chain)模型将APT攻击分为7个阶段,如图1所示。
杀伤链定义的7个阶段中:第1阶段,攻击者进行侦察工作,即搜集目标系统和人员的信息;第2~第4阶段为攻击阶段,攻击者将恶意程序通过社会工程学或系统漏洞上传至目标系统中,并发动攻击;第5~第7阶段,为后期渗透阶段,包括权限提升,权限维持,横向移动和数据渗出等。
由图1可知,完整的APT攻击是阶段性的,各阶段之间环环相扣,相邻两阶段的联系更加紧密。本文将据此量化APT攻击各阶段之间的关系,设置各阶段之间的权重。
1.2 LSTM模型
LSTM模型是由循环神经网络(RNN,Recurrent Neural Network)模型发展而来,为解决RNN模型长时间依赖问题,LSTM模型引入了“门”的概念,通过设置遗忘门、输入门和输出门,可以对前置信息进行选择性遗忘的同时,将新的信息选择性地记录到模型中。
1.3 UNSW-NB15 数据集
UNSW-NB15数据集是由原始网络数据包进行特征提取而构建的、用于入侵检测模型训练的数据集。该数据集包括标签在内共49个特征,标签分为二分类标签和十分类标签(包括9种攻击类型和 1 种正常类型),9 种攻击类型分别为:信息侦察、目标分析、模糊测试、漏洞利用、后门攻击、代码执行、拒绝服务(DoS,Denial of Service)、蠕虫攻击和泛型攻击。
2 系统设计
为了能降低误报率且能够综合利用针对同源主机的预警记录,本文系统主要由两个模块组成:第 1 个模块为基于深度学习的流量预警模块,可根据当前的流量信息对其类型做一个初步的判断;第 2 个模块为流量预警结果再计算模块,该模块利用过去一段时间内同源主机的预警记录,对当前流量预警模块所给出的结果进行再计算。
2.1 流量预警模块
2.1.1 模型设计
LSTM模型本身可以记忆前一个甚至几个样本的特征,因此可以有效利用APT攻击分阶段的特性。本文设计的流量预警模块采用堆叠式LSTM模型,如图2所示。
图2的模型中,各层神经元之间通过不同的权重连接,区别于普通的多层深度神经网络,图中所示的隐藏层均为LSTM神经元的形式,通过该神经元可以使模型能够记录之前样本的特征信息并加以利用。
本文将APT攻击生命周期精简为5个阶段,对应5种攻击类型,分别为信息侦察,漏洞利用,权限维持,横向移动,数据泄露。流量预警模块最终输出为 6 个和为 1 的值,分别代表流量的 6 种类型,即: 1 种正常流量和APT攻击的 5 种类型的流量。6 个值分别表示流量属于相应类型的概率,取其中的最大值所表示的类型作为当前流量的分类。
2.1.2 数据集改造
本文结合铁路信息系统遭受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) 表1中并未出现DoS类型,因为在针对铁路信息系统的恶意流量攻击中,DoS攻击比较少见,并且DoS攻击也不符合APT攻击的几个特性,因此,在数据集改造过程中删除了DoS攻击类型的数据。
2.1.3 数据集处理
数据集标签映射完成后对数据特征进行极值裁剪和标准化处理。极值裁剪是为了防止数据集中某个样本的特征值与中位值差距过大而影响整个数据集的标准化分布所进行的操作。
数据集经过标签映射、极值裁剪和标准化处理后,即可作为最终的数据对模型进行训练。
2.2 流量预警结果再计算模块
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 阶段,因此,针对信息侦察和正常类型则不需要进行再计算。
3 实验与结果分析
3.1 系统实验
为了验证本文系统的有效性和预警方法的优越性,在Kaggle云平台上对本文系统进行了实验。使用Tensorflow、Sklearn、pandas等依赖包进行代码编写,代码环境为Python 3.9;使用Telsa P100 16 GB GPU、改造后UNSW-NB15数据集进行模型训练。
3.1.1 改造后的数据集
改造后数据集的样本分布如图3所示,可以看出,数据集中正常类型、漏洞利用类型和数据泄露类型占多数,信息侦察类型占比较小,而权限维持和横向移动两种类型作为APT攻击的后期阶段,其数据在图中占比极少,尤其是横向移动类型的数据,在图中几乎不可见。
3.1.2 模型结构及参数量
文中使用的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 3.1.3 权重设置
流量预警结果再计算模块的核心问题为APT攻击各阶段之间的权重设置问题,设置一个合适的权重能够提高最终分类结果的准确率。由式(1)可知,APT攻击靠后阶段需要加多个阶段的预警记录值,通过该方法也可以解决数据集中APT攻击后期阶段数据量太少(如权限维持和横向移动)、样本失衡导致少数类样本无法训练、模型无法有效判断其所属类型的问题。
本文根据APT攻击各阶段之间的关系,设置了各阶段之间的权重,如表3所示。由于APT攻击的各阶段按固定次序发生,因此在设定各阶段之间的权重时,相邻阶段的权重设置偏高一些,而非相邻阶段的权重设置低一些;在APT攻击中的数据渗出阶段,攻击者可以跳过横向渗透,甚至权限维持阶段,直接进行数据渗出,因此在设置数据渗出与各阶段之间的权重时,并未按照相邻阶段设置高,非相邻阶段设置低的原则,而是根据APT攻击过程中可能发生的实际情况设定权重值。
表 3 APT攻击各阶段之间权重设置APT攻击阶段 APT攻击阶段 信息侦察(Reconnaissance) 漏洞利用(Exploit) 权限维持(FootHold) 横向移动(MoveLaterally) 数据渗出(DataExfiltration) 信息侦察(Reconnaissance) - 0.2 0.1 0.03 0.01 漏洞利用(Exploit) - - 0.2 0.1 0.03 权限维持(FootHold) - - - 0.2 0.1 横向移动(MoveLaterally) - - - - 0.1 数据渗出(DataExfiltration) - - - - - 3.2 实验结果
本文模型在经过500次迭代后收敛,损失函数曲线及准确率曲线如图4、图5所示。由图可知,在前100次迭代过程中,性能得到了比较大的提升,损失函数下降最快;在100~500次迭代过程中,上升幅度较小,但仍旧比较稳定。从整个训练过程可以看出,训练集和验证集在损失函数和准确率的曲线走向上是一致的,可以认为经过训练的模型具有良好的泛化能力。
3.3 对比分析
在相同数据集的基础上,将流量预警模块中的LSTM模型分别替换成KNN、DT、MLP和GRU模型,比较准确率、精确率、召回率和F1分数值这4个指标,其中,F1分数值是精确率和召回率的调和平均数,结果如表4所示。由表4 可知,本文采用LSTM模型的方法在 4 个指标上均优于其他方法,因此,本文系统能够有效提高恶意流量预警的准确率,降低误报率和漏报率。
表 4 模型表现对比模型 指标 / % 准确率 召回率 精确率 F1分数值 KNN 89.67 89.67 90.28 89.85 DT 92.56 92.56 92.50 92.43 MLP 91.41 91.81 91.96 91.77 GRU 93.00 93.00 93.00 93.00 LSTM 93.44 93.44 93.15 93.05 4 结束语
针对铁路信息系统遭受的APT攻击特征,本文研究并设计了基于堆叠式LSTM模型的APT恶意流量预警系统。利用APT攻击具有阶段性的特性,抽取上一个时间段内同源主机报警记录,引入置信度概念,以此判断当前流量所属类型。该方法有效利用了APT攻击的特性,能够更加准确地判断当前流量所属类型,并且,该方法可解决样本不平衡数据集中少数类样本无法训练、无法判别的问题。
本文对APT攻击中各阶段之间的权重是在分析各阶段间关系的基础上主观设置的,更加客观地量化各阶段之间的权重是本文未来要研究的内容。
-
[1] 焦昆,李增勇,陈铭,等. 驾驶精神疲劳的心率变异性和血压变异性综合效应分析[J]. 生物医学工程学杂志, 2005, 22(2):343-346. [2] 杨彬, 黄耀志. 基于PERCLOS的汽车司机疲劳监控方法的研究[J]. 微计算机信息, 2005, 21(8-3):119 -121.
[3] 张驰,马广露,朱国华. 驾驶疲劳检测技术概述[J]. 交通工程, 2018(1):18-21, 27. [4] 李强. 基于PERCLOS的列车司机驾驶疲劳检测研究[D]. 北京:北京交通大学, 2014:6-11. [5] 吴文娴. 基于被动视觉的机车驾驶疲劳实时检测系统的研究[J]. 铁路计算机应用, 2011, 20(2):5-9. [6] 徐春婕. 基于多信息融合的铁路机车司机疲劳驾驶监测系统研究[J]. 铁道运输与经济, 2018(2):44-49. [7] 王琳虹,李世武,高振海,等. 基于粒子群优化与支持向量机的驾驶员疲劳等级判别[J]. 哈尔滨工业大学学报, 2014, 46(12):102-107. [8] 詹皓. 临界闪光融合频率和眼动反应检测在不同作业任务中枢疲劳评价中的应用[J]. 中华航空航天医学杂志, 2014, 25(1):62-68. [9] 彭葳,王笃明,尹爽,等. 驾驶疲劳的心电和肌电信号分析[J]. 人类工效学, 2013, 19(1):24-27. [10] 宋涛,袁春平,吴钰祥,等. HRV应用于运动性疲劳判断实验教学的探究[J]. 实验室科学, 2017, 20(2):8-11. [11] 李志学. 基于多模生理信号的精神疲劳检测系统的设计与研究[D]. 兰州:兰州大学, 2018:51. [12] 张爱华,王业泰. 持续视屏显示终端作业对闪光融合频率和体温的影响[J]. 护理研究, 2010, 24(22):1991-1992. [13] 李玉珍,王伟,凌瑞杰,等. 疲劳量表-14在汽车装配作业工人中的信度和效度检验[J]. 工业卫生与职业病, 2016(5):346-350. [14] 杨婉凤,黄凌鹰,周振华,等. 疲劳量表-14在慢性乙型肝炎患者中的信度与效度评价[J]. 上海中医药大学学报, 2012(4):33-36. [15] 裴玉龙,金英群,陈贺飞. 基于脑电信号分析的不同年龄驾驶人疲劳特性[J]. 中国公路学报, 2018, 31(4):63-69 , 81.
[16] Yang G, Lin Y, Bhattacharya P. A driver fatigue recognition model based on information fusion and dynamic Bayesian network[J]. Information Sciences, 2010, 180(10):1942-1954.
[17] Simon M, Schmidt E A, Kincses W E, et al. EEG alpha spindle measures as indicators of driver fatigue under real traffic conditions[J]. Clinical Neurophysiology, 2011, 122(6):1168-1178.
-
期刊类型引用(0)
其他类型引用(1)
计量
- 文章访问数: 81
- HTML全文浏览量: 1
- PDF下载量: 21
- 被引次数: 1