计算机应用   2016, Vol. 36 Issue (9): 2438-2441,2480  DOI: 10.11772/j.issn.1001-9081.2016.09.2438
0

引用本文 

杨忠明, 梁本来, 秦勇, 蔡昭权. 基于目标预判的网络入侵检测频率自调整算法[J]. 计算机应用, 2016, 36(9): 2438-2441,2480.DOI: 10.11772/j.issn.1001-9081.2016.09.2438.
YANG Zhongming, LIANG Benlai, QIN Yong, CAI Zhaoquan. Frequency self-adjusting algorithm for network instruction detection based on target prediction[J]. Journal of Computer Applications, 2016, 36(9): 2438-2441,2480. DOI: 10.11772/j.issn.1001-9081.2016.09.2438.

基金项目

国家自然科学基金资助项目(61170193);广东省工业高新技术领域科技计划项目(2013B010401036);广东省高等学校优秀青年教师培养计划项目(YQ2014187);广东省自然科学基金资助项目(s2013010013432);广东省教育厅科技创新项目(2013KJCX0178)

通信作者

杨忠明(1980-), 男, 广东茂名人, 副教授, 硕士, CCF会员, 主要研究方向:信息安全、智能算法yzm8008@126.com

作者简介

梁本来(1983-), 男, 山东济宁人, 讲师, 硕士, 主要研究方向:信息安全、网络路由;
秦勇(1970-), 男, 湖南邵阳人, 教授, 博士, 主要研究方向:网络并行路由优化;
蔡昭权(1970-), 男, 广东陆丰人, 教授, 硕士, CCF会员, 主要研究方向:计算机网络

文章历史

收稿日期:2016-02-22
修回日期:2016-04-29
基于目标预判的网络入侵检测频率自调整算法
杨忠明1, 梁本来2, 秦勇3, 蔡昭权4    
1. 广东科学技术职业学院 计算机工程技术学院, 广东 珠海 519090 ;
2. 中山职业技术学院 信息工程学院, 广东 中山 528404 ;
3. 东莞理工大学 计算机学院, 广东 东莞 523808 ;
4. 惠州学院 教育技术中心, 广东 惠州 516007
摘要: 在集群环境中,入侵者攻击特定目标是提高攻击效率一种常规手段,有针对性地调度计算资源可有效提高检测效率。提出一种基于攻击目标预判的网络入侵检测系统(NIDS)的检测频率自调整算法DFSATP,检测分析采集到的数据,将发往潜在被攻击目标范围的数据列为高危数据,其余数据为低危数据,指引网络入侵检测系统高频检测发往预测目标的高危数据包,低频检测低危数据包,从而提高NIDS的检测效率,保障在有限的计算资源情况下提高异常数据的检出率。模拟实验结果表明,在高速网络环境下,DFSATP对NIDS检测频率的调整,使得异常数据的检出率得到了一定程度的提升。
关键词: 入侵检测    检测频率    攻击目标预判    检出率    高危数据    低危数据    
Frequency self-adjusting algorithm for network instruction detection based on target prediction
YANG Zhongming1, LIANG Benlai2, QIN Yong3, CAI Zhaoquan4     
1. College of Computer Engineering Technical, Guangdong Institute of Science and Technology, Zhuhai Guangdong 519090, China ;
2. College of Information Engineering, Zhongshan Polytechnic, Zhongshan Guangdong 528404, China ;
3. College of Computer Science, Dongguan University of Technology, Dongguan, Guangdong 523808, China ;
4. Information Technology Center, Huizhou University, Huizhou Guangdong 516007, China
Background: This work is partially supported by the National Natural Science Foundation of China (61170193), the Science and Technology Project in the Field of Industrial High and New Technology of Guangdong Province (2013B010401036), the Training Program for Outstanding Young Teachers in Guangdong Province (YQ2014187), and the Natural Science Foundation of Guangdong Province (S2013010013432).
YANG Zhongming, born in 1980, M. S., associate professor. His research interests include information security, intelligent algorithm.
LIANG Benlai, born in 1983, M. S., lecturer. His research interests include information security, network routing.
QIN Yong, born in 1970, Ph.D., professor.His research interests include computer network technology and parallel distributed computing.
CAI Zhaoquan, born in 1970, M. S., professor. His research interests include computer network technology.
Abstract: In cluster, it is a conventional method to increase attack efficiency for intruder by attacking the specific target, so it is effective to improve the detection efficiency by scheduling the computing resource contrapuntally. A frequency self-adjusting algorithm for Network Intrusion Detection System (NIDS) based on target prediction, named DFSATP, was proposed. By detecting and analyzing the collected data packets, the data packets sent to potentially attacked targets were marked as high risk data and the other packets were marked as low risk data. The efficiency of NIDS was improved by high frequency detection of high risk data packets and low frequency detection of low risk packets, thus the detection rate of abnormal data was also increased to some extent in limited computing resource circumstances. The simulation results show that the detection rate of abnormal data packets is increased because of the detection frequency adjustment of NIDS by using DFSATP.
Key words: intrusion detection    detection frequency    target pre-detection    detection rate    high risk data    low risk data    
0 引言

入侵检测(Intrusion Detection)是指通过网络系统中的关键节点采集大规模数据,从中分析是否存在违反安全策略的行为[1]。从采集数据的对象区分,入侵检测系统(Intrusion Detection System, IDS)可分为基于主机的入侵检测系统(Host Intrusion Detection System, HIDS)和基于网络的入侵检测系统(Network Intrusion Detection System, NIDS),HIDS以主机系统作为检测对象,而NIDS通过采集网络系统的数据进行协议分析和特征匹配。近年来,NIDS成为学者的研究热点。

随着计算机网络的高速发展,局域网已进入千兆速率时代,主干网络中也早已实现万兆速率。高速网络的特征是数据流量大,要求入侵检测系统的数据处理性能高,处理能力的缺乏必然会导致入侵事件的漏报,国外学者Schaelicke等[2]就提出当今NIDS的主要问题就是处理性能跟不上网络带宽的快速增长。为提高NIDS的处理性能,国内外学者近年来进行了深入研究,主要研究方向可分为两类:一种方法是采用可扩展的多引擎并行处理技术,另一种方法是提高单个检测引擎的处理能力和提高入侵检测算法的效率[3]。本文研究的方法为提高入侵检测算法的效率。

高速网络下的大规模数据,致使传统的NIDS捕获全部数据包并进行详细分析存在相当大的难度[4]。在数据采集后,要对其进行协议解析并提取出特征(如源、目的IP地址及协议类型、端口号等),然后采用模式匹配等方法对提取的特征进行分析,不同的分析方法对NIDS的效率影响不同。对于基于规则的NIDS,模式匹配过程是NIDS中最耗时的部分[5]

在NIDS硬件处理性能及入侵检测算法效率有限的情况下,需要采用有效手段在流量高峰期保证符合要求的异常数据检出率。学者们提出通过对数据采样的方法降低检测系统的数据处理量以解决入侵检测算法效率不高的问题,典型的有随机采样、等距采样、变长采样、分层采样、周期采样等策略[6]。如文献[7]提出了一种过采样方法,通过生成人工样本来对小类样本向上采样;文献[8]提出了一种降采样方法,利用K-means方法对大类样本进行聚类并提取聚类中心,获得与较小样本集样本数目近似的样本,组成新的样本集用以训练;文献[9]对这些经典采样算法进行了对比实验,已知攻击的检出率在35%~70%,检出率受数据源及算法策略影响较大,检出率稳定性较低;文献[10]引入风险管理思想对建立在博弈模型上的采样策略进行优化,有效克服单一采样策略的不足,但在保护节点较多的情况下不可用。

采样策略的检出率欠缺稳定性,文献[11]从攻击行为模式上分析,得出90%以上攻击信息集中在数据流的前30个包,设置当流量过载发生的时候只检测数据流的前30个包。这样的规则设定虽避免了采样的漏检可能性,但只适用于已知的部分攻击行为,具有应用的一定局限性。文献[12]提出了感知威胁后启动对网络流量进行异常识别的思路,虽然该文讨论的是无线传感器节点的入侵检测,但其中根据受保护目标的威胁情况启动更高级别安全检测的思想值得借鉴。

利用云计算架构也是提高入侵检测效率的手段之一。文献[13]提出一种云架构的入侵检测系统,将待检测数据预处理后生成样本空间传输到云端进行建模分析,该方法提高了入侵检测的效率和精度,但未讨论样本空间传输到云端进行计算所带来的额外流量消耗及计算时间的增加;文献[14]提出基于人工免疫理论的分布式入侵检测模型,在提高入侵检测效率的同时解决了单点失效问题,证明了分布式检测的有效性,但仅针对TCP-SYN洪泛攻击作了对比实验。

在服务器集群环境中,通过攻击特定目标是提高攻击效率一种常规手段,本文借鉴NIDS的采样思路,提出一种基于攻击目标预判的NIDS检测频率自调整算法(Detection Frequency Self-adjusting Algorithm for NIDS based on Target Pre-detection, DFSATP),通过采集大规模数据流量,汇总分析大规模数据,将发往潜在被攻击目标范围的数据列为高危数据,其余数据为低危数据,指引NIDS高频检测高危数据,低频检测低危数据,从而提高NIDS的检测效率。

1 符号说明

将本文主要用到的符号列如下:

B:网络出口的最高数据传输速率(单位:Mb/s)。

m:NIDS每秒采集的数据包数目。

n:受监控的目标机器数目。

no:未采用资源调度算法DFSATP时,NIDS可检测的目标机器数量。

nx:采用NIDS资源调度算法DFSATP后,可增加的被检测目标机器数量。

lo*:NIDS引擎针对发往同一目标的低危数据的检测频率最低值,lo*>0。

la*:NIDS引擎针对发往同一目标的高危数据的检测频率最高值,la*m

lo:NIDS引擎针对低危数据的实际检测频率,lolo*

la:NIDS引擎针对高危数据的实际检测频率,lolala*

k:受到攻击的目标数目,0≤kn

ki:受攻击的第i个目标,0≤in

tj:统计数据时间段(单位:s)。

cunt_numi:用于统计在ti时间段内检测到的发往第i个潜在攻击目标的全部数据。

atk_numi:用于统计在ti时间段内检测到的发往第i个潜在攻击目标的异常数据。

ηi:在时间段ti内检测到的发往第i个目标的入侵数据的百分比(0≤ηi≤1);注意,只对发往同一目标的全部数据作百分比。

dymax:保证NIDS有效检出率前提下,NIDS引擎可调整的数据检测频率差。

norcpratei:未出现任何攻击时,对发往每个目标的低危数据的检测频率。

sfcpratei:发往第i个非潜在攻击目标的数据检测频率,losfcprateim

atcpratei:发往第i个潜在攻击目标的数据检测频率,loatcprateim

2 DFSATP原理 2.1 数据检测频率与检测目标数量的关系分析

根据前文符号说明,采用NIDS资源调度算法DFSATP后,可以被NIDS有效检测的目标机器数量为:

$n = {n_o} + {n_x}$ (1)

根据总的传输速率一定的原则,可以得到如下的关系:

$m = n*lo + \left( {la - lo} \right)*k$ (2)

根据式(1)和(2),进一步推导出:

${n_x} = \frac{m}{{lo}} - \frac{{\left( {la - lo} \right)}}{{lo}}k - {n_o}$ (3)

在NIDS计算资源有限的情况下增加检测目标的数量,同时满足k个目标受到攻击时,且满足这些高危数据的数据采集频率为la,还需保障低危数据分配到一定的采集量。根据式(3)的推导:

$k < \frac{{m - lo*{n_o}}}{{la - lo}}$ (4)

可得式(5)计算nx, 即增加被检测目标数量,其中lola需要根据网络环境另行设定。

${n_x} = \left\{ \begin{array}{l} \frac{m}{{lo}} - \frac{{\left( {la - lo} \right)}}{{lo}}*k - {n_o},\;\;\;\;\;k < \frac{{m - lo*{n_o}}}{{la - lo}}\\ 0,\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;其他 \end{array} \right.$ (5)
2.2 DFSATP对NIDS数据检测频率调整的理论推导

在未受到攻击的时候,对发往每个目标的低危数据的检测频率理论值有如下公式:

$norcprat{e_i} = m/n$ (6)

为确保NIDS的有效性,引擎针对低危数据的检测频率最低值应为lo*,那么DFSATP对NIDS的数据检测频率的理论指导公式如下:

$d{y_{\max }} = \sum\limits_{i = 1}^{n - k} {\left( {norcprat{e_i} - l{o^*}} \right)} $ (7)

综合式(6)和(7),即得:

$d{y_{\max }} = \left( {m/n - l{o^*}} \right)*\left( {n - k} \right)$ (8)

在时间段tj内检测到的发往第i台目标机的异常数据的百分比ηi值的计算公式如下:

${\eta _i} = \frac{{atk\_nu{m_i}}}{{cunt\_nu{m_i}}}$ (9)

注:每隔时间段tj重新计算。

针对发往潜在攻击目标的高危数据,首先要保证NIDS的整体有效检出率,另外要根据时间段tj内反馈的信息决定当前数据的检测频率,当前NIDS的数据检测频率跟异常数据的检测频率呈线性增长关系,定义高危数据的检测频率为:

$ctcprat{e_i} = norcprat{e_i} + \left( {{\eta _i}*d{y_{\max }}} \right)/ks$ (10)

低危数据的检测频率为:

$sfcprat{e_i} = \frac{1}{{n - k}}\left[ {m - \sum\limits_{i = 1}^k {atcprat{e_i}} } \right]$ (11)
3 DFSATP描述 3.1 DFSATP伪代码

DFSATP通过实时检测数据的发送目标,与潜在被攻击目标范围作匹配,利用式(10)和(11),每间隔时间周期tj重新计算高危或低危数据的检测频率atcpratesfcprate,指导NIDS调整相应的检测频率。

  伪代码中符号解释如下。

  detected_time:当前检测时间间隔;

  detected_data:表示检测到的数据包;

  dst_of_data:数据包的发送目标;

  tj:设定的调整时间间隔;

  tnow:当前周期内的检测时间。

1)  For i=1 to n do

  Begin

    ηi=0;

    cunt_numi=0;

    atk_numi=0;

    atcpratei=0;

    sfcpratei=0;

  End

2)  If(detected_timetj) then

    Begin detect_data

    For i=1 to n do

    Begin

     If(dst_of_data)=i; //如果检测到发送目标为i

      cunt_numi++;

      If(detected_data)=abnormal

                  //如果检测到数据异常

        atk_numi++;

      End if

     End if

    End

   End if

  If(tnowtj)

    For i=1 to n do

    Begin

      Compute ηiatcpratei and sfcpratei

                    //计算检测频率调整公式

    End

      Adjusting detection frequency     //调整NIDS检测频率

      tj+1,go to 1)                  //开始下一个周期的计算

    End if

    Else

      go to 2)

3.2 DFSATP的性能分析

对单个被检数据包而言,DDFSATP算法的时间复杂度为O(n),空间复杂度O(k*n)。其中n为服务器群数量,k为算法中出现的变量参数个数,本算法中k为7。

由于NIDS检测数据具有实时性和连续性的特点,DFSATP算法是每间隔周期tj重新计算并调整NIDS的检测频率。因此,分析NIDS的实际性能,空间时间的消耗应是与数据包的数量直接相关,在高速网络环境下,DFSATP算法的计算频率也会增加。因此,算法复杂度的数学分析仅具有一定的理论参考价值,具体的算法运行性能还需要真实实验环境的综合验证。

4 模拟实验与结果分析 4.1 实验环境

本实验采用基于网络的入侵检测系统架构,将NIDS部署到核心交换机上,Attacker在外网模拟发起攻击,NIDS可以采集到所有经过核心交换机的数据。模拟实验拓扑如图 1所示。

图 1 模拟实验拓扑

实验采用KDD CUP99 DATA完整数据集进行测试,该数据集是对Lincoln实验室1998年提出的DARPA入侵检测评估数据集的扩充。完整集有近500万条记录,包含22种攻击类型,所有攻击行为基本上被分为四大类:DoS,U2R,R2L和Probe。模拟实验过程根据测试数据量要求从数据集内抽取。模拟实验已经提前对实验数据进行了分类,将正常类数据及监视和其他探测活动类数据定义为低危数据,远程设备的非法访问及普通用户对超级用户特权的非法访问定义为高危数据。

4.2 DFSATP对NIDS检测频率的调整

基于上述实验环境,设定模拟实验参数值见表 1,DFSATP对NIDS检测频率的调整过程如图 2所示。

表 1 模拟实验参数
图 2 DFSATP对NIDS检测频率的调整曲线

图 2中可以看出,一开始所有数据均为低危数据,发往三个不同目标的数据检测频率均为8000;随后在10~20s检测出发往S1的数据存在异常数据,将发往S1的数据列为高危数据,则在下一个时间段20~30s将高危数据的检测频率提升为10000,而低危数据的检测频率则降低为7000;随着发往S2的数据在30~40s检测出异常,也被列为高危数据,并且在下一个时间段40~50s,将发往S1和S2的数据检测频率都提升为105000,发往S3的低危数据的检测频率则降到受检测频率最低值30000。综上可以发现,前一时间段的异常数据检测率,直接关系到下一个时间段发往该目标的数据的检出率,具体调整关系参见式(10)和(11),通过实验结果可以看到FSATP对NIDS检测频率的动态调整效果。

4.3 DFSATP与传统NIDS的实验结果对比

采用上述网络环境,分别采用传统NIDS和DFSATP进行模拟实验,将目标S1、S2的实验结果列入表 2

表 2 DFSATP与传统NIDS的实验结果对比

分析表 2可以看出,异常数据包数目在2000左右时,传统NIDS与DFSATP的性能相差不大,但随着异常数据包数目的增加,两种方法的异常数据包的检出率开始不同:比如10~20s,对发往S1的异常数据,传统NIDS的检出率为95.9%,但DFSATP仍能完全检测出;再随着异常数据包的增加,比如20~30s阶段,发往目标S1的异常数据达到4613时,传统NIDS与DFSATP的性能均出现较明显的下降,但DFSATP仍能保持80.2%的检出率,而传统NIDS的检出率则降到了60.5%。

总体来看,在6个阶段总共10次异常数据检测的实验对比中,传统NIDS只有2次达到了100%的检出率,有6次达到了90%以上的检出率,有2次60%以上的检出率,平均的检出率为87.65%;而DFSATP有6次达到了100%的检出率,2次90%以上的检出率,2次80%以上的检出率,平均检出率为94.9%。实验结果表明,在高速网络环境下,DFSATP对NIDS检测频率的调整,使得NIDS对异常数据的检出率得到了一定程度的提升。

5 结语

在集群环境中,攻击特定目标是提高攻击效率一种常规手段,本文借鉴NIDS的采样思路,提出一种基于攻击目标预判的NIDS检测频率自调整算法DFSATP,动态调整高危数据和低危数据的检测频率。模拟实验结果表明,在高速网络环境下,DFSATP对NIDS检测频率的调整,使得NIDS的检测性能得到了一定程度的提升。但网络入侵检测是一个系统复杂的过程,攻击者的攻击行为趋向于隐蔽化和多样化,如何智能地识别出这些异常数据,并进行分类和推理,是作者今后的研究重点。

参考文献
[1] 杨雅辉, 黄海珍, 沈晴霓, 等. 基于增量式GHSOM神经网络模型的入侵检测研究[J]. 计算机学报, 2014, 37 (5) : 1216-1224. ( YANG Y H, HUANG H Z, SHEN Q N, et al. Research on intrusion detection based on incremental GHSOM[J]. Chinese Journal of Computers, 2014, 37 (5) : 1216-1224. ) (0)
[2] SCHAELICKE L, WHEELER K, FREELAND C. SPANIDS: a scalable network intrusion detection load balancer [C] //CF '05: Proceedings of the 2nd Conference on Computing Frontiers. New York: ACM, 2005:315-322. (0)
[3] 史志才, 夏永祥. 高速网络环境下的入侵检测技术研究综述[J]. 计算机应用研究, 2010, 27 (5) : 1606-1610. ( SHI Z C, XIA Y X. Survey on intrusion detection techniques for high-speed networks[J]. Application Research of Computers, 2010, 27 (5) : 1606-1610. ) (0)
[4] IHEAGWARA C, BLYTH A, SINGHAL M. A comparative experimental evaluation study of intrusion detection system performance in a gigabit environment[J]. Journal of Computer Security, 2003, 11 (1) : 1-33. doi: 10.3233/JCS-2003-11101 (0)
[5] 唐谦, 张大方. 入侵检测中模式匹配算法的性能分析[J]. 计算机工程与应用, 2005, 41 (17) : 136-138. ( TANG Q, ZHANG D F. Performance analysis of pattern matching algorithms for intrusion detection[J]. Computer Engineering and Applications, 2005, 41 (17) : 136-138. ) (0)
[6] PATCHA A, PARK J M. An overview of anomaly detection techniques: existing solutions and latest technological trends[J]. Computer Networks, 2007, 51 (12) : 3448-3470. doi: 10.1016/j.comnet.2007.02.001 (0)
[7] CHAWLA N V, BOWYER K W, HALL L O, et al. SMOTE: synthetic minority over-sampling technique[J]. Journal of Artificial Intelligence Research, 2002, 16 (1) : 321-357. (0)
[8] 林舒杨, 李翠华, 江弋, 等. 不平衡数据的降采样方法研究[J]. 计算机研究与发展, 2011, 48 (Suppl) : 47-53. ( LIN S Y, LI C H, JIANG Y, et al. Under-sampling method research in class-imbalanced data[J]. Journal of Computer Research and Development, 2011, 48 (Suppl) : 47-53. ) (0)
[9] DAS A, NGUYEN D, ZAMBRENO J, et al. An FPGA-based network intrusion detection architecture[J]. IEEE Transactions on Information Forensics and Security, 2008, 3 (1) : 118-132. doi: 10.1109/TIFS.2007.916288 (0)
[10] 谷凤娜, 张志斌, 王丽宏. 基于分布式入侵检测系统的负载均衡算法的比较[J]. 计算机科学, 2008, 35 (11) : 63-66. ( GU F N, ZHANG Z B, WANG L H. Comparison among load balancing algorithms based on distributed NIDS[J]. Computer Science, 2008, 35 (11) : 63-66. ) (0)
[11] 曾茂林, 文志诚, 杨润, 等. 一种提高网络入侵检测系统检测率的方法[J]. 湖南工业大学学报, 2011, 25 (2) : 62-66. ( ZENG M L, WEN Z H, YANG R, et al. A method to improve the accuracy of network intrusion detection system[J]. Journal of Hunan University of Technology, 2011, 25 (2) : 62-66. ) (0)
[12] 傅蓉蓉, 郑康锋, 芦天亮, 等. 基于危险理论的无线传感器网络入侵检测模型[J]. 通信学报, 2012, 33 (9) : 31-37. ( FU R R, ZHENG K F, LU T L, et al. Danger theory inspired intrusion detection model for wireless sensor networks[J]. Journal on Communications, 2012, 33 (9) : 31-37. ) (0)
[13] 张文兴, 樊捷杰. 基于KKT和超球结构的增量SVM算法的云架构入侵检测系统[J]. 计算机应用, 2015, 35 (10) : 2886-2890. ( ZHANG W X, FAN J J. Cloud architecture intrusion detection system based on KKT condition and hyper-sphere incremental SVM algorithm[J]. Journal of Computer Applications, 2015, 35 (10) : 2886-2890. ) (0)
[14] 程建, 张明清, 刘小虎, 等. 基于人工免疫的分布式入侵检测模型[J]. 计算机应用, 2014, 34 (1) : 86-89. ( CHENG J, ZHANG M Q, LIU X H, et al. Distributed intrusion detection model based on artificial immune[J]. Journal of Computer Applications, 2014, 34 (1) : 86-89. ) (0)