检测Windows系统已知漏洞的方法和系统的制作方法

文档序号:6335945阅读:228来源:国知局
专利名称:检测Windows系统已知漏洞的方法和系统的制作方法
技术领域
本发明涉及计算机操作系统安全领域,特别涉及一种检测Windows系统已知漏洞 的方法和系统。
背景技术
目前,绝大多数初级用户使用的操作系统都是Windows系统,而Windows系统在逻 辑设计上的缺陷或者编写时产生的错误导致的漏洞可以被不法者或者黑客利用,通过植入 木马、病毒的方式窃取用户电脑上的重要资料和信息。因此,Windows系统漏洞的存在,给 广大用户和整个互联网带来了巨大的危害。幸运的是,随着Windows系统的漏洞不断暴露 出来,微软公司也会不断发布补丁进行修补。所以,如果我们及时跟踪微软发布的Windows 系统已知漏洞和相应的补丁,并进行修补,仍然可以大大提高Windows系统的安全性。为了帮助初级用户解决定期跟踪微软公告、逐个下载和安装补丁的烦恼,目前市 场出现了很多自动检测Windows系统已知漏洞并自动下载安装系统补丁的产品。这些产 品都能发现Windows系统中已知的漏洞,达到比较理想的修复效果。但是,目前的众多 Windows系统修复产品普遍存在一个问题,就是检测Windows系统漏洞的速度非常缓慢。由 于用户需要等待检测Windows系统漏洞结束之后才能选择修复哪些漏洞需要修复,因此检 测速度的快慢非常影响用户对产品的感受。

发明内容
针对以上不足,本发明要解决的技术问题是提供一种检测Windows系统已知漏洞 的方法和系统,该方法和系统能够在软件产品打开的同时不需要用户等待就快速检测出 Windows系统已知的漏洞,加强用户体验。为了解决上述技术问题,本发明提供一种检测Windows系统已知漏洞的方法,包 括
步骤a、跟踪微软发布的公告,收集最新的Windows系统已知漏洞信息,其中至少包括 漏洞KB编号和受影响的系统组件名称;
步骤b、读取当前Windows系统注册表信息,确定当前Windows系统中已经安装的组件, 根据当前Windows系统中已经安装的组件名称查找是否有与步骤a中收集的相同的受影响 的系统组件名称,如果有,则将所述受影响的系统组件名称对应的漏洞KB编号加入到当前 Windows系统存在的漏洞列表中;
步骤c、读取当前Windows系统注册表信息中已经安装的补丁信息,确定当前Windows 系统已经修复的漏洞列表;
步骤d、从当前Windows系统存在的漏洞列表中去掉当前Windows系统已经修复的漏洞 列表包含的已经修复的漏洞,得到当前Windows系统已知漏洞列表。进一步的,步骤a中,持续收集最新的Windows系统已知漏洞信息,得到微软发布 的Windows系统已知漏洞完整列表。
进一步的,收集最新的Windows系统已知漏洞信息还包括漏洞的名称、漏洞的危 险级别、漏洞影响的Windows操作系统版本。进一步的,步骤b中,逐个读取注册表中卸载项HKEY_LOCAL_MACHINE\SOFTWARE\ Microsoft\ffindows\CurrentVersion\Uninstall 白勺 {t,tflig胃巾白勺 DisplayName Mti^fe 确定当前Windows系统中已经安装的组件名称。进一步的,步骤c中,读取注册表信息,遍历注册表中补丁信息的注册表项HKEY_ LOCAL_MACHINE\SOFTWARE\MicrosoftWindows NT\CurrentVersion\HotFix,将此注册表 项下面每一个子键包含的系统漏洞KB编号,加入到已经修复的Windows系统漏洞列表中。进一步的,步骤C 中,遍历注册表项 HKEY_L0CAL_MACHINE\S0FTWARE\Microsoft\ Windows\CurrentVersion\Uninstall,如果 Uninstall 中子键的 DisplayName 属性为 KB 力口 上6位数字组成的漏洞补丁编号格式,则将该KB编号加入到已经修复的Windows系统漏洞 列表中。本发明还提供了一种检测Windows系统已知漏洞的系统,包括
信息获取模块,用于跟踪微软发布的公告,收集最新的Windows系统已知漏洞信息,其 中至少包括漏洞KB编号和受影响的系统组件名称;
系统组件确定模块,用于读取当前Windows系统注册表信息,确定当前Windows系统中 已经安装的组件;
查找模块,用于根据当前Windows系统中已经安装的组件名称,查找是否有与信息获 取模块收集的相同的受影响的系统组件名称;
加入模块,用于在查找模块查找到有与信息获取模块收集的相同的受影响的系统组件 名称时,将所述受影响的系统组件名称对应的漏洞KB编号加入到当前Windows系统存在的 漏洞列表中;
漏洞列表确定模块,用于读取当前Windows系统注册表信息中已经安装的补丁信息, 确定当前Windows系统已经修复的漏洞列表;
漏洞列表处理模块,用于从当前Windows系统存在的漏洞列表中去掉当前Windows系 统已经修复的漏洞列表包含的已经修复的漏洞,得到当前Windows系统已知漏洞列表。进一步的,所述信息获取模块具体用于持续收集最新的Windows系统已知漏洞信 息,得到微软发布的Windows系统已知漏洞完整列表。进一步的,最新的Windows系统已知漏洞信息还包括漏洞的名称、漏洞的危险级 别、漏洞影响的Windows操作系统版本。进一步的,所述系统组件确定模块的功能具体包括逐个读取注册表中卸载项 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ffindows\CurrentVersion\Uninstall 的键值, 根据其中的DisplayName属性来确定当前Windows系统中已经安装的组件名称。进一步的,所述漏洞列表确定模块的功能具体包括读取注册表信息,遍历注 册表中补丁信息的注册表项 HKEY_L0CAL_MACHINE\S0FTWARE\Microsoft\Windows NT\ CurrentVersiorAHotFix,将此注册表项下面的每一个子键包含的系统漏洞KB编号,加入 到已经修复的Windows系统漏洞列表中。进一步的,所述漏洞列表确定模块的功能具体还包括遍历注册表项HKEY_ LOCAL_MACHINE\SOFTWARE\Microsoft\ffindows\CurrentVersion\Uninstall,如果
5Uninstall中子键的DisplayName属性为KB加上6位数字组成的补丁编号格式,则将该KB 编号加入到已经修复的Windows系统漏洞列表中。本发明的有益效果是
在面对最终用户的产品中使用本发明读取注册表信息即可确定Windows系统中存在 的已知漏洞。读取注册表可以快速的得到数据,用户检测Windows系统漏洞所需时间在1 秒以内。对于经常主动执行Windows系统修复的用户来说节约了大量的时间,并且提高了 用户的体验,使用户乐于经常执行Windows系统漏洞检测,从而提高用户计算机的安全性。


为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术 描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中 记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以 根据这些附图获得其他的附图。图1为本发明的一种检测Windows系统已知漏洞的方法流程图; 图2为本发明的一种检测Windows系统已知漏洞的系统示意图。
具体实施例方式为了使本技术领域的人员更好地理解本发明实施例中的技术方案,并使本发明的 上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明中技术方案作进一步详 细的说明。本发明提供一种检测Windows系统已知漏洞的方法和系统,该方法和系统能够在 软件产品打开的同时不需要用户等待就快速检测出Windows系统已知的漏洞,加强用户体验。首先介绍本发明提供的检测Windows系统已知漏洞的方法,具体实施步骤如图1 所示,包括
S01、跟踪微软发布的公告,收集最新的Windows系统已知漏洞信息,其中至少包括漏 洞KB编号和受影响的系统组件名称;
持续收集最新的Windows系统已知漏洞信息,得到微软发布的Windows系统已知漏洞 完整列表;
最新的Windows系统已知漏洞信息还包括漏洞的名称、漏洞的危险级别、漏洞影响 的Windows操作系统版本,其中以漏洞的KB编号作为漏洞的标识。S02、读取当前Windows系统注册表信息,确定当前Windows系统中已经安装的组 件,根据当前Windows系统中已经安装的组件名称查找是否有与步骤a中收集的相同的受 影响的系统组件名称,如果有,则将所述受影响的系统组件名称对应的漏洞KB编号加入到 当前Windows系统存在的漏洞列表A中;
确定当前Windows系统中已经安装的组件具体方法包括逐个读取注册表中卸载项 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ffindows\CurrentVersion\Uninstall 的键值, 根据其中的DisplayName属性来确定当前Windows系统中已经安装的组件名称。S03、读取当前Windows系统注册表信息中已经安装的补丁信息,确定当前Windows系统已经修复的Windows系统漏洞列表B ;
确定当前Windows系统已经修复的漏洞列表具体方法包括读取注册表信息,遍历 注册表中补丁信息的注册表项 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\ CurrentVersion\HotFix,将此注册表项下面每一个子键包含的漏洞KB编号,加入到已经 修复的Windows系统漏洞列表B中;
个别组件的补丁安装后不会在 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\HotFix注册表项下面产生子键,对于这样的补丁需要结合注册表项 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ffindows\CurrentVersion\Uninstal1,如果 Uninstall中子键的DisplayName属性是否有KB加上6位数字组成的漏洞补丁编号格式, 则认为这个补丁编号对应的Windows系统漏洞已经修复,加入到已经修复的Windows系统 漏洞列表B中。S04、从漏洞列表A中去掉漏洞列表B包含的Windows系统漏洞,得到当前Windows 系统已知漏洞列表。本发明还提供了一种检测Windows系统已知漏洞的系统,如图2所示,这种系统包 括信息获取模块101,用于跟踪微软发布的公告,收集最新的Windows系统已知漏洞信 息,其中至少包括漏洞KB编号和受影响的系统组件名称;
系统组件确定模块102,用于读取当前Windows系统注册表信息,确定当前Windows系 统中已经安装的组件;
查找模块103,用于根据当前Windows系统中已经安装的组件名称,查找是否有与信息 获取模块收集的相同的受影响的系统组件名称;
加入模块104,用于在查找模块查找到有与信息获取模块收集的相同的受影响的系统 组件名称时,将所述受影响的系统组件名称对应的漏洞KB编号加入到当前Windows系统存 在的漏洞列表中;
漏洞列表确定模块105,用于读取当前Windows系统注册表信息中已经安装的补丁信 息,确定当前Windows系统已经修复的漏洞列表;
漏洞列表处理模块106,用于从当前系统存在的漏洞列表中去掉当前Windows系统已 经修复的漏洞列表包含的已经修复的漏洞,得到当前Windows系统已知漏洞列表。本发明提供的检测Windows系统已知漏洞的系统中,信息获取模块101具体用于 持续收集最新的Windows系统已知漏洞信息,得到微软发布的Windows系统已知漏洞完整 列表。其中收集的最新Windows系统已知漏洞信息包括漏洞的KB编号、漏洞的名称、漏 洞的危险级别、漏洞影响的Windows操作系统版本、受影响的系统组件名称,并以漏洞的KB 编号作为漏洞的标识。本发明提供的检测Windows系统已知漏洞的系统中,系统组件确定模块102的 功能具体包括逐个读取注册表中卸载项HKEY_L0CAL_MACHINE\S0FTWARE\Microsoft\ Windows\CurrentVersion\Uninstall的键值,根据其中的DisplayName属性来确定当前 Windows系统中已经安装的组件名称。本发明提供的检测Windows系统已知漏洞的系统中,漏洞列表确定模块105的功 能具体包括读取注册表信息,遍历注册表中补丁信息的注册表项HKEY_L0CAL_MACHINE\SOFTWARE\MicrosoftWindows NT\CurrentVersion\HotFix,将此注册表项下面的每一个 子键包含的系统漏洞KB编号,加入到已经修复的Windows系统漏洞列表中;
其中,遍历注册表中补丁信息的注册表项HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ Windows NT\CurrentVersion\HotFix,个别组件的补丁 安装后不会在 HKEY_L0CAL_ MACHINE\SOFTWARE\Microsoft\ffindowsNT\CurrentVersion\HotFix 注册表项下面产生 子键,对于这样的补丁需要结合注册表项HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ Windows\CurrentVersion\Uninstall,如果 Uninstall 中子键的 DisplayName 属性为 KB 力口 上6位数字组成的补丁编号格式,则将该KB编号加入到已经修复的Windows系统漏洞列表 中。 虽然通过实施例描绘了本发明,本领域普通技术人员知道,本发明有许多变形和 变化而不脱离本发明的精神,希望所附的权利要求包括这些变形和变化而不脱离本发明的 精神。
权利要求
一种检测Windows系统已知漏洞的方法,其特征在于,包括步骤a、跟踪微软发布的公告,收集最新的Windows系统已知漏洞信息,其中至少包括漏洞KB编号和受影响的系统组件名称;步骤b、读取当前Windows系统注册表信息,确定当前Windows系统中已经安装的组件,根据当前Windows系统中已经安装的组件名称查找是否有与步骤a中收集的相同的受影响的系统组件名称,如果有,则将所述受影响的系统组件名称对应的漏洞KB编号加入到当前Windows系统存在的漏洞列表中;步骤c、读取当前Windows系统注册表信息中已经安装的补丁信息,确定当前Windows系统已经修复的漏洞列表;步骤d、从当前Windows系统存在的漏洞列表中去掉当前Windows系统已经修复的漏洞列表包含的已经修复的漏洞,得到当前Windows系统已知漏洞列表。
2.如权利要求1所述的检测Windows系统已知漏洞的方法,其特征在于,步骤a中,持 续收集最新的Windows系统已知漏洞信息,得到微软发布的Windows系统已知漏洞完整列 表。
3.如权利要求1或2所述的检测Windows系统已知漏洞的方法,其特征在于,最新的 Windows系统已知漏洞信息还包括漏洞的名称、漏洞的危险级别、漏洞影响的Windows操 作系统版本。
4.如权利要求1所述的检测Windows系统已知漏洞的方法,其特征在于,步骤b 中,逐个读取注册表中卸载项 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\ CurrentVersion\Uninstal 1的键值,根据其中的DisplayName属性来确定当前Windows系 统中已经安装的组件名称。
5.如权利要求1所述的检测Windows系统已知漏洞的方法,其特征在于,步骤c中, 读取注册表信息,遍历注册表中补丁信息的注册表项HKEY_LOCAL_MACHINE\SOFTWARE\ Microsoft\Windows NT\CurrentVersion\HotFix,将此注册表项下面每一个子键包含的漏 洞KB编号,加入到已经修复的Windows系统漏洞列表中。
6.如权利要求5所述的检测Windows系统已知漏洞的方法,其特征在于,遍历注册表 项 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall,如果 Uninstall中子键的DisplayName属性为KB编号加上6位数字组成的漏洞补丁编号格式, 则将该KB编号加入到已经修复的Windows系统漏洞列表中。
7.—种检测Windows系统已知漏洞的系统,其特征在于,包括信息获取模块,用于跟 踪微软发布的公告,收集最新的Windows系统已知漏洞信息,其中至少包括漏洞KB编号和 受影响的系统组件名称;系统组件确定模块,用于读取当前Windows系统注册表信息,确定当前Windows系统中 已经安装的组件;查找模块,用于根据当前Windows系统中已经安装的组件名称,查找是否有与信息获 取模块收集的相同的受影响的系统组件名称;加入模块,用于在查找模块查找到有与信息获取模块收集的相同的受影响的系统组件 名称时,将所述受影响的系统组件名称对应的漏洞KB编号加入到当前Windows系统存在的 漏洞列表中;漏洞列表确定模块,用于读取当前Windows系统注册表信息中已经安装的补丁信息, 确定当前Windows系统已经修复的漏洞列表;漏洞列表处理模块,用于从当前Windows系统存在的漏洞列表中去掉当前Windows系 统已经修复的漏洞列表包含的已经修复的漏洞,得到当前Windows系统已知漏洞列表。
8.如权利要求7所述的检测Windows系统已知漏洞的系统,其特征在于,所述信息获取 模块具体用于持续收集最新的Windows系统已知漏洞信息,得到微软发布的Windows系统 已知漏洞完整列表。
9.如权利要求7或8所述的检测Windows系统已知漏洞的系统,其特征在于,最新的 Windows系统已知漏洞信息还包括漏洞的名称、漏洞的危险级别、漏洞影响的Windows操 作系统版本。
10.如权利要求7所述的检测Windows系统已知漏洞的系统,其特征在于,所述系统组 件确定模块的功能具体包括逐个读取注册表中卸载项HKEY_LOCAL_MACHINE\SOFTWARE\ Microsoft\ffindows\CurrentVersion\Uninstall 的键值,根据其中的 DisplayName 属性来确定当前Windows系统中已经安装的组件名称。
11.如权利要求7所述的检测Windows系统已知漏洞的系统,其特征在于,所述漏洞列 表确定模块的功能具体包括读取注册表信息,遍历注册表中补丁信息的注册表项HKEY_ LOCAL_MACHINE\SOFTWARE\MicrosoftWindows NT\CurrentVersion\HotFix,将此注册表 项下面的每一个子键包含的系统漏洞KB编号,加入到已经修复的Windows系统漏洞列表 中。
12.如权利要求7所述的快速检测Windows系统已知漏洞的系统,其特征在于,所述 漏洞列表确定模块的功能具体还包括遍历注册表项HKEY_LOCAL_MACHINE\SOFTWARE\ Microsoft\ffindows\CurrentVersion\Uninstall,如果 Uninstall 中子键的 DisplayName 属性为KB加上6位数字组成的补丁编号格式,则将该KB编号加入到已经修复的Windows 系统漏洞列表中。
全文摘要
本发明公开了一种检测Windows系统已知漏洞的方法,包括跟踪微软发布的公告,收集最新的Windows系统已知漏洞信息;读取Windows系统注册表信息并结合最新的Windows系统已知漏洞信息确定当前Windows系统存在的漏洞列表;读取Windows系统注册表补丁信息确定当前Windows系统已经修复的漏洞列表;从当前Windows系统存在的漏洞列表中去掉当前Windows系统已经修复的漏洞列表包含的已经修复的漏洞,得到当前Windows系统已知漏洞列表。本发明还公开了一种检测Windows系统已知漏洞的系统。在面对最终用户的产品中使用本发明读取注册表信息即可确定系统中存在的已知漏洞,并且能够在软件产品打开的同时不需要用户等待就检测出Windows系统已知的漏洞,加强用户体验。
文档编号G06F21/00GK101986283SQ201010545669
公开日2011年3月16日 申请日期2010年11月16日 优先权日2010年11月16日
发明者徐翰隆, 范立志 申请人:北京安天电子设备有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1