- 1、本文档共8页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《基于内核下的进程隐藏和检索》.pdf
中国科技论文在线
基于内核下的进程隐藏和检索
崔晶晶
中国矿业大学计算机科学与技术学院,江苏 徐州(221008 )
E-mail :cs_cjj@163.com
摘 要:本文给出了一种基于内核下的进程隐藏和检索的实现方法,介绍了病毒的编写中采
用的有关内核级别的技术,系统中,可以通过Hook 挂钩技术,修改系统原生API 的检索行
为,以至达到进程隐藏的目的,通过RootKit 技术又可以显示出所有隐藏的进程。作者针对这
种隐藏进程的手法提出了一种更加底层的进程检索方式,可以借助内核进程的数据结构的串
联梳理获得所有的运行进程。文中作者从攻防两个方面详细的阐述了RootKit 中的进程隐藏
和查找技术。
关键词:内核;系统;进程;隐藏进程;进程检索
中图分类号:TP399
1 引言
在计算机技术飞速发展的今天,编程人员对系统内核的了解也越来越清楚,技术好的
IT 人员已经能通过一些逆向技术,还原出 Windows 内核的一些代码,于是 RootKit 和
Anti-Rootkit 的对抗也愈演愈烈。在病毒的编写技术中,越来越多的病毒作者采用了内核级
别的技术来隐藏自己的进程,实现极其隐蔽的保护自身不被杀毒软件检查到。我们对于这种
隐藏方法,可以使用更加底层的方法进行进程检索。
2 系统是如何列举进程的
拿我们最熟悉的“任务管理器”程序来做研究对象,网络上虽然流传着很多优秀的进程查
看软件,其实和我们系统中的“ 任务管理器” 列举进程的方法都是一样的,都是通过
ZwQuerySystemInformation 这个系统原生API 实现。
NTSTATUS WINAPI ZwQuerySystemInformation(
__in SYSTEM_INFORMATION_CLASS SystemInformationClass,
__inout PVOID SystemInformation,
__in ULONG SystemInformationLength,
__out_opt PULONG ReturnLength
);
那么,什么是原生API 呢?
在 Windows NT 下,NT 的 Executive (NTOSKRNL.EXE 的一部分)提供了核心系统
服务。各种 Win32 、OS/2 和 POSIX 的 APIs 都是以 DLL 的形式提供的。这些 APIs 转
过来由调用了 NT executive 提供的服务。尽管调用了相同的系统服务,但由于子系统不同,
API 函数的函数名也不同。例如,要用 Win32 API 打开一个文件,应用程序会调用
CreateFile(),而要用 POSIX API ,则应用程序调用 open() 函数。这两种应用程序最终都会
调用 NT Executive 中的 NtCreateFile() 系统服务。
- 1 -
中国科技论文在线
图一 Windows NT 系统核心服务调用过程
ZwQuerySystemInformation 同样是Executive 提供的系统服务API 中的一员,它在系统
中的很多,我们下面来看下它是如何工作的。它的第一个参数是一个枚举类型,当我们在其
中传入 SystemProcessAndThreadsInformation 后,它将会去检索进程信息,将得到一个串联
很多SYSTEM_PROCESS 结构体的链表
typedef struct _SYSTEM_PROCESSES{
ULONG NextEntryDelta;
ULONG ThreadCount
文档评论(0)