个人入侵检测系统的实现有源程序代码样本_第1页
个人入侵检测系统的实现有源程序代码样本_第2页
个人入侵检测系统的实现有源程序代码样本_第3页
个人入侵检测系统的实现有源程序代码样本_第4页
个人入侵检测系统的实现有源程序代码样本_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

个人入侵检测系统实现(有源程序代码)源程序代码等全套设计联系各专业均有分类号:TP393UDC:D10621-408-5862-0密级:公开编号:8>031288成都信息工程学院学位论文个人入侵检测系统实现论文作者姓名: 金国强申请学位专业: 计算机科学与技术申请学位类别: 工学学士指引教师姓名(职称): 熊淑华(副专家)论文提交日期: 6月9日个人入侵检测系统实现摘要入侵检测系统(IDS)可以对系统或网络资源进行实时检测,及时发现闯入系统或网络入侵者,也可防止合法顾客对资源误操作。本论文从入侵检测基本理论和入侵检测中核心技术出发,重要研究了一种简朴基于网络windows平台上个人入侵检测系统实现PIDS,PersonalIntrusionDetectionSystem。论文一方面分析了当前网络安全现状,简介了入侵检测技术历史以及当前入侵检测系统核心理论。分析了Windows网络体系构造以及开发工具Winpcap数据包捕获和过滤构造。最后在Winpcap系统环境下实现本系统设计。本系统采用异常检测技术,通过Winpcap截取实时数据包,同步从截获IP包中提取出概述性事件信息并传送给入侵检测模块,采用量化分析办法对信息进行分析。系统在实际测试中表白对于具备量化特性网络入侵具备较好检测能力。最后归纳出系统现阶段存在问题和改进意见,并依照系统功能提出了后续开发方向。核心词:网络安全;入侵检测;数据包捕获;PIDSImplementationofPersonalIntrusionDetectionSystemAbstractTheIntrusionDetectionSystemIDScandetectthesystemorthenetworkresourcesonthereal-time,discovertheintruderwhointendstoenterintoasystemoranetworkwithoutwarrantintimeandpreventusersfromwrongoperation.Basedonthebasictheoryoftheintrusiondetectionandthecoretechnologyofintrusiondetection,awayoftherealizationofasimplePersonalIntrusionDetectionSystemPIDS,whichbasedonWindowsplatform,iswellresearched.Thecurrentsecuritystatusofthenetworkisanalyzedfirstly,andthenthehistoryofintrusiondetectiontechnologyandthecurrentcoretheoryoftheintrusiondetectionsystemareintroduced.Atlast,thenetworkarchitectureonWindowsaswellasthestructureofcapturingandfilteringdatapacketsbyWinpcap,atoolondevelopmentisintroduced.Afterthat,thesystemisrealizedundertheWinpcapsystemenvironment.Theabnormaldetectiontechnologyisusedinthesystem.AftercatchingdatapacketswithWinpcapinreal-time,extractingprobabilisticinformationabouteventsfromtheinterceptedIPpacketsandsendingthemtotheintrusiondetectionmodule,informationisanalyzedbymethodofquantitativeanalysis.Inactualsystemtesting,thesystemshowsagoodabilityondetectingthequantitativecharacteristicsofnetworkintrusion.Finally,theexistedproblemsandoursuggestionduringthisstageissummedupandaccordingtothefunctionofthesystem,thepropositionisgivenaboutthefuturedirection.Keywords:Networksecurity,Intrusiondetection,Packagecatching,PIDS目录论文总页数:24页1 引言 11.1 网络安全概述 11.1.1 网络安全问题产生 11.1.2 网络信息系统面临安全威胁 11.1.3 对网络个人主机袭击 21.2 入侵检测技术及其历史 31.2.1 入侵检测(IDS)概念 31.2.2 入侵检测系统分类 41.2.3 入侵检测模型 51.2.4 入侵检测过程分析 61.2.5 入侵检测发展历史 61.3 个人入侵检测系统定义 71.4 系统研究意义和办法 72 个人入侵检测系统设计 72.1 数据包捕获模块 72.2 数据解析模块 112.3 数据分析模块 122.4 分析成果记录 132.5 报警解决模块 133 个人入侵检测系统实现 133.1 系统总体构造 133.2 数据包捕获模块实现 143.3 解码数据包模块实现 153.4 分析数据包模块实现 163.5 分析成果记录并告警 204 个人入侵检测系统应用实例分析 21结论 22参照文献 22致谢 23声明 24引言网络安全概述网络安全问题产生可以从不同角度对网络安全作出不同解释。普通意义上,网络安全是指信息安全和控制安全两某些。国际原则化组织把信息安全定义为“信息完整性、可用性、保密性和可靠性”;控制安全则指身份认证、不可否认性、授权和访问控制。互联网与生俱有开放性、交互性和分散性特性使人类所憧憬信息共享、开放、灵活和迅速等需求得到满足。网络环境为信息共享、信息交流、信息服务创造了抱负空间,网络技术迅速发展和广泛应用,为人类社会进步提供了巨大推动力。然而,正是由于互联网上述特性,产生了许多安全问题:1信息泄漏、信息污染、信息不易受控。例如,资源未授权侵用、未授权信息流浮现、系统回绝信息流和系统否认等,这些都是信息安全技术难点。2在网络环境中,某些组织或个人出于某种特殊目,进行信息泄密、信息破坏、信息侵权和意识形态信息渗入,甚至通过网络进行政治颠覆等活动,使国家利益、社会公共利益和各类主体合法权益受到威胁。3网络运用趋势是全社会广泛参加,随之而来是控制权分散管理问题。由于人们利益、目的、价值分歧,使信息资源保护和管理浮现脱节和真空,从而使信息安全问题变得广泛而复杂。4随着社会重要基本设施高度信息化,社会“命脉”和核心控制系统有也许面临更大威胁。网络信息系统面临安全威胁当前网络信息系统面临安全威胁重要有:1非法使用服务:这种袭击目在于非法运用网络能力,网络上非授权访问应当是不也许。不幸是,用于在网络上共享资源及信息工具、程序存在许多安全漏洞,而运用了这些漏洞就可以对系统进行访问了。2身份冒充;这种袭击着眼点在于网络中信任关系,重要有地址伪装IP欺骗和顾客名假冒。3数据窃取:指所保护重要数据被非法顾客所获取,如入侵者运用电磁波辐射或搭线窃听等方式截获顾客口令、帐号等重要敏感信息。4破坏数据完整性:指通过非法手段窃得系统一定使用权限,并删除、修改、伪造某些重要信息,以干扰顾客正常使用或便于入侵者进一步袭击。对网络个人主机袭击对方一方面通过扫描来查找可以入侵机器,即漏洞探测;接着拟定该机器IP地址;然后运用相应袭击工具发起某种袭击。网络嗅探,嗅探器是一种网络监听工具(如:sniffer),该工具运用计算机网络接口可以截获其她计算机数据信息。嗅探器工作在网络环境底层,它会拦截所有正在网络上传送数据,并且通过相应软件实时分析这些数据内容,进而明确所处网络状态和整体布局。在合理网络中,嗅探器对系统管理员而言至关重要,通过嗅探器可以监视数据流动状况以及网络传播信息,从而为管理员判断网络问题、管理网络提供宝贵信息。然而,如果黑客使用嗅探器,她可以获得和系统管理员同样重要而敏感信息,(如:在某局域网上,嗅探器可以很轻松地截获在网上传送顾客姓名、口令、信用卡号码和帐号等从而对网络安全构成威胁。其工作原理是:在一种共享介质网络中如以太网,一种网段上所有网络接口均能访问介质上传播所有数据。每个网络接口硬件地址与其她网络接口硬件地址不同,同步每个网络至少尚有一种广播地址。广播地址并不相应于某个详细网络接口,而是代表所有网络接口。当顾客发送数据时,这些数据就会发送到局域网上所有可用机器。在普通状况下,网络上所有机器都可以“听”到通过流量,但对不属于自己数据硬件地址不予响应。换句话说,工作站A不会捕获属于工作站B数据,而是简朴地忽视这些数据。当发送者但愿引起网络中所有主机操作系统注意时,她就使用“广播地址”。因而,在正常状况下,一种合法网络接口应当只响应这样两种数据帧:一是帧目的区域具备和本地网络接口相匹配硬件地址,二是帧目的区域具备“广播地址”。在接受到上面两种状况数据帧时,主机通过CPU产生硬件中断,该中断能引起操作系统注意,然后将帧中所包括数据传送给系统作进一步解决。而嗅探器就是一种能将本地计算机状态设成“混杂Promiscuous”状态软件,当本机处在这种方式时,该机具备“广播地址”,它对所有遭遇到每一种帧都产生硬件中断以便提示操作系统解决流经该网段每一报文包。在该方式下,网络接口就可以捕获网络上所有数据帧,从而可以达到监听目。回绝服务袭击DenialofService,简称DoS,是指占据大量共享资源(如:解决器、磁盘空间、CPU、打印机),使系统没有剩余资源给其她顾客,从而使服务祈求被回绝,导致系统运营迟缓或瘫痪。其袭击目是为完毕其她袭击做准备。其袭击原理是:在回绝服务袭击中,恶意顾客向服务器传送众多规定确认信息,使服务器里充斥着这种无用信息。所有这些祈求地址都是虚假,以至于服务器试图回传时,却无法找到顾客。服务器于是暂时等待,有时超过一分钟,然后再切断连接。服务器切断连接后,袭击者又发送新一批虚假祈求,该过程周而复始,最后使网站服务器充斥大量规定回答信息,消耗网络带宽或系统资源,导致网络或系统不胜负荷以至于瘫痪而停止提供正常网络服务。典型DOS袭击技术,如TCP/SYN袭击,该袭击作为一种回绝服务袭击存在时间己经有20近年了。但是,随着技术不断进步,SYN袭击也不断被更多黑客所理解并运用。其原理是基于连接时三次握手,如果黑客机器发出包源地址是一种虚假IP地址,ISP主机发出确认祈求包ACK/SYN就找不到目的地址,如果这个确认包始终没找到目的地址,那么也就是目的主机无法获得对方回答ACK包。而在缺省超时时间范畴内,主机一某些资源要花在等待这个ACK包响应上,如果短时间内主机接到大量来自虚假IP地址SYN包,它就要占有大量资源来解决这些错误等待,最后成果就是系统资源耗尽以致瘫痪。特洛伊木马来源于希腊神话,讲述是通过木马血屠特洛伊城故事。这一故事形象地阐明了木马程序特点。在计算机安全学中,特洛伊木马指是一种计算机程序,它表面上具备某种有用功能,事实上却隐藏着可以控制顾客计算机系统,危害系统安全破坏性指令,特洛伊木马代表了一种限度较高危险。当这种程序进入系统后,便有也许给系统带来危害。在特洛伊木马程序中插入代码在别程序中依然能存在,但只在藏身程序中进行破坏性活动。代码可以在主程序特权范畴内从事任何破坏行为,使用自身或者其她程序进行操作。其工作原理实质是,特洛伊木马只是一种网络客户/服务程序。网络客户/服务模式原理是一台主机服务器提供服务,另一台主机客户机接受服务。作为服务器主机普通会打开一种默认端口并进行监听,如果有客户机向服务器这一端口提出连接祈求,服务器上相应程序就会自动运营,来应答客户机祈求,此程序称为守护进程。对于木马来说,被控制端是一台服务器,控制端则是一台客户机。黑客经惯用欺骗手段引诱目的对象运营服务器端程序,黑客一旦成功地侵入了顾客计算机后,就会在计算机系统中隐藏一种会在Windows启动时悄悄运营程序,采用服务器/客户机运营方式,从而达到在顾客上网时控制顾客计算机目。入侵检测技术及其历史入侵检测(IDS)概念1980年,詹姆斯?安德森(JamesP.Anderson)第一次系统阐述了入侵检测概念,并将入侵行为分为外部?透、内部?透和不法行为三种,还提出了运用审计数据监视入侵活动思想。Anderson将入侵尝试或威胁定义为:潜在、有预谋、未经授权访问信息、操作信息、致使系统不可靠或无法使用企图。而入侵检测定义为:发现非授权使用计算机个体(如“黑客”)或计算机系统合法顾客滥用其访问系统权利以及企图实行上述行为个体。执行入侵检测任务程序即是入侵检测系统。入侵检测系统也可以定义为:检测企图破坏计算机资源完整性,真实性和可用性行为软件。入侵检测系统执行重要任务涉及:监视、分析顾客及系统活动;审计系统构造和弱点;辨认、反映已知攻打活动模式,向有关人士报警;记录分析异常行为模式;评估重要系统和数据文献完整性;审计、跟踪管理操作系统,辨认顾客违背安全方略行为。入侵检测普通分为三个环节:信息收集、数据分析、响应。入侵检测目:1辨认入侵者;2辨认入侵行为;3检测和监视以实行入侵行为;4为对抗入侵提供信息,制止入侵发生和事态扩大。入侵检测系统分类既有IDS分类,大都基于信息源和分析办法。为了体现对IDS从布局、采集、分析、响应等各个层次及系统性研究方面问题,在这里采用五类原则:控制方略、同步技术、信息源、分析办法、响应方式。按照控制方略分类控制方略描述了IDS各元素是如何控制,以及IDS输入和输出是如何管理。按照控制方略IDS可以划分为,集中式IDS、某些分布式IDS和全某些布式IDS。在集中式IDS中,一种中央节点控制系统中所有监视、检测和报告。在某些分布式IDS中,监控和探测是由本地一种控制点控制,层次似将报告发向一种或各种中心站。在全分布式IDS中,监控和探测是使用一种叫“代理”办法,代理进行分析并做出响应决策。按照同步技术分类同步技术是指被监控事件以及对这些事件分析在同一时间进行。按照同步技术划分,IDS划分为间隔批任务解决型IDS和实时持续性IDS。在间隔批任务解决型IDS中,信息源是以文献形式传给分析器,一次只解决特定期间段内产生信息,并在入侵发生时将成果反馈给顾客。诸多初期基于主机IDS都采用这种方案。在实时持续型IDS中,事件一发生,信息源就传给分析引擎,并且立即得到解决和反映。实时IDS是基于网络IDS首选方案。按照信息源分类按照信息源分类是当前最通用划分办法,它分为基于主机IDS、基于网络IDS和分布式IDS。基于主机IDS通过度析来自单个计算机系统系统审计踪迹和系统日记来检测袭击。基于主机IDS是在核心网段或互换部位通过捕获并分析网络数据包来检测袭击。分布式IDS,可以同步分析来自主机系统日记和网络数据流,系统由各种部件构成,采用分布式构造。按照分析办法分类按照分析办法IDS划分为滥用检测型IDS和异常检测型IDS。滥用检测型IDS中,一方面建立一种对过去各种入侵办法和系统缺陷知识数据库,当收集到信息与库中原型相符合时则报警。任何不符合特定条件活动将会被以为合法,因而这样系统虚警率很低。异常检测型IDS是建立在如下假设基本之上,即任何一种入侵行为都能由于其偏离正常或者所盼望系统和顾客活动规律而被检测出来。因此它需要一种记录合法活动数据库,由于库有限性使得虚警率比较高。按照响应方式分类按照响应方式IDS划分为积极响应IDS和被动响应IDS。当特定入侵被检测届时,积极IDS会采用如下三种响应:收集辅助信息;变化环境以堵住导致入侵发生漏洞;对袭击者采用行动(这是一种不被推荐做法,由于行为有点过激)。被动响应IDS则是将信息提供应系统顾客,依托管理员在这一信息基本上采用进一步行动。入侵检测模型美国斯坦福国际研究所(SRI)//.ning于1986年初次提出一种入侵检测模型,该模型检测办法就是建立顾客正常行为描述模型,并以此同当前顾客活动审计记录进行比较,如果有较大偏差,则表达有异常活动发生。这是一种基于记录检测办法。随着技术发展,日后人们又提出了基于规则检测办法。结合这两种办法长处,人们设计出诸多入侵检测模型。通用入侵检测构架(CommonIntrusionDetectionFramework简称CIDF)组织,试图将既有入侵检测系统原则化,CIDF阐述了一种入侵检测系统通用模型(普通称为CIDF模型,如图1所示)。它将一种入侵检测系统分为如下四个组件:事件产生器(eventgenerators),用e盒表达;事件分析器(eventanalyzers),用a盒表达;响应单元(responseunits),用r盒表达;事件数据库(eventdatabases),用d盒表它将需要分析数据通称为事件,事件可以是基于网络数据包也可以是基于主机系统日记中信息。事件产生器目是从整个计算机环境中获得事件,并向系统其他某些提供此事件。事件分析器分析得到事件并产生分析成果。响应单元则是对分析成果做出反映功能单元,它可以做出切断连接、修改文献属性等强烈反映。事件数据库是存储各种中间和最后数据地方通称,它可以是复杂数据库也可以是简朴文本文献。图1CIDF入侵检测模型入侵检测过程分析过程分为三某些:信息收集、信息分析和成果解决。1信息收集:入侵检测第一步是信息收集,收集内容涉及系统、网络、数据及顾客活动状态和行为。由放置在不同网段传感器或不同主机代理来收集信息,涉及系统和网络日记文献、网络流量、非正常目录和文献变化、非正常程序执行。2信息分析:收集到关于系统、网络、数据及顾客活动状态和行为等信息,被送到检测引擎,检测引擎驻留在传感器中,普通通过三种技术手段进行分析:模式匹配、记录分析和完整性分析。当检测到某种误用模式时,产生一种告警并发送给控制台。3成果解决:控制台按照告警产生预先定义响应采用相应办法,可以是重新配备路由器或防火墙、终结进程、切断连接、变化文献属性,也可以只是简朴告警。入侵检测发展历史1980年JamesPAnderson在给一种保密客户写一份题为《计算机安全威胁监控与监视》技术报告中指出,审计记录可以用于辨认计算机误用,她把威胁进行了分类,第一次详细阐述了入侵检测概念。1984年到1986年乔治敦大学DorothyDenning和SRI公司计算机科学实验室PeterNeumann研究出了一种实时入侵检测系统模型?IDESIntrusionDetectionExpertSystems入侵检测专家系统,是第一种在一种应用中运用了记录和基于规则两种技术系统,是入侵检测研究中最有影响一种系统。1989年,加州大学戴维斯分校ToddHeberlein写了一篇论文《ANetworkSecurityMonitor》,该监控器用于捕获TCP/IP分组,第一次直接将网络流作为审计数据来源,因而可以在不将审计数据转换成统一格式状况下监控异种主机,网络入侵检测从此诞生。个人入侵检测系统定义个人入侵检测系统(PIDS),以网络数据包作为分析数据源,采用异常检测分析办法。它只分析解决与个人主机关于IP数据包,它保护是个人主机系统。系统研究意义和办法综上,当个人顾客接入Internet时,个人机安全就将面临着袭击威胁。因而,个人顾客重要数据、机密文献等需要安全保护。静态防御办法,如个人防火墙等,已不能满足个人顾客需求,个人顾客需要一种更全面个人安全防范体系。如果把入侵检测技术应用到个人机安全防范中,它将与个人防火墙一起为个人顾客提供一种更安全动态防范体系。本文阐述就是在Windows下实现个人入侵检测系统PIDS。本系统采用基于网络异常检测办法入侵检测技术,使用量化分析办法来检测顾客行为。在总结出正常行为规律基本上,检查入侵和滥用行为特性与其之间差别,以此来判断与否有入侵行为。个人入侵检测系统设计数据包捕获模块网络入侵检测系统要分析对象是网络中数据包。因此咱们就需要对流经网络数据包捕获并加以分析,这样才干得到实现入侵检测功能。对于不同操作系统有许多不同数据包捕获办法。在本系统中,采用了windows下Winpcap网络驱动开发包,它是Windows平台下一种免费、公共网络驱动开发包。开发Winpcap这个项目目在于为Win32应用程序提供访问网络底层能力。它提供了如下各项功能:1、捕获原始数据报,涉及在共享网络上各主机发送/接受以及互相之间互换数据报2、在数据报发往应用程序之前,按照自定义规则将某些特殊数据报过滤掉3、在网络上发送原始数据报4、收集网络通信过程中记录信息Winpcap由三个模块构成:NPF,packet.dll,wpcap.dll。前一种工作在内核层,后两个工作在顾客层。第一种模块是内核某些NPFNetgroupPacketFilter,在Win95/98中它是一种VXD(虚拟设备驱动程序文献)文献,在WinNT/Win下是一种SYS文献。它重要功能是过滤数据包,并把这些数据包原封不动地传给顾客态模块。固然也添加了某些系统特定标志例如时间戳管理。这个过程中涉及了某些操作系统特有代码。第二个模packet.dll用来在不同Win32平台下提供一种通用公共包驱动接口。事实上,不同版本Windows平台在内核层模块和顾客进程之间接口不完全相似,packet.dll用于解决这些不同。提供了一套系统独立API,调用packet.dll程序可以运营在不同版本Windows平台上而无需重新编译。packet.dll尚有某些附加功能。它可执行某些低层操作:如:获得网卡名字,动态装载驱动,得到例如机器网络掩码、硬件冲突等某些系统特定信息。Packet.dll和NPF都是系统有关,在Win95/98和WinNT/等不同系统架构Packet.dll会相应有些变化。第三个模块wpcap.dll是系统无关,它提供了更高层、抽象函数。它涉及了某些例如过滤器生成、顾客级缓冲等其他高层函数,增长了例如记录和包发送等更高档特性。因而程序员能解决两种类型API:一套原始函数集,包括在packet.dll中,直接与内核层调用匹配;另一套高层函数由wpcap.dll提供,便于顾客调用,功能更强大。程序员能随意使用wpcap.dll,但只能在受限环境中直接使用packet.dll.总说来,Packet.dll直接映射了内核调用。Wpcap.dll提供了更加和谐、功能更加强大函数调用。Winpcap详细构造图2所示:图2Winpcap详细构造正如在Windows网络体系构造中所阐释,Win32网络架构基于NDISNetworkDriveInterfaceSpecification网络驱动程序接口原则。NDIS工作在Windows内核网络某些最底层。捕获进程核心必要工作在内核层,先于合同栈之前解决包。BPF被网卡驱动程序直接调用,规定NIC设备驱动程序遵从某些所谓“BPFBerkeleyPacketFilter驱动规范”。换句话说,它需要设备驱动可以直接调用BPFTap函数,能控制所有通过网卡包发送或接受,能对过滤后包进行复制。当使用Winpcap进行捕获时,这种办法明显不行。由于Windows与BPF驱动规范有些不同:Windows不容许为了增长捕获功能而变化操作系统和NIC驱动。因而,Winpcap把NetworkTap作为合同驱动放置在NDIS构造上方。NDIS没有从NPF中完全分离出底层,不能自动支持不同介质类型,故需要以这种方式构建。与NDIS交互使NPFNetGroupPacketFilter比原始BPF更加复杂,BPF通过一条简朴回调函数与系统交互;在另一方面,NPF是合同栈一某些,就同其他网络合同同样与操作系统交互。然而,NPF获得了更好执行效果,其Tap比BPF还要运营得快。同BPF同样,当包静止时NPF把过滤器放入NIC驱动内存中。另一种优化办法是NPF同步操作。异步调用不支持,因而顾客级存取经常被阻塞。NPF不需要设立顾客级访问缓冲队列,这使驱动运营得更快。图3显示了NPF在NDIS构造中位置:可以看出Winpcap也是用NDIS,它将自己注册为一种合同解决驱动。在原代码driverentry里面能看到。NPF是Winpcap中核心某些,它完毕了大某些工作:将数据包发送到网络中并导出捕获数据包,交由顾客程序分析解决。图3NDIS内NPFWinpcap中NPF实现由于是以合同驱动程序模式来实现,虽然从性能上看来并不是最始数据完全访问。不同Windows系统有不同NDIS版本,NPF兼容Win2K及其后续WinXP版本下NDIS5,也兼容其她Windows平台下NDIS3版本。NPF与操作系统之间通信普通是异步,NPF提供了一系列回调函数供操作系统在需要时调用。NPF提供了应用程序所有I/O操作回调函数,如:open,close,read,write等。NPF与NDIS之间通信也是异步.某些事件如当数据包到达时是通过回调函数告知NPF这个例子中是Packetestapo,并且,NPF与NDIS和NIC驱动之间通信是非阻塞函数来实现。当NPF调用NDIS函数时,调用及时返回;当解决完毕时,NDIS再调用一种特定函数告知NPF.NPF对所有底层操作都提供了回调函数。图4显示了NPF基本构造及其在Winpcap中工作模式。图4NPF合同驱动Winpcap中过滤进程由顾客级某些开始。它能接受一组顾客定义过滤规则例如接受所有UDP数据包,把它编译成一套伪指令(例如,如果是IP包且合同类型等这些指令等于17.就返回“True"),把这些指令发送到内核层过滤器,最后激活代码。内核层过滤器必要可以执行这些指令;此外,它需要一种“BPF虚拟机”来执行伪代码从而对所有到来包进行操作。这个核心层和BPF兼容过滤器是Winpcap获得良好性能核心。NPF不同于BPF一种重要构造差别就是选取了一种环形缓冲区作为核心缓冲区.这有助于数据包快复制。但这种机制更难于管理。由于复制数据不再有固定大小Libpcap中,顾客缓冲区和核心缓冲区都是32K。当数据从内核缓冲区传送到顾客缓冲区时,相似数量包被复制到内核缓冲区中。它们是同步更新,而不是在之后。由于内核某些较之缓冲区传送有更高优先级,能独占CPU时,故复制过程从顾客层开始能释放掉缓冲区已传送某些。环形缓冲区容许所有容量来存储数据包,前面谈到一对BPF互换缓冲区只能用一半容量。整个缓冲区可以用一条简朴Read指令读取,必定减少了系统调用和在顾客、内核模式之间上下文切换次数。由于一次上下文切换需要保护现场仅CPU描述符和任务状态段开销就接近数百个字节,大批传送会减少进程开销。但是一种太大顾客缓冲区不会带来任何好处。当可分派内存太大时,上下文切换开销反而可忽视不计了。Winpcap核心缓冲区比BPF大,普通为1M。一种小缓冲区会影响捕获进程。特别在一段时间里应用进程读取数据速度不如捕获进程,并且数据要被传送到磁盘,网络流量在激增。内核缓冲区和顾客缓冲区都能在运营时间里变化。数据解析模块在本模块设计中,重要涉及了三方面知识:windows网络体系构造、TCP/IP合同,数据封装和分用过程。TCP/IP参照模型与ISOInternationalStandardsOrganizationOSIOpenSystemsInterconnectionReferenceModel参照模型相比,要简朴实用得多,也是当前广泛使用网络参照模型。在TCP/IP参照模型中没有明确数据链路层和物理层,而是将它们合为较为抽象“网络设备互连”作为硬件基本,随主机和网络不同而不同。这种模型应用范畴较广,既可用于广域网.也可用于局域网。TCP/IP合同族,有诸多合同。当应用程序用TCP传送数据是,数据被送入合同栈中,然后逐个通过每一层直到被当作一串比特流送入网络。然后逐个通过每一层直到被当作一串比特流送入网络。其中每一层对收到数据都要增长某些首部信息(有时还要增长尾部信息)。TCP传给IP数据单元称作TCP报文段或简称为TCP段(TCPsegment)。IP传给网络接口层数据单元称作IP数据报。通过以太网传播比特流称作帧Frame。这就是普通说数据封装过程。当目主机收到一种以太网数据帧时,数据就开始从合同栈中由底向上升,同步去掉各层合同加上报文首部。每层合同盒都要去检查报文首部中合同标记,以拟定接受数据上层合同。这个过程称作分用(Demultiplexing)。IP是TCP/IP合同族中最为核心合同。所有TCP、UDP、ICMP及IGMP数据都以IP数据报格式传播。IP提供不可靠、无连接数据报传送服务。IP各域含义如下:版本:当前IP合同版本号,本论文采用版本号为4;首部长度:以32bit为单位包头长度;服务类型:规定对本数据报解决方式,例如优先权等;总长:以Byte为单位整个IP数据报长度;标记:信源主机赋予每个IP数据报唯一标记符号,用于控制分片及其重组;标志和片偏移:同样用于控制分片及其重组;生存时间:设立本数据报最大生存时间,以秒为单位;合同:表达创立本IP数据报数据区数据高层合同类型,如TCP,UDP等;头标校验和:用于保证头标数据完整性;源IP地址和目IP地址:分别指发送本数据报主机IP地址和接受本数据报主机IP地址;选项:用于控制和测试,是IP数据报中可选某些,包括“源途径”、“途径记录”、“时间戳”等几种类型。TCP合同是网络中应用最为广泛合同,许多应用层合同都是在建立在TCP合同之上。TCP合同头部信息如下:源端口:发送端TCP端标语;目端口:接受端TCP端标语;序号:指出段中数据在发送端数据流中位置;确认号:指出本机但愿下一种接受字节序号;头标长度:以32bit为单位段头标长度,针对变长“选项”域设计;码位:指出段目与内容,不同各码位置位有不同含义;窗口:用于告示接受端接受缓冲区大小;校验和:这是可选域,置0表达未选,全1表达校验和为伍;紧急指针:当码位URG置位时,指出紧急指针序号;UDP合同是英文UserDatagramProtocol缩写,即顾客数据报合同,重要用来支持那些需要在计算机之间传播数据网络应用。涉及网络视频会议系统在内众多客户/服务器模式网络应用都需要使用UDP合同。UDP合同从问世至今已经被使用了诸近年,虽然其最初光彩已经被某些类似合同所掩盖,但是虽然是在今天,UDP依然不失为一项非常实用和可行网络传播层合同。UDP数据报各域意义与TCP段中相应域相似。只有校验和有些不同,除UDP数据报自身外,它还覆盖一种附加“伪头标”。这个伪头标来自于IP报头,涉及:源IP地址、信宿IP地址、合同类型、UDP长度及填充域。数据分析模块本系统采用异常检测量化分析办法,把检测规则和属性以数值形式表达。在检测中,采用计数办法来描述顾客和系统行为某种属性,这些计数值只能在一定范畴内变化。例如:系统容许有限不成功注册次数、一种特定类型网络连接数、企图访问文献次数、访问文献或目录次数和访问网络系统次数。这个数值检测以一种相对固定期间间隔例如1小时来度量顾客行为。在本系统中,分析器对解析数据包计算每一种包异常值,一旦发现异常值越限,则以为发生了异常袭击,就将该包信息存入数据库中。异常值由顾客行为历史状况来决定。基本思想是,普通状况下,同一种顾客在一定期间内连接本机端口数较少,如果这个连接数突然增大,这个地址异常值就增高。应当说,这并不是网络人侵严格定义,它只是反映出被检测数据包“异常”限度。例如因网络问题而使来自同一种IP地址数据突然增多时,这种检测办法也许会以为对方有异常行为。分析成果记录用数据库记录异常数据包信息,用于后来分析与检查。报警解决模块将数据库中信息及时响应,拟定入侵类型并进行报警。个人入侵检测系统实现系统总体构造PIDS总体设计如图5:图5PIDS总体设计系统捕获网络中数据包,解码IP、TCP、UDP头部各字段信息,然后对解码后数据进行分析记录,并对其做出判断。系统将入侵信息记录入数据库,并通过告警窗口显示。数据包捕获模块实现PIDS数据包捕获是通过调用Winpcap中动态库函数实现。使用pcap_findalldevs函数获取网络设备链表。获取失败终结程序并打印出错误报告,成功就打印出所有网络设备信息以供选取。在选取好进入网络设备后,对该网络设备进行相应配备,然后使用pcap_loop函数捕获数据包。一方面获得网卡信息: /*返回网络设备链表,以供选取*/ ifpcap_findalldevs&alldevs,errbuf-1 fprintfstderr,"Errorinpcap_findalldevs:%s\n",errbuf;exit1; /*选取列表*/ fordalldevs;d;dd-next printf"%d.%s\n",++i,d-name;ifd-description printf"%s\n",d-description;else printf"Nodescriptionavailable\n"; ifi0 printf"\nNointerfacesfound!MakesureWinPcapisinstalled.\n";return-1; printf"Entertheinterfacenumber1-%d:",i; scanf"%d",&inum;接下来依照所选取数据进入该网卡: fordalldevs,i0;iinum-1;dd-next,i++;对选取网卡进行属性定义:adhandlepcap_open_lived-name, //网卡名字 65536, //65536表达对所有数据捕获 0, //网卡为混杂模式 1, //抓包时间间隔 errbuf //errorbuffer 设立过滤规则packet_filter[]"ip||udp";连接并设立过滤器:pcap_compileadhandle,&fcode,packet_filter,1,netmask;pcap_setfilteradhandle,&fcode;最后使用回调函数捕获并解析数据包: pcap_loopadhandle,0,packet_handler,NULL;解码数据包模块实现Winpcap捕获到数据包后,依照对packet_handler函数操作可以对IP、TCP、UDP合同各字段信息进行分析。数据构造如下:/*IPv4头*/typedefstructip_header u_char ver_ihl;//版本4bits+首部长度4bits u_char tos; //服务类型 u_shorttlen; //16位数据报长度(字节) u_shortidentification;/

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论