Windows进程管理系统的分析与设计

时间:2022-08-25 07:50:48

Windows进程管理系统的分析与设计

摘要:本文主要讨论Windows下内核级进程的监控与管理,并实现一个具有实际意义的进程管理系统,使用了MD5文件校验方法、建立了自动处理进程事件规则库、使用内核级钩子监控木马病毒、采用主动式进程管理、被动式进程管理等新方法、新技术和新手段来保护系统。

关键词:木马病毒;被动式进程管理;主动式进程管理

中图分类号:TP393 文献标识码:A 文章编号:1007-9599 (2011) 23-0000-01

Windows Process Management System Analysis and Design

Wang Tiaoshan

(Huizhou City Technical School,Huizhou 516001,China)

Abstract:This article mainly discusses the monitoring and management of the kernel-level process under Windows,and expects to realize a meaningful management system process.this author uses MD5 Document validation method;establish an rule base for automatic processing of the process of case,use the active management of the process and such kind of new methods,new technologies and new means to protect the system.

Keywords:Horse virus;Passive process management;Active process management

随着计算机技术的普及和发展,计算机己成为人们生活和工作必不可少的工具。与此同时,病毒、木马、恶意软件等也借助着互联网的快速发展而疯狂蔓延,计算机安全问题也日益凸现出来。基于目前市场上安全技术产品对未知非法进程的查杀能力相当弱,对此研究如何对付非法进程的监控手段的有必要的。

本系统是针对Windows下内核级进程的监控与管理。以下讨论一下本系统的具体设计。

一、被动式进程管理

(一)枚举进程原理。本技术实现对进程的枚举和管理,大部分进程管理器(如Windows任务管理器等)都利用Windows的ZwQuerySystemInformation来实现进程的枚举,无法发现任何一个内核级木马或病毒。在Windows的内核内存区域,存在一个叫PspCidTable的表,该表的结构非常复杂,且独立于系统进程链表,使得从PspCidTable表隐藏进程非常困难,到目前为至,几乎没有木马病毒能实现PspCidTable表的隐藏。内核导出函数PsLookupProcessByProcessId引用了该表,可对此内核例程进行特征码搜索找到该表。使用系统内核PspCidTable表来实现进程枚举,然后在应用态下调用Toolhlp32 API来检测隐藏进程。

(二)终止进程原理。一般的进程管理器使用WIN32 API的OpenProcess和TerminateProcess或NATIVE API的ZwOpenProcess和ZwTerminateProcess函数来打开和终止进程,木马病毒可能通过拦截API来实现进程保护,这种工具对拦截API的木马病毒的管理是无效的,在内核态,可使用系统内核未导出的内核函数PspTerminateThreadByPointer来终止进程,越过木马病毒的应用态或内核态的API拦截,直接终止进程,达到保护程序的效果。

(三)获取进程路径原理。对于进程路径的获取,一般进程管理器也是通过Toolhlp32、psapi或RtlDebug***实现的,Toolhlp32和RtlDebug***向目标进程创建远线程实现路径获取,创建远线程使用ZwCreateThread实现。而笔者认为,通过内核级函数KeStackAttachProcess和定位进程PEB来实现读取目标进程路径,越过木马病毒的API拦截,获取可靠的进程路径。

二、主动式进程管理

Windows的内核例程是集中式管理的,内核例程地址保护系统服务描述表,可通过修改系统服务描述表来实现监控进程操作。系统服务描述表位于系统高端内存内,现存木马很难越过该监控。

三、内核级钩子

Windows大致有两种钩子可监控系统事件,一种为用户级钩子,一种为内核级钩子。用户级钩子只能监控一些Windows Shell操作,很难监控到木马病毒的非法行为。虽然微软没有完全公开Windows内核级钩子的创建方法,但使用系统服务描述表来实现内核级钩子的方法却被很多软件使用,如瑞星杀毒软件、卡巴斯基杀毒软件等都使用该表来拦截系统调用,以实现系统的实时监控,该监控方法有着非常高的安全性,一般木马病毒很难越过该方法的监控。

四、自身防护

很多进程管理工具都没有实现自我防护,当电脑中了木马病毒后可能会监视系统中一些常用的进程管理器或杀毒工具,发现运行就直接终止,使得这些工具无法正常使用,也无法终止木马病毒进程,通过系统服务描述表可实现内核级防护,防止自身进程被非法终止。

五、规则库

通过规则库,为用户提供自动处理进程事件的功能,用户可通过规则库告诉监控程序哪些程序直接做如何处理,而不用通知用户,提高效率。

六、MD5文件校验

一个MD5校验可通过对接收的传输数据执行散列运算来检查数据的正确性。在使用电脑过程中,可能有一些正常的程序被感染了病毒,如果这时候让该程序运行就可能让系统感染木马病毒。这时可使用MD5文件校验技术对请求执行系统调用的进程的文件模块进行MD5校验,如果病毒木马修改了正常的程序,那么它的MD5值一定会变化,可通过这个技术检测出该程序是否被修改。

本系统体现的是根据进程的行为来阻止进程和非法操作的,有效地防止了未被商品化安全技术软件拦截的非法程序对系统的破坏的一种编程思想,使进程监控与管理机制,更具有效性、安全性和实用性。

参考文献:

[1]李言,李伟明,李贺等.VISUAL C++项目开发全程实录[M].北京:清华大学出版社,2008

[2](美)[P.G.威斯卡罗拉]Peter G.Viscarola,(美)[W.A.梅森]W.Anthony Mason.实用技术,WINDOWS NT与WINDOWS 2000设备驱动及开发[M].北京:电子工业出版社,2000

上一篇:计算机网络应用安全问题及策略探析 下一篇:关于即时通信软件数据库安全技术的研究