构建基于Snort的入侵检测系统Word格式.docx
《构建基于Snort的入侵检测系统Word格式.docx》由会员分享,可在线阅读,更多相关《构建基于Snort的入侵检测系统Word格式.docx(17页珍藏版)》请在冰豆网上搜索。
本文就是围绕Snort检测技术进行的研究,进一步开发出Windows平台下基于Snort的入侵检测系统。
文章首先介绍了入侵检测系统的一些相关知识,其中包括:
入侵检测技术的定义,常见入侵技术,入侵检测方法以及对Snort网络入侵检测系统进行了介绍、分析和安装。
然后,针对原有Snort界面不友好的特点,在Windows系统平台利用改进后的算法在其基础上设计并开发了具有图形界面的入侵检测系统,并针对VC列表控件开发了相应的入侵检测系统输出插件。
弥补了原有Snort系统由于基于控制台界面,配置繁琐,操作复杂等的缺点,提高了其与Windows系统上其它程序交互的能力,在加速Snort在Windows平台的普及上具有重要的实用价值。
最后,通过实验演示,证明改进后的入侵检测系统能够很好的满足在Windows平台的应用需要。
关键词Snort/VPN/入侵检测
BuildingSnortintrusiondetectionsystembasedon
ABSTRACT
Withthecontinuousdevelopmentofcomputernetworks,globalizationofinformationhasbecomethetrendofhumandevelopment.However,duetoacomputernetwork.Diversityofconnection,terminalandnetworkunevendistributionofopenness,connectivityandotherfeatures,resultinginthenetworkvulnerabletohackers,hackers,malwareandotherattacks,sosecurityandconfidentialityofonlineinformationisaveryimportantissue.Automationcommandforthemilitarynetworkandtransmissionofsensitivedatabanks,computernetworksystem,itsonlineinformationsecurityandconfidentialityisparticularlyimportant.Therefore,thenetworkmusthaveastrongenoughsafetymeasures,otherwisethenetworkwouldbeauselessandevenendangerthecountry'
snetworksecurity.BothintheLANorWAN,thereisanaturalorman-madefactorssuchasvulnerabilityandpotentialthreats.Therefore,networksecuritybecomesincreasinglyimportant.
SnortIntrusionDetectionSystemisatypicalopensourcenetworkintrusiondetectionsystem,formostcommercialintrusiondetectionsystemsareinitsdesignprincipleandimplementationoffeaturesbasedonresearchanddevelopment.OftheSnortintrusiondetectionsystemwithastrongacademicsignificanceandhighcommercialvalue.ThisisaroundtheSnortdetectiontechnologyresearch,furtherdevelopmentoftheWindowsplatformbasedintrusiondetectionsystemSnort.
Thearticlefirstintroducessomeintrusiondetectionsystemsknowledge,including:
thedefinitionofintrusiondetectiontechnology,commonintrusiontechniques,intrusiondetectionandnetworkintrusiondetectionsystemforSnortareintroduced,analysisandinstallation.Then,fortheunfriendlyinterfaceoftheoriginalfeaturesofSnort,theWindowsplatformusingtheimprovedalgorithmbasedonitsdesignandgraphicalinterface,developedwithintrusiondetectionsystem,anddevelopedalistcontrolfortheVCcorrespondingoutputofintrusiondetectionsystemplug-in.Snortsystemduetomakeupfortheoriginalconsole-basedinterfacetoconfigurethetedious,complicatedoperationandothershortcomings,improvedWindowssystemswiththeabilitytointeractwithotherprograms,inacceleratingthepopularityofSnortontheWindowsplatform,hasimportantpracticalvalue.Finally,experimentaldemonstrationtoprovetheimprovedintrusiondetectionsystemcanwellmeettheapplicationneedsintheWindowsplatform.
KEYWORDSSnort,VPN,IntrusionDetection
朗读
显示对应的拉丁字符的拼音
目录
1入侵检测相关技术简介1
1.1入侵检测技术定义1
1.2入侵检测系统的作用1
1.3入侵检测系统的检测信息来源1
1.4常见入侵技术简介2
1.5入侵检测方法介绍3
1.6下面是几种入侵检测系统常用的检测方法3
2Snort简介3
2.1Snort系统工作原理4
2.2Snort系统的特点5
2.3Snort系统的现状6
3Snort的安装7
3.1安装Apache服务器7
3.2安装PHP7
3.3安装winpcap网络驱动8
3.4安装Snort入侵检测系统8
3.5安装Mysql数据库8
3.6安装adodb组件9
3.7安装jgraph组件9
3.8安装acid(网页文件)组件9
3.9加入Snort规则10
3.10最后测试相关10
结束语14
致谢15
参考文献16
1入侵检测相关技术简介
1.1入侵检测技术定义
入侵检测系统(IntrusionDetectionSystem,简称IDS)是一种从计算机网络或计算机系统中的若干关键点收集入侵者攻击时所留下的痕迹,如异常网络数据包与试图登录的失败记录等信息,通过分析发现是否有来自于外部或内部的违反安全策略的行为或被攻击的迹象。
它以探测与控制作为技术本质,起着主动式、动态的防御作用,是网络安全中极其重要的组成部分。
目前入侵检测涉及到的功能有监视分析用户和系统的行为、审计系统配置和漏洞、评估敏感系统和数据的完整性、识别攻击行为、对异常行为进行统计、自动地收集与系统相关的补丁、进行审计跟踪识别违反安全策略的行为、使用诱骗服务器记录黑客行为等功能,使系统管理员可以较有效地监视、审计、评估自己的系统等。
从其检测的数据源角度来区分,入侵检测分为基于主机的入侵检测系统(HIDS)和基于网络的入侵检测系统(NIDS)。
此次研究的入侵检测系统是以Snort为基础主要针对来自网络中的各种信息进行捕获,对网络中的入侵信息进行识别和处理。
它的针对性很强,特征库可以不断更新。
同时加入预扫描的功能,可以对本地机器的端口进行检测,发现漏洞,通知用户及时处理,从而可以确保系统的安全。
1.2入侵检测系统的作用
入侵检测是防火墙的合理补充,帮助系统对付网络攻击,扩展了系统管理员的安全管理能力(包括安全审计、监视、进攻识别和响应),提高了信息安全基础结构的完整性。
它从计算机网络系统中的若干关键点收集信息,并分析这些信息,看看网络中是否有违反安全策略的行为和遭到袭击的迹象。
入侵检测被认为是防火墙之后的第二道安全闸门,在不影响网络性能的情况下能对网络进行监测,从而提供对内部攻击、外部攻击和误操作的实时保护。
1.3入侵检测系统的检测信息来源
入侵检测系统的检测信息来源都是通过自身的检测部分Sensor得到的。
基于网络的入侵检测,主要是通过对网络数据包的截取分析,来查找具有攻击特性和不良企图的数据包的。
在网络里基于网络的入侵检测系统的检测部分Sensor一般被布置在一个交换机的镜象端口(或者一个普通的HUB任意端口),听取流经网络的所有数据包,查找匹配的包,来得到入侵的信息源。
基于主机的入侵检测系统的Sensor不可能直接从系统内部获取信息的,它是要通过一个事先做好的代理程序,安装在需要检测的主机里的,这些代理程序主要收集系统和网络日志文件,目录和文件中的不期望的改变,程序执行中的不期望行为,物理形式的入侵信息。
1.4常见入侵技术简介
入侵攻击到如今这种泛滥的趋势也是有一个过程的,早期一些专业人士通过对系统进行攻击是为了检测发现系统漏洞,它是作为一种安全测试工作,根据测试结果改变系统结构、设计方式、算法流程,从而提高系统的安全性和可靠性。
直到现在这种手段仍被大量运用在检测系统的安全性和可靠性上,不过采用的攻击方法、原理以及工具也随之扩散开来。
一个具备有计算机基础知识的人通过网络,书籍等一些途径可以很轻松的学会一些攻击方式,然后利用一些常用的攻击工具很轻易的就可以对其它系统实施攻击。
“知己知彼,百战不殆”,要做好网络安全就需要了解敌人,了解黑客,了解入侵攻击技术及其原理,以下就简单的介绍一些目前最常见的入侵技术:
(1)扫描技术:
扫描技术包括:
端口扫描,漏洞扫描等,通过对网络中特定网络或者计算机进行扫描,然后分析扫描结果,能够发现许多有用的信息,从而发现系统存在的安全漏洞。
(2)网络嗅探技术:
通过解码网络中的数据包,捕获帐户、口令等信息。
通
过安装嗅探器截获流经本机网卡的指定数据来监视网络数据流,从而获取连接网络系统时的特定数据。
(3)拒绝服务:
攻击者想办法让目标机器停止提供服务或资源访问,这些资源包括磁盘空间、内存、进程甚至网络带宽,从而阻止正常用户的访问。
(4)ARP欺骗:
ARP欺骗分为二种:
一种是对路由器ARP表的欺骗;
另一种是对内网PC的网关欺骗。
第一种ARP欺骗的原理是——截获网关数据。
它通知路由器一系列错误的内网MAC地址,并按照一定的频率不断进行,使真实的地址信息无法通过更新保存在路由器中,结果路由器的所有数据只能发送给错误的MAC地址,造成正常PC无法收到信息。
第二种ARP欺骗的原理是——伪造网关。
它是建立假网关,让被它欺骗的PC向假网关发数据,而不是通过正常的路由器途径上网。
在PC看来就是上不了网了。
(5)特洛伊木马:
特洛伊木马是指那些表面上是有用的软件,实际目的却是危害计算机安全并导致严重破坏的计算机程序。
它是具有欺骗性的文件(宣称是良性的,但事实上是恶意的),是一种基于远程控制的黑客工具,具有隐蔽性和非授权性的特点。
(6)恶意软件:
恶意广告软件(ADWare)、间谍软件(SpyWare)、恶意共享软件(MaliciousShareWare)等等都处在合法商业软件和电脑病毒之间的灰色地带。
它们既不属于正规商业软件,也不属于真正的病毒;
既有一定的实用价值,也会给用户带来种种干扰。
(7)缓冲器溢出:
指当计算机向缓冲区内填充数据位数时超过了缓冲区本身的容量溢出的数据覆盖在合法数据上,理想的情况是程序检查数据长度并不允许输入超过缓冲区长度的字符,但是绝大多数程序都会假设数据长度总是与所分配的储存空间相匹配,这就为缓冲区溢出埋下隐患操作系统所使用的缓冲区又被称为堆栈.。
在各个操作进程之间,指令会被临时储存在堆栈当中,堆栈也会出现缓冲区溢出。
(8)暴力破解:
用软件猜出口令。
通常的做法是通过监视通信信道上的口令包,破解口令的加密形式。
(9)社会工程:
攻击者利用人际关系的互动性所发出的攻击,通常攻击者如果没有办法通过物理入侵的办法直接取得所需要的资料时,就会通过电子邮件或者电话对所需要的资料进行骗取,再利用这些资料获取主机的权限以达到其本身的目的
1.5入侵检测方法介绍
当前入侵检测技术的发展方向主要有两个:
一是基于异常方式的入侵检测(AnomalyDetection),另一个是基于误用方式的入侵检测(MisuseDetection)。
基于异常入侵检测技术是通过检测攻击者与合法用户具有的不同特征来识别入侵行为。
例如,如果用户A仅仅是在早上9点钟到下午5点钟之间在办公室使用计算机,则用户A在晚上的活动是异常的,就有可能是入侵。
异常检测试图通过定量方式描述常规的或可接受的行为,以标记非常规的、潜在的入侵行为。
异常入侵检测的主要前提是入侵性活动作为异常活动的子集,异常检测主要使用概率统计方法,还有顺序模式归纳产生法和神经网络等检测方法。
随着对计算机系统弱点和攻击方法的不断收集和研究,入侵特征化描述的方法越来越有效,这使得误用检测的使用也越来越广泛。
基于误用入侵检测技术是根据己知的入侵模式来检测。
入侵者常常利用系统和应用软件的弱点进行攻击,而这些弱点可以归类为某种模式,如果入侵者攻击方式恰好匹配上检测系统中的模式库,则入侵者即被检测到。
例如,Windows的IIS常见的CGI,SQL等漏洞,就可以根据它的攻击特征进行检测。
误用检测使用的方法主要有专家系统、状态转换分析、基于模型的方法和模式匹配,人工智能技术、免疫检测和自主代理等方法正在实践或者科研当中。
1.6下面是几种入侵检测系统常用的检测方法
(1)基于统计分析
这种入侵检测方法是基于对历史数据、早期的证据或模型的基础上进行建模,系统实时检测用户对系统的使用情况与保存的概率统计模型进行比较,当发现有可疑的用户行为发生时,保持跟踪并检测与记录该用户的行为。
(2)基于神经网络的分析方法
这种方法对用户的行为具有自学习和自适应的能力,能够根据实际检测到的信息有效地加以处理并做出入侵可能性的判断。
但该方法尚不成熟,也没有较完善的入侵检测系统出现。
(3)基于专家系统的分析方法
这种方法根据安全专家对可疑行为的分析经验建立一套推理规则,在此基础上建立相应的专家系统,从而自动对所涉及的入侵行为进行分析与检测。
该方法可随着经验的积累和利用自学习功能进行规则的扩充和修正。
这种方法目前在大部分的入侵检测系统中得到应用
2Snort简介
Snort系统是一个以开放源代码的形式发行的网络入侵检测系统,由MartinRoesch编写,并由遍布在世界各地的众多程序员共同维护和升级。
Snort运行在Libpcap库函数的基础之上,系统代码遵循GNU/GPL协议。
它是一个轻量级的网络入侵检测系统。
这里所谓的轻量级是指在检测时尽可能低地影响网络的正常操作,一个优秀的轻量级的网络入侵检测系统应该具备跨系统平台操作,对系统影响最小等特征,并且管理员能够在短时间内通过修改配置进行实时的安全响应,更为重要的是能够成为整体安全结构的重要成员。
Snort作为网络入侵检测系统中的典型范例,首先它可以运行在多种操作系统平台之上,例如UNIX系列和Windows(需要1ibpcapforwin32--Winpcap的支持),与很多商业产品相比,它对操作系统的依赖性比较低。
其次用户可以根据自己的需要及时在短时间内调整检测策略。
就检测攻击的种类来说,Snort检测规则包括对缓冲区溢出,端口扫描和CGI攻击等等。
另外,Snort还可以作为数据包嗅探器和数据包记录器使用。
Snort有三种工作模式:
嗅探器、数据包记录器、网络入侵检测系统。
嗅探器模式仅仅是从网络上读取数据包并作为连续不断的流显示在终端上。
数据包记录器模式把数据包记录到硬盘上。
网路入侵检测模式是最复杂的,而且是可配置的。
我们可以让snort分析网络数据流以匹配用户定义的一些规则,并根据检测结果采取一定的动作。
2.1Snort系统工作原理
Snort作为一个基于网络的入侵检测系统(NIDS),在基于共享网络上检测原始的网络传输数据,通过分析捕获的数据包,匹配入侵行为的特征或者从网络活动的角度检测异常行为,进而采取入侵的告警或记录。
从检测模式而言,Snort属于是误用检测,即对已知攻击的特征模式进行匹配。
从本质上来说,Snort是基于规则检测的入侵检测工具,即针对每一种入侵行为,都提炼出它的特征值并按照规范写成检验规则,从而形成一个规则数据库。
其次将捕获得数据包按照规则库逐一匹配,若匹配成功,则认为该入侵行为成立。
入侵行为主要是指对系统资源的非授权使用,可以造成系统数据的丢失和破坏、系统拒绝服务等危害。
对于入侵检测而言的网络攻击可以分为4类:
①检查单IP包(包括TCP、UDP)首部即可发觉的攻击,如winnuke、pingofdeath、land.c、部分OSdetection、sourcerouting等。
②检查单IP包,但同时要检查数据段信息才能发觉的攻击,如利用CGI漏洞,缓存溢出攻击等。
③通过检测发生频率才能发觉的攻击,如端口扫描、SYNFlood、smurf攻击等。
④利用分片进行的攻击,如teadrop,nestea,jolt等。
此类攻击利用了分片组装算法的种种漏洞。
若要检查此类攻击,必须提前(在IP层接受或转发时,而不是在向上层发送时)作组装尝试。
分片不仅可用来攻击,还可用来逃避未对分片进行组装尝试的入侵检测系统的检测。
入侵检测通过对计算机网络或计算机系统中的若干关键点收集信息并进行分析,从中发现网络或系统中是否有违反安全策略的行为和被攻击的迹象。
进行入侵检测的软件与硬件的组合就是入侵检测系统。
入侵检测系统执行的主要任务包括:
监视、分析用户及系统活动;
审计系统构造和弱点;
识别、反映已知进攻的活动模式,向相关人士报警;
统计分析异常行为模式;
评估重要系统和数据文件的完整性;
审计、跟踪管理操作系统,识别用户违反安全策略的行为。
入侵检测一般分为3个步骤,依次为信息收集、数据分析、响应(被动响应和主动响应)。
信息收集的内容包括系统、网络、数据及用户活动的状态和行为。
入侵检测利用的信息一般来自系统日志、目录以及文件中的异常改变、程序执行中的异常行为及物理形式的入侵信息4个方面。
数据分析是入侵检测的核心。
它首先构建分析器,把收集到的信息经过预处理,建立一个行为分析引擎或模型,然后向模型中植入时间数据,在知识库中保存植入数据的模型。
数据分析一般通过模式匹配、统计分析和完整性分析3种手段进行。
前两种方法用于实时入侵检测,而完整性分析则用于事后分析。
可用5种统计模型进行数据分析:
操作模型、方差、多元模型、马尔柯夫过程模型、时间序列分析。
统计分析的最大优点是可以学习用户的使用习惯。
入侵检测系统在发现入侵后会及时作出响应,包括切断网络连接、记录事件和报警等。
响应一般分为主动响应(阻止攻击或影响进而改变攻击的进程)和被动响应(报告和记录所检测出的问题)两种类型。
主动响应由用户驱动或系统本身自动执行,可对入侵者采取行动(如断开连接)、修正系统环境或收集有用信息;
被动响应则包括告警和通知、简单网络管理协议(SNMP)陷阱和插件等。
另外,还可以按策略配置响应,可分别采取立即、紧急、适时、本地的长期和全局的长期等行动。
2.2Snort系统的特点
(1)Snort是一个轻量级的入侵检测系统它虽然功能强大,但是代码却极为简洁、短小,其源代码压缩包不到2兆。
(2)Snort的可移植性很好
Snort的跨平台性能极佳,目前已经支持Linux,Solaris,BSD,IRIX,HP-UX,windows等系统。
采用插入式检测引擎,可以作为标准的网络入侵检测系统、主机入侵检测系统使用;
与Netfilter结合使用,可以作为网关IDS(GatewayIDS)等系统指纹识别工具结合使用,可以作为基于目标的IDS(Target—basedIDS)。
(3)Snort的功能非常强大
Snort具有实时流量分析和日志IP网络数据包的能力。
能够快速地检测网络攻击,及时地发出报警。
Snort的报警机制很丰富,例如:
syslog、用户指定的文件、一个UNIX套接字,还有使用SAMBA协议向Windows客户程序发出WinPopup消息。
利用XML插件,Snort可以使用SNML(简单网络标记语言,simplenetworkmarkuplanguage)把日志存放到一个文件或者适时报警。
Snort能够进行协议分析,内容的搜索/匹配。
现在Snort能够分析的协议有TCP,UDP,ICMP等。
将来,可能提供对ARP、ICRP、GRE、OSPF、RIP、IPXIPX等协议的支持。
它能够检测多种方式的攻击和探测,例如: