首页> 中国专利> 基于FPGA的远程漏洞高速扫描主机及扫描方法

基于FPGA的远程漏洞高速扫描主机及扫描方法

摘要

本发明涉及基于FPGA的远程漏洞高速扫描主机及扫描方法,用FPGA分担了CPU的工作,提高远程漏洞扫描速度和准确率。该扫描主机由主机存活探测模块、存活主机漏洞结果库、存活主机知识库存放模块、漏洞插件扫描模块和漏洞规则库模块构成,其中存活主机探测模块通过TCPconnect扫描与远程目标主机的端口进行连接,若连接成功则获取此主机开放端口的信息,形成该主机的知识库,将此主机的知识库存放到FPGA的存活主机知识库存放模块,FPGA启动漏洞插件扫描模块,通过对该主机知识库的内容和漏洞规则库模块进行高速扫描匹配,若匹配成功,则该漏洞存在,然后将该漏洞的信息存放到存活主机漏洞结果库里,供安全管理人员参考。

著录项

  • 公开/公告号CN102156827A

    专利类型发明专利

  • 公开/公告日2011-08-17

    原文格式PDF

  • 申请/专利权人 无锡市同威科技有限公司;

    申请/专利号CN201110008285.X

  • 发明设计人 袁宝弟;王永忠;施林林;陈相云;

    申请日2011-01-14

  • 分类号G06F21/00(20060101);

  • 代理机构32104 无锡市大为专利商标事务所;

  • 代理人殷红梅

  • 地址 214072 江苏省无锡市滨湖区滴翠路100号(创意园)77号3楼西

  • 入库时间 2023-12-18 03:00:25

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2013-01-30

    授权

    授权

  • 2011-09-28

    实质审查的生效 IPC(主分类):G06F21/00 申请日:20110114

    实质审查的生效

  • 2011-08-17

    公开

    公开

说明书

技术领域

本发明涉及一种基于FPGA的远程漏洞高速扫描主机及扫描方法,属于计算机网络技术领域。

背景技术

在网络安全形势日益严峻的情况下,网络防护重点逐渐从被动防御转为主动防御,即采取远程漏洞扫描技术,主动检测远程主机系统中出现的漏洞,及时采取应对措施,防患于未然。没有及时有效且高速的远程漏洞扫描,安全防范将无从谈起。

远程漏洞高速扫描方法是一种自动检测远程主机安全性弱点的方法。通过使用该方法,系统管理员能够发现所维护的服务器的各种TCP端口的分配、提供的服务、软件版本和这些服务及软件呈现在网络上的安全漏洞。从而在计算机网络系统安全保卫战中做到有的放矢,及时修补漏洞,构筑坚固的安全长城。

现在市面上有多种远程漏洞扫描方法,由于都是基于PC机上运行的,扫描速度依赖于 CPU的速度,而CPU需要协调各项系统运行任务,分配给远程扫描的资源被大大弱化,这个导致它们在执行远程扫描时耗费较多等待时间,导致连接远程主机相应端口时出现超时现象,从而无法准确获得该端口上运行了哪些服务,存在哪些漏洞,出现漏报情况。

针对目前主流PC运算能力有限,所有工作都由CPU处理导致速度慢的问题,需要将远程漏洞高速扫描的部分工作分担给其它专业部件执行,分工协作,提高扫描速度和准确率,供安全管理人员参考。

发明内容

本发明的目的在于弥补现有实现方法的局限性,提供一种基于FPGA的远程漏洞高速扫描主机及扫描方法,由CPU负责扫描远程目标机器中存活的主机及开放端口的信息,形成该主机开放端口的知识库,而FPGA高性能运算PCI卡利用该主机的开放端口知识库和漏洞规则库模块进行高速扫描匹配,大大提高远程扫描速度和准确率。

本发明是通过以下技术方案实现的,该扫描主机包括存活主机探测模块、存活主机漏洞结果库、存活主机知识库存放模块、漏洞插件扫描模块和漏洞规则库模块,所述存活主机探测模块和存活主机漏洞结果库由CPU操作,其中存活主机探测模块通过TCP connect扫描与远程目标主机的端口进行连接,若连接成功表示此主机是活动的,然后获取此主机开放端口的信息,形成该主机的知识库,最后将此主机的知识库通过PCI接口存放到FPGA的存活主机知识库存放模块,FPGA启动漏洞插件扫描模块,通过对该主机知识库的内容和漏洞规则库模块进行高速扫描匹配,若匹配成功,则该漏洞存在,然后将该漏洞的信息存放到存活主机漏洞结果库里,供安全管理人员参考。

扫描主机包含的存活主机探测模块和存活主机漏洞结果库是由CPU操作的,其中存活主机探测模块是新添加的功能模块,主要由CPU调用此模块探测远程目标主机,判断哪些主机是活动的,以避免不必要的空扫描,然后再由FPGA对该活动的主机进行漏洞扫描。

所述基于FPGA的远程漏洞高速扫描方法如下。

(1)存活主机探测模块的工作流程为:

由CPU操作存活主机探测模块通过TCP connect扫描与远程目标主机的1~1024或者1~65535端口进行连接,它是利用TCP的完全连接方式,通过发送报文段连接到目标计算机上,完成一次完整的三次握手过程。如果端口处于侦听状态,那么该连接就能成功返回,表示此主机是活动的,然后获取此主机开放端口的信息,形成该主机的知识库,最后将此主机的知识库通过PCI接口存放到FPGA的存活主机知识库存放模块。

(2)FPGA启动漏洞插件扫描具体流程为:

a.通过FPGA启动漏洞插件扫描模块,根据该主机知识库的内容,调用获取主机详细信息的插件来获取主机名、操作系统和MAC地址信息。

b.根据a步获取的主机操作系统的信息,自动选择相应类型的漏洞扫描插件,形成扫描该主机的插件队列。

c.FPGA通过b步形成的插件队列结合该主机知识库的内容,扫描相应开放端口,将从端口获取的信息与漏洞规则库模块进行高速扫描匹配,若匹配成功,则该漏洞存在,转入d操作,否则转入e操作。

d.根据c步匹配成功获得的漏洞信息,保存到存活主机漏洞结果库里,供安全管理人员参考。

e.若FPGA扫描队列里还有未扫描的插件,则转入c操作。

本发明是一种利用FPGA高性能运算PCI卡分担CPU的部分工作的远程漏洞高速扫描方法,将原来由CPU在所有存活主机探测结束后做的漏洞扫描工作转由FPGA单独来完成,CPU和FPGA相互独立协调工作,提高了整体探测扫描速度和准确率。

附图说明

图1是本发明扫描主机的原理图。

图2是本发明的存活主机探测流程图。

图3是本发明的FPGA启动漏洞插件扫描流程图。

具体实施方式

以下将对192.168.1.1-192.168.1.10网段进行扫描为例,通过对该网段进行扫描的具体操作来进一步描述本发明的基于FPGA的远程漏洞高速扫描方法。

如图1,本发明的带FPGA的扫描主机由CPU和FPGA协同工作,用户启动对该网段的扫描任务后,CPU调用存活主机探测模块。FPGA是一块FPGA高性能运算PCI卡,工作时插在计算机的PCI插槽上,在操作系统下的驱动和应用软件的控制下,实现高速运算;其传输速度快,功能和扩展性强,可编程性强,可以根据不同的应用,设计相应的应用软件实现不同的运算功能。

本发明的扫描主机包括存活主机探测模块、存活主机漏洞结果库、存活主机知识库存放模块、漏洞插件扫描模块和漏洞规则库模块,所述存活主机探测模块和存活主机漏洞结果库由CPU操作,其中CPU操作存活主机探测模块通过TCP connect扫描与远程目标主机的端口进行连接,若连接成功表示此主机是活动的,然后获取此主机开放端口的信息,形成该主机的知识库,最后将此主机的知识库通过PCI接口存放到FPGA的存活主机知识库存放模块,FPGA启动漏洞插件扫描模块,通过对该主机知识库的内容和漏洞规则库模块进行高速扫描匹配,若匹配成功,则漏洞存在,然后将该漏洞的信息存放到存活主机漏洞结果库里。

如图2所示,存活主机探测模块的主要流程为:由CPU操作存活主机探测模块通过TCP connect扫描与远程目标主机的1~1024或者1~65535端口进行连接,它是利用TCP的完全连接方式,通过发送报文段连接到目标计算机上,完成一次完整的三次握手过程。如果端口处于侦听状态,那么该连接就能成功返回,表示此主机是活动的,然后获取此主机开放端口的信息,形成该主机的知识库,最后将此主机的知识库通过PCI接口存放到FPGA的存活主机知识库存放模块。

把该网段中所有活动的主机都探测出来(存活的主机有192.168.1.1和192.168.1.5),去除非存活的主机,这样本次扫描任务中减少了对非存活主机的扫描操作,从而提高了工作效率,然后探测出存活主机的开放端口上开启的服务,形成开放端口知识库(192.168.1.1的知识库和192.168.1.5的知识库),将该知识库存放到FPGA的存活主机知识库存放模块中,然而FPGA根据知识库的内容启动漏洞插件扫描模块。

如图3所示,FPGA启动漏洞插件扫描的主要流程为:

a.通过FPGA启动漏洞插件扫描模块,根据该主机知识库的内容,调用获取主机详细信息的插件来获取主机名、操作系统和MAC地址信息。所述插件是一种遵循一定规范的应用程序接口编写出来的程序。

b.根据a获取的主机操作系统的信息,自动选择相应类型的漏洞扫描插件,形成扫描该主机的插件队列。

c.FPGA通过b形成的插件队列结合该主机知识库的内容,扫描相应开放端口,将从端口获取的信息与漏洞规则库模块进行高速扫描匹配,若匹配成功,则该漏洞存在,转入d操作,否则转入e操作。

d.根据c匹配成功获得的漏洞信息,保存到存活主机漏洞结果库里,供安全管理人员参考。

e.若FPGA扫描队列里还有未扫描的插件,则转入c操作。

该实施例中,FPGA启动漏洞插件扫描模块,读取192.168.1.1的知识库内容,调用获取主机详细信息的插件来获取主机名(kenjava)、操作系统(Microsoft Windows XP)和MAC地址(00:1D:92:7C:5B:DE)信息。然后在获得操作系统为Microsoft Windows XP后,将选择针对windows相关的漏洞扫描插件,将这些插件放入该主机的插件队列,等待调用扫描该主机的漏洞。FPGA从该队列里取出一个插件,结合该主机知识库的内容,扫描相应开放端口,将从端口获取的信息与漏洞规则库模块进行高速扫描匹配,对其中137的端口返回的内容与漏洞规则库中4718号漏洞(利用NetBIOS可获取远程主机敏感信息)匹配,则说明该漏洞存在,将该漏洞信息保存到存活主机漏洞结果库里,供安全管理人员参考。然后从插件队列里选取下一个插件进行扫描匹配,直至所有插件扫描结束。

本发明方法实施的效果是非常明显的,由于准确获取了主机的操作系统信息,插件列表里面就是由所有相关系统的插件组成,去除掉一大部分不相关的插件,这样提高了扫描速度和准确率,为安全管理人员提供了全面的关于本机的安全状况,供参考分析。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号