您的位置:首页 > 代理IP资讯
发布时间:2020-02-27 16:43:32
改ip地址、基于动态IP黑名单的入侵防御系统模型

  随着网络带宽的进一步增大和NIPS[1]本身系统硬件条件的限制,当网络流量异常剧增时NIPS很容易出现性能上的瓶颈。由于NIPS需要对每个数据包都进行深度分析检测,如果激增的网络攻击流量超过了NIPS实际负载处理能力,则会出现大量的正常网络数据包被丢弃的情况,最终造成正常的网络服务被轻易破坏。即便是NIPS能够负载超高的网络流量,但大量攻击数据包被NIPS处理后短时间内将产生海量的攻击报警事件和相关动作亦会导致NIPS性能急剧下降。


  本文提出了一种基于动态IP黑名单的NIPS模型,在传统的NIPS模型基础上让系统维护一个包含攻击源IP地址和其威胁度值的信息列表。通过NIPS产生攻击事件信息,采用一种针对攻击源IP的威胁度评估方法周期计算各个攻击源IP地址对内部网络的威胁度并实时更新IP黑名单。当NIPS的负载能力达到一定阈值时,网络数据包预过滤模块根据IP方案能够有效地减轻海量攻击流量对NIPS性能上的影响,同时保证网络正常运行。


  1基于动态IP黑名单的NIPS模型


  1.1 NIPS工作原理


  传统NIPS系统总共由4大功能模块组成,数据包接收模块,入侵检测模块,响应模块和数据包转发模块。数据包接收模块首先对经过NIPS的网络数据包进行捕获,然后将数据包缓存到数据包接收队列中等待被检测。入侵检测模块从接收队列中取出等待检测的数据包进行内容的深度特征分析并结合网络传输中异常情况来识别入侵和攻击。当数据包被检测出包含攻击或入侵特征,响应模块根据用户定义的响应策略采取相应动作,通常包括丢弃报文,阻断连接并产生报警日志。如果数据包安全通过入侵检测模块,将会被送入数据包转发队列等待转发,数据包转发模块将其取出并转发到目的网络中去。


  传统的NIPS模型在高速网络攻击环境存在不足,快速的攻击流量会导致NIPS产生海量的报警事件并致使NIPS处理能力急剧下降。如典型的stick攻击,其使用了很巧妙的办法,可以在2s内模拟450次攻击。当海量的报警信息和阻断事件产生会让NIPS检测率下降、产生失去反应甚至死机的现象,NIPS容易陷入拒绝服务状态。


  1.2基于IP黑名单的NIPS结构


  本文设计并实现的基于动态IP黑名单的NIPS系统新增了4个模块:预过滤模块,IP黑名单模块,攻击源IP威胁度计算模块和报警日志缓存模块,NIPS系统结构如图1所示。


  IP黑名单是一个以攻击源IP地址作为键值并用攻击源的IP地址和其威胁度值作为表项的哈希表。因为哈希表插入,查找和删除操作的时间复杂度都为(1),适合用在对实时性和效率要求很高的预过滤模块当中。当入侵检测模块检测到攻击事件后产生的每条报警信息会被保存到报警日志模块的缓存队列当中,并同时把日志写到日志数据库中。


  攻击源IP威胁度计算模块将周期性依据一个周期内的攻击日志缓存内攻击事件信息通过基于攻击源IP的威胁度评估算法来计算出各个攻击者IP的威胁度,然后将计算出的各个攻击源IP最新威胁度并保存到IP黑名单当中,最后清空这个周期内的攻击日缓存。


  预过滤模块将依据IP黑名单中的威胁度值来对基于TCP/IP协议的网络数据包进行一次快速过滤,如果该网络数据包源IP地址位于黑名单内且其威胁度值大于过滤威胁度阈值(该阈值根据实际网络状态进行设置),则该数据包将直接被丢弃。否则将数据包送到入侵检测模块进行检测。


  基于动态IP黑名单的NIPS模型为提高NIPS检测效率提供了一种有效的方法,在网络流量进入入侵检测引擎之前先对其进行一次快速筛选,在不明显影响安全性能和网络正常访问的情况下大幅提高入侵检测引擎工作效率,从能提高NIPS整体工作性能,消除NIPS性能瓶颈。但是预过滤会致使NIPS的精确阻断能力变弱,本文引入了威胁度的概念,在传统的NIPS基础上,依据各个攻击主机的威胁程度来对网络流量进行预过滤,能弥补大流量情况下传统NIPS的性能瓶颈,改善入侵检测的效率。


  2基于攻击源IP的威胁度评估算法


  现有的网络安全评估算法,大多数都是针对被保护的主机或网络计算其风险值,如基于HMM的风险计算[2]等而并不对攻击源主机威胁程度进行量化。通过对攻击源IP的威胁度量化可反映该IP地址攻击主机对内部网络威胁的严重程度。本文在常见的威胁度评估算法基础上提出了一中结合攻击目标的资产重要性等多个因素来评估一个攻击主机对内部网络的威胁程度的方法。


  2.1相关定义


  定义1固定时间周期T,系统每隔时间T进行一次威胁度评估计算。


  定义2攻击事件集={|,0<<}表示一个周期T内NIPS检测到的所有攻击事件集合;表示攻击集合中的第个攻击事件,N为T时间内攻击事件总数。攻击事件由以下五元组表示:={};sip表示攻击源IP地址,sp表示攻击源端口号,dip表示攻击目标IP地址,dp表示攻击目标端口号,sid表示攻击类型,time表示攻击时间。


  定义3攻击类型威胁级别Severity,代表一种攻击类型的威胁程度。通常这是一个依据攻击破坏力、传播范围、攻击工具与手段等因素赋予的一个经验值。文中参考了Snort[3]在入侵规则的“priority”字段中定义的默认威胁级别,它将已知的攻击行为划分为32大类,每类攻击具有相近的操作过程或攻击目的。每个大类对应一个1-10级的威胁别,0<Severity<1;攻击目标资产重要性权重Asset,表示被攻击的主机资产的重要程度,因为不同内部主机重要程度不同,该值通常由管理员根据实际情况进行设置,0<Asset<1。


  定义4 IP黑名单}表示当前所有威胁度值大于0的攻击源主机IP地址和其威胁度值()的集合。集合={1,2,3,⋯}表示所有被NIPS保护的目标主机集合和。


  2.2算法描述


  威胁评估算法用于计算周期T内各个攻击源主机对内部网络的威胁程度。按攻击事件.属性对集合中攻击事件进行分类,得到个攻击事件子集合,设为1,2,3,⋯,,分别对应不同攻击源地址,⋯,的攻击事件集合。然后通过各子集来计算各攻击源主机威胁度,具体方法如下:


  (1)同源主机攻击次数威胁度分析:在一个时间段内攻击主机的攻击越频繁则其对内部网络的威胁程度也将越大,将攻击频率定义为一个周期T内同一攻击源地址所引发攻击事件的数量,归约到[0.0,1.0]的值域范围内,可得到攻击源攻击频率威胁度与的函数关系,记为=/1+;


  (2)攻击目标主机数量威胁度分析:在实际网络攻击中,同个攻击源所攻击的目标主机数量同样将会影响到该攻击主机的威胁程度,攻击的目标数量越多,可能造成的威胁程度越大,定义为一个周期T内攻击源地址为所攻击的目标主机数,用同样的方法归约成与威胁度的函数关系,记为=/1+;


  (3)攻击类型威胁度分析:不同的攻击类型对目标主机造成的影响程度不同,表示中攻击类型总数。根据.属性12 2011,Vol.32,No.1计算机工程与设计Computer Engineering and Design统计出攻击事件子集中各个攻击类型,并将各攻击类型的值相加,记为,表示攻击源地址为攻击事件子集中各攻击类型和,将其归约成[0.0,1.0]的值域范围内得到的攻击类型威胁度与的函数关系,记为/;


  (4)攻击目标资产威胁度分析:不同的目标主机的资产重要性不同,所以同种攻击对不同主机造成的影响程度也不一样。对属于各攻击源的攻击子集根据攻击事件.属性且.进行分类统计,将攻击源地址为对应的攻击事件子集中不同的目标IP的资产重要性权重相加,记为;表示中不同目标主机的总数,的攻击目标资产威胁度与的函数关系记为


  (5)根据对攻击事件集并按攻击源IP地址的分类,分别计算出各攻击源IP的威胁度。权值1,2,3,4分别反映了攻击源主机的攻击频率、攻击目标数,攻击类型和攻击目标资产重要性对整个内部网络威胁度值的影响程度,且1+2+3+4=1,将它们分别作为攻击频率,攻击目标数,攻击类型和资产重要性的威胁权值。


  3IP预过滤模块工作策略


  NIPS负载强度定义:表示NIPS当前的负载,即当前通过NIPS的网络流量。表示NIPS的原始处理能力,即空载时的处理能力。定义当前的网络流量与NIPS原始流量处理能力的之比表示当前NIPS的负载强度,即=/4。当=1,表示NIPS处理能力达到极限。当>1表示通过NIPS的网络数据包将会出现丢失的情况。而在实际情况中NIPS的性能不只受到当前的网络流量的影响,还会受当前网络流量中攻击强度的影响。当网络中攻击强度很高时,NIPS响应模块会产生大量的处理操作如阻断连接,产生报警,写日志等操作,导致NIPS的性能快速下降。


  NIPS过滤策略思想:系统周期性对攻击源主机进行威胁度评估计算,并更新IP黑名单各IP的威胁度信息。当黑名单上的某个IP的威胁度值小于0时,系统将该IP地址从黑名单上移除,当有新的攻击源IP地址出现,则该IP地址和其威胁度值将自动被添加到黑名单当中。预过滤模块结合IP黑名单负责对捕获的网络数据包进行预先过滤,检测该数据包的源IP地址是否存在IP黑名单哈希表中,如果不存在,则直接将它送到入侵检测模块等待检测。如果存在,则根据其威胁度值来决定该数据包是直接被丢弃还是送到入侵检测模块等待检测。NIPS周期性计算当前系统的负载强度并依据负载强度调整预过滤模块使用的威胁度过滤阈值(该阈值可根据具体的网络状况进行设置,当=0时预过滤模块将过滤所有源IP地址处于IP黑名单中的网络数据包)。H表示IP黑名单哈希表对应的哈希函数。


  预过滤算法流程如图2所示,具体的算法步骤描述如下:步骤1:检测网络数据包IP头部,用它的源IP地址作为键值,通过哈希函数H计算出哈希表该IP威胁度存储地址,如果该IP地址存在黑名单中且其威胁度值则把该数据包丢弃,否则把该数据包送到入侵检测模块的等待队列中去。步骤2:NIPS通过式(4)周期性计算当前系统的负载强度,IP威胁度计算模块周期性计算出各个攻击源主机的威胁度值并更新IP黑名单哈希表。


  步骤3:若当前NIPS负载强度>=1,NIPS立即把威胁度过滤阈值调整为=0。


  步骤4:重复步骤1。


  4实验与分析


  为了评估本文提出模型的有效性,通过对基于OCTEON[4]多核平台下的NIPS系统(简称M-NIPS)按照图1所示的系统结构进行了改进,实现了一个基于动态IP黑名单模型的NIPS系统(简称B-NIPS)。本系统使用Cavium Network公司的OCTEON CN5860多核的网络服务器平台:一个16核CPU处理器,单核主频750MHz,2G内存,千兆RJ45网口,250G硬盘。本实验总共使用10台PC作为攻击主机,3台PC作为被保护的内部网络主机,1台PC作为正常外部网络主机。


  本文通过网络流量和丢包率之间的关系来分析该模型的有效性。为了产生实时高速环境,利用MIT Lincoln实验室的测试数据作为测试数据,通过TCPREPLAY按不同速度进行回放。如图3所示,当网络攻击流量不大时,两种模型的系统丢包率都很低,丢包率几乎趋近于零。随着网络攻击流量的增加,当流量达到200Mbps时M-NIPS的丢包率持续增加,而BNIPS则受到的影响不大,当网络流量达到800Mbps时,丢包率仍能保持在5%以下。实验结果表明B-NIPS模型在一定程度上改善了在大流量网络下入侵防御系统高丢包率问题。


  本文通过网络攻击强度和转发延时之间的关系来分析该模型的工作效率,让10台攻击主机都通过Blade Informer软件按不同发包速率同时向NIPS身后内部主机发送Dos模拟攻击数据包。图4中展示了M-NIPS和B-NIPS随着网络攻击强度增加,各自转发延时的变化情况。可以看到M-NIPS在网络攻击强度达到400Packet/s时,数据包的转发延时开始迅速增加,而B-NIPS的转发延时并未因攻击流量的增大而剧增,当攻击强度达到1600Packet/s时,仍能保证低于100ms的数据包转发延时。实验结果表明B-NIPS在高速攻击流量网络环境下仍能保证较高的工作性能。


  5结束语


  本文提出并实现了一种基于动态IP黑名单的NIPS模型,通过维护一个包含攻击主机的IP地址和其威胁度的HASH表,并周期地根据攻击事件集来计算各个攻击主机的威胁度并将其更新到IP黑名单内。当网络出现大规模的攻击流量时,数据包预过滤模块能通过IP黑名单保存的IP地址和威胁信息对攻击流量进行一次快速高效过滤。该模型弥补了在高速网络下传统NIPS的性能瓶颈,改善了入侵检测的效率。


上一篇 下一篇