一种主机漏洞扫描方法、装置、设备及存储介质与流程

未命名 08-26 阅读:140 评论:0


1.本发明涉及漏洞扫描技术领域,特别涉及一种主机漏洞扫描方法、装置、设备及存储介质。


背景技术:

2.漏洞扫描是扫描器直接对目标网络或者目标主机进行安全漏洞的检测与分析,进而发现网络或系统中的安全隐患和可能被攻击者利用的漏洞。当前的漏洞扫描系统按扫描目标不同可分为主机漏洞扫描和网络漏洞扫描。主机漏洞扫描通常是采用较为被动的、非破坏性的方法对系统进行检测。虽然目前主机漏洞扫描网络开销低,可扫描的漏洞多。但由于代理程序运行在待测试服务器上,程序运行的本身依旧会消耗待测试服务器的性能,并且性能的开销随着测试业务本身速度加快而关联性增长。而网络漏洞扫描本身会占用较大的网络带宽和较多的待测试服务器网络栈资源,这些占用也会影响待测试服务器的正常业务运行。两种主流的漏洞测试方式均遇到了测试的负载较高的时候,会严重影响到待测系统的正常业务。因此,保证待扫描用户服务器正常业务访问的情况下,能够高效准确的对主机漏洞进行扫描是需要解决的。


技术实现要素:

3.有鉴于此,本发明的目的在于提供一种主机漏洞扫描方法、装置、设备及存储介质,能够降低待测试服务器的主机性能消耗。其具体方案如下:
4.第一方面,本技术公开了一种主机漏洞扫描方法,应用于主机漏洞扫描设备,包括:
5.获取测试服务器传输的对待测试服务器的网络漏洞扫描请求进行拆包后得到的各请求数据片段;
6.对各所述请求数据片段进行整合以得到整合后扫描请求;
7.将所述整合后扫描请求进行封装以得到封装后扫描请求;
8.通过网络协议层将所述封装后扫描请求上抛至所述待测试服务器的内核网络栈,以便所述待测试服务器主动从所述内核网络栈中读取并响应所述封装后扫描请求,以完成相应的网络漏洞扫描业务。
9.可选的,所述主机漏洞扫描设备通过预设物理连接方式与所述待测试服务器相连接;所述预设物理连接方式包括usb口连接和网口连接。
10.可选的,所述主机漏洞扫描设备通过有线/无线的方式与所述待测试服务器的上端路由相连接,以便从所述待测试服务器的上端路由中获取所述测试服务器传输的对所述待测试服务器的网络漏洞扫描请求进行拆包后得到的各请求数据片段。
11.可选的,所述对各所述请求数据片段进行整合以得到整合后扫描请求,包括:
12.对所述请求数据片段进行缓存,并基于预设协议组包规则对缓存的所述请求数据片段进行组包处理以得到整合后扫描请求。
13.可选的,所述基于预设协议组包规则对缓存的所述请求数据片段进行组包处理以得到整合后扫描请求,包括:
14.对缓存的所述请求数据片段中的数据段进行解析并根据预设报文规则对所述数据段进行匹配对比;
15.基于匹配结果对所述请求数据片段进行组包处理以得到整合后扫描请求。
16.可选的,所述通过网络协议层将所述封装后扫描请求上抛至所述待测试服务器的内核网络栈,包括:
17.将所述封装后扫描请求直接通过内存映射复制到本地的套接字缓冲区;
18.通过虚拟网卡触发网络中断以将所述套接字缓冲区中保存的所述封装后扫描请求上抛至所述待测试服务器的内核网络栈。
19.第二方面,本技术公开了一种主机漏洞扫描装置,应用于主机漏洞扫描设备,包括:
20.信息获取模块,用于获取测试服务器传输的对待测试服务器的网络漏洞扫描请求进行拆包后得到的各请求数据片段;
21.信息整合模块,用于对各所述请求数据片段进行整合以得到整合后扫描请求;
22.信息封装模块,用于将所述整合后扫描请求进行封装以得到封装后扫描请求;
23.信息上传模块,用于通过网络协议层将所述封装后扫描请求上抛至所述待测试服务器的内核网络栈,以便所述待测试服务器主动从所述内核网络栈中读取并响应所述封装后扫描请求,以完成相应的网络漏洞扫描业务。
24.可选的,所述信息整合模块,包括:
25.数据缓存单元,用于对所述请求数据片段进行缓存;
26.数据匹配单元,用于对缓存的所述请求数据片段中的数据段进行解析并根据预设报文规则对所述数据段进行匹配对比;
27.数据组包单元,用于基于匹配结果对所述请求数据片段进行组包处理以得到整合后扫描请求。
28.第三方面,本技术公开了一种电子设备,包括:
29.存储器,用于保存计算机程序;
30.处理器,用于执行所述计算机程序以实现前述的主机漏洞扫描方法。
31.第四方面,本技术公开了一种计算机可读存储介质,用于保存计算机程序,所述计算机程序被处理器执行时实现前述的主机漏洞扫描方法。
32.可见,本技术中,首先获取测试服务器传输的对待测试服务器的网络漏洞扫描请求进行拆包后得到的各请求数据片段;对各所述请求数据片段进行整合以得到整合后扫描请求;将所述整合后扫描请求进行封装以得到封装后扫描请求;通过网络协议层将所述封装后扫描请求上抛至所述待测试服务器的内核网络栈,以便所述待测试服务器主动从所述内核网络栈中读取并响应所述封装后扫描请求,以完成相应的网络漏洞扫描业务。即,利用主机漏洞扫描设备,获取对待测试服务器的网络漏洞扫描请求,然后在所述主机漏洞扫描设备中,对各所述请求数据片段进行整合已经封装处理,最后通过网络协议层将所述封装后扫描请求上抛至所述待测试服务器的内核网络栈。这样一来,通过对所述网络漏洞扫描请求进行最大限度的预处理,可以降低所述待测试服务器的主机性能消耗。
附图说明
33.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
34.图1为本技术公开的一种网络漏洞扫描原理图;
35.图2为本技术公开的一种网络漏洞扫描网络拓扑架构图;
36.图3为本技术公开的一种主机漏洞扫描方法流程图;
37.图4为本技术公开的一种网络漏洞扫描网络拓扑架构图;
38.图5为本技术公开的一种网络漏洞扫描数据包流图;
39.图6为本技术公开的一种网络漏洞扫描数据包流图;
40.图7为本技术公开的一种主机漏洞扫描装置结构示意图;
41.图8为本技术公开的一种电子设备结构图。
具体实施方式
42.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
43.漏洞扫描是扫描器直接对目标网络或者目标主机进行安全漏洞的检测与分析,进而发现网络或系统中的安全隐患和可能被攻击者利用的漏洞。当前的漏洞扫描系统按扫描目标不同可分为主机漏洞扫描和网络漏洞扫描。主机漏洞扫描通常是采用较为被动的、非破坏性的方法对系统进行检测。该方式主要通过在目标系统上安装一个代理(agent)或是服务,用来查看系统内的主要配置文件的正确性、完整性以及其它重要文件和程序的权限,对系统内部安全状态进行分析,以此来探测计算机上的风险和漏洞。一般的主机漏洞扫描是采用服务器/代理的方式。如图1所示,服务器向各个扫描节点中的代理下达各种扫描命令,代理扫描本机的系统,并将扫描结果回送给服务器。基于主机的漏洞扫描的主要优点是:扫描的漏洞数量多、可以进行集中式的管理、对网络流量负载要求相对较小,但主机扫描安装代理服务的这种形式对于负载高或者性能低的服务器依旧会占用较多的系统资源,而导致待测系统无法正常提供业务。如图2所示,网络漏洞扫描这种方式目前较为常用,由于其便利性(无需安装任何软件)和安全性(测试过程和正常访问一样)被大多数客户所接受。但网络漏洞扫描由于其扫描方式和正常访问路径相同的原因,在高频扫描测试的过程中经常会遇到由于带宽占用过高而导致被测用户的正常业务访问者会受到影响。从而造成一种虽然在过程在漏洞扫描,但结果体现上和黑客攻击造成的效果等效的尴尬境地。为了克服漏洞扫描过程对待测试服务器造成的影响,业界常用的做法是按照经验值去降低扫描并发量,降低扫描的并发连接数的方式。但这种形式带来的弊端是整体的扫描速度会大幅下降,对于性能较差的待测试服务器可能扫描过程会长到客户无法接受的地步。本技术将介绍一种主机漏洞扫描方法,能够降低待测试服务器的主机性能消耗。
44.参见图3所示,本技术实施例公开了一种主机漏洞扫描方法,应用于主机漏洞扫描
设备,包括:
45.步骤s11:获取测试服务器传输的对待测试服务器的网络漏洞扫描请求进行拆包后得到的各请求数据片段。
46.本实施例中,测试服务器在向待测试服务器发送网络漏洞扫描请求的过程中,tcp/ip协议(transmission control protocol/internet protocol,即传输控制协议/网际协议)会由于中途路由的mtu(maximum transmission unit,即最大传输单元)过小问题导致分包。需要说明的是,tcp包会在传输层由于mss(maximum segment size,即最大报文段长度)的原因进行分包,mss是间接由整条通信链路最小的mtu决定的,并且减去tcp包的部首。udp包(user datagram protocol,即用户数据报协议)会在网络层由于mtu的原因进行分包。所以虽然从测试主机产生的探测业务上单次发送只有一个请求,但待测试服务器的链路层可能会收到多个包。因此,本发明中主机漏洞扫描设备获取到的是所述网络漏洞扫描请求进行拆包后得到的各请求数据片段。如图4所示,在一种具体实施例中,所述主机漏洞扫描设备通过预设物理连接方式与所述待测试服务器相连接;所述预设物理连接方式包括usb口连接和网口连接。对于usb口连接的方式,通过安装驱动,会在待测试服务器中会新增一张虚拟网卡。所述虚拟网卡大体形式与目前市面上的usb网卡类似,但有别于usb网卡在于两点:是本主机漏洞扫描设备会对通过设备的数据进行缓存拼包,而后再发送给待测试服务器;本主机漏洞扫描设备有固定ip地址,测试服务器实际上是直接给本技术装置发送数据,再由本设备进行探测。对于网口连接的方式,设备端逻辑和usb端大体相同,不同点在于物理连接的方式从usb口转变成了网线连接。驱动的书写方式,也由usb设备驱动书写变为网卡驱动书写。在另一种具体实施例中,所述主机漏洞扫描设备通过有线/无线的方式与所述待测试服务器的上端路由相连接,以便从所述待测试服务器的上端路由中获取所述测试服务器传输的对所述待测试服务器的网络漏洞扫描请求进行拆包后得到的各请求数据片段。这样一来,可以直接获取到所述各请求数据片段,这样一来,可以减少所述待测试服务器的内存消耗。
47.步骤s12:对各所述请求数据片段进行整合以得到整合后扫描请求。
48.本实施例中,所述对各所述请求数据片段进行整合以得到整合后扫描请求,包括:对所述请求数据片段进行缓存,并基于预设协议组包规则对缓存的所述请求数据片段进行组包处理以得到整合后扫描请求。其中,所述基于预设协议组包规则对缓存的所述请求数据片段进行组包处理以得到整合后扫描请求,包括:对缓存的所述请求数据片段中的数据段进行解析并根据预设报文规则对所述数据段进行匹配对比;基于匹配结果对所述请求数据片段进行组包处理以得到整合后扫描请求。需要说明的是,所述预设协议组包规则并不是按照单个包最大的逻辑进行组包,而是会对所述请求数据片段中的数据段进行解析,然后按照预设测试报文规则进行匹配对比,然后将数据包按照单条测试报文进行组装,以得到整合后扫描请求。例如,有些测试报文是http协议(hyper text transfer protocol,即超文本传输协议)的,那么数据包中有http头和http体,按照头中数据字段长度的大小进行拼包,类似的udp等,其他以包为单位的协议均会最终以包为单位进行拼接。需要说明的是,本装置与高性能网卡一样,具备rfs(receive flow steering,即接收流转向)和rps(receive packet steering,即接收方扩展)功能。
49.步骤s13:将所述整合后扫描请求进行封装以得到封装后扫描请求。
50.本实施例中,将所述整合后扫描请求进行封装以得到封装后扫描请求,即,将将tcp/ip协议由于中途路由的mtu过小问题导致的分包先行进行组包,并将组完的包重新按照tcp/ip协议进行封装。
51.步骤s14:通过网络协议层将所述封装后扫描请求上抛至所述待测试服务器的内核网络栈,以便所述待测试服务器主动从所述内核网络栈中读取并响应所述封装后扫描请求,以完成相应的网络漏洞扫描业务。
52.本实施例中,将所述封装后扫描请求直接通过内存映射复制到本地的套接字缓冲区;通过虚拟网卡触发网络中断以将所述套接字缓冲区中保存的所述封装后扫描请求上抛至所述待测试服务器的内核网络栈;即后续越过dma(direct memory access,即直接内存访问)直接通过内存映射传输进socket buffer缓冲区,并通过虚拟网卡驱动程序触发内核网络中断处理模块。
53.普通情况下,网络扫描的数据包流图如图5所示,需要指出的是,tcp包会在传输层由于mss的原因进行分包,mss是间接由整条通信链路最小的mtu决定的,并且减去tcp包的部首。udp包会在网络层由于mtu的原因进行分包。所以虽然从测试主机产生的探测业务上单次发送只有一个请求,但待测服务器的链路层可能会收到多个包。在待测试服务器的业务逻辑负载较大的情况下,这些包很可能是由于不同的cpu接收的中断处理,最终要需要进行cpu间数据传递才能完成拼包动作最终返回传输层/网络层。这一部分的开销极大程度消耗了待测试服务器的cpu性能和网络带宽。本技术技术优化作用与现在已有的巨型帧技术加速的底层思想类似,均是通过尽可能减少ip包的分片个数,达到在硬件资源能力不变的情况下,增大系统吞吐量,优化系统性能的目的。有别于巨型帧技术是需要整个网络拓扑经过节点均需要支持大值mtu的方式实现,本技术对沿途网络节点的mtu值并没有要求,由于本技术本质目的并不是为了加速网络数据包传输,所以并不需要发送端和接收端实时高效的回复。测试服务器关注的返回值仅需告知所有网络漏洞用例是否存在,能存在记录下相关信息以供后续查询即可。针对这个特点,如图6所示,本技术的数据链路实际完成的是一个接收云端网络漏洞数据,并将由于网络拓扑而造成的测试数据会被多次tcp/ip分包进行内核态缓存组包,组包完成后,直接通知内核进行数据拆包和触发业务应用响应的过程。所述主机漏洞扫描设备在具体使用的时候,处于测试主机和待测试服务器之间。通过将测试主机发送来的网络漏洞扫描信息进行缓冲整合,后续越过dma直接通过内存映射传输进socket buffer缓冲区,并通过虚拟网卡驱动程序触发内核网络中断处理模块。需要特别特出的是,由于是驱动程序通过内存映射实现,这中间的组包过程中数据在内核空间中,后续给内核处理不需要额外的用户态与内核态数据拷贝或者额外的用户态内核态切换。待测试服务器直接读取内核中已经按照网络漏洞扫描规则分包好的数据。整个链路层到套接字层的取数据实际上内核操作的只是指针偏移而并没有数据拷贝,所以消耗会大幅降低。从而网络漏洞扫描的开销只会因为漏洞扫描后续数据包触发的业务逻辑而产生,而这部分产生的性能开销,是无论以任何一种漏洞扫描方式都无法回避的固有开销。
54.可见,本实施例中,首先获取测试服务器传输的对待测试服务器的网络漏洞扫描请求进行拆包后得到的各请求数据片段;对各所述请求数据片段进行整合以得到整合后扫描请求;将所述整合后扫描请求进行封装以得到封装后扫描请求;通过网络协议层将所述封装后扫描请求上抛至所述待测试服务器的内核网络栈,以便所述待测试服务器主动从所
述内核网络栈中读取并响应所述封装后扫描请求,以完成相应的网络漏洞扫描业务。即,利用主机漏洞扫描设备,获取对待测试服务器的网络漏洞扫描请求,然后在所述主机漏洞扫描设备中,对各所述请求数据片段进行整合已经封装处理,最后通过网络协议层将所述封装后扫描请求上抛至所述待测试服务器的内核网络栈。这样一来,通过对所述网络漏洞扫描请求进行最大限度的预处理,可以降低所述待测试服务器的主机性能消耗,既能高速扫描,又可以复用云端实时更新的数据库资源的同时不耽误被测系统业务逻辑。
55.参考图7所述,本技术实施例还相应公开了一种主机漏洞扫描装置,应用于主机漏洞扫描设备,包括:
56.信息获取模块11,用于获取测试服务器传输的对待测试服务器的网络漏洞扫描请求进行拆包后得到的各请求数据片段;
57.信息整合模块12,用于对各所述请求数据片段进行整合以得到整合后扫描请求;
58.信息封装模块13,用于将所述整合后扫描请求进行封装以得到封装后扫描请求;
59.信息上传模块14,用于通过网络协议层将所述封装后扫描请求上抛至所述待测试服务器的内核网络栈,以便所述待测试服务器主动从所述内核网络栈中读取并响应所述封装后扫描请求,以完成相应的网络漏洞扫描业务。
60.可见,本实施例中,首先获取测试服务器传输的对待测试服务器的网络漏洞扫描请求进行拆包后得到的各请求数据片段;对各所述请求数据片段进行整合以得到整合后扫描请求;将所述整合后扫描请求进行封装以得到封装后扫描请求;通过网络协议层将所述封装后扫描请求上抛至所述待测试服务器的内核网络栈,以便所述待测试服务器主动从所述内核网络栈中读取并响应所述封装后扫描请求,以完成相应的网络漏洞扫描业务。即,利用主机漏洞扫描设备,获取对待测试服务器的网络漏洞扫描请求,然后在所述主机漏洞扫描设备中,对各所述请求数据片段进行整合已经封装处理,最后通过网络协议层将所述封装后扫描请求上抛至所述待测试服务器的内核网络栈。这样一来,通过对所述网络漏洞扫描请求进行最大限度的预处理,可以降低所述待测试服务器的主机性能消耗。
61.在一些具体的实施例中,所述信息整合模块12,具体可以包括:
62.数据缓存单元,用于对所述请求数据片段进行缓存;
63.数据匹配单元,用于对缓存的所述请求数据片段中的数据段进行解析并根据预设报文规则对所述数据段进行匹配对比;
64.数据组包单元,用于基于匹配结果对所述请求数据片段进行组包处理以得到整合后扫描请求。
65.在一些具体的实施例中,所述信息上传模块14,具体可以包括:
66.请求复制单元,用于将所述封装后扫描请求直接通过内存映射复制到本地的套接字缓冲区;
67.请求上抛单元,用于通过虚拟网卡触发网络中断以将所述套接字缓冲区中保存的所述封装后扫描请求上抛至所述待测试服务器的内核网络栈。
68.进一步的,本技术实施例还公开了一种电子设备,图8是根据一示例性实施例示出的电子设备20结构图,图中的内容不能认为是对本技术的使用范围的任何限制。
69.图8为本技术实施例提供的一种电子设备20的结构示意图。该电子设备20,具体可以包括:至少一个处理器21、至少一个存储器22、电源23、通信接口24、输入输出接口25和通
信总线26。其中,所述存储器22用于存储计算机程序,所述计算机程序由所述处理器21加载并执行,以实现前述任一实施例公开的主机漏洞扫描方法中的相关步骤。另外,本实施例中的电子设备20具体可以为电子计算机。
70.本实施例中,电源23用于为电子设备20上的各硬件设备提供工作电压;通信接口24能够为电子设备20创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本技术技术方案的任意通信协议,在此不对其进行具体限定;输入输出接口25,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。
71.另外,存储器22作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源可以包括操作系统221、计算机程序222等,存储方式可以是短暂存储或者永久存储。
72.其中,操作系统221用于管理与控制电子设备20上的各硬件设备以及计算机程序222,其可以是windows server、netware、unix、linux等。计算机程序222除了包括能够用于完成前述任一实施例公开的由电子设备20执行的主机漏洞扫描方法的计算机程序之外,还可以进一步包括能够用于完成其他特定工作的计算机程序。
73.进一步的,本技术还公开了一种计算机可读存储介质,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现前述公开的主机漏洞扫描方法。关于该方法的具体步骤可以参考前述实施例中公开的相应内容,在此不再进行赘述。
74.本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
75.专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
76.结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。
77.最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
78.以上对本技术所提供的技术方案进行了详细介绍,本文中应用了具体个例对本技术的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本技术的方法及其核心思想;同时,对于本领域的一般技术人员,依据本技术的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本技术的限制。

技术特征:
1.一种主机漏洞扫描方法,其特征在于,应用于主机漏洞扫描设备,包括:获取测试服务器传输的对待测试服务器的网络漏洞扫描请求进行拆包后得到的各请求数据片段;对各所述请求数据片段进行整合以得到整合后扫描请求;将所述整合后扫描请求进行封装以得到封装后扫描请求;通过网络协议层将所述封装后扫描请求上抛至所述待测试服务器的内核网络栈,以便所述待测试服务器主动从所述内核网络栈中读取并响应所述封装后扫描请求,以完成相应的网络漏洞扫描业务。2.根据权利要求1所述的主机漏洞扫描方法,其特征在于,所述主机漏洞扫描设备通过预设物理连接方式与所述待测试服务器相连接;所述预设物理连接方式包括usb口连接和网口连接。3.根据权利要求1所述的主机漏洞扫描方法,其特征在于,所述主机漏洞扫描设备通过有线/无线的方式与所述待测试服务器的上端路由相连接,以便从所述待测试服务器的上端路由中获取所述测试服务器传输的对所述待测试服务器的网络漏洞扫描请求进行拆包后得到的各请求数据片段。4.根据权利要求1所述的主机漏洞扫描方法,其特征在于,所述对各所述请求数据片段进行整合以得到整合后扫描请求,包括:对所述请求数据片段进行缓存,并基于预设协议组包规则对缓存的所述请求数据片段进行组包处理以得到整合后扫描请求。5.根据权利要求4所述的主机漏洞扫描方法,其特征在于,所述基于预设协议组包规则对缓存的所述请求数据片段进行组包处理以得到整合后扫描请求,包括:对缓存的所述请求数据片段中的数据段进行解析并根据预设报文规则对所述数据段进行匹配对比;基于匹配结果对所述请求数据片段进行组包处理以得到整合后扫描请求。6.根据权利要求1至5任一项所述的主机漏洞扫描方法,其特征在于,所述通过网络协议层将所述封装后扫描请求上抛至所述待测试服务器的内核网络栈,包括:将所述封装后扫描请求直接通过内存映射复制到本地的套接字缓冲区;通过虚拟网卡触发网络中断以将所述套接字缓冲区中保存的所述封装后扫描请求上抛至所述待测试服务器的内核网络栈。7.一种主机漏洞扫描装置,其特征在于,应用于主机漏洞扫描设备,包括:信息获取模块,用于获取测试服务器传输的对待测试服务器的网络漏洞扫描请求进行拆包后得到的各请求数据片段;信息整合模块,用于对各所述请求数据片段进行整合以得到整合后扫描请求;信息封装模块,用于将所述整合后扫描请求进行封装以得到封装后扫描请求;信息上传模块,用于通过网络协议层将所述封装后扫描请求上抛至所述待测试服务器的内核网络栈,以便所述待测试服务器主动从所述内核网络栈中读取并响应所述封装后扫描请求,以完成相应的网络漏洞扫描业务。8.根据权利要求1所述的主机漏洞扫描装置,其特征在于,所述信息整合模块,包括:数据缓存单元,用于对所述请求数据片段进行缓存;
数据匹配单元,用于对缓存的所述请求数据片段中的数据段进行解析并根据预设报文规则对所述数据段进行匹配对比;数据组包单元,用于基于匹配结果对所述请求数据片段进行组包处理以得到整合后扫描请求。9.一种电子设备,其特征在于,包括:存储器,用于保存计算机程序;处理器,用于执行所述计算机程序以实现如权利要求1至6任一项所述的主机漏洞扫描方法。10.一种计算机可读存储介质,其特征在于,用于保存计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述的主机漏洞扫描方法。

技术总结
本申请公开了一种主机漏洞扫描方法、装置、设备及存储介质,涉及漏洞扫描技术领域,包括:获取测试服务器传输的对待测试服务器的网络漏洞扫描请求进行拆包后得到的各请求数据片段对各所述请求数据片段进行整合以得到整合后扫描请求;将所述整合后扫描请求进行封装以得到封装后扫描请求;通过网络协议层将所述封装后扫描请求上抛至所述待测试服务器的内核网络栈,以便所述待测试服务器主动从所述内核网络栈中读取并响应所述封装后扫描请求,以完成相应的网络漏洞扫描业务。可见,本发明中通过主机漏洞扫描设备获取测试服务器传输的网络漏洞扫描请求,对所述网络漏洞扫描请求进行整合封装,上抛至内核网络栈。可以降低待测试服务器的主机性能消耗。试服务器的主机性能消耗。试服务器的主机性能消耗。


技术研发人员:姜淑琴 沈永春 沈亚婷
受保护的技术使用者:杭州安恒信息技术股份有限公司
技术研发日:2023.05.22
技术公布日:2023/8/23
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐