专利名称:注册表保护系统和方法
技术领域:
本发明涉及针对网络安全检测的注册表保护系统和方法。
背景技术:
随着计算机技术的发展和网络与现有经济、日常生活的密不可分,对于网络自身的安全性能提出了更高的要求。为防范针对网络的恶意攻击,现有网站均配备有网络入侵检测系统,通过监控黑客端口来保证网络的安全运行。
目前现有网络攻击技术的发展,使得入侵行为越来越普遍、而且入侵手段也日益复杂化。针对入侵行为的自动侦测、分析以及拦截,已经成为网络安全的重要需求。目前市场上主要是采用NIDS(Network-basedIntrusion Detection System)基于网络的入侵检测系统来实现对入侵行为的实时监测。
但是随着交换机的广泛使用,以及IPV6的普及,NIDS已经无法满足市场的需求。涉及到HIDS(Host-based Intrusion Detection System),主机入侵检测系统,目前市场上并不多见,而且在文件保护和注册表保护等方面尚有空白。由于注册表保护是HIDS的核心技术范畴,因此注册表保护方法的实施决定着HIDS系统运行的质量。
发明内容
本发明所述一种全新的注册表保护系统和方法,主要应用于HIDS主机入侵检测系统,其目的在于填补现有技术空白和适应做为HIDS主机入侵检测系统的核心模块,实现注册表日志过滤和清除等功能,并根据保护链表的信息向受保护键值提供指定的保护。
所述的注册表保护系统,主要包括有应用程序模块、驱动程序模块。其中,应用程序模块包括有用户界面、规则解析模块、驱动管理模块和日志显示模块。应用程序模块负责加载运行HOOK API驱动程序。
驱动程序模块包括有中间层HOOK API驱动接口、规则解析模块、访问控制模块和日志记录模块。驱动程序模块负责HOOK系统对注册表操作API函数的调用,并进行实时分析和日志记录。
所述的注册表保护方法,由应用程序模块负责读取注册表配置文件信息,并将文件格式化输入到用户控制界面中,并可将列表送入到驱动程序模块。
驱动程序模块利用HOOK API函数的机制,拦截所有读取注册表的操作,将这些操作涉及到的注册表键值与保护列表中的键值名进行比对,根据保护类型的不同,拦截不同的API函数。
若规则允许注册表操作API函执行,则驱动程序模块将应用程序模块提供的参数传递给注册表操作API;若规则不允许该函数执行,则驱动程序模块直接返回错误标志,这样就可以控制应用程序模块对注册表操作AP I函数的调用,从而实现对列表中的注册表键值的保护功能,并向应用程序模块发送告警日志。
所述的注册表保护方法,在应用程序模块启动后读取注册表配置文件信息并将该文件形成应用程序保护链表,用户可通过菜单命令发送控制代码与驱动程序模块交互,以控制驱动程序模块的开始与暂停、日志过滤、自动滚动、日志清空以及中止驱动程序等操作。
所述的注册表保护方法,驱动程序模块由应用程序模块启动,通过接受应用程序模块发送过来的控制码命令挂接到系统注册表之上,并过滤指定的API函数。并从磁盘上读取注册表配置文件信息,形成常驻内存的受保护键值链表。而且,修改后的链表重新写到磁盘的配置文件中。
以上即是本发明所述注册表保护系统和方法的主要内容。
如上述注册表保护系统和方法,主要是针对注册表的新建、修改和删除操作进行实时监控,实现对注册表中的新建键、修改键、删除健、新建值、修改值、删除值等注册表键值的保护,并可发送告警日志。从而实现可根据保护链表的信息向受保护键值提供指定的保护,实时地监控针对注册表日志信息的过滤和清除等操作,确保注册表不会被恶意新建、修改和删除。
图1是所述注册表保护系统的结构框图;图2是所述注册表保护方法的应用程序模块数据流程图;图3是所述注册表保护方法的驱动程序模块数据流程图。
具体实施例方式
如图1所示,所述的注册表保护系统主要包括有应用程序模块、驱动程序模块。其中,应用程序模块包括有用户界面、规则解析模块、驱动管理模块和日志显示模块。应用程序模块负责加载运行HOOK API驱动程序。其中,用户界面,用于显示日志信息,调用驱动管理模块控制驱动程序模块的运行,加载规则等;日志显示模块,实时地显示驱动程序模块产生的日志信息;规则解析模块,负责从配置文件中读取配置信息,并将解析的规则链表通过规则管理模块传递给驱动程序模块;驱动管理模块,负责控制驱动程序模块的启动、停止、规则的添加删除等功能。
驱动程序模块包括有中间层HOOK API驱动接口、规则解析模块、访问控制模块和日志记录模块。驱动程序模块负责HOOK系统对注册表操作API函数的调用,并进行实时分析和日志记录。其中,中间层HOOK API驱动接口,由HOOK系统实时地对注册表操作AIP函数负责调用;规则分析模块,分析规则链表中相应操作AIP函数的权限;访问控制模块,控制用户对注册表操作API函数的执行,如果规则允许则将函数参数传递给Windows系统底层API函数进一步处理;若规则拒绝则返回错误信息,同时调用日志记录模块,产生日志记录。
另外,Windows系统底层API,是系统提供的对注册表进行操作的API函数。
如上述注册表保护系统的结构,本发明所述的注册表保护方法是由应用程序模块负责读取注册表配置文件信息,并将文件格式化输入到用户控制界面中,并可将列表送入到驱动程序模块。
驱动程序模块利用HOOK API函数的机制,拦截所有读取注册表的操作,将这些操作涉及到的注册表键值与保护列表中的键值名进行比对,根据保护类型的不同,拦截不同的API函数。
若规则允许注册表操作API函执行,则驱动程序模块将应用程序模块提供的参数传递给操作系统提供的注册表操作API进一步处理;若规则不允许该函数执行,则驱动程序模块直接返回错误标志,这样就可以控制应用程序模块对注册表操作API函数的调用,从而实现对列表中的注册表键值的保护功能,并向应用程序模块发送告警日志。
如图2所示,在所述注册表保护方法的应用程序模块数据流程中,应用程序模块启动运行,首先枚举主机的注册表信息,包括注册表的几个基本键,并将这些注册表信息按照原有的关系组织在一个树形控件里面。
通过菜单命令,可以读取注册表配置文件信息(INI_reg.cfg),并将该文件的信息组织成应用程序保护链表,显示在一个ListView控件里面。这样受保护的注册表键值以及该键值对应的保护类型就一目了然了。
在该ListView控件里面,可以通过鼠标右键弹出的快捷菜单,实现修改受保护的键值保护类型,或者借助于多个CheckBox控件实现增、删受保护保护等功能。
同时,用户可以通过菜单命令发送控制代码与驱动程序交互,可以控制驱动程序的开始与暂停、日志过滤、自动滚动、日志清空以及中止驱动程序等操作。
驱动程序模块发送来的注册表读写告警日志,全部实时地显示在另一个ListView控件里面。可以通过双击鼠标,快速定位该ListView控件里面选定的文件在系统注册表中的位置。
如图3所示,在所述注册表保护方法的驱动程序模块数据流程中,驱动程序模块由应用程序模块启动,通过接受应用程序模块发送过来的控制码命令,挂接到系统注册表之上,并过滤指定的API函数。
从磁盘上读取注册表配置文件信息,形成常驻内存的受保护键值链表。
接受应用程序模块发过来的命令和信息,增加、删除或者修改保护链表,也可实现日志过滤、日志清除等功能。
并将修改后的链表重新写到磁盘的配置文件中,从而根据保护链表的信息向受保护键值提供指定的保护。
权利要求
1.一种注册表保护系统,其特征在于所述的注册表保护系统包括有负责加载运行HOOK API驱动程序的应用程序模块、以及负责HOOK系统对注册表操作API函数的调用并进行实时分析和日志记录的驱动程序模块;其中,应用程序模块包括有用户界面、规则解析模块、驱动管理模块和日志显示模块;驱动程序模块包括有中间层HOOK API驱动接口、规则解析模块、访问控制模块和日志记录模块。
2.应用上述注册表保护系统的注册表保护方法,其特征在于由应用程序模块负责读取注册表配置文件信息,并将文件格式化输入到用户控制界面中,并可将列表送入到驱动程序模块;驱动程序模块利用HOOK API函数的机制,拦截所有读取注册表的操作,将这些操作涉及到的注册表键值与保护列表中的键值名进行比对,根据保护类型的不同,拦截不同的API函数;若规则允许注册表操作API函执行,则驱动程序模块将应用程序模块提供的参数传递给操作系统提供的注册表操作API进一步处理;若规则不允许该函数执行,则驱动程序模块直接返回错误标志,这样就可以控制应用程序模块对注册表操作API函数的调用,并向应用程序模块发送告警日志。
3.根据权利要求2所述的注册表保护方法,其特征在于在所述的应用程序模块流程中,应用程序模块启动运行,首先枚举主机的注册表信息,包括注册表的几个基本键,并将这些注册表信息按照原有的关系组织在一个树形控件里面;可以通过菜单命令发送控制代码与驱动程序交互,并控制驱动程序的开始与暂停、日志过滤、自动滚动、日志清空以及中止驱动程序操作;驱动程序模块发送来的注册表读写告警日志,全部实时地显示在另一个ListView控件里面。
4.根据权利要求3所述的注册表保护方法,其特征在于在所述的驱动程序模块流程中,驱动程序模块由应用程序模块启动,通过接受应用程序模块发送过来的控制码命令,挂接到系统注册表之上,并过滤指定的API函数;从磁盘上读取注册表配置文件信息,形成常驻内存的受保护键值链表;接受应用程序模块发过来的命令和信息,增加、删除或者修改保护链表,或是实现日志过滤、日志清除;并将修改后的链表重新写到磁盘的配置文件中。
全文摘要
本发明所述一种全新的注册表保护系统和方法,主要应用于HIDS主机入侵检测系统,其目的在于填补现有技术空白和适应做为HIDS主机入侵检测系统的核心模块,实现注册表日志过滤和清除等功能,并根据保护链表的信息向受保护键值提供指定的保护。所述的注册表保护系统,主要包括有应用程序模块、驱动程序模块。所述的注册表保护方法,在应用程序模块启动后读取注册表配置文件信息并将该文件形成应用程序保护链表,用户可通过菜单命令发送控制代码与驱动程序模块交互,以控制驱动程序模块的开始与暂停、日志过滤、自动滚动、日志清空以及中止驱动程序等操作。
文档编号H04L12/24GK1735029SQ200410035550
公开日2006年2月15日 申请日期2004年8月12日 优先权日2004年8月12日
发明者王鸿鹏, 王迎芳, 徐鄗, 谭俊峰, 文中领, 姜斌斌 申请人:海信集团有限公司, 北京海信数码科技有限公司