一种基于文件计算机网络行为数据检测系统的设计_第1页
一种基于文件计算机网络行为数据检测系统的设计_第2页
一种基于文件计算机网络行为数据检测系统的设计_第3页
一种基于文件计算机网络行为数据检测系统的设计_第4页
一种基于文件计算机网络行为数据检测系统的设计_第5页
全文预览已结束

付费下载

下载本文档

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

文档简介

一种基于文件计算机网络行为数据检测系统的设计

0恶意程序在网络上的应用随着计算机网络技术的发展和互联网应用的普及,网络安全问题不仅与重要信息系统部门密切相关,而且与普通网络用户密切相关。恶意程序(如后门、木马等)不仅可以窃取用户的重要信息,而且可以对用户计算机进行强行控制,破坏计算机的硬盘数据,甚至被不法分子作为犯罪工具,给用户造成巨大的经济损失,影响社会安定。据国家互联网应急中心(CNCERT/CC)监测数据显示,恶意程序逐年在数量上呈几何级数增长。因此,基于文件网络通信行为检测十分重要,不仅可以掌握其通信规律,而且可以根据其通信行为判定其危险等级,从而发现一些恶意程序,避免进一步给计算机用户造成损失。1网络邮件拦截原理1.1spi接口驱动网络驱动Winsock是一种标准API,主要用于网络中的数据通信,它允许两个或多个应用程序在同一台机器或通过网络相互通信。Winsock通信使用套接字概念,Socket和WSASocket两个函数用于创建套接字。Winsock2是WindowsSockets的2.0版本,在该版本中引入了一种新的编程接口叫作服务提供者接口(ServiceProviderInterface,SPI)。SPI是对WinsockAPI的补充,它是一项对应用程序的服务,而非应用程序。利用这种技术可以在Socket中插入一层,插入自己的DLL程序,整个替换掉原有系统的程序NDIS(NetworkDriverInterfaceSpecification)为网络驱动的开发提供了一套标准的接口,对网络驱动程序抽象了网络的硬件实现。其中,NDISHook驱动程序的逻辑实现和NDIS中间层驱动程序一样,但具体实现不同,它是为了降低编写驱动程序难度的一种技术方法。NDISHook驱动程序使用“钩子”来截获由WindowsNDIS提供的服务,可以挂接NDIS所提供的所有服务1.2适用于ndis的技术方法除了SPI技术和NDISHook技术,还有很多数据包截获技术,比如NDIS中间层驱动、WinPcap技术等。这些技术或多或少地存在着某些缺陷,如果能够将其中的两种或多种技术结合起来实现数据包的截获,可以取长补短,更好地完成网络通信数据的采集2系统的设计和实现2.1信信息的变化不管采用哪种隐蔽技术的恶意程序,只要其进行网络通信,就会造成系统网络通信信息的变化,比如:流量增大、打开新的通信端口、新增加通信进程等。以恶意程序在网络通信阶段引起的系统变化为切入点,以恶意程序导致的系统前后差异特征来判断被检测程序是否是恶意程序,这就是差异对比法检测恶意程序的基本原理。2.2基于网络管理的程序危险等级判定利用差异对比法的思想,首先将计算机中原始通信数据保存在一个表中,接下来启动被检测程序,此时的通信数据可能发生变化,称为总的通信数据。总的通信数据与原始通信数据的差异就是被检测程序启动后引起的计算机系统网络通信数据的变化,称为网络通信异动数据。最后按照自定义的判定规则,对异动数据进行判定,就可以得到基于网络通信行为的被检测程序危险等级。检测模型如图1所示。对网络通信差量数据还需进一步判断,才能得到被检测程序危险等级。判定规则是依据恶意程序网络通信阶段的各种隐藏特性1)进行网络通信的进程名与系统进程名相同,但其路径不在system32目录下,等级为高。2)进行网络通信的进程名与系统进程名相似,等级为高。3)进程运行时自动发送电子邮件,等级为高。4)进程通信时只发SYN包而不接收,等级为高。5)进程使用常见漏洞端口通信,等级为中。6)进程打开一个通信端口并对端口进行监听,等级为中。7)进程使用ICMP协议进行通信,等级为中。8)进程主动向外进行连接,等级为中。规则1)、2)是基于恶意程序的进程隐藏原理进行检测,规则3)基于恶意程序传输信息的方式进行检测,规则4)基于SYN攻击原理进行检测,规则5)~7)基于通信端口特性进行检测2.3基于ndishool的子研究系统优化从功能上,系统分为三个模块:应用程序模块、SPI模块和NDISHook模块。它们之间的相互联系如图2所示。SPI模块利用SPI技术在应用层抓包,然后对截获的数据包按照数据包结构进行解析处理,并将解析好的通信信息放置在内存缓冲区。NDISHook模块则利用网络驱动程序,在网络层截获数据包并进行解析,然后将解析好的通信信息放置在另一内存缓冲区中。应用程序模块首先从两个缓冲区中读出通信信息,然后根据时序求出异动数据,并判定被检测程序的危险等级。另外,SPI模块还要通知NDISHook模块增加或删除通信端口,以防止重复截获相同的网络数据包。2.42.4.1核心态下网络层的确定在网络通信中,进程是通信的主体,截获的数据包将隶属于某个进程。因此,在截获数据包的同时必须获取相应的进程信息。在应用态使用GetModuleFileName函数就可以得到进程信息,比较容易实现,但在核心态下的网络层得到进程信息则比较困难。在核心态下,可以利用PsGetCurrentProcess得到进程信息结构PEPROCESS,但是必须先判断当前的中断请求级别(InterruptRequestLevel,IRQL),只有IRQL=PASSIVE_LEVEL才可调用该API,否则将出现蓝屏死机故障。对于不满足IRQL条件时,采取的策略是利用与IRQL无关的PsGetCurrentProcessId函数先得到进程ID,将进程ID送到应用程序模块后再通过进程ID去寻找进程名和路径信息。2.4.2获得域名信息1ndis网络封包由于在应用态获取域名信息要容易一些,这里主要讨论NDISHook模块中获取域名信息的方法。在NDIS接口中,网络封包结构使用NDIS_PACKET来表示。通过查看DDK对该结构的定义可知,NDIS_PACKET中存在一个NDIS_BUFFER结构的链表,封包数据就是用NDIS_BUFFER表示的。NDIS_BUFFER结构中的VirtualAddress表示封包的缓冲区指针,Length表示VirtualAddress的长度,Next表示下一个封包缓冲区指针,这些封包缓冲区的数据加起来就是一个完整的网络封包。NDIS在分包时也有一定的规律,每一个NDIS_BUFFER里通常保证是一个或几个完整的协议头部。例如:Windows2000Professional系统中NDIS_PACKET结构的第一个NDIS_BUFFER保存着EthernetHeader、IPHeader和TCPHeader(UDPHeader或ICMPHeader),接着就是封包数据。值得注意的是,不同操作系统下NDIS分包规律不一样,要正确解析网络封包就必须先判断操作系统的类型。图3为包含域名信息的网络层UDP包的结构示意图。由图可知,要解析出UDP包中的域名信息,需要先得到该UDP包各个NDIS_BUFFER缓冲区的首地址,然后分析其内部结构,计算域名偏移地址,从而得到域名信息。2密钥代码根据NDIS_PACKET分包特点以及包含DNS报文的UDP包结构,实现域名信息解析功能的主要代码如下:2.4.3对计算机硬件驱动函数的调用IRQL是一个由Windows虚拟出来的概念,划分在Windows系统下中断的优先级。处理器在一个IRQL上执行线程代码,在同一处理器上,线程只能被更高级别IRQL的线程中断。每个由NDIS调用的驱动程序函数都运行在操作系统决定的IRQL下,IRQL常常取值为PASSIVE_LEVEL、DISPATCH_LEVEL或者DIRQL。驱动编程时不允许在高IRQL条件下调用低IRQL的API函数。例如,接收数据时调用的入口点函数ProtocolReceive要求的IRQL为DISPATCH_LEVEL,而处理数据时调用的计算机硬件驱动函数往往要求运行在IRQL为PASSIVE_LEVEL的级别上。于是,如果在函数ProtocolReceive里调用计算机硬件驱动函数,就会引起蓝屏死机现象。正确的做法是先判断当前的IRQL是否满足函数的调用条件后再进行调用。3实验与结果分析3.1系统破坏测试在Windows2000操作系统下,分别实现了检测系统的三个模块。由于检测过程中被检测程序可能对计算机系统造成破坏,测试工作是在虚拟机环境下进行的,虚拟机选择的是目前使用最多的VMWareWorksation6.0。检测系统运行后,首先得到的是计算机系统的原始通信信息,接着选择被检测程序并启动被检测程序,此时得到的为总的通信信息,通过差异对比可以得到通信的异动数据,如图4所示。3.2可疑程序检测结果分析为了验证检测系统的检测率,选择了两类测试样本:一类是恶意程序样本;另一类是正常程序样本。测试结果的统计信息如表1、2所示。表1中的测试结果说明,本系统通过网络通信行为途径对可疑程序进行检测的漏报率和误报率较低、并且具有比较高的检测精度。表2中的数据为三个检测系统的对比测试数据。与本系统进行对比测试的工具软件选择了两款,一个是NAI公司的Sniffer软件,另一个是天网个人防火墙。通过表2对比发现:Sniffer软件能够对网络通信进行检测,但不能检测其进程信息,没有给出判定结果;天网个人防火墙既能检测网络通信,又能检测其进程信息,但同样没有给出判定结果;本系统在网络通信行为检测方面功能最多,除具有通信检测、进程信息检测、给出判定结果功能外,还具有域名信息检测和流量统计功能。4ndishoki网络检测在系统的测试过程中发现,SPI技术与NDISHook技术相结合的数据包截获方案达到了预期的效果,充分利用了SP

温馨提示

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

评论

0/150

提交评论