[发明专利]一种Windowsxp系统下监控进程创建和销毁的方法在审
申请号: | 201710714145.1 | 申请日: | 2017-08-16 |
公开(公告)号: | CN107643945A | 公开(公告)日: | 2018-01-30 |
发明(设计)人: | 宋子锋;韩勇;程长春;许洪强;郭建成;陶洪铸;周劼英;杨维永;朱世顺;刘苇;祁龙云;吕小亮;魏兴慎 | 申请(专利权)人: | 南京南瑞集团公司;南京南瑞信息通信科技有限公司;国家电网公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48;G06F11/30 |
代理公司: | 南京纵横知识产权代理有限公司32224 | 代理人: | 董建林 |
地址: | 210003 *** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 windowsxp 系统 监控 进程 创建 销毁 方法 | ||
技术领域
本发明涉及操作系统安全技术领域,具体涉及一种Windows xp系统下监控进程创建和销毁的方法。
背景技术
当今世界信息技术飞速发展,人类社会正逐步进入一个信息社会。在信息化时代计算机的安全非常重要。目前主流的Window操作系统自带的任务管理器都是较为优秀的进程监控工具,通过它们可了解当前系统中正运行的进程信息,并可禁止非法进程的运行以确保系统的安全。但不难发现,借助这些进程监控工具无法判别当前运行进程的合法性,也没有提供良好的用户接口,因此需要人工的判断和干预,这显然难以适应进程监控技术的要求。
信息保密性安全模型Bell-La Padula认为,进程是计算机系统的主体,可对文件、数据库等客体进行操作,如果将其用于不法用途,可能会给系统带来重大危害。事实上,目前许多网络攻击手段都是通过运行非法进程来入侵和攻击目标计算机的。因此,如何及时发现并阻断非法进程的入侵以保障合法进程的安全运行,已成为计算机安全领域研究的重点。
系统中进程启动和停止监控主要就是对非法进程入侵的主动免疫。目前,监控系统中进程启动和停止的方法主要有以下两种:
1)通过HOOK ZeCreateSection函数的方式,在创建虚拟内存块的时候,根据传入的文件句柄,获取句柄对应的文件名是否为exe可执行文件。该方法能够准确的获取进程创建的操作,但是由于此时进程并没有创建完毕,一些进程的基本结构还没有创建,所以进程pid等信息无法及时获取。
2)通过Hook NtReadVirtualMemory函数的方式,因为在为新创建的进程分配地址空间等操作时,系统需要读取进程空间,捕获这个操作,就能够获取进程的创建动作。但该方法虽然能够获取进程的创建操作,但不准确。因为除了进程的创建会调用此操作外,人为的一些操作,例如某外部应用程序想读取另一个进程的内存空间,也会调用这个函数,这时候也会有事件响应,因此结果不尽准确。
区别于HOOK API的方法,本方法是通过windows提供的回调函数,注册回调事件,区别于HOOK API的方法,本方法具有实时性、准确性、业务影响小等特性。
发明内容
本发明的目的在于克服现有技术中的不足,提供了一种Windows xp系统下监控进程创建和销毁的方法,以PsSetCreateProcessNotifyRoutine函数注册一个进程通知回调为基础,在通知回调例程中获取pid和进程全路径名等,从而为监控Windows xp系统中所有进程的创建或销毁提供详细的信息。
为解决上述技术问题,本发明提供了一种Windows xp系统下监控进程创建和销毁的方法,其特征是,包括以下步骤:
步骤S1,当一个进程被创建或销毁时,在Windows xp系统内核中通过PsSetCreateProcessNotifyRoutine函数注册一个进程通知回调,使得系统在进程的创建和销毁时会调用此进程通知回调例程;
步骤S2,通过此通知回调例程获取引发该通知的进程pid,并通过该pid获得引发该通知的进程对象指针,通过层层解析进程对象中的数据结构,获得该进程的全路径名;
步骤S3,将进程的创建或销毁状态,以及该进程的pid和全路径名信息记录到日志文件中,以便其他相关程序使用。
进一步的,步骤S2中,已知进程pid时,通过PsLookupProcessByProcessId函数获得该进程对应的进程对象指针,类型为EPROCESS;
进一步的,步骤S2中通过进程对象指针获取进程的全路径名的具体过程为:
步骤S21,通过进程对象指针,对其进行偏移获得该指针所指向结构体中Section节对象指针的值;
步骤S22,通过Section->Segment->ControlArea->FileObject,找到关联的文件对象指针PFileObject;
步骤S23,根据PFileObject->FileName得到相对路径文件名,以及PFileObject->DeviceObject得到盘符,对两者进行拼接获取进程的全路径名。
进一步的,所述步骤S1-S3作为内核驱动运行。
进一步的,步骤S3中记录到日志文件中的具体过程为:
步骤S31,使用ZwCreateFile函数打开文件,根据要进行的操作申请权限,设置DesiredAccess、ShareAccess参数的值;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京南瑞集团公司;南京南瑞信息通信科技有限公司;国家电网公司,未经南京南瑞集团公司;南京南瑞信息通信科技有限公司;国家电网公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710714145.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种处理任务的方法和设备
- 下一篇:电子设备应用程序智能管理系统