CN116595542B - 一种漏洞扫描方法和系统 - Google Patents

一种漏洞扫描方法和系统 Download PDF

Info

Publication number
CN116595542B
CN116595542B CN202310853637.4A CN202310853637A CN116595542B CN 116595542 B CN116595542 B CN 116595542B CN 202310853637 A CN202310853637 A CN 202310853637A CN 116595542 B CN116595542 B CN 116595542B
Authority
CN
China
Prior art keywords
vulnerability
information
script
nasl
cve
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202310853637.4A
Other languages
English (en)
Other versions
CN116595542A (zh
Inventor
张太成
尹浩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Datacloudsec Information Technology Co ltd
Original Assignee
Beijing Datacloudsec Information Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Datacloudsec Information Technology Co ltd filed Critical Beijing Datacloudsec Information Technology Co ltd
Priority to CN202310853637.4A priority Critical patent/CN116595542B/zh
Publication of CN116595542A publication Critical patent/CN116595542A/zh
Application granted granted Critical
Publication of CN116595542B publication Critical patent/CN116595542B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/566Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Quality & Reliability (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请实施例公开了一种漏洞扫描方法和系统,涉及计算机技术领域,所述方法包括:响应于漏洞扫描指令,获取待扫描漏洞的通用漏洞和暴露CVE编号;根据所述CVE编号在漏洞信息库中获取漏洞数据;根据所述漏洞数据基于脚本文件模型生成NASL脚本;调用所述NASL脚本进行漏洞模拟攻击,并分析模拟攻击的响应信息。根据CVE信息自动生成NASL脚本,对漏洞进行测试,高效且灵活。

Description

一种漏洞扫描方法和系统
技术领域
本申请实施例涉及计算机技术领域,具体涉及一种漏洞扫描方法和系统。
背景技术
网络漏洞扫描在保障网络安全方面起到越来越重要的作用。借助网络漏洞扫描,人们可以发现网络和主机存在的对外开放的端口、提供的服务、某些系统信息、错误的配置、已知的安全漏洞等。面对互联网入侵,如果根据具体的应用环境,尽可能早地通过网络扫描来发现安全漏洞,并及时采取适当的处理措施进行修补,就可以有效地阻止入侵事件的发生。
NASL(Nessus Attack Scripting Language)是一个为网络安全扫描工具Nessus开发的脚本语言。通过它,任何人都可以方便快速地针对新出现的漏洞编写出测试插件,也便于不同操作系统的用户分享测试脚本。除此之外,NASL还可以保证编写的脚本只能用于针对目的主机的测试,使编写者难以使用编写的脚本用于恶意用途。
传统的人工编写NASL插件需要人工从互联网获取该漏洞插件的目标软件、识别方法、判定条件等插件核心信息,以及漏洞描述、危害等级评分、发现时间等描述信息。待信息收集完整后人工整合所有信息并转换成NASL扫描插件。但是,人工手动编写NASL插件时需要逐一浏览网页,人工筛选各种信息。机械化、重复性工作占比重较多,插件编写效率低下。
发明内容
为此,本申请实施例提供一种漏洞扫描方法和系统,根据CVE信息自动生成NASL脚本,对漏洞进行测试,高效且灵活。
为了实现上述目的,本申请实施例提供如下技术方案:
根据本申请实施例的第一方面,提供了一种漏洞扫描方法,所述方法包括:
响应于漏洞扫描指令,获取待扫描漏洞的通用漏洞和暴露CVE编号;
根据所述CVE编号在漏洞信息库中获取漏洞数据;
根据所述漏洞数据基于脚本文件模型生成NASL脚本;
调用所述NASL脚本进行漏洞模拟攻击,并分析模拟攻击的响应信息。
可选地,根据所述漏洞数据基于脚本文件模型生成NASL脚本,包括:
根据所述漏洞数据基于脚本文件模型生成对象标识符OID信息;
根据所述对象标识符OID信息生成NASL脚本。
可选地,所述脚本文件模型按照如下步骤建立:
根据平台类型将Go语言的扫描器文件编译得到二进制文件;
根据所述二进制文件和NASL扫描插件,生成所述脚本文件模型。
可选地,所述根据所述CVE编号在漏洞信息库中获取漏洞数据,包括:
根据所述CVE编号在所述漏洞信息库中匹配所述CVE编号对应的通用平台枚举CPE完整信息、漏洞描述信息、发布时间、漏洞等级和修复建议;所述CPE完整信息包括服务名、服务类型和版本号;其中,CVE编号为设置有运算符属性的节点树以及CPE编号作为节点树的叶子。
可选地,所述调用所述NASL脚本进行漏洞模拟攻击,并分析模拟攻击的响应信息,包括:
遍历插件链表执行NASL脚本,以进行模拟攻击;
根据返回的响应信息进行分析,得到漏洞信息并上报。
可选地,在所述响应于漏洞扫描指令之前,所述方法还包括:
对脚本文件模型进行语法检测和自动化扫描测试;若通过,将所述脚本文件模型存入预设插件库;若不通过,则生成错误告警信息。
根据本申请实施例的第二方面,提供了一种漏洞扫描系统,所述系统包括:
CPE编号获取模块,用于响应于漏洞扫描指令,获取待扫描漏洞的CVE编号;
漏洞数据获取模块,用于根据所述CVE编号在漏洞信息库中获取漏洞数据;
NASL脚本生成模块,用于根据所述漏洞数据基于脚本文件模型生成NASL脚本;
模拟攻击模块,用于调用所述NASL脚本进行漏洞模拟攻击,并分析模拟攻击的响应信息。
可选地,所述NASL脚本生成模块,具体用于:
根据所述漏洞数据基于脚本文件模型生成对象标识符OID信息;
根据所述对象标识符OID信息生成NASL脚本。
根据本申请实施例的第三方面,提供了一种电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器运行所述计算机程序时执行以实现上述第一方面所述的方法。
根据本申请实施例的第四方面,提供了一种计算机可读存储介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行以实现上述第一方面所述的方法。
综上所述,本申请实施例提供了一种漏洞扫描方法和系统,通过响应于漏洞扫描指令,获取待扫描漏洞的通用漏洞和暴露CVE编号;根据所述CVE编号在漏洞信息库中获取漏洞数据;根据所述漏洞数据基于脚本文件模型生成NASL脚本;调用所述NASL脚本进行漏洞模拟攻击,并分析模拟攻击的响应信息。根据CVE信息自动生成NASL脚本,对漏洞进行测试,高效且灵活。
附图说明
为了更清楚地说明本发明的实施方式或现有技术中的技术方案,下面将对实施方式或现有技术描述中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是示例性的,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图引伸获得其它的实施附图。
本说明书所绘示的结构、比例、大小等,均仅用以配合说明书所揭示的内容,以供熟悉此技术的人士了解与阅读,并非用以限定本发明可实施的限定条件,故不具技术上的实质意义,任何结构的修饰、比例关系的改变或大小的调整,在不影响本发明所能产生的功效及所能达成的目的下,均应仍落在本发明所揭示的技术内容能涵盖的范围内。
图1为本申请实施例提供的一种漏洞扫描方法流程示意图;
图2为本申请实施例提供的NASL脚本生成流程图;
图3为本申请实施例提供的一种漏洞扫描系统框图;
图4示出了本申请实施例提供的一种电子设备的结构示意图;
图5示出了本申请实施例提供的一种计算机可读存储介质的示意图。
具体实施方式
以下由特定的具体实施例说明本发明的实施方式,熟悉此技术的人士可由本说明书所揭露的内容轻易地了解本发明的其他优点及功效,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
CPE(Common Platform Enumeration,通用平台枚举),描述漏洞影响了组件的版本,CPE标识由通过冒号间隔开的属性序列组成,每个属性具有特定含义。CPE记录由cpe-lang:fact-ref标签标识。以下名称属性是CPE格式的一部分:部件、供应商、产品、版本、更新、版、语言、软件版本、目标软件、目标硬件。可以识别其他名称属性,因此可以定义更复杂的CPE标识。CPE信息例如:cpe:/a:apache:http_server:2.4.18;服务名(apache)、服务类型(http_server)、版本号(2.4.18)。
CVE(Common Vulnerabilities and Exposures)是已公开的信息安全漏洞字典,同时也是统一的漏洞编号标准。当发现一个漏洞后,CAN负责指定CVE ID,然后发布到CVELIst中:CVE-2008-4250,然后MITRE公司负责对内容进行编辑维护。同时有的厂商也会有自己的CVE标准,比如微软的MS漏洞编号,MSKB为补丁编号。不同组织不同机构也许会有不同的CVE标准。
漏洞库(Vulnerability library)是信息安全漏洞的管理及控制工作而建立的一项安全数据库。
图1示出了本申请实施例提供的一种漏洞扫描方法,所述方法包括:
步骤101:响应于漏洞扫描指令,获取待扫描漏洞的CVE编号;
步骤102:根据所述CVE编号在漏洞信息库中获取漏洞数据;
步骤103:根据所述漏洞数据基于脚本文件模型生成NASL脚本;
步骤104:调用所述NASL脚本进行漏洞模拟攻击,并分析模拟攻击的响应信息。
在一种可能的实施方式中,在步骤102中,所述根据所述CVE编号在漏洞信息库中获取漏洞数据,包括:
根据所述CVE编号在所述漏洞信息库中匹配所述CVE编号对应的通用平台枚举CPE完整信息、漏洞描述信息、发布时间、漏洞等级和修复建议;所述CPE完整信息包括服务名、服务类型和版本号;其中,CVE编号为设置有运算符属性的节点树以及CPE编号作为节点树的叶子。
在一种可能的实施方式中,步骤103中,根据所述漏洞数据基于脚本文件模型生成NASL脚本,包括:
根据所述漏洞数据基于脚本文件模型生成对象标识符OID信息;根据所述对象标识符OID信息生成NASL脚本。
在一种可能的实施方式中,所述脚本文件模型按照如下步骤建立:根据平台类型将Go语言的扫描器文件编译得到二进制文件;根据所述二进制文件和NASL扫描插件,生成所述脚本文件模型。
在一种可能的实施方式中,在步骤104中,所述调用所述NASL脚本进行漏洞模拟攻击,并分析模拟攻击的响应信息,包括:
遍历插件链表执行NASL脚本,以进行模拟攻击;根据返回的响应信息进行分析,得到漏洞信息并上报。
在一种可能的实施方式中,在所述响应于漏洞扫描指令之前,所述方法还包括:
对脚本文件模型进行语法检测和自动化扫描测试;若通过,将所述脚本文件模型存入预设插件库;若不通过,则生成错误告警信息。
在准备阶段,需要建立完整的漏洞信息库,包括漏洞描述信息、CVE号、发布时间、漏洞等级、修复建议和CPE完整信息,以及建立NASL脚本文件模板。CPE完整信息包括服务名、服务类型、版本号。
图2示出了本申请实施例提供的NASL文件生成流程图,通过CPE信息生成对应的NASL脚本文件的方法。包括如下步骤:
步骤1:输入待检测漏洞对应的CVE号,在漏洞中匹配对应的完整的漏洞数据(这里需要说明的是,CPE和CVE的关系是n:1)。
步骤2:通过上述漏洞数据填充到NASL脚本模板中,生成该CVE对应的NASL脚本文件。
完整的漏洞数据包括通用漏洞和暴露CVE编号、漏洞描述信息、发布时间、漏洞等级、修复建议和CPE完整信息; CPE完整信息包括服务名、服务类型和版本号;其中,CVE编号为设置有运算符属性的节点树以及CPE编号作为节点树的叶子。
NASL脚本模板可以是GO函数代码实现,根据输入的 CVE 信息生成对应的OpenVAS NASL 脚本。该GO函数将 CVE信息转换为 NASL 脚本中的全球对象唯一标识OID和值,并生成一个包含 OID 和值的字符串,可以直接用于编写 NASL 脚本,和执行OpenVAS 漏洞扫描。
NASL脚本模板的建立过程可以是根据平台类型将Go语言的扫描器文件编译得到二进制文件;根据所述二进制文件和NASL扫描插件,生成所述脚本模板。NASL脚本模板也可以是通过别的函数实现,可以根据不同的 CVE 信息生成对应的 NASL 脚本。
综上所述,本申请实施例提供了一种漏洞扫描方法,通过响应于漏洞扫描指令,获取待扫描漏洞的CVE编号;根据所述CVE编号在漏洞信息库中获取漏洞数据;根据所述漏洞数据基于脚本文件模型生成NASL脚本;调用所述NASL脚本进行漏洞模拟攻击,并分析模拟攻击的响应信息。根据CVE信息自动生成NASL脚本,对漏洞进行测试,高效且灵活。
基于相同的技术构思,本申请实施例还提供了一种漏洞扫描系统,如图3所示,所述系统包括:
CVE编号获取模块301,用于响应于漏洞扫描指令,获取待扫描漏洞的CVE编号;
漏洞数据获取模块302,用于根据所述CVE编号在漏洞信息库中获取漏洞数据;
NASL脚本生成模块303,用于根据所述漏洞数据基于脚本文件模型生成NASL脚本;
模拟攻击模块304,用于调用所述NASL脚本进行漏洞模拟攻击,并分析模拟攻击的响应信息。
在一种可能的实施方式中,所述漏洞数据获取模块302,具体用于:
根据所述CVE编号在所述漏洞信息库中匹配所述CVE编号对应的通用平台枚举CPE完整信息、漏洞描述信息、发布时间、漏洞等级和修复建议;所述CPE完整信息包括服务名、服务类型和版本号;其中,CVE编号为设置有运算符属性的节点树以及CPE编号作为节点树的叶子。
在一种可能的实施方式中,所述NASL脚本生成模块303,具体用于:
根据所述漏洞数据基于脚本文件模型生成对象标识符OID信息;根据所述对象标识符OID信息生成NASL脚本。
在一种可能的实施方式中,所述脚本文件模型按照如下步骤建立:根据平台类型将Go语言的扫描器文件编译得到二进制文件;根据所述二进制文件和NASL扫描插件,生成所述脚本文件模型。
在一种可能的实施方式中,所述模拟攻击模块304,具体用于:
遍历插件链表执行NASL脚本,以进行模拟攻击;根据返回的响应信息进行分析,得到漏洞信息并上报。
在一种可能的实施方式中,所述系统还包括:
对脚本文件模型进行语法检测和自动化扫描测试;若通过,将所述脚本文件模型存入预设插件库;若不通过,则生成错误告警信息。
本申请实施方式还提供一种与前述实施方式所提供的方法对应的电子设备。请参考图4,其示出了本申请的一些实施方式所提供的一种电子设备的示意图。所述电子设备20可以包括:处理器200,存储器201,总线202和通信接口203,所述处理器200、通信接口203和存储器201通过总线202连接;所述存储器201中存储有可在所述处理器200上运行的计算机程序,所述处理器200运行所述计算机程序时执行本申请前述任一实施方式所提供的方法。
其中,存储器201可能包含高速随机存取存储器(RAM:Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个物理端口203(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网、广域网、本地网、城域网等。
总线202可以是ISA总线、PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。其中,存储器201用于存储程序,所述处理器200在接收到执行指令后,执行所述程序,前述本申请实施例任一实施方式揭示的所述方法可以应用于处理器200中,或者由处理器200实现。
处理器200可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器200中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器200可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器201,处理器200读取存储器201中的信息,结合其硬件完成上述方法的步骤。
本申请实施例提供的电子设备与本申请实施例提供的方法出于相同的发明构思,具有与其采用、运行或实现的方法相同的有益效果。
本申请实施方式还提供一种与前述实施方式所提供的方法对应的计算机可读存储介质,请参考图5,其示出的计算机可读存储介质为光盘30,其上存储有计算机程序(即程序产品),所述计算机程序在被处理器运行时,会执行前述任意实施方式所提供的方法。
需要说明的是,所述计算机可读存储介质的例子还可以包括,但不限于相变内存(PRAM)、静态随机存取存储器 (SRAM)、动态随机存取存储器 (DRAM)、其他类型的随机存取存储器 (RAM)、只读存储器 (ROM)、电可擦除可编程只读存储器 (EEPROM)、快闪记忆体或其他光学、磁性存储介质,在此不再一一赘述。
本申请的上述实施例提供的计算机可读存储介质与本申请实施例提供的方法出于相同的发明构思,具有与其存储的应用程序所采用、运行或实现的方法相同的有益效果。
需要说明的是:
在此提供的算法和显示不与任何特定计算机、虚拟装置或者其它设备有固有相关。各种通用装置也可以与基于在此的示教一起使用。根据上面的描述,构造这类装置所要求的结构是显而易见的。此外,本申请也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本申请的内容,并且上面对特定语言所做的描述是为了披露本申请的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本申请的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本申请并帮助理解各个发明方面中的一个或多个,在上面对本申请的示例性实施例的描述中,本申请的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本申请要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本申请的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本申请的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本申请的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器( DSP )来实现根据本申请实施例的虚拟机的创建装置中的一些或者全部部件的一些或者全部功能。本申请还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本申请的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本申请进行说明而不是对本申请进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本申请可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
以上所述,仅为本申请较佳的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (6)

1.一种漏洞扫描方法,其特征在于,所述方法包括:
响应于漏洞扫描指令,获取待扫描漏洞的通用漏洞和暴露CVE编号;
根据所述CVE编号在所述漏洞信息库中匹配出漏洞数据,所述漏洞数据包括所述CVE编号对应的通用平台枚举CPE完整信息、漏洞描述信息、发布时间、漏洞等级和修复建议;所述CPE完整信息包括服务名、服务类型和版本号;其中,CVE编号为设置有运算符属性的节点树以及CPE编号作为节点树的叶子;
根据所述漏洞数据基于脚本文件模型生成对象标识符OID信息;
根据所述对象标识符OID信息生成NASL脚本;
遍历插件链表执行NASL脚本,以进行模拟攻击;根据返回的响应信息进行分析,得到漏洞信息并上报。
2.如权利要求1所述的方法,其特征在于,所述脚本文件模型按照如下步骤建立:
根据平台类型将Go语言的扫描器文件编译得到二进制文件;
根据所述二进制文件和NASL扫描插件,生成所述脚本文件模型。
3.如权利要求1所述的方法,其特征在于,在所述响应于漏洞扫描指令之前,所述方法还包括:
对脚本文件模型进行语法检测和自动化扫描测试;若通过,将所述脚本文件模型存入预设插件库;若不通过,则生成错误告警信息。
4.一种漏洞扫描系统,其特征在于,所述系统包括:
CPE编号获取模块,用于响应于漏洞扫描指令,获取待扫描漏洞的CVE编号;
漏洞数据获取模块,用于根据所述CVE编号在所述漏洞信息库中匹配出漏洞数据,所述漏洞数据包括所述CVE编号对应的通用平台枚举CPE完整信息、漏洞描述信息、发布时间、漏洞等级和修复建议;所述CPE完整信息包括服务名、服务类型和版本号;其中,CVE编号为设置有运算符属性的节点树以及CPE编号作为节点树的叶子;
NASL脚本生成模块,用于根据所述漏洞数据基于脚本文件模型生成对象标识符OID信息,根据所述对象标识符OID信息生成NASL脚本;
模拟攻击模块,用于遍历插件链表执行NASL脚本,以进行模拟攻击;根据返回的响应信息进行分析,得到漏洞信息并上报。
5.一种电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器运行所述计算机程序时执行以实现如权利要求1-3任一项所述的方法。
6.一种计算机可读存储介质,其特征在于,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行以实现如权利要求1-3任一项所述的方法。
CN202310853637.4A 2023-07-12 2023-07-12 一种漏洞扫描方法和系统 Active CN116595542B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310853637.4A CN116595542B (zh) 2023-07-12 2023-07-12 一种漏洞扫描方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310853637.4A CN116595542B (zh) 2023-07-12 2023-07-12 一种漏洞扫描方法和系统

Publications (2)

Publication Number Publication Date
CN116595542A CN116595542A (zh) 2023-08-15
CN116595542B true CN116595542B (zh) 2023-10-10

Family

ID=87599438

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310853637.4A Active CN116595542B (zh) 2023-07-12 2023-07-12 一种漏洞扫描方法和系统

Country Status (1)

Country Link
CN (1) CN116595542B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116775910B (zh) * 2023-08-18 2023-11-24 北京源堡科技有限公司 基于情报收集的自动化漏洞复现知识库构建方法及介质
CN117034295A (zh) * 2023-08-21 2023-11-10 中电云计算技术有限公司 基于Kubernetes Operator的漏洞扫描方法及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106982194A (zh) * 2016-01-19 2017-07-25 中国移动通信集团河北有限公司 漏洞扫描方法及装置
CN110263542A (zh) * 2019-05-10 2019-09-20 西安交大捷普网络科技有限公司 一种基于插件技术的漏洞扫描方法与系统
CN115857912A (zh) * 2022-11-24 2023-03-28 湖北天融信网络安全技术有限公司 一种nasl插件的生成方法及系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7761918B2 (en) * 2004-04-13 2010-07-20 Tenable Network Security, Inc. System and method for scanning a network

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106982194A (zh) * 2016-01-19 2017-07-25 中国移动通信集团河北有限公司 漏洞扫描方法及装置
CN110263542A (zh) * 2019-05-10 2019-09-20 西安交大捷普网络科技有限公司 一种基于插件技术的漏洞扫描方法与系统
CN115857912A (zh) * 2022-11-24 2023-03-28 湖北天融信网络安全技术有限公司 一种nasl插件的生成方法及系统

Also Published As

Publication number Publication date
CN116595542A (zh) 2023-08-15

Similar Documents

Publication Publication Date Title
CN116595542B (zh) 一种漏洞扫描方法和系统
CN111428462B (zh) 通讯协议模板构建的方法及终端设备
CN109800258B (zh) 数据文件部署方法、装置、计算机设备及存储介质
CN104995630B (zh) 用于安全性测试的计算系统和方法
US11650905B2 (en) Testing source code changes
CN105787364B (zh) 任务的自动化测试方法、装置及系统
CN106708704B (zh) 一种对崩溃日志进行分类的方法和装置
US7680668B2 (en) Method for generating a language-independent regression test script
CN111124479B (zh) 配置文件的解析方法、系统及电子设备
CN110781091B (zh) 应用程序的测试方法、装置、电子设备及存储介质
CN110955409B (zh) 在云平台上创建资源的方法和装置
US10823782B2 (en) Ensuring completeness of interface signal checking in functional verification
CN110287700B (zh) 一种iOS应用安全分析方法及装置
JP2021002326A (ja) ソフトウェアプログラムにおける静的分析違反の修復パターンの精緻化
CN111767548A (zh) 一种漏洞捕获方法、装置、设备及存储介质
CN116719736A (zh) 一种用于测试软件界面的测试用例生成方法及装置
CN112799956B (zh) 资产识别能力测试方法、装置及系统装置
TWI756867B (zh) 在作業系統標記物件標籤及產生安全政策的方法及系統
CN111443920B (zh) 一种框架迁移方法及装置
CN113515452A (zh) 应用的自动测试方法、系统、电子设备及存储介质
CN114115982A (zh) 代码发布方法、装置、设备及存储介质
CN110297854B (zh) 一种app域名核验方法与系统
CN111858335A (zh) 一种区块链sdk测试方法和装置
CN112000386A (zh) 一种应用的实现方法和装置
US12007883B2 (en) Automated method and system for finding vulnerabilities in a program using fuzzing

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant