CN1350228A - Windows nt进程自动保护*** - Google Patents
Windows nt进程自动保护*** Download PDFInfo
- Publication number
- CN1350228A CN1350228A CN 01139035 CN01139035A CN1350228A CN 1350228 A CN1350228 A CN 1350228A CN 01139035 CN01139035 CN 01139035 CN 01139035 A CN01139035 A CN 01139035A CN 1350228 A CN1350228 A CN 1350228A
- Authority
- CN
- China
- Prior art keywords
- module
- execution module
- windows
- function
- monitoring
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
一种WINDOWS NT进程自动保护***,主要由性能监测模块、规则匹配模块和执行模块组成,并设置了守护进程构成自保护机制。由性能监测模块监测搜集***中进程的运行指标并上报给规则匹配模块,由规则匹配模块通过设定自动响应规则对指标进行判断处理,并将进程操作命令传递到执行模块,由执行模块实施保证***正常运行的启停操作,守护进程则对这些模块进行进程监测保护。本发明具有双层自动保护作用,能够对特定的服务进程进行监控和管理,对于发生异常或被攻击死亡的进程能够自动重新启动,同时通过自保护机制保护了自身的安全,避免被逐个击破的危险,有效地解决了***的安全问题。
Description
技术领域:
本发明涉及一种Windows NT平台服务进程的自动保护***,属于计算机技术领域。
背景技术:
随着信息技术的普及与发展,愈来愈多的业务通过计算机***来实现。通过计算机***上运行的各种应用或服务程序,人们可以完成很多工作。
在所有的计算机***中,Microsoft Windows NT***因其卓越的稳定性成为计算机***中服务器的首选方案,WindowsNT***所提供的各种增值服务主要由各种基于Windows NT体系架构的进程来实现,例如Internet InformationService提供了WWW、FTP、TELNET等服务,Microsoft Exchange则提供了了局域网内部的邮件和信息交流服务,还有各种的数据库服务,邮件服务等也都是由相关的服务进程来实现的。这些进程,特别是后台运行的各种服务进程的正常运行,是保证Windows网络中可用服务的关键,一旦这些程序因为某种原因停止运行,势必造成***服务的瘫痪,影响到整个信息业务流程,甚至能使整个***崩溃。
造成这些服务进程无法正常运行的原因主要有以下几点:
1.服务进程本身的逻辑错误或者设置错误;
2.相关进程发生错误或者相互协调出现问题;
3.进程需要的资源得不到满足;
4.受到其他进程的攻击,被强制退出。
其中前面两个原因是进程的内部因素,只能通过升级程序、给程序打补丁、或者进行正确配置来解决。对于后面两个原因,则是进程的外部因素,可以通过一些监测和控制方法使进程的资源得到保证,防止进程的不正常退出等等,这些方法被称为计算机进程控制和保护方法。
中国专利申请97197581号中公开了一种调节数字计算机中应用程序性能的方法,实时地监视和控制一个应用程序在计算机上执行时所达到的性能水平。应用这个性能调节程序,可以防止任何连在计算机上的外部单元由于应用程序中的过度性能而过载。
上述方法,解决了单一应用程序的性能控制问题,通过对某一个资源消耗大的应用程序的性能控制达到保护其他应用程序资源的目的。但是现在,由于软件开发水平的大大提高,在一台服务器上运行多个大型服务进程,如IIS、数据库、EXCHANGE等等,都是可能的,单单对一个服务进程进行性能控制和保护并不能完全的保护其他的进程不受影响,从而也无法保证整个***能够提供稳定优质的服务。
为了更好的了解计算机***中的全部服务进程的运行状态、对***资源的影响,从而有效地对服务进程控制管理,Windows NT***本身提供了一个非常有用的小工具——“Windows NT任务管理器”(taskmgr.exe),这个工具能够查看计算机***中当前运行的所有应用程序,能够查看计算机***中执行的所有进程,以及每个进程的进程号、即时的CPU使用率、CPU占用时间和内存使用情况,能够查看整个计算机***即时的CPU、内存和进程线程情况。除此之外,该工具还能够将异常和占用资源过大的进程杀死保证整个***的运行正常。
任务管理器已经能够实现进程的控制和保护功能,但是还是存在以下的不足:
1.任务管理器只能进行进程监测,对于控制功能需要***管理员手动操作,因而实时响应能力不强。
2.任务管理器只能对性能的两个主要部分(CPU和内存)进行监测,对其他的性能指标则无能为力,例如单位时间内HTTP请求超过一定范围,IIS就可能遭到攻击,这时就要采取相应的措施,但是通过任务管理器就无法查到这种情况。
发明内容:
本发明的目的在于针对已有技术的上述不足,给出一个WINDOWS NT服务器进程自动保护***,通过对服务器进程相关性能的监测,及时发现进程自身或者外部的隐患,并自动的通过启停等手段,使得服务器进程在服务器运行过程中,始终保持正常的状态运行。
为实现这样的目的,在本发明的技术方案中,保护***主要由性能监测模块、规则匹配模块和执行模块等组成,并为了保证自身的正常运行,还设置了一个称为“守护进程”的特殊服务进程,构成自保护机制。
性能监测模块是本发明的基础,主要作用是监测***中与实际运行进程的运行情况相关的各种性能指标。例如:CPU占有率,内存使用率,硬盘空间剩余情况,各种网络连接的性能指标等。
规则匹配模块是本发明自动处理的核心,通过设定自动响应规则,规则匹配模块可以对性能监测模块搜集到的性能指标进行判断处理,对于触犯规则的情况,则将根据规则设定,指示执行模块进行相应的处理。
执行模块是本发明的功能实现,根据规则匹配模块发送过来的命令,对出现问题的进程实施启停的操作,以保证其能够在正常状态下运行。
自保护机制中守护进程的主要作用是监测性能监测模块、规则匹配模块、执行模块的运行情况,一旦其中一个模块因故退出,守护进程就将该模块重新启动。同时***也可以将守护进程作为监测的对象,一旦发生意外退出情况,执行模块就能将守护进程重新启动。
通过这样的设计,除非守护进程和执行模块同时异常退出,否则本发明的保护***可以保证一直都在***中起作用。
本发明***的运行使用了以下的核心技术:
1、Windows NT环境下获取进程的运行状态方法
本发明的性能监测模块通过调用PSAPI函数获取***进程信息。
Microsoft的Windows NT开发小组开发了自己Process Status函数,包含在PSAPI.DLL文件中,这些函数能在NT4.0中使用。PSAPI一共有14个函数[实际PSAPI.DLL输出函数有19个,但其中有5个函数有两个版本,分别是ANSI和Unicode版本],通过调用这些函数,可以取得***进程的所有信息,例如进程名、进程ID、父进程ID、进程优先级、映射到进程空间的模块列表等等。其具体步骤如下:
首先调用EnumProcesses函数取得***中运行的所有进程的进程号(process identifier)
对于每一个进程执行以下操作:
调用GetCurrentProcess函数取得该进程的句柄。
调用EnumProcessModules函数得到该进程的所有模块。
根据上面得到的信息,调用GetDeviceDriverBaseName、GetDeviceDriverFileName、GetMappedFileName、GetModuleBaseName、GetModuleFileNameEx、GetModuleInformation、GetProcessMemoryInfo、GetWsChanges等函数分别得到进程的相关信息。2、Windows NT环境下获取***性能的方法
本发明的性能监测模块使用WINDOWS的PDH库,根据指定的性能计数器,获得相应的性能参数。
PDH是英文Performance Data Helper的缩写,Windows NT一直在更新这个称为Performance Data的数据库,这个数据库包含了大量的信息,例如CPU使用率,内存使用率,***进程信息等等一大堆有用的信息。由于这个数据库中的信息布局很复杂,为了使该数据库的使用变得容易,MS开发了一组Performance Data Helper函数,包含在PDH.DLL文件中。其具体步骤如下:
首先,调用PdhOpenQuery函数创建一个查询,该函数会返回一个相应的查询句柄。
然后,调用PdhAddCounter函数在查询中加入一个计数器。例如要获取cpu使用率,可使用名为″\\Processor(_Total)\\%Processor Time″的计数器。
在设置好需要的计数器后,调用PdhCollectQueryData函数搜集性能数据。
搜集性能数据完成以后,数据还需要通过调用PdhGetFormattedCounterValue函数一个个读出
最后通过函数PdhCloseQuery关闭打开的查询。
3、Windows NT环境下停止一个进程运行的方法
通过执行模块杀掉本地进程相对很简单,取得进程ID后,调用OpenProcess函数打开进程句柄,然后调用TerminateProcess函数就可以杀掉进程了。
但是有些情况下并不能直接打开进程句柄,例如WINLOGON等***进程,因为权限不够。这个时候就得先提升本身的进程权限。
提升权限过程如下:
1.调用GetCurrentProcess函数取得当前进程的句柄;
2.调用OpenProcessToken打开当前进程的访问令牌;
3.调用LookupPrivilegeValue函数取得想提升的权限的值;
4.最后调用AdjustTokenPrivileges函数给当前进程的访问令牌增加权
限。
一般有了SeDebugPrivilege特权后,就可以杀掉除Idle外的所有进程了。
4、Windows NT环境下程序运行一个进程的方法
通过执行模块重新启动一个进程的方法也比较简单,在知道了进程文件
所在路径,***进程的运行模式之后,就可以调用CreateProcess函数,
使该进程运行起来。
本发明的优点是显而易见的,在进行进程保护的时候,不需要改变服务器原先的配置,也不需要对原先的服务进程进行重新设定和修改,只要设定需保护的进程的名称和相应的配置。本发明具有双层自动保护作用,能够对特定的服务进程进行监控和管理,对于发生异常或被攻击死亡的进程能够自动重新启动,同时通过自保护机制保护了自身的安全,避免被逐个击破的危险,有效地解决了***的安全问题。
附图说明和实施例:
图1为本发明***结构及模块间连接关系示意图。
如图所示,本发明***主要由性能监测模块、规则匹配模块和执行模块组成。规则匹配模块与上层管理中心相连,并分别与性能监测模块和执行模块相连,性能监测模块和执行模块则与操作***相连。规则匹配模块将***警报上报到上层管理中心,接收上层管理中心的***规则并将其下传到性能监测模块。性能监测模块监测搜集操作***运行中的各种性能指标,将其上报给规则匹配模块,由规则匹配模块将进程操作命令传递到执行模块,控制操作***进行进程启停操作。
图2为自保护机制的示意图。
如图所示,本发明的自保护机制中引入了一个特殊的服务进程——守护进程,守护进程分别与性能监测模块、规则匹配模块及执行模块相连,进行进程监测保护。一旦其中一个模块因故退出,守护进程就将该模块重新启动。同时***也将守护进程作为监测的对象,一旦发生意外退出情况,由执行模块将守护进程重新启动。图中的虚线表示了进程模块间的监测和保护关系。
在本发明的一个实施例中,网络环境:百兆以太网,硬件设备:web服务器、百兆以太网卡,运行平台:Windows NT Server。
在外部网的WEB服务器中植入应急反应子***的NT代理。该代理是一个运行在Windows环境下的服务进程,设置成开机自动启动,保证在Windows NT***启动时就开始在后台运行。该代理的性能监测模块、规则匹配模块和执行模块等主要子模块相互协调工作,实现保护外部网WEB服务器安全和性能的作用。它们都作为NT代理服务进程的子进程随着服务进程的启动而启动,同时又受到服务进程的保护。其中NT代理的执行模块是整个***的“进程保护程序”,通过设置能够保护***中特定的进程。而代理本身的服务进程则是这个***的“守护进程”,通过它来保护执行模块的正常运行。
由NT代理的性能监测模块对WEB服务器的性能(包括CPU占有率,内存使用率,磁盘空间使用率,网络连接繁忙情况,进程工作情况等性能指标)进行监控,实现按时上报的功能。
在中心设定代理的安全规则,指导代理在怎样的情况下触犯规则,同时指出触犯规则后除了向中心发送报警之外,还要进行如何的操作。NT代理的规则匹配模块根据中心设定并同步过来的规则工作,实现对于触犯规则的情况进行报警和指导执行模块工作的功能。
NT代理的执行模块根据应急反应中心发送过来的指令或本代理规则匹配模块发送过来的指令进行相应的操作,这些操作包括启停特定的进程(本***启停了IIS服务进程),重新启动计算机***等。
代理的服务进程监视每个功能子进程的运行情况,对于发生异常的功能子进程能够做出及时的处理,启停该模块,以保证整个NT代理的正常运行。
Claims (3)
1、一种WINDOWS NT进程自动保护***,其特征在于主要由性能监测模块、规则匹配模块和执行模块组成,并设置了守护进程构成自保护机制,规则匹配模块与上层管理中心相连,并分别与性能监测模块和执行模块相连,性能监测模块和执行模块与操作***相连,由性能监测模块监测搜集***中进程的运行指标并上报给规则匹配模块,由规则匹配模块通过设定自动响应规则对指标进行判断处理,并将进程操作命令传递到执行模块,由执行模块实施保证***正常运行的启停操作,守护进程分别与性能监测模块、规则匹配模块及执行模块相连,进行进程监测保护。
2、如权利要求1所说的WINDOWS NT进程自动保护***,其特征在于性能监测模块通过调用PSAPI函数获取进程的运行状态信息,使用WINDOWS的PDH库获得***性能参数。
3、如权利要求1所说的WINDOWS NT进程自动保护***,其特征在于执行模块通过取得进程ID后调用OpenProcess函数打开进程句柄,再调用TerminateProcess函数来停止一个进程运行,通过调用CreateProcess函数来重新启动运行一个进程。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB011390352A CN1175352C (zh) | 2001-12-04 | 2001-12-04 | Windows nt进程自动保护*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB011390352A CN1175352C (zh) | 2001-12-04 | 2001-12-04 | Windows nt进程自动保护*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1350228A true CN1350228A (zh) | 2002-05-22 |
CN1175352C CN1175352C (zh) | 2004-11-10 |
Family
ID=4674966
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB011390352A Expired - Fee Related CN1175352C (zh) | 2001-12-04 | 2001-12-04 | Windows nt进程自动保护*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1175352C (zh) |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1293473C (zh) * | 2002-06-10 | 2007-01-03 | 联想(北京)有限公司 | ***进程的保护方法 |
CN100382045C (zh) * | 2005-08-19 | 2008-04-16 | 英业达股份有限公司 | 风扇运行状况监测*** |
CN100410891C (zh) * | 2002-12-09 | 2008-08-13 | 联想(北京)有限公司 | 计算机应用软件自纠错自重起方法 |
CN100451984C (zh) * | 2003-10-15 | 2009-01-14 | 思科技术公司 | 用于降低网络入侵检测***的虚假警报率的方法和*** |
CN102768720A (zh) * | 2012-03-20 | 2012-11-07 | 新奥特(北京)视频技术有限公司 | 一种进程保护的方法 |
CN102982283A (zh) * | 2012-11-27 | 2013-03-20 | 蓝盾信息安全技术股份有限公司 | 一种杀死受保护的恶意计算机进程的***及方法 |
CN104008029A (zh) * | 2013-02-27 | 2014-08-27 | 腾讯科技(深圳)有限公司 | 内核性能测试的方法及装置 |
CN104008030A (zh) * | 2013-02-27 | 2014-08-27 | 腾讯科技(深圳)有限公司 | 内核性能测试的方法及装置 |
CN104572395A (zh) * | 2014-12-30 | 2015-04-29 | 深圳市科漫达智能管理科技有限公司 | 基于适配器的进程监控方法及装置 |
CN105303103A (zh) * | 2015-10-14 | 2016-02-03 | 北京奇虎科技有限公司 | 保护移动终端中的服务进程的方法和移动终端 |
CN107168822A (zh) * | 2017-05-08 | 2017-09-15 | 山大地纬软件股份有限公司 | Oracle streams的异常修复***及方法 |
CN109117224A (zh) * | 2018-07-26 | 2019-01-01 | 深信服科技股份有限公司 | 一种在控制台图形化更改配置的方法及默认虚拟终端 |
CN109491715A (zh) * | 2018-11-06 | 2019-03-19 | 深圳市风云实业有限公司 | 基于Windows NT的应用管理方法、装置及终端 |
CN111400138A (zh) * | 2020-03-17 | 2020-07-10 | 中国建设银行股份有限公司 | 基于双层守护机制的客户端监控方法、装置及*** |
CN112231190A (zh) * | 2020-09-27 | 2021-01-15 | 广州点云科技有限公司 | 一种Windows性能数据收集与管理装置、***及方法 |
CN112398778A (zh) * | 2019-08-12 | 2021-02-23 | 北京优特捷信息技术有限公司 | 一种对模块化环境中的安全问题自动响应的方法 |
-
2001
- 2001-12-04 CN CNB011390352A patent/CN1175352C/zh not_active Expired - Fee Related
Cited By (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1293473C (zh) * | 2002-06-10 | 2007-01-03 | 联想(北京)有限公司 | ***进程的保护方法 |
CN100410891C (zh) * | 2002-12-09 | 2008-08-13 | 联想(北京)有限公司 | 计算机应用软件自纠错自重起方法 |
CN100451984C (zh) * | 2003-10-15 | 2009-01-14 | 思科技术公司 | 用于降低网络入侵检测***的虚假警报率的方法和*** |
CN100382045C (zh) * | 2005-08-19 | 2008-04-16 | 英业达股份有限公司 | 风扇运行状况监测*** |
CN102768720B (zh) * | 2012-03-20 | 2019-02-22 | 新奥特(北京)视频技术有限公司 | 一种进程保护的方法 |
CN102768720A (zh) * | 2012-03-20 | 2012-11-07 | 新奥特(北京)视频技术有限公司 | 一种进程保护的方法 |
CN102982283A (zh) * | 2012-11-27 | 2013-03-20 | 蓝盾信息安全技术股份有限公司 | 一种杀死受保护的恶意计算机进程的***及方法 |
CN102982283B (zh) * | 2012-11-27 | 2015-07-22 | 蓝盾信息安全技术股份有限公司 | 一种杀死受保护的恶意计算机进程的***及方法 |
CN104008029A (zh) * | 2013-02-27 | 2014-08-27 | 腾讯科技(深圳)有限公司 | 内核性能测试的方法及装置 |
CN104008030A (zh) * | 2013-02-27 | 2014-08-27 | 腾讯科技(深圳)有限公司 | 内核性能测试的方法及装置 |
CN104572395B (zh) * | 2014-12-30 | 2019-05-10 | 深圳市科漫达智能管理科技有限公司 | 基于适配器的进程监控方法及装置 |
CN104572395A (zh) * | 2014-12-30 | 2015-04-29 | 深圳市科漫达智能管理科技有限公司 | 基于适配器的进程监控方法及装置 |
CN105303103A (zh) * | 2015-10-14 | 2016-02-03 | 北京奇虎科技有限公司 | 保护移动终端中的服务进程的方法和移动终端 |
CN107168822A (zh) * | 2017-05-08 | 2017-09-15 | 山大地纬软件股份有限公司 | Oracle streams的异常修复***及方法 |
CN107168822B (zh) * | 2017-05-08 | 2020-01-07 | 山大地纬软件股份有限公司 | Oracle streams的异常修复***及方法 |
CN109117224A (zh) * | 2018-07-26 | 2019-01-01 | 深信服科技股份有限公司 | 一种在控制台图形化更改配置的方法及默认虚拟终端 |
CN109491715A (zh) * | 2018-11-06 | 2019-03-19 | 深圳市风云实业有限公司 | 基于Windows NT的应用管理方法、装置及终端 |
CN109491715B (zh) * | 2018-11-06 | 2021-10-22 | 深圳市风云实业有限公司 | 基于Windows NT的应用管理方法、装置及终端 |
CN112398778A (zh) * | 2019-08-12 | 2021-02-23 | 北京优特捷信息技术有限公司 | 一种对模块化环境中的安全问题自动响应的方法 |
CN112398778B (zh) * | 2019-08-12 | 2022-09-20 | 北京优特捷信息技术有限公司 | 一种对模块化环境中的安全问题自动响应的方法 |
CN111400138A (zh) * | 2020-03-17 | 2020-07-10 | 中国建设银行股份有限公司 | 基于双层守护机制的客户端监控方法、装置及*** |
CN112231190A (zh) * | 2020-09-27 | 2021-01-15 | 广州点云科技有限公司 | 一种Windows性能数据收集与管理装置、***及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN1175352C (zh) | 2004-11-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1175352C (zh) | Windows nt进程自动保护*** | |
CN101436966B (zh) | 虚拟机环境下的网络监控与分析*** | |
CN1126033C (zh) | 将事件动态相关的*** | |
US7167915B2 (en) | Monitoring storage resources used by computer applications distributed across a network | |
CN1266590C (zh) | 面向构件基于***内核的进程池/线程池管理方法 | |
CN102480749B (zh) | 一种远程采集主机进程信息的方法、装置和*** | |
CN1716206A (zh) | 根据客户软件的特许级支持向虚拟机监视器转移 | |
CN1852175A (zh) | 一种巡检方法和一种巡检*** | |
CN101051962A (zh) | 一种可扩展动态网络监控***及其监控方法 | |
CN102929773A (zh) | 信息采集方法和装置 | |
CN1752896A (zh) | 操作***协作下的嵌入式设备电源管理方法及*** | |
CN1293473C (zh) | ***进程的保护方法 | |
CN1175351C (zh) | Solaris进程自动保护*** | |
CN1508689A (zh) | 一种远程获取被监控计算机信息的***和方法 | |
CN1946042A (zh) | 基于aop技术的大规模集群管理监控***中的报警方法 | |
CN1924810A (zh) | 一种业务进程的分布式分优先级监控方法 | |
CN111400720A (zh) | 一种终端信息处理方法、***及装置和一种可读存储介质 | |
CN105184165B (zh) | 用于网络附加存储***防病毒的进程调度方法 | |
CN1100299C (zh) | 面向对象***中对被保护对象进行访问控制的***和方法 | |
CN101039207A (zh) | 具有双中央处理器的智能光网络设备及其实现方法 | |
CN1074148C (zh) | 具有检错处理功能的数据处理*** | |
CN1152338C (zh) | 一种并行处理分布式数据库的方法和装置 | |
CN1314293C (zh) | 一种用于消息中心智能监控的***和方法 | |
CN110225065A (zh) | 一种网络安全预警*** | |
CN1842011A (zh) | 一种基于流量进行计费的改进方法和*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C06 | Publication | ||
PB01 | Publication | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20041110 Termination date: 20131204 |