基于Snort改进入侵检测系统.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于Snort改进入侵检测系统

基于Snort改进入侵检测系统   【摘 要】本文研究了Snort入侵检测系统的特点和工作原理,通过实验证明入侵在时间上的连续性,并基于该特征提出了一个数据包采样算法,对Snort系统的数据采集模块的数据源进行采样,并用实验证明该算法可以显著提高入侵检测的效率。   【关键词】Snort;入侵检测;数据包采样   一、Snort简介   Snort利用库函数libpcap截取报文,对报文进行协议分析,内容搜索/匹配,可以用来检测缓冲区溢出、隐秘端口扫描、CGI攻击、SMB探测、OS指纹特征检测等等各种攻击和探测。Snort具有较强的学习能力,它使用灵活的规则语言来描述网络数据报文,可以对新的攻击作出快速地翻译。Snort能实时报警同时支持多种报警信息处理,包括写到syslog、指定的文件、UNIX套接字或者使用WinPopup消息。Snort支持插件体系,扩展能力强。Snort的现实意义作为开源软件填补了只有商业入侵检测系统的空白,可以帮助中小网络的系统管理员有效地监视网络流量和检测入侵行为。   Snort 作为一个基于网络的入侵检测系统(NIDS),其工作过程为:①Snort系统的启动和初始化;②解析命令行;③读入规则库,生成入侵规则链表;④通过Libpcap库函数抓取一个网络数据包;⑤根据抓取的包的网络协议层次及包的协议类型,对数据包进行解析;⑥启动检测引擎,将解析好的数据包和入侵规则链表进行逐一匹配,直至找到匹配的规则转⑦或所有规则均不匹配转⑧;⑦对应匹配规则的入侵行为发生,记录攻击并报警;⑧重复第④至⑦步,直至系统停止。   二、基于采样的入侵检测   入侵攻击特征分析实验   利用Snort对MIT Lincon实验室的两份公开数据集进行离线检测统计实验,实验过程及结果如下:   ①入口数据集攻击分析:数据共包778484个,攻击包40245个,攻击包占0.05%;根据实验数据表1和表2分析可得,基于TCP协议的攻击, 15%的攻击出现了连续性;基于UDP协议的攻击,99%的攻击在给定时间间隔内出现,表现出了极强的攻击连续性。   ②出口数据集攻击分析:数据包共166011个,攻击包195个,攻击包占0.001%;根据实验结果表3,分析可得:基于TCP协议的攻击包占总包数的0.001%,网络工???正常,在上,攻击分布较均衡,有11%的攻击出现了连续性。   (2)实验结论   攻击包在时间上具有连续性。   (3)基于采样的入侵检测算法   基于攻击包在时间上的连续性,金庆辉提出了一种入侵检测的采样方法,其算法的设计思想是:若某源IP流中发现入侵,则认为在下一时间中它的包有很大概率也是入侵;若某源IP流在一个时间段中无入侵,则认为下一时间段中同源包有很大概率是正常流。算法流程图见图5至图7所示。   金庆辉提出的算法缺点分析:根据算法思想假设第一点进行黑名单检测,有选择性的直接对部份包标记为异常包,这样将导致误警率提高;根据算法思想假设第二点进行数据包采样,将采样后的包标记为正常包是不准确的,同时也会导致漏警率的增加。   改良的入侵检测采样算法:改良算法的基本思想:设置一个白名单记录,包括源IP地址、Port端口号、协议、生命值及生存周期;算法过程:数据包进行白名单匹配,对属于白名单且生命期大于固定值I则进行采样送检测,否则直接送检测引擎检测;根据检测结果及老化周期更新白名单。算法流程见图8所示。   改进的算法对数据包若在白名单中无记录或其生命值小于I,则直接送检测引擎检测,而对与白名单匹配且生命值大于等于I的记录进行采样检测,为防止白名单的无限扩大,设置记录的生存周期为30分钟,即某个白名单记录在30分钟内没有再次出现,则删除对应记录。整个算法思想基于:若某源IP流在一个时间段中无入侵,则认为下一时间段中同源包有很大概率是正常流。该数据采样算法没有图5所示算法对检测的误警率,漏警率比图5所示算法要小,同时不会出现后者算法中黑、白名单的不断增长问题。由于攻击流占全部数据流的比例相当小,因而采样算法可以大幅提高Snort系统的检测率,验证如下。   三、实验   实验在一台安装了Snort系统的服务器上进行,使用AX4000流量发生/分析仪作为测试工具,在Snort系统上分别加载改进采样算法、原采样算法及普通算法,对比检测数据包处理效率。   (1)实验步骤:使用AX4000构造千兆流量,并作为分析设备。   ①测试加载了改进采样算法的Snort在不同固定生命值I下对千兆流量的处理能力。   ②测试Snort加载不同的采样算法后对混合了异常流的千兆流量的入侵检测能力。   (2)实验结果:   ①改进采样算法中不同生命值对检测率的影响和检测引擎处理速度的提升,见

文档评论(0)

317960162 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档