一种面向网络安全评估的漏洞扫描系统及其处理方法

文档序号:7705392阅读:139来源:国知局
专利名称:一种面向网络安全评估的漏洞扫描系统及其处理方法
技术领域
本发明涉及一种漏洞扫描系统,特别是涉及一种面向网络安全评估的漏洞扫描系 统及其处理方法。
背景技术
目前,随着计算机网络和通讯技术的飞速发展,网络安全问题也日益突出。面对 各种各样的网络事件和安全问题,我们深切感到网络安全评估的重要性和紧迫性。如何评 估?用什么技术实现安全评估?这越来越引起人们的广泛关注和重视,并成为信息安全技 术领域研究的热点问题。面对网络安全问题,通过大量分析可以发现,黑客和病毒通常是通过安全漏洞寄 生和渗入到目标系统中,并对系统进行一定的修改和破坏。因此只要能够找到系统所存在 的安全漏洞并及时地修复,就可以有效地抵御大部分黑客和病毒的攻击。漏洞扫描系统的 功能就是针对计算机或者其它网络主机设备进行安全检测,以找出存在的安全隐患和发现 可能被黑客利用的安全漏洞,使网络管理员预先知道网络的脆弱性所在,并及时采取补救 措施确保网络系统的安全。现有技术的漏洞扫描系统的体系结构原理框图请参见图1所示该漏洞扫描系统 大部分采用C/S模式,该模式主要由客户端1'和服务器端2'组成;其中,客户端1'由安 全评估模块11'、扫描配置模块12'和结果报表管理模块13'组成,服务器端2'由扫描 引擎21'、漏洞库22'和插件库23'组成;客户端1'和服务器端2'之间通过加密通道 3'实现数据传递;服务器端2'与被扫描网络4'相连接。该模式工作时,由客户端1'通 过扫描配置模块12'进行扫描配置,并将扫描请求文件发送到服务器端2';服务器端2' 的扫描引擎21'根据扫描配置文件信息调用相应的插件对被扫描网络4'进行扫描,并将 从被扫描网络4'返回的结果与漏洞库22'中的信息进行匹配以确定是否存在相应的漏 洞,然后将扫描结果返回给客户端1';客户端1'由安全评估模块11'对返回的扫描结果 进行分析,并完成对被扫描网络4'的安全评估工作;最后由客户端Γ的结果报表管理模 块13'对扫描结果进行处理。现有技术的这种漏洞扫描系统的结构原理虽然较为简单,但却存在着几点较为明 显的不足首先,这种模式进行漏洞扫描比较被动,一般情况下是用户需要检测系统的安全 性时才进行漏洞扫描,没办法及时发现系统的漏洞;其次,该模式没办法对扫描任务设置一 个有效的调度机制,实现定时扫描;第三,该模式一般都是把漏洞等级分为高、中、低,然后 简单的给个权值,最后再计算并取加权平均值,因算法较为粗糙,导致评估报告误差大;第 四,该模式没有预警功能,一般情况下扫描一个系统或者网络的漏洞需要等待较长的时间, 用户一般是等到整个扫描结束后才进行漏洞的修补,如果这个时候有针对相应漏洞的入侵 攻击进来,用户则无法查知。

发明内容
本发明的目的在于克服现有技术之不足,提供一种面向网络安全评估的漏洞扫描 系统及其处理方法,它根据传统漏洞扫描系统在架构和评估算法上存在的不足之处,提出 一个比较合理的扫描系统模型,同时采用模糊数学的评估算法对扫描结果进行安全评估, 从而提高评估的准确性。本发明解决其技术问题所采用的技术方案是一种面向网络安全评估的漏洞扫描 系统,包括采用C/S架构的服务器端和客户端,该服务器端运行于Unix或Linux平台,该客 户端运行于Windows平台;该服务器端,包括扫描引擎服务模块,用来接受客户端的请求,执行扫描任务;插件库,用来存储检验漏洞的插件;漏洞库,用来存储漏洞数据;扫描历史记录存储区,用来存储扫描历史记录数据;在服务器端中扫描引擎服务模块分别与插件库、漏洞库,扫描历史记录存储区相 连接,扫描引擎服务模块根据客户端的请求从插件库中调用插件并从扫描历史记录存储区 中读取对应的扫描历史记录对目标网络进行扫描,并把新的扫描信息写入扫描历史记录存储 区中,同时把扫描结果与漏洞库进行匹配看是否发现漏洞,最后把扫描结果传送给客户端;该客户端,包括扫描配置模块,提供一个界面,让用户对扫描会话的信息进行配置,然后把配置信 息组成扫描参数文件,并加密发送给服务器端;扫描报告处理模块,根据中文漏洞库中的漏洞信息和扫描结果信息生成扫描报
生 P=I ;评估算法模块,按照预置的算法对扫描结果进行计算分析,并形成安全评估报
生 P=I ;扫描结果库,用来存储扫描结果数据;中文漏洞库,用来存储中文漏洞数据;在客户端中评估算法模块与扫描结果库相连接,评估算法模块从扫描结果库中 调取扫描结果并根据预置的算法对扫描结果进行计算分析,从而形成安全评估报告;扫描 报告处理模块分别与中文漏洞库、扫描结果库相连接,从中文漏洞库中提取漏洞信息,从扫 描结果库中调取扫描结果信息,并生成扫描报告。所述的服务器端,还包括调度进程模块,用来接受客户端的请求,向扫描引擎服务模块发送触发扫描指 令;入侵检测模块,用来监听网络情况,判断网络是否有异常,在有异常时启动扫描;规则库,用来存储规则数据;在服务器端中调度进程模块与扫描引擎服务模块相连接,调度进程模块触发扫 描引擎服务模块执行扫描任务;入侵检测模块与规则库相连接,入侵检测模块对网络情况 进行监听并将监听结果与规则库里的规则进行比较以判断网络是否发生异常;所述的客户端,还包括
预警模块,根据服务器端的入侵检测模块所发送的启动扫描指令而产生警报,由 用户对当前网络进行扫描或者自动启动服务器端的调度进程模块进行扫描;在服务器端的入侵检测模块发现异常时,服务器端的入侵检测模块向客户端的预 警模块发送启动扫描指令,客户端的预警模块产生报警信息,并根据需要自动启动服务器 端的调度进程模块进行扫描。所述的服务器端,还包括客户端验证模块,用来接受客户端的请求对客户端证书进行验证,并向客户端发 送服务器端证书;用户证书库,用来存储用户信息和客户端证书;在服务器端中客户端验证模块与用户证书库相连接,客户端验证模块将接受的 客户端的验证请求与用户证书库的客户端证书进行比对验证;所述的客户端,还包括服务器端验证模块,用来向服务器端发送客户端证书,并接收服务器端证书;服务证书库,用来存储服务器信息和服务器端证书;在客户端中服务器端验证模块与服务证书库相连接,服务器端验证模块将接收 的服务器端证书与服务证书库中的服务器端证书进行比对验证。所述的服务器端,还包括漏洞扩充与汉化模块,用来建立中文漏洞库;在服务器端中漏洞扩充与汉化模块与中文漏洞库相连接。本发明的一种面向网络安全评估的漏洞扫描的处理方法,包括如下过程客户端通过使用证书认证连接到指定的服务器端,服务器端通过客户端认证;客户端启动扫描配置模块对要扫描的网络进行配置并把配置信息传送给服务器 端;服务器端启动扫描引擎服务模块工作,服务器端的扫描引擎服务模块根据配置参 数调用插件库中的插件并读取扫描历史记录存储区所对应的扫描历史记录对指定的网络 进行扫描;服务器端的扫描引擎服务模块把新的扫描信息写入扫描历史记录存储区中;同时 服务器端的扫描引擎服务模块把扫描结果跟漏洞库进行匹配看是否发现漏洞,最后把扫描 结果传送给客户端;客户端的扫描结果库接受服务器端的扫描结果的存储;客户端的评估算法模块从扫描结果库中获取扫描结果信息,并根据预置的算法对 扫描结果进行计算分析,进而形成安全评估报告;客户端的扫描报告处理模块根据中文漏洞库中的漏洞信息和扫描结果库中获取 的扫描结果信息,生成扫描报告;服务器端的入侵检测模块在服务器运行后,就时时捕获所监听的网络上数据包的 情况,与规则库里的规则进行匹配,判断网络上是否存在异常情况;当网络出现有异常情况时,就通知客户端上的预警模块,预警模块产生报警,由用 户对当前网络进行扫描或者自动启动服务器端的调度进程模块,通过调度进程模块触发扫 描弓I擎服务模块对整个网络进行扫描。
本发明的有益效果是由于将漏洞扫描系统和入侵检测系统相结合,并引入预警 功能和调度功能,使得该漏洞扫描系统可以根据用户的需要,有选择有目的地对所要评估 的网络进行漏洞扫描和安全评估;由于引入基于模糊数学的安全评估方法,且该方法能对 扫描结果进行一个比较客观、准确的安全评估,使得整个扫描报告结果比较准确。该系统能 够自动进行系统漏洞扫描,形成直观的扫描报告结果,同时能够有效地预防入侵,并且结合 相关专家经验值时,能使得整个网络安全评估结果更加准确和权威。以下结合附图及实施例对本发明作进一步详细说明;但本发明的一种面向网络安 全评估的漏洞扫描系统及其处理方法不局限于实施例。


图1是现有技术的漏洞扫描系统的结构原理框图;图2是本发明的漏洞扫描系统的结构原理框图;图3是本发明的预警模块的流程图;图4是本发明的扫描配置模块的扫描参数文件内容及传送过程示意图。
具体实施例方式实施例,请参见图2所示,本发明的一种面向网络安全评估的漏洞扫描系统,其漏 洞扫描系统包括采用C/S架构的服务器端1和客户端2,该服务器端1运行于Unix或Linux 平台,该客户端2运行于Windows平台;该服务器端1,包括扫描引擎服务模块16,用来接受客户端2的请求,执行扫描任务;扫描引擎服务模 块16的主要作用是负责根据用户的定制从插件库选取特定的插件,协调各扫描插件间的 关系,执行扫描程序,将结果存入扫描历史记录中,并负责发送给客户端;客户端验证模块19,用来接受客户端2的请求对客户端证书进行验证,并向客户 端2发送服务器端证书;服务器端1首次启动运行时,必须进行用户信息设置,服务器规则 设置,之后会产生一个服务器端证书;该模块存储着用户信息和客户端2的证书,支持用户 采用密码或证书登陆服务器;调度进程模块17,用来接受客户端2的请求,向扫描引擎服务模块16发送触发扫 描指令;根据来自客户端2的用户对扫描任务调度信息的配置,该模块会定期执行相对应 的扫描任务,并自动保存扫描结果;入侵检测模块18,用来监听网络情况,判断网络是否有异常,在有异常时启动扫 描;该模块主要是时时捕获所监听的网络上数据包的情况并进行分析,与规则库里的规则 进行匹配,从而判断网络上是否存在异常情况,并及时启动调度进程模块;插件库11,用来存储检验漏洞的插件;其中,插件与漏洞是一对一的关系,即一个 插件负责检验一个漏洞,且所有的插件均存放在插件库11中,插件根据各自的类别组织在 一起;漏洞库12,用来存储漏洞数据;当该模型执行外部扫描时,将从目标主机或网络 返回的信息与该漏洞库12中的信息相匹配,以此来判断目标主机或网络是否存在相应的 漏洞;
规则库13,用来存储规则数据;用户证书库14,用来存储用户信息和客户端证书;扫描历史记录存储区15,用来存储扫描历史记录数据;在服务器端1中扫描引擎服务模块16分别与插件库11、漏洞库12,扫描历史记 录存储区15相连接,扫描引擎服务模块16根据客户端2的请求从插件库11中调用插件并 从扫描历史记录存储区15中读取对应的扫描历史记录对目标网络3进行扫描,并把新的扫 描信息写入扫描历史记录存储区15中,同时把扫描结果与漏洞库12进行匹配看是否发现 漏洞,最后把扫描结果传送给客户端2 ;调度进程模块17与扫描引擎服务模块16相连接, 调度进程模块17触发扫描引擎服务模块16执行扫描任务;入侵检测模块18与规则库13 相连接,入侵检测模块18对网络情况进行监听并将监听结果与规则库13里的规则进行比 较以判断目标网络3是否发生异常;客户端验证模块19与用户证书库14相连接,客户端验 证模块19将接受的客户端2的验证请求与用户证书库14的客户端证书进行比对验证;该客户端2,包括服务器端验证模块205,用来向服务器端1发送客户端证书,并接收服务器端证 书;客户端2首次连接到服务器时,会从服务器下载证书并保存在客户端;每当客户端2与 服务器端1连接时,都要验证客户端上所存储的服务器端证书是否与当前服务器端上的证 书一致,只有二者一致时连接才能成功;预警模块203,根据服务器端1的入侵检测模块18所发送的启动扫描指令而产生 警报,由用户对当前网络进行扫描或者自动启动服务器端1的调度进程模块17进行扫描;扫描配置模块201,提供一个界面,让用户对扫描会话的信息进行配置,然后把配 置信息组成扫描参数文件,并加密发送给服务器端1 ;扫描报告处理模块208,根据中文漏洞库中的漏洞信息和扫描结果信息生成扫描 报告209 ;其扫描报告形式有txt、html等格式;为了使扫描报告更加直观化,还能以曲线 图、饼图和柱状图来显示漏洞危害等级和漏洞家族信息;漏洞扩充与汉化模块204,用来建立中文漏洞库;评估算法模块206,按照预置的算法对扫描结果进行计算分析,并形成安全评估报 告 207 ;扫描结果库202,用来存储扫描结果数据;中文漏洞库210,用来存储中文漏洞数据;服务证书库211,用来存储服务器信息和服务器端证书;在客户端2中服务器端验证模块205与服务证书库211相连接,服务器端验证模 块205将接收的服务器端证书与服务证书库211中的服务器端证书进行比对验证;评估算 法模块206与扫描结果库202相连接,评估算法模块206从扫描结果库202中调取扫描结 果并根据预置的算法对扫描结果进行计算分析,从而形成安全评估报告207 ;扫描报告处 理模块208分别与中文漏洞库210、扫描结果库202相连接,从中文漏洞库210中提取漏洞 信息,从扫描结果库202中调取扫描结果信息,并生成扫描报告209。本发明的一种面向网络安全评估的漏洞扫描系统,上述的预警模块203,主要是根 据服务器上IDS进程即入侵检测模块18是否发现入侵,若发现则产生警报,用户就可以对 当前网络进行扫描或者由预警模块203自动启动调度进程模块17进行扫描;其工作流程,请参见图3所示步骤Si,预警模块203根据入侵检验模块18所发送的启动扫描指令而产生警报, 执行步骤S2 ;步骤S2,将扫描任务入库,执行步骤S3 ;步骤S3,设置次任务优先级最高,执行步骤S4 ;步骤S4,判断是否有扫描进程正在运行,如判断有扫描进程正在运行,则执行步骤 S5,否则执行步骤S7;步骤S5,判断扫描进程是否运行完毕,如扫描进程运行完毕,则执行步骤S7,否则 执行步骤S6 ;步骤S6,判断扫描进程是否被强行终止,如扫描进程被强行终止,则执行步骤步骤 S7,否则回到步骤S5 ;步骤S7,启动调度进程模块17进行扫描。本发明的一种面向网络安全评估的漏洞扫描系统,主要是提供一个界面,让用户 对某次扫描会话的信息进行配置,然后把配置信息组成扫描参数文件,并发送给服务器端, 如图4所示。本发明的一种面向网络安全评估的漏洞扫描系统,由上述漏洞扩充与汉化模块 204所建立的中文漏洞库,其数据库中的各个字段如下所示插件ID(PID)描述检测某个漏洞所需插件的ID ;插件名称(PNAME)描述该插件的名称即该插件所发现的漏洞名称;漏洞描述(DESCRIPTION)描述漏洞相关信息,使用户更进一步地了解此漏洞;解决方案(SOLUTION):描述漏洞的解决方法;参阅(SEEALS0)描述漏洞补丁下载的链接地址;风险等级(RISKFACT0R)描述漏洞所对应的风险等级,用户根据此项知道哪些漏 洞对系统的危害大,需要立即下载补丁 ;参考资源(REFERENCE)描述与此漏洞相关的参考信息;插件版本(COPYRIGHT)描述该插件所对应的版权信息;漏洞家族(FAMILY)描述该漏洞所对应的家族信息;漏洞种类(CATEGORY)描述该漏洞所对应的种类;CVE编号(CVE)描述漏洞的CVE编号;标志位(FLAG)描述该插件信息是否被汉化。其中,该中文漏洞库的漏洞种类有以下五种Attack、Denial、Info、Manner和 Others。其漏洞家族如表1所示,这些漏洞家族可为后面的系统安全评估提供一定的参考 作用表1漏洞家族分类表
权利要求
1.一种面向网络安全评估的漏洞扫描系统,包括采用C/S架构的服务器端和客户端, 该服务器端运行于Unix或Linux平台,该客户端运行于Windows平台;其特征在于该服务器端,包括扫描引擎服务模块,用来接受客户端的请求,执行扫描任务; 插件库,用来存储检验漏洞的插件; 漏洞库,用来存储漏洞数据; 扫描历史记录存储区,用来存储扫描历史记录数据;在服务器端中扫描引擎服务模块分别与插件库、漏洞库,扫描历史记录存储区相连 接,扫描引擎服务模块根据客户端的请求从插件库中调用插件并从扫描历史记录存储区中 读取对应的扫描历史记录对目标网络进行扫描,并把新的扫描信息写入扫描历史记录存 储区中,同时把扫描结果与漏洞库进行匹配看是否发现漏洞,最后把扫描结果传送给客户 端;该客户端,包括扫描配置模块,提供一个界面,让用户对扫描会话的信息进行配置,然后把配置信息组 成扫描参数文件,并加密发送给服务器端;扫描报告处理模块,根据中文漏洞库中的漏洞信息和扫描结果信息生成扫描报告; 评估算法模块,按照预置的算法对扫描结果进行计算分析,并形成安全评估报告; 扫描结果库,用来存储扫描结果数据; 中文漏洞库,用来存储中文漏洞数据;在客户端中评估算法模块与扫描结果库相连接,评估算法模块从扫描结果库中调取 扫描结果并根据预置的算法对扫描结果进行计算分析,从而形成安全评估报告;扫描报告 处理模块分别与中文漏洞库、扫描结果库相连接,从中文漏洞库中提取漏洞信息,从扫描结 果库中调取扫描结果信息,并生成扫描报告。
2.根据权利要求1所述的面向网络安全评估的漏洞扫描系统,其特征在于 所述的服务器端,还包括调度进程模块,用来接受客户端的请求,向扫描引擎服务模块发送触发扫描指令; 入侵检测模块,用来监听网络情况,判断网络是否有异常,在有异常时启动扫描; 规则库,用来存储规则数据;在服务器端中调度进程模块与扫描引擎服务模块相连接,调度进程模块触发扫描引 擎服务模块执行扫描任务;入侵检测模块与规则库相连接,入侵检测模块对网络情况进行 监听并将监听结果与规则库里的规则进行比较以判断网络是否发生异常; 所述的客户端,还包括预警模块,根据服务器端的入侵检测模块所发送的启动扫描指令而产生警报,由用户 对当前网络进行扫描或者自动启动服务器端的调度进程模块进行扫描;在服务器端的入侵检测模块发现异常时,服务器端的入侵检测模块向客户端的预警模 块发送启动扫描指令,客户端的预警模块产生报警信息,并根据需要自动启动服务器端的 调度进程模块进行扫描。
3.根据权利要求1或2所述的面向网络安全评估的漏洞扫描系统,其特征在于 所述的服务器端,还包括客户端验证模块,用来接受客户端的请求对客户端证书进行验证,并向客户端发送服 务器端证书;用户证书库,用来存储用户信息和客户端证书;在服务器端中客户端验证模块与用户证书库相连接,客户端验证模块将接受的客户 端的验证请求与用户证书库的客户端证书进行比对验证; 所述的客户端,还包括服务器端验证模块,用来向服务器端发送客户端证书,并接收服务器端证书; 服务证书库,用来存储服务器信息和服务器端证书;在客户端中服务器端验证模块与服务证书库相连接,服务器端验证模块将接收的服 务器端证书与服务证书库中的服务器端证书进行比对验证。
4.根据权利要求1所述的面向网络安全评估的漏洞扫描系统,其特征在于所述的服 务器端,还包括漏洞扩充与汉化模块,用来建立中文漏洞库;在服务器端中漏洞扩充与汉化模块与中文漏洞库相连接。
5.一种面向网络安全评估的漏洞扫描的处理方法,其特征在于包括如下过程 客户端通过使用证书认证连接到指定的服务器端,服务器端通过客户端认证; 客户端启动扫描配置模块对要扫描的网络进行配置并把配置信息传送给服务器端; 服务器端启动扫描引擎服务模块工作,服务器端的扫描引擎服务模块根据配置参数调用插件库中的插件并读取扫描历史记录存储区所对应的扫描历史记录对指定的网络进行 扫描;服务器端的扫描引擎服务模块把新的扫描信息写入扫描历史记录存储区中;同时服务 器端的扫描引擎服务模块把扫描结果跟漏洞库进行匹配看是否发现漏洞,最后把扫描结果 传送给客户端;客户端的扫描结果库接受服务器端的扫描结果的存储;客户端的评估算法模块从扫描结果库中获取扫描结果信息,并根据预置的算法对扫描 结果进行计算分析,进而形成安全评估报告;客户端的扫描报告处理模块根据中文漏洞库中的漏洞信息和扫描结果库中获取的扫 描结果信息,生成扫描报告;服务器端的入侵检测模块在服务器运行后,就时时捕获所监听的网络上数据包的情 况,与规则库里的规则进行匹配,判断网络上是否存在异常情况;当网络出现有异常情况时,就通知客户端上的预警模块,预警模块产生报警,由用户对 当前网络进行扫描或者自动启动服务器端的调度进程模块,通过调度进程模块触发扫描引 擎服务模块对整个网络进行扫描。
全文摘要
本发明公开了一种面向网络安全评估的漏洞扫描系统及其处理方法,包括采用C/S架构的服务器端和客户端;服务器端运行于Unix或Linux平台,客户端运行于Windows平台;服务器端包括客户端验证模块、扫描引擎服务模块、调度进程模块、入侵检测模块等;客户端包括服务器验证模块、扫描配置模块、预警模块、评估算法模块、扫描报告处理模块、漏洞扩充与汉化模块等;本发明将漏洞扫描系统和入侵检测系统相结合,并引入预警功能和调度功能,使得该系统可以根据用户的需要,有选择有目的地对所要评估的网络进行漏洞扫描和安全评估,并形成一个较为客观、准确的漏洞扫描报告。
文档编号H04L12/28GK102082659SQ20091011291
公开日2011年6月1日 申请日期2009年12月1日 优先权日2009年12月1日
发明者刘祥南, 吴鸿伟, 高静峰 申请人:厦门市美亚柏科信息股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1