入侵检测技术在网络安全中的应用

2019-09-10 07:22袁珊珊
电子乐园·中旬刊 2019年1期
关键词:数据包预处理解码

袁珊珊

摘要:网络应用的普及在给人们带来无穷便利的同时也使网络安全问题日益凸显。对此,本文提出了基于Snort的高速网络入侵检测系统的总体设计方案。为了适应高速网络环境,本文在研究入侵检测技术的过程中,使用了PF_RING技术来实现对数据包的离速捕获,通过对多个Snort进程实现对数据包的高速处理。在设计入侵检测查询分析系统模块中,可把警告数据方便的展示在用户面前,实现警告数据的可视化显示。经过检测发现,增强了Snort对入侵攻击的检测能力。

关键词:入侵检测;网络安全

今天,网络通信技术已经渗透到社会经济,文化和科学等各个领域,影响着人们工作和学习。从近年来互联网用户信息泄露的角度看,目前的形势在令人震惊之余也让人极为担心,互联网的安全问题不仅影响到国家的经济发展,而且对国家安全影响很大。目前市场上已经有大量的入侵检测系统软件,但还无法针对IPv6网络数据包的特征进行检测,还无法和好的解决IPv6网络中的安全问题。

1 入侵检测系统

1.1 基于主机的入侵检测系统

基于主机的入侵检测系统用于保护运行关键应用程序的服务器。它监视和分析主机审计记录和日志文件以检测入侵。日志包含系统中发生的异常和意外行为的证据。通过这些证据,可以检测并显示、指出有人正在入侵或成功入侵系统,并会迅速启动相应的应急响应计划[2]。

1.2 基于网络的入侵检测系统

根据待监测网络入侵检测包的内容,基于网络的入侵检测系统所做的工作主要包括原始数据源、网络包,以及对可疑现象的分析等,通过监听共享网络上的通信数据收集数据,主机无需提供严格的审计,提供对网络的全面保护,而不必考虑异构主机的不同体系结构。

1.3 基于误用入侵检测系统

误用式入侵检测系统是基于网络入侵或过去积累的系统缺陷建立的入侵规则来的检测入侵系统。在此错误使用检测的基础上,构建基于已知攻击方法的攻击特征库,对所获取的数据进行处理后进行特征验证,如果验证成功则认为是侵入性的,否则为合法。尽管它意味着入侵行为。

这种入侵检测系统开发的优点是准确性高,效率高,误报率低。检测条件可以清楚地描述。缺点是只检测模式库中现有的攻击类型,并且攻击特征库很难收集和更新。因为它取决于主机平台,所以便携性较差。

2.Snort与网络安全防护

2.1 Snort的体系结构

so时主要包含五个基本功能模块,嗅探器,解码器,预处理器,检测引擎和警报输出。嗅探器是数据包的集合,是整个系统的基础,嗅探器必须保证高速数据包,并且丢包率低。这与硬件处理能力和软件效率有关。解码器和预处理插件可以预处理数据,以便检测引擎稍后可以检测数据。检测弓!擎是整个系统的核心。Snort的系统性能很大程度上取决于检测引擎的准确性和效率。警报输出插件可以使用各种方法输出警报信息。各个模块可按照Snort提供的插件接口函数完成,可以根据实际需要动态的加载或者删除某个模块,这样既能保证插件程序和核心代码的紧密相关性,又具有良好模块化设计思想,使Snort整个体系结构组织非常清晰,充分体现了追求性能、简单灵活和可扩展性的设计思想[4]。

2.2 核心检测模块工作流程

通过研究Snort2.3.3源代码,得出其核心检测流程应该分为两部分:第一步是规则的解析流程,包括从规则文件中读取规则和在内存中组织规则;第二步是使用这些规则进行匹配的检测流程。

1、规则解析流程时,首先读取规则文件,紧接着读取每一条规则;然后对其进行分析,并用相应的规则语法表示,建立规则语法树。

2、检测流程进行时,首先对收集到的数据报进行解码,然后调用预处理函数对解码后的报文进行预处理,再利用规则树对数据报进行匹配。在规则树匹配过程中,Snort要对规则树从上到下依次进行匹配判断,一直到规则选项节点。具体步骤如下:

数字数据报解码:主要在decode.c中调用各种解码函数并分析获取的消息。这些消息解码函数是DecodeEthPkt,DeeodeFDDIPkt,DecodeICMP,DecodeTCP等等。

预处理器预处理器:在匹配解码数据报之前,主要调用预处理功能列表中的函数。这些功能包括数据片段重构,流重组,代码转换周。

规则匹配规则:在Snort中,它被称为“二维空间函数指针链的递归检测机制”,它主要通过使用先前构建的规则语法树来递归检查数据报,并入侵发现的。它分为三个步骤:链的第一次查找,规则头的匹配以及规则选项的匹配。

TAG列表匹配:调用CheckTagList进行TAG相关检查,记录必要的信息。通过分析,可以理解整个误用检测方法。

3.基于Snort入侵检测系统的设计与实现

3.1 系统体系结构

本系统采用三次结构,包括:网络入侵检测层、数据库服务層和数据分析控制层。

3.1.1 网络入侵检测层

Snort通过传感器对捕获的数据包进行入侵检测,网络入侵检测层又叫传感器层,传感器可能有多个。传感器安装在需要监控的网段中,传感器上由两块网卡构成,一块用于捕获接口,一块用于管理接口。捕获接口没有IP地址,需要设置成混杂模式接受所有的数据包。管理接口需要与数据库层直接通信,传递入侵报警的信息。

3.1.2 数据库服务层

网络入侵检测层的管理接口的传感器传递入侵报警信息会存储在数据库中。用户可以对数据库中的数据查询、组织和管理。需要注意的是,用于管理接口的传感器一定要能够连接到数据库,打 开防火墙的相关端口,防止和防火墙的安全策略冲突。

3.1.3 数据分析控制层

数据分析控制层显示数据,图形化显示使用了图形类库,数据分析控制功能更全面,更易于管理使用。用户可通过浏览器如IE、Google Chrome等浏览器访问查看管理。

3.2 系统实现

3.2.1 软件配置与安装

WinPcap:WinPcap的安装简单,只需按照提示安装即可,无需其他设置。Snort将编译好的Snort部署到C盘目录下,然后添加配置规则库,将snortrules中的rules等规则文件夹复制到C:\Snort目录下。修改Snort配置文件,设置规则库的位置、检测的网段、需要加载的引擎和预处理、数据库的配置等,还需要将snortrules中的动态规则加入到c:\snortVib目录下的新建文件夹snort_dynamicrules中。运行命令C:\Snort\bin>snort.exe.W可查看安装是否成功。

Mysql:本系统采用Mysql数据库,Mysq]数据库的安装方便,使用灵活,选择典型安装,按照提示即可,为方便起见,用户名密码均设置为了Snort。

3.2.2 系统实现界面

系统搭建完成,通过BASE登录,Snort入侵检测搭建配置完成后,将实时监控网络数据包,并通过数据库输出接口将入侵日志传送到Mysql数据库中,数据分析控制台则可以通过数据库接口读取数据,并显示在base上。

显示的信息有:报警事件的总数量、每日新增加报警数量、攻击源IP地址、对应的端口号、不同协议类型异常入侵所占的比例等。点击链接,可以查看具体的报警日志数据,如图3.2所示具体部分报警日志数据。

参考文献

[1]朱琨,张琪一机器学习在网络入侵检测中的应用[J].数据采集与处理,2017,32(03):479-488.

[2]于源源.基于模糊聚类分析的网络入侵检测研究[D].中国地质大学(北京),2017.

[3]孙琦麟.墓于免疫克隆选择加权朴素贝叶斯分类器的网络入侵检测[D].兰州理工大学,2017.

[4]胡威.一种改进的K-means算法在网络入侵检测中的应用研究[D].合肥工业大学,2017.

[5]王战红.特征和分类器参数组合优化的网络入侵检测[J].南京理工大学学报,2017,41(01):59-64.

[6]袁琴琴,吕林涛.基于改進蚁群算法与遗传算法组合的网络入侵检测[J].重庆邮电大学学报(自然科学版),2017,29(01):84-89.

[7]封化民,李明伟,侯晓莲,徐治理.基于SMOTE和GBDT的网络入侵检测方法研究[J].计算机应用研究,2017,34(12):3745-3748.

[8]安攀峰.基于加权SVM的工业控制网络入侵检测算法研究[D].沈阳理工大学,2017.

猜你喜欢
数据包预处理解码
基于时隙ALOHA与NOMA的通信系统性能分析
非水溶剂预处理木质纤维原料研究进展
不同预处理对铁皮石斛热风干燥特性及品质的影响
手术器械预处理在手术室的应用
污泥预处理-厌氧消化体系的能源经济性评价
解码 四十五度仰望天空
文化解码
文化 解码
文明 解码
C#串口高效可靠的接收方案设计