基于WindowsNT内核的进程监控系统设计与实现.pdf

基于WindowsNT内核的进程监控系统设计与实现.pdf

ID:57657278

大小:240.78 KB

页数:2页

时间:2020-08-30

基于WindowsNT内核的进程监控系统设计与实现.pdf_第1页
基于WindowsNT内核的进程监控系统设计与实现.pdf_第2页
资源描述:

《基于WindowsNT内核的进程监控系统设计与实现.pdf》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、应用安全基于WindowsNT内核的进程监控系统设计与实现王全民张旭何涛吴艳华北京工业大学计算机学院北京100124摘要:本文是要实现一个能够检测系统全部进程的系统,特别是针对某些恶意代码的隐藏进程的发现,并找出相应的dll文件。检测方法是通过对系统服务进行拦截,编写自己的系统进程检测函数,从而达到保护主机安全的目的。关键词:进程;系统服务;钩挂0引言根据请求的系统服务的ServiceID检索SSDT,找到该ServiceID进程是程序在计算机上的一次执行活动。进程可以分为对应函数地址,用新的系统

2、服务函数入日地址替换原地址。系统进程和用户进程。凡是用于完成操作系统的各种功能的在新的系统服务函数中同样要保存原系统服务函数的入口现进程就是系统进程,它们就是处于运行状态下的操作系统本场,当新的系统服务函数返回时,恢复现场并调用原来的系身;用户进程就是所有由用户启动的进程。进程是操作系统统服务函数。当需要阻断正常的系统调用时,则要在新的系进行资源分配的单位。统服务函数执行完后直接返回,不再执行原系统服务函数,本文的目的是要实现一个能够管理进程的系统,特别是但在返回前要根据原系统服务函数对返回值的要

3、求进行相应针对隐藏进程及一些恶意代码启动的进程。方法是对系统调的设置,以保证系统服务函数传递的完整性。用进行截获,编写自己的系统调用函数。针对目前的网络环境,仅仅依靠反病毒软件保护系统是不完善的,而目前网络对主机的攻击方式又是趋于多元化,针对性强。所以实现这样一个基于进程管理的主机安全系统是有现实意义的。本文采用钩挂技术,从内核级对WindowsNT进程进行实时监控,从而更可靠地截获系统进程的相关信息,实现对主机安全的保护。1截获系统调用Hooking(挂钩)技术是实现系统调用截获最为通用的技术,

4、它提供了一种截获执行代码的通用机制。也可以认为Hooking是一类代码截获技术的通称,可以有多种方法去实现Hooking技术(本文所称的系统调用截获技术主要指Hooking技术)。对系统调用截获又分为用户级系统调用截获和核心级系统调用截获,如图1所示。由于对系统进程进行比较深入的研究,所以采用了利用核心级系统调用截获获得系统进程信息。图1Windows系统不同层次的服务调用拦截点通过截获NT执行体系统服务分配表SSDT的查找操作,2隐藏进程的发现改变SSDT中某系统服务号对应的系统服务函数指针,将

5、指针隐藏的本质就是欺骗使用者,使得运行中的进程和存在指到开发者插入的其他函数入口点。得到SSDT的基地址后,的文件信息不显示给用户。实现进程隐藏和文件隐藏的方法作者简介:王全民(1963-),男,北京工业大学计算机学院计算中心主任、副教授,硕士生导师,天津大学在读博士生。张旭(1983-),男,北京工业大学计算机学院2006级硕士研究生,研究方向:信息安全。何涛(1981-),男,北京工业大学计算机学院2006级硕士研究生,研究方向:信息安全。吴艳华(1979-),女,北京工业大学计算机学院200

6、6级硕士研究生,研究方向:信息安全。442009.2应用安全比较多,较为常见的技术是使用APIHook技术修改系统函数,码具有很大的访问权限,如果攻击者把恶意代码插入内核,其中又以修改内核层函数的方法居多。就有可能将该系统删除,从而失去对主机的保护。所以,一Windows操作系统是一种分层的架构体系。应用层的程方面要限制任意内核模块的加载,另一方面还有防止内核模序是通过API来访问操作系统。而API又是通过ntdll里面的块被恶意删除。本系统所采取的策略是:当该系统启动后,就核心API来进行系统服

7、务的查询。核心API通过对int2E的限制任意内核模块的加载;如果需要安装内核程序,用户需切换,从用户模式转换到内核模式。2Eh中断的功能是通过要先通知该系统禁用该功能,安装后再启用该功能。具体实NTOSKRNL.EXE的一个函数KiSystemService()来实现的。施办法是:通过修改相关的系统调用监视模块的加载。在KiSystemService()是根据EAX的值来决定哪个函数将被调用。而Windows系统中,要想使程序运行在核心态,必须通过编写系统在SSDT中维持了一个数组,专门用来索引

8、特定的函数服务设备驱动程序来实现。而加载驱动程序最终要调用系统服务地址。可以通过由ntoskrnl.exe导出的KeServiceDescriptorTable变ZwLoadDriver来实现,如果要截获该系统服务调用,限制执量来完成对SSDT的访问与修改。KeServiceDescriptorTable对行该服务,则就可以限制驱动程序的加载。内核模块卸载保应于一个数据结构,定义如下:护也是通过截获系统服务调用来实现的。当卸载驱动程序时,typedefstructSystemSer

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

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

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