个人入侵检测系统的实现
摘 要 入侵检测系统(IDS)可以对系统或 网络 资源进行实时检测,及时发现闯入系统
或网络的入侵者,也可预防合法用户对资源的误操作。本论文从入侵检测的基本 理论 和
入侵检测中的关键技术出发,主要 研究 了一个简单的基于网络的 windows 平台上的个人入
侵检测系统的实现(PIDS,Personal Intrusion Detection System)。论文首先 分析 了当前网
络的安全现状,介绍了入侵检测技术的 历史 以及当前入侵检测系统的关键理论。分析了
Windows 的网络体系结构以及开发工具 Winpcap 的数据包捕获和过滤的结构。最后在
Winpcap 系统环境下实现本系统设计。本系统采用异常检测技术,通过 Winpcap 截取实时
数据包,同时从截获的 IP 包中提取出概述性事件信息并传送给入侵检测模块,采用量化
分析的 方法 对信息进行分析。系统在实际测试中表明对于具有量化特性的网络入侵具有
较好的检测能力。最后归纳出系统现阶段存在的 问题 和改进意见,并根据系统的功能提出
了后续开发方向。 关键词:网络安全;入侵检测;数据包捕获;PIDS 网络安全概述
网络安全问题的产生 可以从不同角度对网络安全作出不同的解释。一般意义上,网
络安全是指信息安全和控制安全两部分。国际标准化组织把信息安全定义为“信息的完整
性、可用性、保密性和可靠性”;控制安全则指身份认证、不可否认性、授权和访问控制
。 互联网与生俱有的开放性、交互性和分散性特征使人类所憧憬的信息共享、开放、灵
活和快速等需求得到满足。网络环境为信息共享、信息交流、信息服务创造了理想空间,
网络技术的迅速 发展 和广泛 应用 ,为人类 社会 的进步提供了巨大推动力。然而,正是
由于互联网的上述特性,产生了许多安全问题: (1)信息泄漏、信息污染、信息不易受控
。例如,资源未授权侵用、未授权信息流出现、系统拒绝信息流和系统否认等,这些都是
信息安全的技术难点。 (2)在网络环境中,一些组织或个人出于某种特殊目的,进行信息
泄密、信息破坏、信息侵权和意识形态的信息渗透,甚至通过网络进行 政治 颠覆等活动
,使国家利益、社会公共利益和各类主体的合法权益受到威胁。 (3)网络运用的趋势是全
社会广泛参与,随之而来的是控制权分散的管理问题。由于人们利益、目标、价值的分歧
,使信息资源的保护和管理出现脱节和真空,从而使信息安全问题变得广泛而复杂。 (4)
随着社会重要基础设施的高度信息化,社会的“命脉”和核心控制系统有可能面临更大的威
胁。 网络信息系统面临的安全威胁 目前 网络信息系统面临的安全威胁主要有: (1)
非法使用服务:这种攻击的目的在于非法利用网络的能力,网络上的非授权访问应该是不
可能的。不幸的是,用于在网络上共享资源及信息的工具、程序存在许多安全漏洞,而利
用了这些漏洞就可以对系统进行访问了。 (2)身份冒充;这种攻击的着眼点在于网络中的信
任关系,主要有地址伪装 IP 欺骗和用户名假冒。 (3)数据窃取:指所保护的重要数据被非法
用户所获取,如入侵者利用电磁波辐射或搭线窃听等方式截获用户口令、帐号等重要敏感
信息。 (4)破坏数据完整性:指通过非法手段窃得系统一定使用权限,并删除、修改、伪造
某些重要信息,以干扰用户的正常使用或便于入侵者的进一步攻击。 对网络个人主
机的攻击 对方首先通过扫描来查找可以入侵的机器,即漏洞探测;接着确定该机器的 IP
地址;然后利用相应的攻击工具发起某种攻击。 网络嗅探,嗅探器是一种网络监听工具
(如:sniffer),该工具利用 计算 机网络接口可以截获其他计算机的数据信息。嗅探器
工作在网络环境的底层,它会拦截所有正在网络上传送的数据,并且通过相应的软件实时
分析这些数据的 内容 ,进而明确所处的网络状态和整体布局。在合理的网络中,嗅探器
对系统管理员而言至关重要,通过嗅探器可以监视数据流动情况以及网络传输的信息,从
而为管理员判断网络问题、管理网络提供宝贵的信息。然而,如果黑客使用嗅探器,他可
以获得和系统管理员同样重要而敏感的信息,(如:在某局域网上,嗅探器可以很轻松地
截获在网上传送的用户姓名、口令、信用卡号码和帐号等)从而对网络安全构成威胁。其
工作原理是:在一个共享介质的网络中(如以太网),一个网段上的所有网络接口均能访问
介质上传输的所有数据。每个网络接口的硬件地址与其他网络接口的硬件地址不同,同时
每个网络至少还有一个广播地址。广播地址并不对应于某个具体的网络接口,而是代表所
有网络接口。当用户发送数据时,这些数据就会发送到局域网上所有可用的机器。在一般
情况下,网络上所有的机器都可以“听”到通过的流量,但对不属于自己的数据的硬件地址
不予响应。换句话说,工作站 A 不会捕获属于工作站 B 的数据,而是简单地忽略这些数据
。当发送者希望引起网络中所有主机操作系统的注意时,他就使用“广播地址”。因此,在
正常情况下,一个合法的网络接口应该只响应这样两种数据帧:一是帧的目标区域具有和
本地网络接口相匹配的硬件地址,二是帧的目标区域具有“广播地址”。在接收到上面两种
情况的数据帧时,主机通过 CPU 产生硬件中断,该中断能引起操作系统注意,然后将帧
中所包含的数据传送给系统作进一步处理。而嗅探器就是一种能将本地计算机状态设成“
混杂(Promiscuous)”状态的软件,当本机处于这种方式时,该机具备“广播地址”,它对所有
遭遇到的每一个帧都产生硬件中断以便提醒操作系统处理流经该网段的每一报文包。在该
方式下,网络接口就可以捕获网络上所有数据帧,从而可以达到监听的目的
拒绝服务攻击(Denial of Service,简称 DoS),是指占据大量的共享资源(如:处理器、
磁盘空间、CPU、打印机),使系统没有剩余的资源给其他用户,从而使服务请求被拒绝
,造成系统运行迟缓或瘫痪。其攻击目的是为完成其他攻击做准备。其攻击原理是:在拒
绝服务攻击中,恶意用户向服务器传送众多要求确认的信息,使服务器里充斥着这种无用
的信息。所有这些请求的地址都是虚假的,以至于服务器试图回传时,却无法找到用户。
服务器于是暂时等候,有时超过一分钟,然后再切断连接。服务器切断连接后,攻击者又
发送新一批虚假请求,该过程周而复始,最终使网站服务器充斥大量要求回复的信息,消
耗 网络 带宽或系统资源,导致网络或系统不胜负荷以至于瘫痪而停止提供正常的网络服
务。典型的 DOS 攻击技术,如 TCP/SYN 攻击,该攻击作为一种拒绝服务攻击存在的时间
己经有 20 多年了。但是,随着技术的不断进步,SYN 攻击也不断被更多黑客所了解并利
用。其原理是基于连接时的三次握手,如果黑客机器发出的包的源地址是一个虚假的 IP
地址,ISP 主机发出的确认请求包 ACK/SYN 就找不到目标地址,如果这个确认包一直没
找到目标地址,那么也就是目标主机无法获得对方回复的 ACK 包。而在缺省超时的时间
范围内,主机的一部分资源要花在等待这个 ACK 包的响应上,假如短时间内主机接到大
量来自虚假 IP 地址的 SYN 包,它就要占有大量的资源来处理这些错误的等待,最后的结
果就是系统资源耗尽以致瘫痪。特洛伊木马来源于希腊神话,讲述的是通过木马血屠特洛
伊城的故事。这一故事形象地说明了木马程序的特点。在 计算 机安全学中,特洛伊木马
指的是一种计算机程序,它表面上具有某种有用的功能,实际上却隐藏着可以控制用户计
算机系统,危害系统安全的破坏性指令,特洛伊木马代表了一种程度较高的危险。当这种
程序进入系统后,便有可能给系统带来危害。在特洛伊木马程序中插入的代码在别的程序
中依然能存在,但只在藏身的程序中进行破坏性活动。代码能够在主程序的特权范围内从
事任何破坏行为,使用自身或者其他程序进行操作。其工作原理实质是,特洛伊木马只是
一个网络客户/服务程序。网络客户/服务模式的原理是一台主机(服务器)提供服务,另一
台主机(客户机)接受服务。作为服务器的主机一般会打开一个默认的端口并进行监听,如
果有客户机向服务器这一端口提出连接请求,服务器上的相应程序就会自动运行,来应答
客户机的请求,此程序称为守护进程。对于木马来说,被控制端是一台服务器,控制端则
是一台客户机。黑客经常用欺骗手段引诱目标对象运行服务器端程序,黑客一旦成功地侵
入了用户的计算机后,就会在计算机系统中隐藏一个会在 Windows 启动时悄悄运行的程
序,采用服务器/客户机的运行方式,从而达到在用户上网时控制用户计算机的目的