CN110263542A - 一种基于插件技术的漏洞扫描方法与系统 - Google Patents
一种基于插件技术的漏洞扫描方法与系统 Download PDFInfo
- Publication number
- CN110263542A CN110263542A CN201910389362.7A CN201910389362A CN110263542A CN 110263542 A CN110263542 A CN 110263542A CN 201910389362 A CN201910389362 A CN 201910389362A CN 110263542 A CN110263542 A CN 110263542A
- Authority
- CN
- China
- Prior art keywords
- plug
- script
- nasl
- parameter
- unit
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/577—Assessing vulnerabilities and evaluating computer system security
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
- G06F9/44526—Plug-ins; Add-ons
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/034—Test or assess a computer or a system
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明旨在提供一种基于插件技术的漏洞扫描方法与系统,当漏洞扫描器开始工作时,读取插件编号,接着调起NASL脚本引擎并传递相应的数据参数,然后加载、解释、执行脚本对实际的计算机系统或网络进行测试和检验,通过分析被测对象的返回结果,进而可检测出系统或网络中是否存在可被攻击利用的漏洞,并将检测出的对象的漏洞信息输出或存储。基于插件技术和NASL脚本引擎,可以实现对NASL脚本的更好、更快的调用,进而对目标主机进行模拟攻击,进而及时的发现漏洞。
Description
技术领域
本发明属于网络安全技术领域,尤其是涉及一种基于插件技术的漏洞扫描方法与系统。
背景技术
随着企业信息化程度的不断深入,计算机网络在企业内部起着越来越重要的作用。但由于互联网典型的互连性、开放性特征,使得企业内部计算机网络系统极易成为恶意攻击的目标和载体。如何更好保护企业内部的计算机网络安全也正被越来越多的企业得到重视。
网络漏洞扫描在保障网络安全方面起到越来越重要的作用。借助网络漏洞扫描,人们可以发现网络和主机存在的对外开放的端口、提供的服务、某些系统信息、错误的配置、已知的安全漏洞等。面对互联网入侵,如果根据具体的应用环境,尽可能早地通过网络扫描来发现安全漏洞,并及时采取适当的处理措施进行修补,就可以有效地阻止入侵事件的发生。
NASL是一个为网络安全扫描工具Nessus开发的脚本语言。通过它,任何人都可以方便快速地针对新出现的漏洞编写出测试插件,也便于不同操作系统的用户分享测试脚本。除此之外,NASL还可以保证编写的脚本只能用于针对目的主机的测试,使编写者难以使用编写的脚本用于恶意用途。
使用NASL,可以很容易地打造IP报文,或者发送通常的报文。NASL中还有一些专门的函数用于向FTP和WEB服务器发送数据。另外,NASL还可以保证:除了目标主机之外,不向任何的主机发送报文;不允许在本地系统执行任何命令。
基于上述背景,本发明旨在提供一种基于插件技术的漏洞扫描方法及应用该方法的系统。
发明内容
本发明旨在提供一种基于插件技术的漏洞扫描方法与系统,根据配置扫描任务的参数,加载相应的插件,调用NASL脚本,实现对目标主机的模拟攻击,通过对返回的响应信息的分析得出目标主机的漏洞报告。
本发明采用的技术方案是:
基于插件技术的漏洞扫描方法,包括:
创建扫描任务并配置扫描参数,发送扫描请求;
接收扫描请求,根据扫描参数加载插件;
遍历插件,调用NASL脚本,进行模拟攻击;
返回对模拟攻击的响应信息;
分析响应信息得到漏洞报告并上报。
进一步的,各扫描参数的扫描实现,通过加载相应的插件实现,插件加载后生成相应的插件链表;调用NASL脚本引擎对插件链表进行遍历。
NASL脚本引擎,包括基本数据结构函数、探测执行函数、主功能函数、脚本加载函数、脚本初始化函数、脚本解析与执行函数;所述脚本加载函数,用于将NASL脚本添加到插件链表。
所述基本数据结构函数为表示NASL脚本信息的结构体,当多个脚本被加载后,按照该结构体的类型在内存中以多级链表形式进行组织。
所述多级链表,包括节点名称、节点类型、节点数据长度、指向下一节点的指针、用于加快节点查找的节点名称HASH值;所述节点类型包括字符串类型、指针类型、整数类型、参数列表类型与结构体类型,并分别设置不同的编号。
所述插件链表的生成:为每个扫描参数分配一个参数列表类型的结构体,并至少将参数名称、参数值、参数类型、参数长度填入形成链表。
NASL脚本引擎将获取的插件参数与NASL脚本信息组成链表,初始化后开启线程逐个执行每个插件的运行,所述链表的每个节点均对应一个执行线程。
所述扫描任务的参数,至少包括:扫描方式,策略模板,任务执行优先级,待扫描目标的IP地址,待扫描目标是否存活及存活端口检测,弱口令猜解,插件扫描超时时间,socket超时限制,TCP/UDP端口扫描超时时间和端口范围,端口扫描速度,端口扫描方式。
本发明还提供一种漏洞扫描系统,包括:
客户端,创建扫描任务并配置扫描参数,发送扫描请求;
服务端,接收扫描请求,根据参数执行配置和加载插件,生成插件链表;
被扫描终端,接受模拟攻击并返回响应信息。
进一步的,所述服务端包括NASL脚本引擎,用于遍历插件链表并对NASL脚本进行解释和执行,进行模拟攻击;分析被扫描终端返回的响应信息,分析得到漏洞信息并上报给服务端。
采用以上技术内容的本发明,具有以下有益效果,当漏洞扫描器开始工作时,读取插件编号,接着调起NASL脚本引擎并传递相应的数据参数,然后加载、解释、执行脚本对实际的计算机系统或网络进行测试和检验,通过分析被测对象的返回结果,进而可检测出系统或网络中是否存在可被攻击利用的漏洞,并将检测出的对象的漏洞信息输出或存储。基于插件技术和NASL脚本引擎,可以实现对NASL脚本的更好、更快的调用,进而对目标主机进行模拟攻击,进而及时的发现漏洞。
附图说明
图1为本发明的漏洞扫描方法的流程示意图;
图2为本发明的漏洞扫描系统的组成示意图。
具体实施方式
下面结合附图对本发明的技术方案进行详细说明。
如图1所示,基于插件技术的漏洞扫描方法,包括:
S1创建扫描任务并配置扫描参数,发送扫描请求;
所述扫描任务的参数,至少包括:扫描方式,策略模板,任务执行优先级,待扫描目标的IP地址,待扫描目标是否存活及存活端口检测,弱口令猜解,插件扫描超时时间,socket超时限制,TCP/UDP端口扫描超时时间和端口范围,端口扫描速度,端口扫描方式。
S2接收扫描请求,根据扫描参数加载插件。
S3遍历插件,调用NASL脚本,进行模拟攻击;
各扫描参数的扫描实现,通过加载相应的插件实现,插件加载后生成相应的插件链表;调用NASL脚本引擎对插件链表进行遍历;NASL脚本引擎,包括基本数据结构函数、探测执行函数、主功能函数、脚本加载函数、脚本初始化函数、脚本解析与执行函数;所述脚本加载函数,用于将NASL脚本添加到插件链表。
所述基本数据结构函数为表示NASL脚本信息的结构体,当多个脚本被加载后,按照该结构体的类型在内存中以多级链表形式进行组织;所述多级链表,包括节点名称、节点类型、节点数据长度、指向下一节点的指针、用于加快节点查找的节点名称HASH值;所述节点类型包括字符串类型、指针类型、整数类型、参数列表类型与结构体类型,并分别设置不同的编号。
所述插件链表的生成:为每个扫描参数分配一个参数列表类型的结构体,并至少将参数名称、参数值、参数类型、参数长度填入形成链表。
NASL脚本引擎将获取的插件参数与NASL脚本信息组成链表,初始化后开启线程逐个执行每个插件的运行,所述链表的每个节点均对应一个执行线程。
S4返回对模拟攻击的响应信息。
S5分析响应信息得到漏洞报告并上报。
如图2所示,漏洞扫描系统,包括:
客户端,创建扫描任务并配置扫描参数,发送扫描请求;
服务端,接收扫描请求,根据参数执行配置和加载插件,生成插件链表;
被扫描终端,接受模拟攻击并返回响应信息。
进一步的,所述服务端包括NASL脚本引擎,用于遍历插件链表并对NASL脚本进行解释和执行,进行模拟攻击;分析被扫描终端返回的响应信息,分析得到漏洞信息并上报给服务端。
下面,结合漏洞扫描方法与系统即其各自的附图,整体的进行说明。
(1)客户端:建立admin用户用于客户端登录扫描设备,建立一个新的常规扫描任务,包括编辑扫描方式、选取策略模板、设置本次任务执行优先级,设定需要扫描的目标IP地址,配置被扫描终端是否存活和存活端口检测,弱口令猜解模块选项,插件扫描超时时间,socket超时限制,TCP/UDP端口扫描超时时间和端口范围,端口扫描速度,端口扫描方式,显示配置终端或应用服务的口令 等信息,完成重要参数配置后,开始扫描任务。
(2)服务端:接收到客户端的扫描请求后,依据客户端配置的信息,分别进行被扫描终端是否存活和存活端口检测,调用弱口令猜解模块对应或服务用进行猜解,根据插件扫描超时时间,socket超时限制来进行通信,对TCP/UDP端口扫描超时时间和端口范围,端口扫描速度进行限制,对端口扫描方式,显式配置终端或应用服务的口令等等。
上述配置完成后,开始调用NASL脚本引擎对插件进行遍历。
(3)NASL脚本引擎
NASL脚本引擎可以实现对NASL插件进行解释和执行,并最终实现脚本的各种功能。它的主要功能函数有如下:定义NASL解释引擎的基本数据结构函数,执行具体探测的探测执行函数,将脚本添加到插件链表脚本加载函数,脚本初始化函数、脚本解释与执行函数。
NASL脚本的主程序由参数配置,脚本加载等构成;参数配置需要的参数有:扫描目标范围、脚本路径、脚本头文件路径、端口范围、扫描模式、执行模式,最大线程数、日志文件路径等。
NASL引擎的基本数据结构函数,定义了一个结构体来表示脚本信息,多个脚本被加载后会以这个结构体类型按照分类在内存中以多级链表组织;链表包括:节点名称,节点类型,节点数据,节点数据长度,指向下一个节点的指针以及用于加快节点查找的节点名称的HASH值;具体的节点类型包括有:字符串类型,指针类型,整数类型,参数列表类型,结构体类型,依次对应的数字编号为1,2,3,4,5。
为每个扫描参数分配一个参数列表类型的结构体,然后将参数名称,参数值,参数类型以及参数长度等填入这个结构体,形成插件链表。
NASL脚本引擎从插件链表中遍历加载其插件信息,并获取所需的脚本信息、插件名称及执行模式等参数,将这些填入到描述线程的参数结构体中,组成新的链表;最后调用线程创建函数来创建执行线程,其中,链表中的每个节点对应一个执行线程。
每个插件的具体执行由脚本解释与执行函数来实现,该函数将会调用NASL的词法分析,语法分析及解释执行函数,来完成脚本执行。
(4)被扫描终端
被扫描终端收到nasl脚本的模拟攻击后,会向NASL脚本引擎端返回一些响应信息,通过分析此类信息,引擎向服务端报告漏洞信息。
Claims (10)
1.一种基于插件技术的漏洞扫描方法,其特征在于,包括:
创建扫描任务并配置扫描参数,发送扫描请求;
接收扫描请求,根据扫描参数加载插件;
遍历插件,调用NASL脚本,进行模拟攻击;
返回对模拟攻击的响应信息;
分析响应信息得到漏洞报告并上报。
2.根据权利要求1所述的漏洞扫描方法,其特征在于,各扫描参数的扫描实现,通过加载相应的插件实现,插件加载后生成相应的插件链表;调用NASL脚本引擎对插件链表进行遍历。
3.根据权利要求2所述的漏洞扫描方法,其特征在于,NASL脚本引擎,包括基本数据结构函数、探测执行函数、主功能函数、脚本加载函数、脚本初始化函数、脚本解析与执行函数;所述脚本加载函数,用于将NASL脚本添加到插件链表。
4.根据权利要求3所述的漏洞扫描方法,其特征在于,所述基本数据结构函数为表示NASL脚本信息的结构体,当多个脚本被加载后,按照该结构体的类型在内存中以多级链表形式进行组织。
5.根据权利要求4所述的漏洞扫描方法,其特征在于,所述多级链表,包括节点名称、节点类型、节点数据长度、指向下一节点的指针、用于加快节点查找的节点名称HASH值;所述节点类型包括字符串类型、指针类型、整数类型、参数列表类型与结构体类型,并分别设置不同的编号。
6.根据权利要求5所述的漏洞扫描方法,其特征在于,所述插件链表的生成:为每个扫描参数分配一个参数列表类型的结构体,并至少将参数名称、参数值、参数类型、参数长度填入形成链表。
7.根据权利要求1所述的漏洞扫描方法,其特征在于,NASL脚本引擎将获取的插件参数与NASL脚本信息组成链表,初始化后开启线程逐个执行每个插件的运行,所述链表的每个节点均对应一个执行线程。
8.根据权利要求1所述的漏洞扫描方法,其特征在于,所述扫描任务的参数,至少包括:扫描方式,策略模板,任务执行优先级,待扫描目标的IP地址,待扫描目标是否存活及存活端口检测,弱口令猜解,插件扫描超时时间,socket超时限制,TCP/UDP端口扫描超时时间和端口范围,端口扫描速度,端口扫描方式。
9.一种漏洞扫描系统,其特征在于,包括:
客户端,创建扫描任务并配置扫描参数,发送扫描请求;
服务端,接收扫描请求,根据参数执行配置和加载插件,生成插件链表;
被扫描终端,接受模拟攻击并返回响应信息。
10.根据权利要求9所述的漏洞扫描系统,其特征在于,所述服务端包括NASL脚本引擎,用于遍历插件链表并对NASL脚本进行解释和执行,进行模拟攻击;分析被扫描终端返回的响应信息,分析得到漏洞信息并上报给服务端。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910389362.7A CN110263542A (zh) | 2019-05-10 | 2019-05-10 | 一种基于插件技术的漏洞扫描方法与系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910389362.7A CN110263542A (zh) | 2019-05-10 | 2019-05-10 | 一种基于插件技术的漏洞扫描方法与系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110263542A true CN110263542A (zh) | 2019-09-20 |
Family
ID=67913008
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910389362.7A Pending CN110263542A (zh) | 2019-05-10 | 2019-05-10 | 一种基于插件技术的漏洞扫描方法与系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110263542A (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111723374A (zh) * | 2020-06-05 | 2020-09-29 | 绿盟科技集团股份有限公司 | 一种漏洞扫描方法及装置 |
CN112613074A (zh) * | 2020-12-30 | 2021-04-06 | 绿盟科技集团股份有限公司 | 一种敏感文件识别方法、装置、设备及介质 |
CN112926061A (zh) * | 2021-05-11 | 2021-06-08 | 腾讯科技(深圳)有限公司 | 插件处理方法及装置 |
CN113420302A (zh) * | 2021-06-27 | 2021-09-21 | 杭州迪普科技股份有限公司 | 主机漏洞检测方法及装置 |
CN113434217A (zh) * | 2021-06-30 | 2021-09-24 | 平安科技(深圳)有限公司 | 漏洞扫描方法、装置、计算机设备及介质 |
CN113672300A (zh) * | 2021-08-17 | 2021-11-19 | 绿盟科技集团股份有限公司 | 一种插件调度的方法、装置及存储介质 |
CN115021952A (zh) * | 2022-04-15 | 2022-09-06 | 国网智能电网研究院有限公司 | 一种漏洞验证方法、装置、存储介质及电子设备 |
CN115242426A (zh) * | 2022-06-01 | 2022-10-25 | 国网浙江省电力有限公司宁波供电公司 | 一种配电终端并发插件化检测方法及检测系统 |
CN116595542A (zh) * | 2023-07-12 | 2023-08-15 | 北京安数云信息技术有限公司 | 一种漏洞扫描方法和系统 |
-
2019
- 2019-05-10 CN CN201910389362.7A patent/CN110263542A/zh active Pending
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111723374A (zh) * | 2020-06-05 | 2020-09-29 | 绿盟科技集团股份有限公司 | 一种漏洞扫描方法及装置 |
CN111723374B (zh) * | 2020-06-05 | 2024-06-11 | 绿盟科技集团股份有限公司 | 一种漏洞扫描方法及装置 |
CN112613074A (zh) * | 2020-12-30 | 2021-04-06 | 绿盟科技集团股份有限公司 | 一种敏感文件识别方法、装置、设备及介质 |
CN112926061A (zh) * | 2021-05-11 | 2021-06-08 | 腾讯科技(深圳)有限公司 | 插件处理方法及装置 |
CN113420302A (zh) * | 2021-06-27 | 2021-09-21 | 杭州迪普科技股份有限公司 | 主机漏洞检测方法及装置 |
CN113434217A (zh) * | 2021-06-30 | 2021-09-24 | 平安科技(深圳)有限公司 | 漏洞扫描方法、装置、计算机设备及介质 |
CN113434217B (zh) * | 2021-06-30 | 2023-06-02 | 平安科技(深圳)有限公司 | 漏洞扫描方法、装置、计算机设备及介质 |
CN113672300B (zh) * | 2021-08-17 | 2023-12-26 | 绿盟科技集团股份有限公司 | 一种插件调度的方法、装置及存储介质 |
CN113672300A (zh) * | 2021-08-17 | 2021-11-19 | 绿盟科技集团股份有限公司 | 一种插件调度的方法、装置及存储介质 |
CN115021952A (zh) * | 2022-04-15 | 2022-09-06 | 国网智能电网研究院有限公司 | 一种漏洞验证方法、装置、存储介质及电子设备 |
CN115021952B (zh) * | 2022-04-15 | 2024-03-12 | 国网智能电网研究院有限公司 | 一种漏洞验证方法、装置、存储介质及电子设备 |
CN115242426B (zh) * | 2022-06-01 | 2024-05-10 | 国网浙江省电力有限公司宁波供电公司 | 一种配电终端并发插件化检测方法及检测系统 |
CN115242426A (zh) * | 2022-06-01 | 2022-10-25 | 国网浙江省电力有限公司宁波供电公司 | 一种配电终端并发插件化检测方法及检测系统 |
CN116595542B (zh) * | 2023-07-12 | 2023-10-10 | 北京安数云信息技术有限公司 | 一种漏洞扫描方法和系统 |
CN116595542A (zh) * | 2023-07-12 | 2023-08-15 | 北京安数云信息技术有限公司 | 一种漏洞扫描方法和系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110263542A (zh) | 一种基于插件技术的漏洞扫描方法与系统 | |
US11736499B2 (en) | Systems and methods for detecting injection exploits | |
Helmer et al. | Software fault tree and coloured Petri net–based specification, design and implementation of agent-based intrusion detection systems | |
Cordero et al. | On generating network traffic datasets with synthetic attacks for intrusion detection | |
US9438617B2 (en) | Application security testing | |
Aldini et al. | A process-algebraic approach for the analysis of probabilistic noninterference | |
CN109325351A (zh) | 一种基于众测平台的安全漏洞自动化验证系统 | |
CN108737417A (zh) | 一种面向工业控制系统的脆弱性检测方法 | |
Vats et al. | A comprehensive literature review of penetration testing & its applications | |
CN112347485A (zh) | 多引擎获取漏洞并自动化渗透的处理方法 | |
Liao et al. | A comprehensive detection approach of nmap: Principles, rules and experiments | |
Adão et al. | Mignis: A semantic based tool for firewall configuration | |
CN113868659B (zh) | 一种漏洞检测方法及系统 | |
CN106878339A (zh) | 一种基于物联网终端设备的漏洞扫描系统及方法 | |
CN110380935A (zh) | 端口扫描方法与装置 | |
Squarcina et al. | Can i take your subdomain? exploring {Same-Site} attacks in the modern web | |
CN116668079A (zh) | 网络系统漏洞扫描方法 | |
Nadji et al. | Understanding the prevalence and use of alternative plans in malware with network games | |
CN113382010B (zh) | 基于协同入侵检测的大规模网络安全防御系统 | |
CN109451087A (zh) | Mac表项老化处理方法和装置 | |
Bürkle et al. | Evaluating the security of mobile agent platforms | |
KR101053470B1 (ko) | 유해 트래픽 제어 및 해킹을 차단하는 장치 및 방법 | |
Deng et al. | Benchmark tests for the model-checking-based IDS algorithms | |
CN114465795B (zh) | 一种干扰网络扫描器的方法及系统 | |
CN117111489B (zh) | 一种plc设备的仿真方法、存储介质和电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20190920 |
|
WD01 | Invention patent application deemed withdrawn after publication |