Anti_Rootkit技术

Anti_Rootkit技术

ID:40524759

大小:68.05 KB

页数:15页

时间:2019-08-04

Anti_Rootkit技术_第1页
Anti_Rootkit技术_第2页
Anti_Rootkit技术_第3页
Anti_Rootkit技术_第4页
Anti_Rootkit技术_第5页
资源描述:

《Anti_Rootkit技术》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、概述当今rootkit技术被广泛应用于恶意软件的开发中,恶意软件利用此技术来做一些应用程序做不到的事情,如文件的隐藏,注册表键值的隐藏,对抗防护软件等。于是对于rootkit程序的检测与清除技术(anti-rootkit(以下简称ark))得以发展。作为rootkit技术的天敌,ARK技术具有与其对手一样的特性。但是ark作为一种检测技术有着比起对手更宽裕的时间来占领内核制高点。ARK基础知识概述(1)WDM内核模块开发WDM(windowsdrivermodel)技术为windowsNT系列操

2、作系统的内核扩展模块开发模型,,windowsNT系列系统包括windowsNT,windows2000,windowsXP与windowsvista,windows7WDM模型主要采用分层的方法,模仿面向对象的技术,按照微软一贯的思路,先进行逻辑上的“分层”,然后将标准的实现和低层细节“封装”起来,形成“基类”,客户程序通过“继承”的方式来扩展“基类”的功能,完成所需要的实现。在微软的技术文献中,称WindowsNT和Windows2000为“基于对象”(object-based)的系统,和操

3、作系统一样,WDM驱动程序模型也是“基于对象”的系统程序。WDM使用了分层的驱动程序结构,而且WDM是基于对象的。为了便于对硬件的管理,WDM里对每一个单一的硬件引入了一些数据结构,部分描述了一个DEVICE_OBJECT数据结构栈。在数据结构栈中最低层的是物理设备对象(PhysicalDeviceObject),用于描述我们的设备与物理总线的关系,简称为PDO。在PDO的上面,有功能设备对象(FunctiondeviceObject),用来描述设备的逻辑功能,简称为FDO。在数据结构栈的其他位

4、置,FDO的上面或下面,有许多的过滤设备对象(FilterDeviceObjects),简称为FiDO。在数据结构栈中的每一个对象都属于一个特定的驱动程序,如图3中间的虚线所指示的,PDO属于总线驱动程序,FDO属于功能驱动程序,FiDO属于过滤驱动程序。WDM式驱动有许多特定的数据结构,限于篇幅,仅介绍其中最重要的三个DriverObject结构:typedefstruct  {  PDEVICE_OBJECTDeviceObject;  PUNICODE_STRINGHardwareData

5、base;  PFAST_IO_DISPATCHFastIoDispatch;  PDRIVER_INITIALIZEDriverInit;  PDRIVER_STARTIODriverStartIo;  PDRIVER_UNLOADDriverUnload;  PDRIVER_DISPATCHMajorFunction[IRP_MJ_NUM+1];  }DRIVER_OBJECT,*PDRIVER_OBJECT;结构体成员:  DeviceObject:  指向驱动程序创建的设备对象.这个驱动

6、程序调用IoCreateDevice的时候会自动赋予正确的设备对象指针.  HardwareDatabase:  指向一个字符串.这个字符串是一个注册表路径,这个注册表路径位于的HKEY_LOCAL_MACHINEHardware.  FastIoDispatch:指向这个驱动程序的FastIO入口点定义的一个结构.这个成员只能通过FSDs和网络传输驱动来使用.DriverInit指向DriverEntry函数的,这是通过IO管理器来建立的.DriverStartIo指向驱动程序的StartI

7、o函数,这是在驱动程序初始化的时候通过DriverEntry来设置的.如果一个驱动程序没有StartIo函数,这个成员将是NULL.DriverUnload指向驱动程序卸载函数入口点.在驱动程序初始化的时候通过DriverEntry来设置,如果驱动程序没有卸载函数,这个成员将是NULL.MajorFunction[IRP_MJ_NUM+1]指向驱动程序的DispatchXXX函数指针的数组.每个驱动程序至少要设置一个DispatchXXX函数指针在这个数组里来处理这个驱动程序IRP请求包.任何一

8、个驱动程序可以设置和IRP_MJ_XXX代码一样多的DispatchXXX来处理IRP请求包.每个DispatchXXX结构DeviceObject结构:typedefstruct_DEVICE_OBJECT{CSHORTType;USHORTSize;LONGReferenceCount;struct_DRIVER_OBJECT*DriverObject;struct_DEVICE_OBJECT*NextDevice;struct_DEVICE_OBJECT*AttachedDevice;st

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。