基于渗透测试的多层次网络安全入侵检测方法
2022-07-28任天宇
李 群, 王 超, 任天宇
(1. 国网北京市电力公司 电力科学研究院, 北京 100075; 2. 华北电力大学 控制与计算机工程学院, 北京 102206)
电力系统网络安全是系统正常运行的关键[1].当电力系统网络中的硬件或软件以及其中的数据因恶意原因遭受到破坏、更改时,就会导致网络服务中断或不稳定运行,上述现象可以称为网络入侵.网络入侵行为会导致电力系统数据泄漏,严重影响电力系统的运行.现阶段网络入侵手法主要包括口令入侵、缓冲区溢出、端口扫描及欺骗攻击等[2].
针对网络安全的入侵检测问题,国内外学者已经进行了相关的研究,并取得了一定的研究成果.其中包括基于支持向量机的网络安全入侵检测方法、模糊关联规则挖掘的网络安全入侵检测方法和基于PCA和LOGIT模型的网络入侵检测方法[3].由于多层次网络的结构特点,传统的入侵检测技术无法得到精准的检测结果,为此需要引入渗透测试技术.渗透测试就是通过模拟黑客在多层次网络中的入侵攻击行为,对网络目标实施攻击,同时获得访问控制权限的行为.在网络的渗透测试过程中,需要测试者从攻击者的角度出发,检测网络的漏洞、配置的缺陷以及网络安全监管的缺失,从而实现提升测试目标安全性的目的.
1 检测方法设计
本文分别分析网络结构、网络状态来确定网络运行特征,将实时信号数据与正常网络运行特征做匹配,便可判断当前多层次网络安全的运行状态,进而对存在安全入侵现象的网络节点进一步分析与测试,得出较为全面的检测结果[4].设计的基于渗透测试的电力系统多层次网络安全入侵检测方法的实现过程如图1所示.
图1 电力系统多层次网络入侵检测方法实现过程Fig.1 Implementation process of multi-level network intrusion detection method for power system
1.1 多层次网络结构分析
为了实现对多层次网络的精准检测,首先需要收集正常运行状态下多层次网络每一个层级的状态信息以及内部网络传输数据信号的运行情况,以此作为检测网络异常入侵的依据.经过分析可知,多层次网络由表现层、业务逻辑层、数据访问层以及数据存储层4个部分组成,其中用户显示层可以显示与输出其他层级运算的结果,属于直观网络层次[5];业务逻辑层是表现层中单独分离出的一层,主要用来接收网络用户的表现层请求,利用其内部逻辑程序中的脚本引擎加载、编译并执行脚本语言后,将用户的请求发送给下一个层次;数据访问层为多层次网络中存储数据的数据库服务器,可以实现对网络数据的检索,该层的运行需要与其下一层次,即数据存储层相互配合,以实现对应的数据访问功能[6].为了保证多层次网络结构分析的准确性,将网络结构用一个无向图模型来表述为
G=(V,E)
(1)
式中:V为任意两个网络节点的边集;E为多层次网络链路中的节点负载边.入侵节点的多层次网络内部结构分布情况如图2所示.
图2 多层次网络入侵节点结构分布Fig.2 Structure distribution of multi-level network intrusion nodes
根据图2中的网络节点分布情况,在多层次网络环境中根据入侵节点迁移数据的帧数来确定数据的转发时间,采用路由引擎等对入侵节点的数据收发实现对网络传输信号的采集.
1.2 多层次网络渗透测试
为了防止多层次网络防御机制出现漏洞,造成特征数据提取不全的问题,通过对多层次网络系统的密切协作来实现对网络元素丢包率、延迟等参数测量[7].由于多层次网络源节点发送数据包经过若干个节点的传送而到达目的节点,因此可以将网络渗透测试近似为一种线性模型,即
Y=Dθ+ε
(2)
式中:Y为渗透测试向量;D为路由矩阵;θ为待估计的网络数据包的参数向量;ε为多层次网络的误差向量.按照搭建的渗透测试线性模型,分别从多层次网络客户端和服务器端两个方面渗透测试,具体的测试流程如图3所示.
图3 渗透测试工作流程图Fig.3 Flow chart of penetration test
1.2.1 渗透检测方向确定
渗透测试检测的方向主要有两个,一个为顺网络传输的方向,另一个为逆网络传输的方向[8].渗透测试综合搜寻个体的利己方向、利他方向和预动方向,随机加权平均确定最终的搜索方向.若计算结果在[0,1]之间,则渗透测试的搜索方向为顺传输方向,否则为逆网络传输方向.
1.2.2 渗透检测步长确定
渗透测试检测的搜索步长可表示为
(3)
式中:u为高斯隶属度;x为输入变量;δ为隶属函数参数[9].通过对隶属度的计算,可以得到渗透测试的步长为
(4)
式中:αij为j维度渗透搜索空间的搜索步长;δij为隶属度函数位置;ψ为惯性权值;xmin、xmax分别为输入变量最小值和最大值;t为当前迭代次数;Tmax为迭代最大值.通过双向渗透确定多层次网络防御机制的状态,若其状态正常则截获需要检测的网络信号;若防御出现漏洞,则需要在网络节点做好补丁后再截获需要检测的网络信号.
1.3 截获网络信号
在确定防御为正常状态后,在电力系统多层次网络中安装数据的采集与截获装置[10],设置连续采集周期为24 h,采集间隔时间为0.5 min.启动网络信号采集装置,按照图4所示的网络信号截获流程实现多层次网络传输数据信号的截获.
图4 网络信号截获流程图Fig.4 Flow chart of network signal interception
将多层次网络中的运行信号假设为平稳的随机信号,可以将截获的单分量网络信号表示为
(5)
式中:f(s[t-τ])为多层次网络的单分量主频特征;s为传输信号的特征分解尺度因子;τ为信号的赋值在时频域上的时延[11].利用单分量信号截获网络信号中时间与频率之间的关系,获取多层次网络传输信号的伸缩变换归一化尺度参量H(ω,t).
由于多层次网络环境中存在其他设备的干扰,因此在数据截获与处理过程中需要考虑信号的噪声情况[12].在噪声干扰下可以得到相应的传输信号波形表达式为
y(t)=a(θi)H(ω,t)+n(t)
(6)
式中:a(θi)为频谱的幅值;n(t)为其他设备的干扰项.
1.4 多层次网络信号特征提纯
由于截获的网络信号存在噪声干扰,因此需要对原始网络信号进行滤波处理,以此来保证网络安全入侵检测结果的置信度[13].另外还需要将正常网络环境下运行数据的特征提取出来,作为网络安全入侵检测的标准.
截获并处理完成的电力系统多层次网络传输信号包含的数据量较大,在入侵检测过程中需要时间较长,会影响网络安全入侵检测的效率[14].完成多层次网络传输信号的特征提取后,将信号按照上、下包络局部特征分解,存储相应的特征提取结果.建立多层网络安全数据分类器,将不同的信号特征,依据分类器分类,从而实现多层次网络入侵信号检测.
1.5 多层次网络安全入侵检测
分别检测多层次网络的传输数据和数据传输流量,并与正常运行环境下多层次网络的状态特征进行匹配处理,从而得出有关多层次网络安全入侵的检测结果.
1.5.1 检测网络异常流量
多层次网络环境中异常流量的检测主要是通过网络流量的行为描述来分析和发现网络中可能出现的异常行为.具体的网络异常流量检测过程如图5所示.
图5 异常流量检测流程图Fig.5 Flow chart of abnormal flow detection
在确定网络流量历史行为测度框架的基础上,对比检测当前的网络入侵活动.历史行为测度框架主要是由测度统计值构成的,采集的网络运行流量与多层次网络在正常运行状态下的运行流量在数值之间出现明显的偏差,即认为出现了异常行为[15].
1.5.2 定位多层次网络入侵节点
根据检测样本异常结果的数据来源确定多层次网络结构中网络漏洞的基本位置,接着分别从多层次网络结构中的应用层次和网络层次分别定位入侵节点.其中应用层次的入侵主要利用程序上的漏洞,而网络层次上的入侵行为主要针对的是网络协议本身的漏洞以及协议实现过程中存在的漏洞.因此可以通过判断网络安全入侵的类型来确定多层次网络入侵节点的位置.综合多层次网络传输数据包、流量以及入侵节点等多个方面的检测得出最终的检测结果.
2 实验验证分析
2.1 实验配置
在实验启动之前,需要对网络中的服务器、PC机以及连接节点等硬件设施调试,保证搭建的多层次网络可以正常运行.另外在实验网络中需要人工设置网络漏洞的节点,方便检测和控制.检测主机硬件的设备名记为cete-48,IP设置为218.234.24.23,该设备的操作系统为Windows XP系统,端口信息为161,23,1 900,28 781.将检测方法以程序代码的形式输入到cete-48设备当中,设置常规数据为2 000组,共2 GB,异常数据为3组,共0.1 GB,最终的检测结果也通过cete-48设备显示器输出.
2.2 网络入侵攻击程序生成
以设置的多层次网络漏洞节点为切入点,生成网络入侵程序,向多层次网络发动入侵攻击,网络入侵攻击程序的生成与实现过程如图6所示.
图6 网络入侵过程Fig.6 Network intrusion process
为了保证实验结果的可信度,实验网络结构中的漏洞节点不唯一,且网络入侵攻击的入侵类型不唯一.将拒绝服务入侵攻击记为DOS,远程机器非法访问入侵记为R2L,程序修改入侵记为U2R,信息窃取入侵记为Probing,而网络正常运行记为Normal.
2.3 实验结果分析
启动电力系统多层次网络,模拟实际运行环境相关数据的传输.在3 h后分别生成多条网络入侵攻击程序,入侵攻击程序全部生成30 min后发动第一次入侵攻击,接着利用随机程序以不固定的时间间隔向网络发动入侵攻击,直至生成的网络入侵攻击程序终止.
为验证所提方法的有效性,采用基于支持向量机的电力系统网络安全入侵检测方法作为对比方法,分别测试两种方法的分类器检测数据异常结果如图7所示.
由图7可知,在相同数据量下,基于支持向量机的电力系统网络安全入侵检测方法未检测出异常数据,而所提方法检测出3组异常数据.由此证明,所提方法的分类器能准确判断数据异常.根据所提方法检测出的3组异常数据,采用两种算法同时对其进行位置标定,所得结果如图8所示.
图7 分类器判断数据异常结果对比Fig.7 Comparison results of abnormal data judged by classifiers
根据图8可以看出,基于支持向量机的电力系统网络安全入侵检测方法不能标定出异常数据在多层次网络中的位置,而所提方法根据异常数
图8 入侵数据位置标定对比Fig.8 Comparison of location calibration of intrusion data
据信息的来源判断出该异常信息来自数据访问层和数据储存层,证明所提方法能够有效地标定出分类器判断的异常数据位置.
3 结 论
基于渗透测试的多层次电力系统网络安全入侵检测方法的设计与实现,解决了传统检测方法存在的问题,在提高入侵检测准确性的同时也加快了入侵检测速度,为电力系统网络安全入侵攻击的防御提供充足的时间.然而经过实验对比与验证发现,基于渗透测试的多层次网络安全入侵检测方法仍存在一定的误测情况,在接下来的研究工作中需要针对该方面进一步研究.