[转载]基于数据挖掘技术入侵检测系统研究

发布时间:2021-10-23 23:04:02

?[--- ?资料是从免费网站上获取的,上载在这里,只为交流学*目的,文章原作者保留所有权力,
如本博客的内容侵犯了你的权益,请与以下地址联系,本人获知后,马上删除。同时本人深表歉意,并致以崇高的谢意!

基于数据挖掘技术入侵检测系统研究


随着网络在现代社会中发挥愈来愈重要的作用,利用计算机网络犯罪也呈现出明显的上升趋势。如何建立安全而又健壮的网络系统,保证重要信息的安全性,已经成为研究的焦点。以往采用的方式多是防火墙的策略,它可以防止利用协议漏洞、源路由、地址仿冒等多种攻击手段,并提供安全的数据通道,但是它对于应用层的后门,内部用户的越权操作等导致的攻击或窃取,破坏信息却无能为力。另外,由于防火墙的位置处在网络中的明处,自身的设计缺陷也难免会暴露给众多的攻击者,所以仅仅凭借防火墙是难以抵御多种多样层出不穷的攻击的。


?????? 因此,为了保证网络系统的安全,就需要有一种能够及时发现并报告系统中未授权或异常现象的技术,即入侵检测技术。


?????? 1 入侵检测系统简介


?????? 入侵检测技术可以分为两类:


?????
?? (1)滥用检测(Misuse Detection)滥用检测是利用已知的入侵方法和系统的薄弱环节识别非法入侵。该方法的主要缺点为:由于所有已知的入侵模式都被植入系统中,所以,一旦出现任何未知形式的入侵,都无法检测出来。但该方法的检测效率较高。


  (2)异常检测(Anomaly Detection)异常检测是通过检查当前用户行为是否与已建立的正常行为轮廓相背离来鉴别是否有非法入侵或越权操作。该方法的优点是无需了解系统缺陷,适应性较强。但发生误报的可能性较高。


?????? 入侵检测系统中的用户行为主要表现为数据形式。根据数据的来源不同,入侵检测系统可以分为基于主机的和基于网络的两种。前者的数据来自操作系统的审计数据,后者来自网络中流经的数据包。由于用户的行为都表现为数据,因此,解决问题的核心就是如何正确高效地处理收集到的数据,并从中得出结论。


?????? 2 基于数据挖掘技术的入侵检测系统


?????? 在入侵检测系统中使用数据挖掘技术,通过分析历史数据可以提取出用户的行为特征、总结入侵行为的规律,从而建立起比较完备的规则库来进行入侵检测[1]。该过程主要分为以下几步[2]:


?????? 数据收集基于网络的检测系统数据来源于网络,可用的工具有TCPDUMP等。


?????? 数据的预处理在数据挖掘中训练数据的好坏直接影响到提取的用户特征和推导出的规则的准确性。如果在入侵检测系统中,用于建立模型的数据中包含入侵者的行为,那么以后建立起的检测系统将不能对此入侵行为做出任何反应,从而造成漏报。由此可见,用于训练的数据必须不包含任何入侵,并且要格式化成数据挖掘算法可以处理的形式。


?????? 数据挖掘从预处理过的数据中提取用户行为特征或规则等,再对所得的规则进行归并更新,建立起规则库。


?????? 入侵检测依据规则库的规则对当前用户的行为进行检测,根据得到的结果采取不同的应付手段。


?????? 本文构建了一个基于数据挖掘关联分析方法的入侵检测系统,该系统主要用于异常检测。


?????? 该系统的数据来源是基于网络的,通过在网络中安放嗅探器来获取用户的数据包,然后采用协议分析的方法,丢弃有效负荷,仅保留包头部分,按特定的方法预处理后得到的数据包含7个字段:时间、源IP、源端口、目的IP、目的端口、连接的ID、连接状态。


?????? 由于TCP的连接建立包含3次握手过程,所以在所有收集的训练数据中会包括一些未能成功建立的连接,它们将对后面的数据挖掘过程产生负面影响,故应当去掉,仅保留那些反映网络正常情况的数据。对于UDP则不存在此问题,只需将每个UDP包都视为一次连接即可。  采用APRIORI算法[3]对数据进行挖掘。


?? APRIORI算法常用在购物篮分析中,它用于发现“90%的客户在购买商品A时也会购买商品B”之类的规则。它通常的输入分为两列:


?????? 规则输出的形式为I1&12aI5(support=2%,confidence=60%)。其中support是支持度,confidence是可信度。


?????? 将前面收集到的网络流量数据格式化成为APRIORI算法的输入形式,用连接ID代替客户ID,其他属性替代购买的商品。在给定了支持度和可信度之后,可以得到一组规则,形式为


?????? 192.168.0.50&202.117.80.8a80(support=6%,confidence=95%)


?????? 规则的含义为源IP为192.168.0.50且目的IP为202.117.80.8则目的端口是80,该规则的支持度为6%,可信度为95%。


?
????? 一段时间的采样不能够完全代表用户的行为,因此有必要多次采样,并重复上述过程,然后用归并的方法将多次得到的规则集合并起来,直至不再产生新的规则为止。笔者采用此方法从大量的网络流量数据(28.8M)中可以提取出100多条规则(支持度2%,可信度85%),发现其中有很多是明显无意义的,这就需要管理员通过个人经验加以精简,最终得到可以用于检验的规则集。至此,产生的规则集已经可以比较完整地描述用户的行为特征了。将得出的规则集用于入侵检测。例如,规则库中的一条规则为


?????? 192.168.0.50&202.117.80.8a80(support=6%,confidence=95%)


?????? 而在检测的过程中发现网络数据中的一个连接源IP地址是192.168.0.50且目的IP地址为202.117.80.8,访问的端口为1000,则说明违反规则的小概率事件发生,该连接的可疑度随之增加。在实际过程中,来自同一IP地址的异常的连接可能会违反多条规则,当多个可疑度之和超过一个阈值时系统就产生报警。


?????? 采用了两组数据(实验数据来源于http:∥iris. cs.uml.edu:8080/)对此系统进行了实验。一组是已知不含任何攻击的正常数据(约30M,包含35万余条记录),该数据用于训练系统,采用以上介绍的方法,在设定支持度为1%,可信度为85%情况下,得到了17条检验规则。然后将得到的规则用于检测另一组已知包含攻击的数据(约54M,包含63万条记录),实验结果证明此方法可以有效的发现PROBING攻击。


?????? 3 结束语


?????? 随着网络的带宽迅速增长,黑客攻击手段的日趋多样,现有的入侵检测系统在网络遭受入侵时,反应较慢,实时性较差。因此,如何实时的处理网络中海量的数据,并及时的发现攻击将成为入侵检测系统下一步研究的重点。







相关资源:ARIMA模型-matlab代码

相关文档

  • 立式空调面板怎么打开
  • 初三传统文化教学计划
  • 怎样查看手机的频段
  • 查找华为程序安装路径
  • 实验吧--看起来有点难--盲注+burpsuite爆破
  • java option请求_http跨域时的options请求
  • 施工安全员辞职报告范文2020
  • 以快乐为话题的精选优秀作文
  • 白云,请你告诉我
  • 发伤感的爱情说说的句子
  • 分享16款Java小游戏源码Java applet小游戏源码
  • 修改桔梗网导航,修改浏览器属性需要管理员权限
  • 微信协议mmtls的分析研究与总结
  • 远方的人啊,你可知道,我在等你
  • 小学三年级谚语大全60句
  • 清理Ubuntu虚拟机磁盘空间
  • python列表求平均数_python 计算list中平均值_python里的list求平均值
  • 想象中的校园
  • 小学语文老师的年终工作总结
  • 女人为什么爱长斑
  • 迟到检讨书模板汇编六篇
  • 大学生毕业的个人简历个人评价
  • 财务预算管理论文例文
  • 达芬奇寓言:鼹鼠
  • 便秘与排毒
  • 浙江大学美术系安徽考生是用省统考成绩还是校考大概要多少分
  • 精选小学三好学生评语
  • Oracle RAC备份与恢复
  • vivo手机的hifi功能
  • 台式机老是出现死机怎么办
  • 猜你喜欢

    电脑版