计算机安全代理的自我守护方法

文档序号:6571820阅读:228来源:国知局
专利名称:计算机安全代理的自我守护方法
技术领域
本发明涉及计算机系统代理的保护方法,尤其是一种计算机安全代理的自我守护方法。
背景技术
软件的安全性和稳健性对一个产品来说日益重要, 一个好的产品应该能够做到在软 件产品异常退出或是人为恶意删除的情况下能够定期恢复和稳健运行。这就是该服务例 程开发的目的。而围绕这个目的就有必要了解应用进程隐藏技术;服务相关注册表项 备份,恢复技术;代理的自动升级和修复技术等。进程隐藏主要参考■. rootkit. com 上的相关文章。该技术主要是通过获取进程链表进而通过进程PID的查找来断开所需隐 藏的进程节点来达到隐藏的目的。该隐藏技术是通过驱动级程序来实现的,因此可以很 好的适应NT的各个系统。
注册表备份,恢复技术本身并不难,主要是在服务例程中要做出该动作的位置确定。 这就涉及到对服务运行的流程需要有一个整体把握,具体参见发明内容。
另外为了防止受监控的代理的防杀死,有必要对代理做自动升级和修复。升级主要 是对代理需要升级的模块做升级;修复则主要是防止代理的相关注册表项及代理的安装 文件被恶意删除。问题是升级的新模块有可能被修复程序所覆盖。这就涉及到升级与 修复之间的协调。
服务中对代理自动升级的技术代理升级是不可避免的,但是由于代理升级包中可 能包括一些在当前无法正常升级的模块(如xfiter. d11—网络访问控制模块,因为在机 器启动后xfilter. dll已经被所有涉及网络通信的程序所加载)这就需要升级前先卸载 xfilter.dll,主要通过恢复注册表的方法来实现卸载xfilter.dll过程,卸载后在机 器重启以后才能正常升级,所以卸载的最好动作是在关机的时候来做,这就有必要在服 务程序中捕获机器关机的消息来做卸载的处理。

发明内容
本发明目的是提出一种计算机安全代理的自我守护方法,解决新模块的升级与代理 修复之间的协调,提出一种通过自定义的相关注册表项作为信号量来协调模块升级与代 理修复的问题。
本发明的技术解决方案是计算机安全代理的自我守护方法,任务管理器中通过进 程隐藏实现服务进程的保护;对服务管理器中的服务项,禁止"停止"该服务,禁止改 为"手动"的操作;即在创建该服务时使它不接受停止的命令;而禁止改为"手动"的 方法是通过恢复注册表的方式来实现的,在第一次安装的时候,备份安装的文件,以 在以后定期对安全代理的所有文件进行恢复,在服务启动的第一次会对服务的相关注册 表项作备份,然后会在每次关机的时候通过捕获关机消息在其中做恢复备份的注册表项 的操作
监控服务例程的流程1)、启动监控服务,2)、加载隐藏进程的驱动程序,将服 务对应的进程隐藏;3)、判断服务是否是第一次启动?是进入4),否则进入5) ; 4)、 备份服务的相关注册表项;5)、根据计数定期调用程序来防止任务恶意删除代理的相 关文件;6)、是否有升级程序,是进入7),否则进入8) ; 7)、执行代理升级程序; 8)、监控代理主程序。
监控服务例程服务捕获关机消息后所作的操作流程1)、服务捕获关机消息后所 作的操作;2)、导入备份的服务相关注册表项以防止人为修改注册表;执行恢复文件 程序,防止人为的修改文件;3)、判断是否有代理升级包;是则进入4),否则进入5); 4)、卸载网络访问控制等相关模块;5)、机器重启。
监控服务例程对代理的修复功能,服务会定期对代理端的程序做修复功能,目的是 为了防止代理相关的文件和注册表被人为恶意删除。
监控服务例程在安全模式,网络模式下也可以运行,主要是通过修改注册表的方式 来实现。
本发明基于的服务例程在运行的时候一般在两个地方出现 一个是任务管理器,一 个是服务管理器,任务管理器中我们通过进程隐藏已经很好的实现服务进程的保护,但 是服务管理器中的服务项呢?如果把它停掉,把它改为手动,服务照样不能起到监控代 理端主程序的作用,这就有必要做禁止"停止"该服务,禁止改为"手动"的操作。
禁止停止该服务主要采用的方法是在创建该服务时使它不接受停止的命令即可; 而禁止改为"手动"主要是通过恢复注册表的方式来实现的,在服务启动(重启)的第 一次会对服务的相关注册表项作备份,然后会在每次关机的时候通过捕获关机消息在其 中做恢复备份的注册表项的操作,这样就避免人为的篡改注册表而导致服务不可用。
本发明的特点是因为在遇有升级模块时,在升级前需要先卸载如xfilter. dll (网 络访问控制)等相关模块。通过恢复注册表的方法来实现卸载xfilter.dll过程,卸载
后在机器重启以后就能够正常升级,通过在服务程序中捕获机器关机的消息来做升级前 的卸载处理。因此在创建服务的时候,设置允许接受关机消息的参数,这样就能捕获关 机消息。


图1是本发明监控服务例程的流程图
图2是本发明监控服务例程服务捕获关机消息后所作的操作的流程图
具体实施例方式
服务例程的流程图该服务例程主要是在后台运行。 监控服务例程的流程图
1、 启动监控服务;
2、 加载隐藏进程的驱动程序,将服务对应的进程隐藏;
3、 判断服务是否是第一次启动?是进入4 ,否则进入5;
4、 备份服务的相关注册表项;
5、 根据计数定期调用程序来防止任务恶意删除代理的相关文件;
6、 是否有升级程序,是进入7,否则进入8;
7、 执行代理升级程序;
8、 监控代理主程序。 服务捕获关机消息后所作的操作
1、 导入备份的服务相关注册表项以防止人为修改注册表;
2、 判断是否有代理升级包;是则进入3,否则进入4;
3、 卸载网络访问控制等相关模块;
4、 机器重启。
流程图很好说明了监控服务例程的整个工作流程,这其中重点是服务自身的隐藏和 对代理升级的处理方式。整个服务的开发是围绕代理的进程守护来进行的,所以对该服 务来说做的事情均是围绕代理和服务自身防杀死来开发,具体所做的事情已经在发明内 容中做了详细的解释。
监控服务例程对代理的修复功能,服务会定期对代理端的程序做修复功能,目的是 为了防止代理相关的文件和注册表被人为恶意删除。
监控服务例程在安全模式,网络模式下也可以运行,主要是通过修改注册表的方式 来实现。相关注册表项
HKEY—LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Minimal\ HKEY—LOCAL—MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Network\ 采用以上技术可以有效地保护代理进程,并且能够保护服务例程本身。
权利要求
1、计算机安全代理的自我守护方法,任务管理器中通过进程隐藏实现服务进程的保护,其特征是对服务管理器中的服务项,禁止“停止”该服务,禁止改为“手动”的操作;即在创建该服务时使它不接受停止的命令;而禁止改为“手动”的方法是通过恢复注册表的方式来实现的,在第一次安装的时候,备份安装的文件,以在以后定期对安全代理的所有文件进行恢复,在服务启动的第一次会对服务的相关注册表项作备份,然后会在每次关机的时候通过捕获关机消息在其中做恢复备份的注册表项的操作监控服务例程1)、启动监控服务,2)、加载隐藏进程的驱动程序,将服务对应的进程隐藏;3)、判断服务是否是第一次启动?是进入4),否则进入5);4)、备份服务的相关注册表项;5)、根据计数定期调用程序来防止任务恶意删除代理的相关文件;6)、是否有升级程序,是进入7),否则进入8);7)、执行代理升级程序;8)、监控代理主程序。
2、 根据权利要求l所述的计算机安全代理的自我守护方法,其特征是监控服务例 程服务捕获关机消息后所作的操作流程1)、服务捕获关机消息后所作的操作;2)、 导入备份的服务相关注册表项以防止人为修改注册表;执行恢复文件程序,防止人为的 修改文件;3)、判断是否有代理升级包;是则进入4),否则进入5) ; 4)、卸载网 络访问控制等相关模块;5)、机器重启。
全文摘要
计算机安全代理的自我守护方法,任务管理器中通过进程隐藏实现服务进程的保护;对服务管理器中的服务项,禁止“停止”该服务,禁止改为“手动”的操作;即在创建该服务时使它不接受停止的命令;而禁止改为“手动”的方法是通过恢复注册表的方式来实现的,在第一次安装的时候,备份安装的文件,以在以后定期对安全代理的所有文件进行恢复,在服务启动的第一次会对服务的相关注册表项作备份,然后会在每次关机的时候通过捕获关机消息在其中做恢复备份的注册表项的操作。本发明解决新模块的升级与代理修复之间的协调,提出一种通过自定义的相关注册表项作为信号量来协调模块升级与代理修复的问题。
文档编号G06F21/00GK101101619SQ20071002524
公开日2008年1月9日 申请日期2007年7月19日 优先权日2007年7月19日
发明者冬 吴, 石建春, 赵才文, 宝 骆 申请人:南京联创网络科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1