驱动程序Windows 内核级进程隐藏侦测技术(综合其他范文)

chrome ie内核  时间:2021-01-25  阅读:()

封面

《Windows内核级进程隐藏侦测技术》

Word格式可编辑含目录

精心整理放心阅读欢迎下载

文档信息

文档编号 文-05D9XD自定义文件编号

文档名称 Windows内核级进程隐藏侦测技术.doc

文档格式 Word  *.doc 可编辑

文档字数 22839字 不统计页头页脚及版权声明等文字

作为综合其他科目 编写学士学位论文、本科毕业论文或文档适用 发表期刊、评初级职称的参考文献可作写作参考解决学术论文怎么写及格式等相关问题。

说明 文档仅供学习交流请勿商用。

Windows内核级进程隐藏侦测技术目录

1 .为什么选驱动程序

2.入口例程DriverEntry

4.派遣例程

5.驱动程序的安装

1 .调用OpeCManager()以获取一个管理器句柄

2.调用CreateService()来向系统中添加一个服务

3.调用StartService()来运行一个服务

4.调用CloseServiceHandle()来释放管理器或服. . .

1 .原理介绍:

3.对NtQuerySystemInformation返回的数据. . .

4.核心实现

1 .介绍EPROCESS块进程执行块

2.查看EPROCESS结构

3.什么是活动进程链表

4.进程枚举检测HookSSDT隐藏的进程

5.解决硬编码问题

d1a008046e460

6.删除活动进程链表实现进程隐藏

1 .什么是ETHREAD和KTHREAD块

2.线程调度

3.通过线程调度链表进行隐藏进程的检测

4.绕过内核调度链表隐藏进程

5.检测绕过内核调度链表隐藏进程

一般情况下我们是通过内核调试器得到那三条链表的内核地址然后进行. . .

1 .介绍通用Hook内核函数的方法

2.检测隐藏进程

结论

正文

论文关键字内核 拦截 活动进程链表 系统服务派遣表 线程调度链驱动程序简介

论文摘要信息对抗是目前计算机发展的一个重要的方向为了更好的防御必须去深入的了解敌人进攻的招式。信息对抗促使信息技术飞速的发展。下面我选取了信息对抗技术的中一个很小一角关于windows内核级病毒隐藏技术和反病毒侦测技术作为议题详细讨论。

1 .为什么选驱动程序

驱动程序是运行在系统信任的Ring0环境下在代码她拥有对系统任何软件和硬件的访问权限。这意味着内核驱动可以访问所有的系统资源可以读取所有的内存空间而且也被允许执行CPU的特权指令如读取CPU控制寄存器的当前值等。 论文百事通而处于用户模式下的程序如果试图从内核空间中读取一个字节或者试图执行像MOVEAXCR3这样的汇编指令都会被立即终止掉。不过这种强大的底线是驱动程序的一个很小的错误就会让整个系统崩溃。所以对隐藏和反隐藏技术来说都提供了一个极好的环境。但是又对攻击者和反查杀者提出了更高的技术要求。

2.入口例程DriverEntry

DriverEntry是内核模式驱动程序主入口点常用的名字她的作用和main WinMain 是一样的。extern"C"NTSTATUSDriverEntry(INPDRIVER_OBJECTDriverObject  INPUNICODE_STRINGRegistryPath)

DriverEntry的第一个参数是一个指针指向一个刚被初始化的驱动程序对象该对象就代表你的驱动程序DriverEntry的第二个参数是设备服务键的键

名。 DriverEntry函数返回一个NTSTATUS值。 NTSTATUS实际就是一个长整型但你应该使用NTSTATUS定义该函数的返回值而不是LONG这样代码的可读性会更好。大部分内核模式支持例程都返回NTSTATUS状态代码你可以在DDK头文件中找到NTSTATUS的代码列表。

DriverEntry的作用主要就是创建设备对象建立设备对象的符号链接设置好各个类型的回调函数等。

例如extern"C"

NTSTATUS

DriverEntry(INPDRIVER_OBJECTDriverObject  INPUNICODE_STRINGRegistryPath)

DriverObject->DriverUnload=DriverUnload;<--1

DriverObject->DriverExteion->AddDevice=AddDevice;

DriverObject->DrivetartIo=StartIo;

DriverObject->MajorFunction[IRP_MJ_PNP]=DispatchPnp;<--2

DriverObject->MajorFunction[IRP_MJ_POWER]=DispatchPower;

DriverObject-

>MajorFunction[IRP_MJ_SYSTEM_CONTROL]=DispatchWmi ;

在WDM中通过设置AddDevice回调函数来创建设备对象。在NT驱动中在DriverEntry例程中创建设备对象和符号链接。

例如

Rtl InitUnicodeString(&deviceNameUnicodeString  deviceNameBuffer);初始化设备名字

创建设备ntStatus=IoCreateDevice(DriverObject 

0 

&deviceNameUnicodeString 

##DeviceId 

0 

FALSE

&deviceObjectif(NT_SUCCESS(ntStatus)

Rtl InitUnicodeString(&deviceLinkUnicodeString  deviceLinkBuffer);初始化符号链接名字

创建符号链接ntStatus=IoCreateSymbol icLink(&deviceLinkUnicodeString &deviceNameUnicodeString)if(!NT_SUCCESS(ntStatus)

IoDeleteDevice(deviceObject);如果创建符号链接失败删除设备returnntStatus;

建立符号链接的作用就是暴露一个给应用程序的接口应用程序可以通过CreateFi leAPI打开链接符号得到一个语柄和我们的驱动程序进行交互操作。

例程

虽然各个驱动程序的Unload例程不尽相同但是它大致执行下列工作释放属于驱动程序的任何硬件。

从Win32的名字空间移除符号连接名。

这个动作可以调用IoDeleteSymbol icLink来实现。

使用IoDeleteDevice移除设备对象。

释放驱动程序持有的任何缓冲池等。

VOIDDriverUnload(INPDRIVER_OBJECTpDriverObject)

PDEVICE_OBJECTpNextObj;

循环每一个驱动过程控制的设备pNextObj=pDriverObject->DeviceObject;whi le(pNextObj!=NULL)

从设备对象中取出设备Exteion

PDEVICE_EXTEIONpDevExt=(PDEVICE_EXTEION)extObj-

>DeviceExteion;

取出符号连接名

UNICODE_STRINGpLinkName=pDevExt->ustymLinkName;

IoDeleteSymbol icLink(&pLinkName);删除符号连接名

IoDeleteDevice(pNextObj);删除设备pNextObj=pNextObj->NextDevice;

4.派遣例程

Win2000的I/O请求是包驱动的当一个I/O请求开始 I/O管理器先创建一个IRP去跟踪这个请求另外它存储一个功能代码在IRP的I/O堆栈区的MajorField域中来唯一的标识请求的类型。 MajorField域是被I/O管理器用来索引驱动程序对象的MajorFunction表这个表包含一个指向一个特殊I/O请求的派遣例程的功能指针如果驱动程序不支持这个请求MajorFunction表就会指向I/O管理器函数_IopInval idDeviceRequest 该函数返回一个错误给原始的调用者。驱动程序的作者有责任提供所有的驱动程序支持的派遣例程。所有的驱动程序必须支持IRP_MJ_CREATE功能代码因为这个功能代码是用来响应Win32用户模式的CreateFi le调用如果不支持这功能代码Win32程

10gbiz七月活动首月半价$2.36/月: 香港/洛杉矶CN2 GIA VPS

10gbiz怎么样?10gbiz 美国万兆带宽供应商,主打美国直连大带宽,真实硬防。除美国外还提供线路非常优质的香港、日本等数据中心可供选择,全部机房均支持增加独立硬防。洛杉矶特色线路去程三网直连(电信、联通、移动)回程CN2 GIA优化,全天低延迟。中国大陆访问质量优秀,最多可增加至600G硬防。香港七星级网络,去程回程均为电信CN2 GIA+联通+移动,大陆访问相较其他香港GIA线路平均速度更...

GreenCloudVPS$20/年多国机房可选,1核@Ryzen 3950x/1GB内存/30GB NVMe/10Gbps端口月流量2TB

GreencloudVPS此次在四个机房都上线10Gbps大带宽VPS,并且全部采用AMD处理器,其中美国芝加哥机房采用Ryzen 3950x处理器,新加坡、荷兰阿姆斯特丹、美国杰克逊维尔机房采用Ryzen 3960x处理器,全部都是RAID-1 NVMe硬盘、DDR4 2666Mhz内存,GreenCloudVPS本次促销的便宜VPS最低仅需20美元/年,支持支付宝、银联和paypal。Gree...

SpinServers(月89美元) 2*e5-2630L v2,美国独立服务器

SpinServers服务商也不算是老牌的服务商,商家看介绍是是2018年成立的主机品牌,隶属于Majestic Hosting Solutions LLC旗下。商家主要经营独立服务器租用和Hybrid Dedicated服务器等,目前包含的数据中心在美国达拉斯、圣何塞机房,自有硬件和IP资源等,商家还自定义支持用户IP广播到机房。看到SpinServers推出了美国独服的夏季优惠促销活动,最低月...

chrome ie内核为你推荐
唐人社美国10次啦7个多月的宝宝大人扶着站立时脚尖着地,我们去体检时大夫说是尖足,要我们做什么按摩400块10次。有必要做麒麟990和骁龙865哪个好高通865处理器怎么样?值得入手吗?集成显卡和独立显卡哪个好独立显卡和集成显卡区别??燃气热水器和电热水器哪个好电热水器和燃气热水器的优缺点,那个更实用?等额本息等额本金哪个好等额本息与等额本金哪个划算?等额本息等额本金哪个好等额本金和等额本息的区别哪个好手机音乐播放器哪个好手机音乐播放器什么的好?海克斯皮肤哪个好诺手二周年皮肤好不好,和海克斯那个比哪个好,二周年属于稀有吗海克斯皮肤哪个好摄魂使者薇恩和海克斯安妮皮肤哪个好 怎么合成电动牙刷哪个好电动牙刷哪个牌子好?准备就买个几百块钱的?
域名管理 北京租服务器 VPS之家 dns是什么 linode日本 linode 远程登陆工具 灵动鬼影 hinet 酷番云 东莞服务器 shopex主机 in域名 yundun 成都主机托管 服务器硬件配置 国内空间 卡巴斯基试用版下载 架设代理服务器 magento主机 更多