新闻中心

EEPW首页 > 手机与无线通信 > 设计应用 > 基于网络引擎入侵检测系统的研究与实现

基于网络引擎入侵检测系统的研究与实现

作者:时间:2011-08-01来源:网络收藏

摘要:滥用和异常的检测模型是IDS系统两大检测模型,其对应的技术即为和主机代理。本文主机代理采用异常的模型进行检测,与数据库中存储的特征库进行比较,从而判断是否是一次攻击,从而一个可以监视具有多台主机的整个网段,通过企业网络中所有组件不受攻击。
关键词:检测模型;网络引擎;主机代理;特征库

近年来(IDS)成为一个非常活跃的领域。所谓入侵检测,就是通过从计算机网络或计算机系统中的若干关键点收集信息并对其进行分析,以发现网络或系统中是否有违反安全策略的行为和遭到袭击的迹象。在二十世纪八十年代,大多数入侵者都是高水平的专家,他们经常自己入侵系统的方法,而很少使用自动工具和现成的代码。虽然现在的入侵者的整体技术水平越来越不如以前,但是现在的攻击工具却越来越高级。这使得任何人都可以使用现成的工具来攻击Internet上的计算机系统。入侵的目标是将攻击的各种表象特征化,以确认所有真正的攻击而且又不误认非攻击活动。

1 网络引擎引入及设计
网络引擎通过分析网络上传输的数据包,得到可能入侵的信息。它不仅是一个数据产生和传输的工具,也具有一定的分析能力。它的功能基本上相当于一个完整的基于网络的入侵。为了提高网络引擎的检测的速度和准确度,首先,基于已知的攻击手段来建立黑客攻击的元数据库,保存所有已知的黑客攻击知识,按照其类别进行分类。其次,采用建立模糊模型来对网络引擎上报事件进行分析。
网安入侵检测系统中的网络引擎是在windows NT平台上,使用Visual C++6.0编程。网络引擎分为以下几个模块:数据包截获、协议分析、数据分析。结构如图1所示。

本文引用地址:http://www.eepw.com.cn/article/155975.htm

a.jpg


1)数据包截获 该模块将网络接口设置为混杂模式,将流经网络的数据包截取下来,供协议分析模块使用。由于效率的需要,有时要根据设置过滤网络上的一些数据包,如特定IP、特定MAC地址、特定协议的数据包。该模块的过滤功能的效率是该网络监听的关键,因为对于网络上的每一数据包都会使用该模块过滤,判断是否符合过滤条件。低效率的过滤程序会导致数据包丢失、分析部分来不及处理。
为提高效率,本系统采用了专门为数据监听应用程序设计的开发包Winpcap来实现这模块,开发包中内置的内核层所实现的BPF过滤机制和许多接口函数,不但能够提高监听部分的效率,也降低了开发的难度。同时Winpcap是从UNIX平台上的Libpcap移植过来的,它们具有相同的接口,减轻了不同平台上开发网络代理的难度。Winpcap有3部分组成:一个数据包监听设备驱动程序,一个低级的动态连接库和一个高级的静态连接库。数据包监听设备驱动程序直接从数据链路层取得网络数据包,并不加修改地传递给运行在用户层的应用程序。数据包监听设备驱动程序支持BPF过滤机制,可以灵活地设置过滤规则。低级的动态链接库运行在用户层,它把应用程序和数据包监听设备驱动程序隔离开来,使得应用程序可以不加修改地在不同Windows系统上运行。高级静态链接库和应用程序编译在一起,它使用低级动态链接库提供的服务,向应用程序提供完善的监听接口。
2)协议分析 协议分析的功能是辨别数据包的协议类型,以便使用相应的数据分析程序来检测数据包。把所有的协议构成一棵协议树,一个特定的协议是该树结构中的一个节点,可以用一棵二又树来表示,如图2所示。

b.jpg


一个网络数据包的分析就是一条从根到某个叶子的路径。在程序中动态地维护和配置此树结构即可实现非常灵活的协议分析功能。在该树结构中可以加入自定义的协议节点,如在HTTP协议中可以把请求URL列入该树中作为一个点,再将URL中不同的方法作为子节点,这样可以细化分析数据,提高检测效率。树的结点数据结构中包含以下信息:该协议的特征、协议名称、协议代号,下级协议代号,协议对应的数据分析函数链表。协议名称是该协议的唯一标志。协议代号是为了提高分析速度用的编号。下级协议代号是在协议树中其父结点的编号,如TCP的下级协议是IP协议。协议特征是用于判定一个数据包是否为该协议的特征数据,这是协议分析模块判断该数据包的协议类型的主要依据。数据分析函数链表是包含对该协议进行检测的所有函数的链表。该链表的每一节点包含可配置的数据,如是否启动该检测函数等。

c++相关文章:c++教程



上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭