个人入侵检测系统的实现(有源程序代码)(3)

2020-04-14 01:03

按照信息源分类是目前最通用的划分方法,它分为基于主机的IDS、基于网络的IDS和分布式IDS。基于主机的IDS通过分析来自单个的计算机系统的系统审计踪迹和系统日志来检测攻击。基于主机的IDS是在关键的网段或交换部位通过捕获并分析网络数据包来检测攻击。分布式IDS,能够同时分析来自主机系统日志和网络数据流,系统由多个部件组成,采用分布式结构。

按照分析方法分类

按照分析方法IDS划分为滥用检测型IDS和异常检测型IDS。滥用检测型的IDS中,首先建立一个对过去各种入侵方法和系统缺陷知识的数据库,当收集到的信息与库中的原型相符合时则报警。任何不符合特定条件的活动将会被认为合法,因此这样的系统虚警率很低。异常检测型IDS是建立在如下假设的基础之上的,即任何一种入侵行为都能由于其偏离正常或者所期望的系统和用户活动规律而被检测出来。所以它需要一个记录合法活动的数据库,由于库的有限性使得虚警率比较高。

按照响应方式分类

按照响应方式IDS划分为主动响应IDS和被动响应IDS。当特定的入侵被检测到时,主动IDS会采用以下三种响应:收集辅助信息;改变环境以堵住导致入侵发生的漏洞;对攻击者采取行动(这是一种不被推荐的做法,因为行为有点过激)。被动响应IDS则是将信息提供给系统用户,依靠管理员在这一信息的基础上采取进一步的行动。

入侵检测模型

美国斯坦福国际研究所(SRI)的//.ning于1986年首次提出一种入侵检测模型,该模型的检测方法就是建立用户正常行为的描述模型,并以此同当前用

户活动的审计记录进行比较,如果有较大偏差,则表示有异常活动发生。这是一种基于统计的检测方法。随着技术的发展,后来人们又提出了基于规则的检测方法。结合这两种方法的优点,人们设计出很多入侵检测的模型。通用入侵检测构架(Common Intrusion Detection Framework简称CIDF)组织,试图将现有的入侵检测系统标准化,CIDF阐述了一个入侵检测系统的通用模型(一般称为CIDF模型,如图1所示)。它将一个入侵检测系统分为以下四个组件:

事件产生器(event generators),用e盒表示; 事件分析器(event analyzers),用a盒表示; 响应单元(responseunits),用r盒表示; 事件数据库(event databases),用d盒表

它将需要分析的数据通称为事件,事件可以是基于网络的数据包也可以是基于主机的系统日志中的信息。事件产生器的目的是从整个计算机环境中获得事件,并向系统其它部分提供此事件。事件分析器分析得到的事件并产生分析结果。响应单元则是对分析结果做出反应的功能单元,它可以做出切断连接、修改文件属性等强烈反应。事件数据库是存放各种中间和最终数据的地方的通称,它可以是复杂的数据库也可以是简单的文本文件。

图1 CIDF入侵检测模型 入侵检测过程分析

过程分为三部分:信息收集、信息分析和结果处理。

1信息收集:入侵检测的第一步是信息收集,收集内容包括系统、网络、数据及用户活动的状态和行为。由放置在不同网段的传感器或不同主机的代理来收集信息,包括系统和网络日志文件、网络流量、非正常的目录和文件改变、非

正常的程序执行。

2信息分析:收集到的有关系统、网络、数据及用户活动的状态和行为等信息,被送到检测引擎,检测引擎驻留在传感器中,一般通过三种技术手段进行分析:模式匹配、统计分析和完整性分析。当检测到某种误用模式时,产生一个告警并发送给控制台。

3结果处理:控制台按照告警产生预先定义的响应采取相应措施,可以是重新配置路由器或防火墙、终止进程、切断连接、改变文件属性,也可以只是简单的告警。

入侵检测的发展历史

1980年James P Anderson在给一个保密客户写的一份题为《计算机安全威胁监控与监视》的技术报告中指出,审计记录可以用于识别计算机误用,他把威胁进行了分类,第一次详细阐述了入侵检测的概念。1984年到1986年乔治敦大学的Dorothy Denning和SRI公司计算机科学实验室的Peter Neumann研究出了一个实时入侵检测系统模型? IDES Intrusion Detection Expert Systems入侵检测专家系统,是第一个在一个应用中运用了统计和基于规则两种技术的系统,是入侵检测研究中最有影响的一个系统。1989年,加州大学戴维斯分校的Todd Heberlein写了一篇论文《A Network Security Monitor》,该监控器用于捕获TCP/IP分组,第一次直接将网络流作为审计数据来源,因而可以在不将审计数据转换成统一格式的情况下监控异种主机,网络入侵检测从此诞生。

个人入侵检测系统的定义

个人入侵检测系统(PIDS),以网络数据包作为分析数据源,采用异常检测分析方法。它只分析处理与个人主机有关的IP数据包,它保护的是个人主机系

统。

系统研究的意义和方法

综上,当个人用户接入Internet时,个人机的安全就将面临着攻击威胁。因此,个人用户的重要数据、机密文件等需要安全保护。静态的防御措施,如个人防火墙等,已不能满足个人用户的需求,个人用户需要一个更全面的个人安全防范体系。如果把入侵检测技术应用到个人机的安全防范中,它将与个人防火墙一起为个人用户提供一个更安全的动态防范体系。

本文阐述的就是在Windows下实现个人入侵检测系统PIDS。本系统采用基于网络的异常检测方法的入侵检测技术,使用量化分析的方法来检测用户的行为。在总结出的正常行为规律的基础上,检查入侵和滥用行为特征与其之间的差异,以此来判断是否有入侵行为。

个人入侵检测系统的设计 数据包捕获模块

网络入侵检测系统要分析的对象是网络中的数据包。所以我们就需要对流经网络的数据包捕获并加以分析,这样才能得到实现入侵检测的功能。对于不同的操作系统有许多不同的数据包捕获方法。在本系统中,采用了windows下的 Winpcap网络驱动开发包,它是Windows平台下的一个免费、公共的网络驱动开发包。开发Winpcap这个项目的目的在于为Win32应用程序提供访问网络底层的能力。它提供了以下的各项功能:

1、捕获原始数据报,包括在共享网络上各主机发送/接收的以及相互之间交换的数据报

2、在数据报发往应用程序之前,按照自定义的规则将某些特殊的数据报过滤掉

3、在网络上发送原始的数据报 4、收集网络通信过程中的统计信息

Winpcap由三个模块构成:NPF, packet.dll, wpcap.dll。前一个工作在内核层,后两个工作在用户层。第一个模块是内核部分NPF Netgroup Packet Filter,在Win95/98中它是一个VXD(虚拟设备驱动程序文件)文件,在WinNT/Win2000下是一个SYS文件。它的主要功能是过滤数据包,并把这些数据包原封不动地传给用户态模块。当然也添加了一些系统特定的标志比如时间戳管理。这个过程中包括了一些操作系统特有的代码。第二个模packet.dll用来在不同的Win32平台下提供一个通用的公共的包驱动接口。事实上,不同版本的Windows平台在内核层模块和用户进程之间的接口不完全相同,packet.dll用于解决这些不同。提供了一套系统独立的API,调用packet.dll的程序能够运行在不同版本的Windows平台上而无需重新编译。packet.dll还有一些附加的功能。它可执行一些低层操作:如:获得网卡名字,动态装载驱动,得到比如机器的网络掩码、硬件冲突等一些系统特定的信息。Packet.dll和NPF都是系统相关的,在Win95/98和WinNT/2000等不同系统架构Packet.dll会相应有些变化。第三个模块wpcap.dll是系统无关的,它提供了更高层、抽象的函数。它包括了一些比如过滤器生成、用户级缓冲等其它的高层函数,增加了比如统计和包发送等更高级的特性。因此程序员能处理两种类型的API:一套原始函数集,包含在packet.dll中,直接与内核层调用匹配;另一套高层函数由wpcap.dll提供,便于用户调用,功能更强大。程序员能随意使用wpcap.dll,但只能在受限的环境中直


个人入侵检测系统的实现(有源程序代码)(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2012年《马克思主义基本原理概论》章节练习题及答案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: