windowsxx 内核级进程隐藏、侦测技术

windowsxx 内核级进程隐藏、侦测技术

ID:11712835

大小:56.61 KB

页数:56页

时间:2018-07-13

windowsxx 内核级进程隐藏、侦测技术_第1页
windowsxx 内核级进程隐藏、侦测技术_第2页
windowsxx 内核级进程隐藏、侦测技术_第3页
windowsxx 内核级进程隐藏、侦测技术_第4页
windowsxx 内核级进程隐藏、侦测技术_第5页
资源描述:

《windowsxx 内核级进程隐藏、侦测技术》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、WindowsXX内核级进程隐藏、侦测技术论文关键字: 内核拦截活动进程链表系统服务派遣表线程调度链 驱动程序简介  论文摘要:信息对抗是目前计算机发展的一个重要的方向,为了更好的防御,必须去深入的了解敌人进攻的招式。信息对抗促使信息技术飞速的发展。下面我选取了信息对抗技术的中一个很小一角关于windows内核级病毒隐藏技术和反病毒侦测技术作为议题详细讨论。 1.为什么选驱动程序 驱动程序是运行在系统信任的Ring0环境下在代码,她拥有对系统任何∷软件和硬件的访问权限。这意味着内核驱亘动可以访问所有的系统资源,可以读取所今

2、有的内存空间,而且也被允许执行CPU的特权指令,如,读取CPU控制寄存器阖的当前值等。而处于用户模式下的程序如朴果试图从内核空间中读取一个字节或者试埘图执行像MOV EAX,CR3这样的孪汇编指令都会被立即终止掉。不过,这种苎强大的底线是驱动程序的一个很小的错误顷就会让整个系统崩溃。所以对隐藏和反隐莱藏技术来说都提供了一个极好的环境。但鲍是又对攻击者和反查杀者提出了更高的技运术要求。 2.入口例程Driver剩Entry 56/56DriverEntryξ是内核模式驱动程序主入口点常用的名字,她的作用和main,Win

3、Main摒,是一样的。 extern "C"捩 NTSTATUS DriverEn饱try(IN PDRIVER_OBJ盍ECT DriverObject, 毙IN PUNICODE_STRING蛱 RegistryPath){..阌.}DriverEntry的第一个水参数是一个指针,指向一个刚被初始化的鲕驱动程序对象,该对象就代表你的驱动程杰序,DriverEntry的第二个参黹数是设备服务键的键名。DriverE鸢ntry函数返回一个NTSTATUS值。NTSTATUS实际就是一个长整ㄧ型,但你应该使用NTSTATU

4、S定义蜥该函数的返回值而不是LONG,这样代∨码的可读性会更好。大部分内核模式支持顸例程都返回NTSTATUS状态代码,授你可以在DDK头文件中找到NTSTA绗TUS的代码列表。 DriverE左ntry的作用主要就是创建设备对象,谊建立设备对象的符号链接,设置好各个类硖型的回调函数等。 例如: extnern "C" NTSTATUS DriverEntry(IN PDRIVER_OBJECT Driver扰56/56Object, IN PUNICOD摧E_STRING RegistryP疽ath) {  Drive

5、rOb流ject->DriverUnload┎ = DriverUnload;Dr仔iverExtension->Add赈Device = AddDevice銮;  DriverObject->肮DriverStartIo = St鳞artIo;  DriverObj蛤ect->MajorFunctionㄜ[IRP_MJ_PNP] = DisSpatchPnp;MajorFunc鳅tion[IRP_MJ_POWER]鲂 = DispatchPower;  DriverObject->Maj葛orFunction[IRP_M

6、J_蹯SYSTEM_CONTROL] = 笥DispatchWmi;  ...∏ } 在WDM中通过设置AddDるevice回调函数来创建设备对象。在撵NT驱动中在DriverEntry例恬程中创建设备对象和符号链接。 例如撺: RtlInitUnicodeS腌tring (&deviceNameUnicodeString, dev伏iceNameBuffer); //晕56/56初始化设备名字//创建设备 nt遍Status = IoCreateD御evice (DriverObjec遏t,   0, &deviceN

7、龟ameUnicodeString, ##DevicEid, 0, F佻ALSE, &deviceObje辅ct ); if ( NT_SU鹅CCESS ( ntStatus )酷 )  { RtlInitUnic枇odeString (&device汹LinkUnicodeString, deviceLinkBuffer)谂; //初始化符号链接名字 //创里建符号链接ntStatus = I蒯oCreateSymbolicLin楗k (&deviceLinkUnic嗉odeString, &device隹NameUn

8、icodeString)穸;56/56if ( !NT_SUCCESS裸 ( ntStatus ) ) { IoDeleteDevice (de彪viceObject); //如果创协建符号链接失败,删除设备retur聂n ntStatus; } } 梏建立符号链接的作用就是暴露一个给应蜩用程序的接口,

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

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

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