基于数据挖掘的入侵检测关键技术研究

2021-11-19 14:55:44白宗侯珂尚梦莹
电子技术与软件工程 2021年23期
关键词:数据包数据挖掘关联

白宗 侯珂 尚梦莹

(郑州工业应用技术学院 河南省新郑市 451100)

1 入侵检测系统

入侵检测系统主要将入侵检测技术植入到可部署系统中,以识别计算机网络中违反安全策略的攻击行为,并做出对应的处理。现阶段针对入侵检测的技术研究越来越深入,常用的入侵检测方法包括免疫系统、数据挖掘、遗传算法等。其中免疫系统法是将入侵行为视作免疫系统中的异己细胞,免疫系统就是识别异己细胞的过程,因此在入侵检测系统中,免疫系统方法通常用于建立正常行为轮廓知识库及异常行为检测,不过免疫系统方法对于策略违背或伪装的异常,则不易检测出来。遗传算法的理论基础是自然选择,即分析自然进化的过程,最终确定最优解。在入侵检测中应用遗传算法,系统会先对某种入侵事件做出假设,并进行检测,假设符合条件就保留,不符合条件就剔除,并针对保留的假设再进一步检测,最终确定合的方法。在入侵检测中应用遗传算法,虽然能够获得较好的异常检测效果,但是该技术实现复杂,且对于误用检测效果不佳。数据挖掘则是从训练集中计算、分析出数据实体之间潜在的联系,建立能够反映数据实体关系的模型,数据挖掘的主要分析对象是海量的网络数据,因此非常适用于入侵检测系统。

2 数据挖掘的方法

所谓杨顾名思义是指利用一定的算法从海量的网络数据中挖掘出关键信息。数据挖掘的基本流程包括:首先,数据采集,即从数据库或从信息库中获取相关数据,针对选择的数据进行数据预处理,消除噪音或干扰数据,对数据进行格式转换,便于后续数据挖掘的操作;数据预处理完成后再利用相关算法提取需要的数据模式,即数据挖掘;挖掘出来的数据信息通过知识表示环节在客户端展示出来,整个数据挖掘过程即完成。

常用的数据挖掘算法包括关联规则、分类分析、聚类分析、序列模式。其中关联规则是指从大数据中查找出相关性的数据,主要包括两个步骤,先是发现所有满足最小支持阈值的频繁项目集,然后再将项目集转换为达到置信度阈值的关联规则。关联规则中适用于入侵检测的算法包括Apriori、FP-growth等,不过在入侵检测系统中采用传统的关联规则检测网张络数据中的可疑活动或行为时,可能会将所发现的所有项目集误认为同等重要,导致检测效率低下,因此现在的很多入侵检测系统中采用的关联规则都是经过改进的。序列模式也是一种分析数据之间关系的方法,不过序列模式更侧重于数据集中每条记录之间的相关性、与时间的关系等,而关联规则则侧重于数据集中不同数据项的关系分析。序列模式是将具有时序的数据进行排序,再将达到最小支持度阈值要求的频繁序列挖掘出来。在入侵检测系统中应用序列模式方法可以准确检测出对有时间性类型的攻击行为,但是一旦攻击者掌握了正常网络行为与时间的关系,就会伪装攻击行为,此时应用序列模式算法就无法检测出攻击行为,导致网络存在安全隐患。分类分析又称为监督学习,主要是判定未标记类别的数据所属的实际类别。分类分析方法包括两大部分,一是学习阶段,主要将原始训练集中的噪声、缺失值、异常值等清除,再选择分类算法学习,以解决目标问题,最后存储最佳模型;二是分类阶段,主要是对数据集进行预处理后,对数据集中的每条数据进行预测,判定其类别。由于分类分类主要针对数据集的用途及场景进行预测,因此可应用该方法检测网络中的非法入侵行为,针对已经被标记实际类别的数据可使用分类算法进行审计,未被标记实际类别的可应用分类算法判断是否为入侵行为。与分类分析不同,聚类分析又被称为无监督分析,该方法是根据数据之间的相似性划分为不同的簇,每簇内数据特征或属性相似度较高,分类分析主要针对已经进行实际标记的数据进行学习、分类,聚类分析则是针对未被标记的数据进行划分,因此聚类分析可以处理不同类型的数据,噪声数据对其影响也相对更小,且聚类分析可以聚类高维数据,并能够降低输入次序的敏感性,对先验知识的依赖性更小,因此在入侵检测中应用聚类分析可以检测出新的攻击行为。

3 基于数据挖掘的入侵检测系统设计

入侵检测系统需要根据其检查对象、检查范围进行系统部署,通常部署于因特网接入路由器后的第一台交换机上,或者服务器交换机上。系统核心是通过捕获、过滤、分析网络中的数据包发现网络中存在的入侵行为。本研究中网络数据流量的收集应用Libcap数据采集工具,存储数据库采用My SQL,采用聚类分析与关联分析算法确定入侵行为。系统主要包括管理控制、数据解析、数据预处理、聚类分析、关联分析、入侵检测、告警响应等八个模块,下文针对每个模块的设计进行详细分析:

3.1 管理控制模块

管理模块主要针对用户管理、日志管理及各子模块进行调度,配置聚类分析、关联分析及入侵检测模块的相关参数。管理控制模块采用B/S架构,数据解析及数据预处理模块的开关连接管理控制模块,针对聚类分析模块的参数配置、关联规则的展示与配置,也是通过管理控制模块来完成,此外,诸如用户权限控制、系统开关控制等常规操作均是通过管理控制模块来实现。

3.2 数据采集模块

数据解析模块则主要用于协议数据包的采集与解析,通过解析数所包,将数据中有用的字段提取出来,确定必要的统计属性,最后将其转换为易处理的格式,再经过解析存储于数据库。可以说系统功能的实现是从数据采集模块开始的,其包括两个子模块,即数据采集子模块与协议分析子模块。

其中数据采集子模块主要负责检测对象的收集,本研究中采用Libcap函数库捕获原始数据包,并统计流量,为保证所有流经网卡的流量均能够被监听,网络接口设置为混杂模式,Libcap包括三个流程,即面向数据链路层的包捕获、数据包的过滤及向用户提供最终结果,其不仅可以统计流量,还能应用于网络协议分析器、网络流量发生器等。通过pCap_Open_live()函数捕获数据包描述字,作为其它函数的入参使用。其中pcap_loop()函数主要负责捕获数据包,并通过callback变量注册自己的回调函数,捕获数据包后通过该函数可以进行数据包的解析与存储,捕获回调函数处理数据包。数据包的存储可以通过pcap_dump()函数向pcap_dump_open()打开的文件写出数据包,即可将数据包保存为文件。程序结束前需要关闭整个会话,通过函数pcap_close()即可实现。

入侵检测模块、告警响应模块需要的数据信息,由数据采集中的另一个子模块——协议分析子模块来实现的。要保证入侵检测系统检测结果的有效性,必须以充分的有效信息为基础,原始数据包中的数据表现为字节流的形式,不仅数据量大、冗余信息多,而且这种形式不适合入侵检测系统的分析,因此就需要通过协议分析子模块来提取有效信息,并进行格式转换,针对不同的协议进行分析,保证各协议分析结果数据结构的统一性。

3.3 数据预处理模块

在数据挖掘过程中算法无法处理缺值,需要数据预处理模块对数据进行缺值处理、清除噪声点、分析及归一化处理等操作,便于数据挖掘算法能够处理。数据清理过程中,选择部分选择的属性集,将冗余的、非必要的属性去除;针对属性集中的连续型属性进行数据标准化处理,针对离散型属性则进行归一化处理,预处理完成的数据保存至数据库中。需要注意一点,即数据清理时,数据的协议类型不同,其结构也不同,某些数据项在数据库中可能会出现缺值现象,此时就需要人工补充为合适的默认值,保证数据格式的统一性;此外,还要去除冗余的属性,或者正常、异常数据中对于区分攻击类型起不到作用的某些属性值也要去除,以减少检测的复杂程度。

3.4 聚类分析模块与关联分析模块

聚类分析主要入侵检测系统提供正常与异常聚类中心,关联分析则为异常检测模块提供关联规则,二者均为入侵检测模块的基础。聚类分析模块通过训练数据进行聚类分析,得到正常及异常的聚类中心,并通过异常聚类中心区分异常检测模块中的正常数据与异常数据。选取初始聚类中心的方式有多种,本算法中提供两种,一种是采取数据集中第一条数据,另外一种则使用generateRandVect(vSize)生成随机聚类中心。数据迭代过程中会重新划分数据集,涉及到多个聚类,因此每个数据计重新划分后都要对所有聚类中心进行重新计算。关联分析模块采用FP-Growth算法,其主要作用是挖掘异常规则作为入侵检测模块的知识库,对其中的聚类分析结果进行矫正。聚类分析模块中的异常聚类是关联分析模块的源数据,挖掘出的关联规则保存在数据库中。

3.5 入侵检测模块及告警响应模块

入侵检测模块是整个入侵检测系统的核心功能模块,其在进行入侵检测时,数据采集模块捕获数据流量后,将要测需要的属性信息提取出来,由数据预处理模块对数据包进行处理及分类,入侵检测模块再针对处理好的数据进行检测,将最终的检测结果存储于数据库中,并通过可视化界面向用户展示检测结果。如果系统检测到入侵行为,就会通过告警响应模块做出反馈处理。可以说入侵检测的最终目的就是告警响应,以将系统入侵行为的破坏后果降至最低。入侵检测系统的告警响应包括两种,一种是主动响应,主动追踪入侵者发起攻击的源地址,采取对应措施禁止这类用户访问网络,或者对系统中引起攻击的缺陷进行修正,也可以通过添加规则阻断攻击行为。虽然主动告警响应能够阻断正在进行的攻击,但是网络中正常用户的操作行为也会受到影响,因此多数情况下采用被动告警响应。

4 结语

总之,虽然人们对于网络安全问题的研究越来越深入,然而网络入侵行为也并没有因此而减少,互联网产品的更新换代日新月异,各种安全漏洞也层出不穷。网络攻击行为不仅会影响到用户的正常生活及工作,严重者还可能造成巨大的经济损失,因此研究入侵检测技术具有重要的现实意义。本研究提出一种基于数据挖掘的入侵检测系统,其包括数据采集、数据预处理、聚类分析与关联分析、入侵检测及告警响应等模块,设计过程中利用模块内高内聚、模块之间低耦合的设计思路,经过实验可知,本系统能够保证较好的检测效率,且系统误报率也较低。

猜你喜欢
数据包数据挖掘关联
探讨人工智能与数据挖掘发展趋势
“一带一路”递进,关联民生更紧
当代陕西(2019年15期)2019-09-02 01:52:00
SmartSniff
奇趣搭配
基于并行计算的大数据挖掘在电网中的应用
电力与能源(2017年6期)2017-05-14 06:19:37
智趣
读者(2017年5期)2017-02-15 18:04:18
一种基于Hadoop的大数据挖掘云服务及应用
基于Libpcap的网络数据包捕获器的设计与实现
基于GPGPU的离散数据挖掘研究
视觉注意的数据包优先级排序策略研究