基于Snort的入侵检测系统的研究

来源 :电脑知识与技术·学术交流 | 被引量 : 0次 | 上传用户:fly383910564
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:随着互联网的不断发展,入侵检测系统已变成计算机网络安全防范体系的重要组成部分之一。本文是在介绍了入侵检测系统的基本原理的基础上,从体系结构、工作原理两个方面分析了Snort入侵检测系统,并介绍了怎样根据自己的网络环境,编写规则来保护网络的安全。
  关键词:入侵检测系统;Snort;编写规则
  中图分类号:TP393文献标识码:A文章编号:1009-3044(2008)18-20ppp-0c
  Research of Snort-based Intrusion Detection System
  ZHANG Zhi-guo, QIN Guo-liang, LUO De-quan
  (Computer school, Sichuan University, Chengdu 610065, China)
  Abstract: With the development of Internet, IDS has become one important part of network security system. This paper analyzes IDS Snort in structure and working principle aspects, which based on introduction of basic principle of IDS, then we introduce how to create Snort rule to protect our network according to our network environment.
  Key words: IDS; Snort; Writing rule
  
  1 引言
  
  互联网的不断发展,网上不断增多的服务种类,使得网络的安全问题变得越来越突出。要保证网络的安全,首先要防范对网络的攻击行为,通常采用防火墙技术。但是,防火墙存在很多的缺陷。因此,通过使用入侵检测系统来加强网络的安全已变得很重要了。而Snort是一种开放的源代码的入侵检测工具,这使得基于Snort的入侵检测系统应用得很广泛。本文就是在这些的基础上,对基于Snort入侵检测系统进行了分析和研究。
  
  2 入侵检测系统
  
  入侵检测(Intrusion Detection,ID),是在有内部非授权行为或外部攻击行为时,及时发现并进行记录和报告,以便有可能采取进一步措施以保护网络的技术,把入侵检测的软件和硬件的组合便构成了入侵检测系统(Intrusion Detection System, IDS)。入侵检测系统主要完成以下功能:监视、分析用户及系统活动;系统构造和弱点的审计;识别反映已知攻击的活动模式并向相关人士报警;异常行为模式的统计分析;评估重要系统和数据文件的完整性;操作系统的审计跟踪管理,并为识别用户违反安全策略的制定提供指南。其通用的模型如图1。
  
  图2Snort的体系结构
  
  5 Snort的工作流程
  
  基于规则的匹配的是Snort的核心检测机制,其工作流程为:Snort首先读取规则文件,从规则文件中读取每一条规则并对其进行解析,用对应的语法表示出来,然后在内存中建立规则语法树,并初始化和解析规则树,分别生成TCP 、UDP 、ICM和IP四个不同的规则树,每一个规则树包含独立的三维链表:RTN(规则头),OTN(规则选项)和指向匹配函数的指针。当Snort捕获一个数据包时,首先分析该数据包使用哪个IP协议以决定将与某个规则树进行匹配;然后与RTN结点依次进行匹配,当与一个头结点相匹配时,向下与该头结点的OT N结点进行匹配。每个OT N结点包含一条规则所对应的全部选项,同时包含一组函数指针,用来实现对这些选项的匹配操作。当数据包与某个OT N结点相匹配时,即判断此数据包为攻击数据包,而规则匹配流程图如图3。
  
  
  图3Snort的工作流程
  
  6 Snort的应用实例
  
  Snort是一种开放源代码的网络入侵检测系统,因此我们可以根据网络的变化,编写新的规则来实现对网络的保护。
  在命令行中输人启动Snort的命令C:\snort\bin>snort-dev-1 c:\snort\log -h 222.18.28.53/24 -c c:\snort\etc\snort.conf,这个命令以网络人侵检测系统的工作模式启动Snort,并捕获网络的所有数据包,存放到Mysql数据库中。
  然后,我们就可以根据网络的实际情况来编写规则。例如我们想监控某种特定的Web内容,就可以按下面的步骤来编写一条规则以实现对网络的监控。
  首先,因为HTTP流量是建立在TCP之上的,所以我们需要为该规则建立它使用的TCP协议。
  其次,根据你想监控的目标地址来建立规则。比如,你想监控你指定的任何外部地址和它的整个内部网络,这样你需要在规则头中使用﹩EXTERNAL_NET变量和﹩HOME_NET变量;同时你还想让该规则应用到Web服务器,你还需要用到﹩HTTP_PORTS来标志与HTTP连接相关的段端口。这样,形成的规则头为
  Alert tcp ﹩EXTERNAL_NET﹩HTTP_PORTS ->﹩HOME_NET any
  其中,﹩HOME_NET any是指HTTP请求可以选择目标地址中的任意的端口。
  然后,就是编写规则选项来指定你想要监控的内容。假如你想对上面地址中的某个网站的所有的访问进行监控,你就可以把规则选项设置如下:
  (msg:"POSSIBLE B-HAT packetstrom content";content:"packetstorm";nocase; flow: to_client; priority:3; rev:1; sid:1000001;)
  该规则就是对任何包含“packetstorm”的内容报警。该规则分配了的优先级为3,将它设置为当TCP会话中出现ACK数据包时触发。
  通过以上的例子,我们可以看出,只要我们只要懂得了Snort的规则的基本原理后,我们就可以根据我们所在的网络的实际情况,编写规则来保护网络的安全。
  
  7 结束语
  
  Snort作为一个简洁、高性能、易于扩展的网络入侵检测系统,这使得它广泛应用到中小企业的网络防御系统中。而今由网络入侵检测系统、防火墙、病毒防护软件等一起构成多层次的、全面的网络安全防御体系受到越来越多的企业的欢迎,因此我们可以预言基于Snort的入侵检测系统将会被应用得越来越广泛。
  
  参考文献:
  [1] 宋劲松.网络入侵检测——分析、发现和报告攻击[M].北京:国防工业出版社,2004:30.
  [2] 唐正军,李建华.入侵检测技术[M].北京:清华大学出版社,2004:7-8.
  [3] 杨延玉,张同光.入侵检测系统Snort的研究和应用[J].平原大学学报,2007(4):105-106.
  [4] 唐正军.入侵检测技术导论[M].北京:机械工业出版社,2004:16-17.
  
  收稿日期:2008-04-05
  作者简介:张治国(1983-),男, 重庆万州人,硕士研究生,研究方向:网络技术、网络安全;秦国亮,男,河南安阳人,硕士研究生;骆德全,男,四川攀枝花人,硕士研究生。
其他文献
摘要:本文介绍了济南市气象网站的建设及其主要结构和网页内容. 济南气象网站发布的信息内容主要为系列气象预报和其他气象信息,实现了网页气象信息的自动更新,介绍了互联网技术在气象服务中的应用。  关键词:气象网站;气象信息;自动更新;后台管理  中图分类号:TP393文献标识码:A文章编号:1009-3044(2008)17-20ppp-0c    Internet Technology in Met
摘要:IPv6技术是下一代互联网的技术核心,对IPv6网络入侵检测系统的研究与下一代网络的安全技术紧密相关。在分析网络安全系统的基本原理和IPv6网络的主要特点之后,提出了一种基于IPv6网络入侵检测系统的框架,同时采用了改进的KMP算法和蜜罐技术。  关键词:IPv6;网络入侵检测;模式匹配;蜜罐技术  中图分类号:TP393文献标识码:A文章编号:1009-3044(2008)18-2pppp
摘要:本文描述了一种在TCP/IP网络中进行故障节点诊断的程序实现,该方法基于VxWorks操作系统的网络测试仪环境,但此程序算法的实现,并不依赖于底层的操作系统及硬件环境,经过少量修改可以在任何提供TCP/IP协议栈的操作系统中实现,比如Linux,Windows等。  关键词:ICMP;TCP;UDP;路由追踪  中图分类号:TP393文献标识码:A文章编号:1009-3044(2008)18
摘要:采用自定义主体Principal和身份Identity实现基于窗体的安全验证,构建了一个灵活方便的安全权限管理系统,综合使用了数据库技术、面向对象设计技术、操作系统权限管理、NET框架中基于代码访问安全性和基于角色访问安全性等多方面技术。该方案可以用于多数WEB系统中,作为通用的安全权限管理模块。  关键词:身份验证;自定义主体;自定义身份  中图法分类号:TP311文献标识码:A文章编号:
摘要:介绍了Java平台安全、J2EE安全体系结构。以一个登录请求为例,重点研究了J2EE架构在医师协会管理系统中的应用,以及使用J2EE安全体系结构构建医师协会管理系统。  关键词:J2EE;安全体系结构;医师协会管理系统  中图分类号:TP311文献标识码:A文章编号:1009-3044(2008)18-2pppp-0c    Security Research on Medical Doct
摘要:《Visual Basic .Net》是软件技术专业的核心职业技能课之一,其先修课程有计算机基础、Java编程基础、数据库应用技术等,其后续课程有.NET项目开发实训、WEB应用开发技术等。本文参考国际软件专业教育或培训的方法,探讨在工学结合人才培养模式下、基于工作岗位的该课程的改革与整合。  关键词:VB.Net;工作岗位;软件;职业教育;课程改革与整合  中图分类号:G646 文献标识码
摘要:本文探讨了Honeynet(陷阱网络)的概念、实现、特点。阐述了从主动防御的角度解决网络安全的问题,从而将入侵者的行为引入一个可以控制的范围,了解其使用的方法和技术,追踪其来源,记录其所有的操作。  关键词:网络安全;陷阱网络;主动防御;入侵检测  中图分类号:TP393文献标识码:A 文章编号:1009-3044(2008)18-20000-00    The analysis and i
摘要:基于Hypercube模型的P2P资源搜索策略和路由策略,是以单纯广播方式进行的,搜索和路由效率比较低.因此提出了“一跳复制”技术以及改进算法RA1,提高了搜索和路由的效率,同时增强了P2P网络的效率和健壮性。  关键词:一跳复制; RA1算法;路由表  中图分类号:TP311文献标识码:A文章编号:1009-3044(2008)18-2pppp-0c    Improvement of P
摘要:数据预处理在Web日志挖掘过程中起着至关重要的作用。本文详细分析了数据预处理的过程,并对用户识别提出了改进策略,最后实现了一个Web日志挖掘预处理模型(WLMPM)。  关键词:Web日志挖掘;数据预处理;用户识别;会话识别  中图分类号:TP311文献标识码:A文章编号:1009-3044(2008)18-2pppp-0c    Research on Data Preprocessing
摘要:简述了C#与Matlab混合编程的实际意义与应用领域,给出了混合编程的两种具体实现方法,最终分析了这两种方法在编程效率、软件复用度方面的优劣。  关键词:组件技术;C#;MATLAB   中图法分类号:TP311文献标识码:A文章编号:    The Analysis about Two Kinds Model of C# and Matlab Mix Programming  CHEN H