基于BPF的入侵检测技术的研究
2014-10-27杨铭
杨铭
摘 要:本文对网络入侵检测技术中的BP进行了深入研究。首先讲述了入侵检测的发展史和入侵检测数据包的截获技术的分类。然后详细分析了BPF(Berkeley Packet filter)的数据包截获和信息过滤技术。最后给出了入侵检测系统的发展趋势。
关键词:入侵检测;BPF;数据包截获;信息过滤
1 入侵检测的发展历史
James Anderson在《计算机安全威胁监控与监视》的技术报告第一次提出入侵检测的概念。它将对计算机系统的威胁分成内部渗透、外部渗透和不法行为三种,并融入了利用审计跟踪数据、监视入侵活动的方法。
1986年,Denning提出了第一个入侵检测模型,它是入侵检测系统中影响最深远的。该系统在一个应用中运用基于规则和统计两种技术,使用特定的系统平台和应用环境、系统弱点以及入侵类型,为构建入侵检测系统提供了一个通用的框架。入侵检测基于的一个重要前提是:入侵行为和合法行为是可区分的,也就是说可以通过提取网络行为的数字特征来分析判断该行为的合法性。它作为一种积极主动的安全防护技术,分析计算机网络或是计算机系统中若干关键点收集的信息,从中发现计算机网络或是计算机系统中是否有被攻击的迹象或者违反安全策略的行为。提供了对内部攻击、外部攻击和误操作的实时保护,在网络系统受到危害之前拦截和响应入侵,是入侵检测研究中最有影响的一个系统。
2 入侵检测数据包截获技术的分类
入侵检测最重要的工作就是网络数据包的截获。它具有多面性,一方面黑客可以利用它刺探网络的传输数据,另一方面网络管理员可以用来监听网络的流量情况,同时网络开发的程序员可以用它来实现网络的应用程序。现在有许多免费的和商业性质的网络监听工具,这类工具又叫网络嗅探器(sniffer)。通过嗅探器可以截获并分析网络上的数据。其中libpcap和BPF就是有名的嗅探器函数库。
截获网络数据有以下两种方法:一是通过设置路由器的监听端口或镜像端口,二是利用以太网络的广播特性来实现。以太网传输网络数据帧采用CSMA/CD(载波侦听/冲突检测)的技术。载波侦听的工作原理是:网络中的每个主机都是平等的。传输数据时,先要监听检测信道的状态。如果是空闲状态,就将数据传输出去,如果信道忙碌,則等待信道空闲再传输。当两个主机同时检测到网络空闲则使用冲突检测技术。在载波侦听/冲突检测模式下,以太网采用广播机制传输数据帧,同一网段上的主机彼此透明,可以看到该网段上所有传输的数据帧,完成所有网络包的分析和截获。
3 BPF数据包截获与分析
1993年,Steven McCanne与Van Jacobson在Usenix93会议上提出的一种使用Unix内核的数据包截获过滤机制—伯克利包过滤(Berkeley Packet filter,BPF)。BPF大大提高系统运行的性能。在设计体制上,BPF有两个改进:第一使用了一种新型的基于寄存器的“过滤虚拟机”,它可以高效的在基于寄存器的RISC处理器上进行包过滤。第二BPF使用了一种可以为每个单独的进程提供服务的非共享缓存模型,该模型使系统性能得到很大提高。
BPF由Unix系统内核实现,由以下两大部分组成:网络接口和数据包过滤器。网络接口主要通过网络驱动程序从网卡上获取流经网卡的所有数据包,然后把数据包分发给正在等待的系统进程。为防止无用的数据包被调进用户空间,通过用户定义的相应规则,数据包过滤器丢弃没用的数据包。包过滤器将有效的数据包缓存,等待它被用户程序调用。
4 BPF的信息过滤技术
BPF实现数据包过滤具体步骤是:首先网络设备驱动程序收集网络数据包,交由过滤器处理,然后过滤器过滤该数据包。BPF模型将其实现为BPF虚拟机,通过在BPF虚拟机上执行过滤程序,过滤器决定是否捕获数据包,如果捕获,则捕获该数据包的哪些部分。当过滤器过滤完数据包后,将数据提交给过滤器关联的上层应用程序。接下来控制权由链路层设备驱动程序重新获得,把过滤后的网络数据包提交给上层的系统协议栈处理。
引入了数据包过滤机制后,网络上的每个数据包都会被系统过滤,根据该数据包是否满足过滤条件,判定是否接收该数据包和接收该数据包的哪些部分,然后复制数据包中的相应内容。但是,引入包过滤机制增加了系统处理数据包的时间。网络监听的关键是过滤的性能,低效率的过滤程序将引起丢失数据包以及来不及分析等问题。
5 入侵检测技术发展的趋势
随着网络流量的不断增长,对获得的数据进行实时分析的难度加大,这对入侵检测系统的要求也逐渐升高。入侵检测产品能否高效处理网络中的数据是衡量入侵检测产品的重要依据。增进对大流量网络的处理能力,向高度可集成性发展也成为入侵检测技术未来的发展趋势。
[参考文献]
[1]白媛.分布式网络入侵检测防御关键技术的研究[D].北京邮电大学, 2010.
[2]赵阔.高速网络入侵检测与防御[D].吉林大学,2008.
[3]马振婴.混合软计算技术在入侵检测中的应用研究[D].重庆大学,2010.