CN111770082A - 漏洞扫描方法、装置、设备及计算机可读存储介质 - Google Patents
漏洞扫描方法、装置、设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN111770082A CN111770082A CN202010595791.2A CN202010595791A CN111770082A CN 111770082 A CN111770082 A CN 111770082A CN 202010595791 A CN202010595791 A CN 202010595791A CN 111770082 A CN111770082 A CN 111770082A
- Authority
- CN
- China
- Prior art keywords
- network service
- scanned
- host
- process information
- open port
- 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
- 238000000034 method Methods 0.000 title claims abstract description 322
- 230000008569 process Effects 0.000 claims abstract description 272
- 238000005516 engineering process Methods 0.000 abstract description 7
- 238000004891 communication Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 4
- 241001388118 Anisotremus taeniatus Species 0.000 description 3
- 238000010276 construction Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 230000007123 defense Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000003442 weekly effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1416—Event detection, e.g. attack signature detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1433—Vulnerability analysis
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/20—Network architectures or network communication protocols for network security for managing network security; network security policies in general
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Small-Scale Networks (AREA)
Abstract
本发明涉及金融科技技术领域,公开了一种漏洞扫描方法、装置、设备及计算机可读存储介质。该漏洞扫描方法包括:获取待扫描主机的开放端口标识和网络服务进程信息;将所述网络服务进程信息与预设指纹库内的进程指纹进行匹配,根据匹配结果确定所述网络服务进程信息对应的网络服务类型;根据所述网络服务类型确定目标漏洞工具,并通过所述目标漏洞工具对所述待扫描主机的所述开放端口标识对应的开放端口进行扫描,得到漏洞扫描结果。本发明能够实现提高网络服务类型的识别速度,以提高漏洞扫描效率。
Description
技术领域
本发明涉及金融科技(Fintech)技术领域,尤其涉及一种漏洞扫描方法、装置、设备及计算机可读存储介质。
背景技术
随着计算机技术的发展,越来越多的技术应用在金融领域,传统金融业正在逐步向金融科技(Fintech)转变,但由于金融行业的安全性、实时性要求,也对技术提出了更高的要求。
在网络安全形势日益严峻的情况下,网络防护重点逐渐从被动防御转为主动防御,即采取远程漏洞扫描技术,主动检测远程主机系统中出现的漏洞,及时采取应对措施,防患于未然。
现有的漏洞扫描系统,先通过端口扫描获取每一台主机开放的所有端口,然后对这些开放端口所运行的网络服务进行识别,具体的,向各开方端口发送其网络服务所对应的网络协议数据包,如ssh(Secure Shell,安全外壳协议)、mysql(一种通信协议)、ftp(File Transfer Protocol,文件传输协议)等,然后根据返回的回包数据判断网络协议是否匹配,以判断主机开放的端口是否为对应类型的网络服务。进而,根据识别到的网络服务类型,对主机开放的端口进行漏洞扫描,最后将漏洞扫描结果进行展示。
由于在网络服务识别过程中,需要向所有开放的端口发送数据包进行网络服务识别,将导致网络服务类型识别的速度过慢,进而导致漏洞扫描效率低。
发明内容
本发明的主要目的在于提供一种漏洞扫描方法、装置、设备及计算机可读存储介质,旨在实现提高网络服务类型的识别速度,以提高漏洞扫描效率。
为实现上述目的,本发明提供一种漏洞扫描方法,所述漏洞扫描方法包括:
获取待扫描主机的开放端口标识和网络服务进程信息;
将所述网络服务进程信息与预设指纹库内的进程指纹进行匹配,根据匹配结果确定所述网络服务进程信息对应的网络服务类型;
根据所述网络服务类型确定目标漏洞工具,并通过所述目标漏洞工具对所述待扫描主机的所述开放端口标识对应的开放端口进行扫描,得到漏洞扫描结果。
可选地,所述获取待扫描主机的开放端口标识和网络服务进程信息的步骤包括:
接收轻客户端上报的待扫描主机的开放端口标识和网络服务进程信息;
其中,所述待扫描主机的开放端口标识和网络服务进程信息的获取过程为:所述轻客户端在所述待扫描主机上执行第一预设命令,得到开放端口标识及对应的进程标识,并在所述待扫描主机上执行第二预设命令,得到网络服务进程信息及对应的进程标识,根据所述进程标识将所述开放端口标识与所述网络服务进程信息关联,得到所述待扫描主机的开放端口标识和网络服务进程信息。
可选地,所述获取待扫描主机的开放端口标识和网络服务进程信息的步骤包括:
通过安全外壳协议登录至所述待扫描主机上,在所述待扫描主机上执行第三预设命令,得到开放端口标识及对应的进程标识;
在所述待扫描主机上执行第四预设命令,得到网络服务进程信息及对应的进程标识;
根据所述进程标识将所述开放端口标识与所述网络服务进程信息关联,得到所述待扫描主机的开放端口标识和网络服务进程信息。
可选地,所述将所述网络服务进程信息与预设指纹库内的进程指纹进行匹配,根据匹配结果确定所述网络服务进程信息对应的网络服务类型的步骤包括:
通过正则表示式将所述网络服务进程信息与预设指纹库内的进程指纹进行匹配,得到目标进程指纹;
根据所述目标进程指纹确定所述网络服务进程信息对应的网络服务类型。
可选地,所述将所述网络服务进程信息与预设指纹库内的进程指纹进行匹配的步骤之前,还包括:
获取各类型网络服务进程的进程信息;
将所述进程信息与预设字符串进行匹配,得到匹配结果;
根据所述匹配结果和预设规则生成各类型网络服务进程的进程指纹,并基于生成的进程指纹构建得到所述预设指纹库。
可选地,所述根据所述匹配结果和预设规则生成各类型网络服务进程的进程指纹的步骤包括:
若所述匹配结果为所述进程信息中匹配到预设字符串,则根据匹配到的预设字符串和所述网络服务进程的类型生成进程指纹;
若所述匹配结果为所述进程信息中未匹配到预设字符串,则从所述进程信息中提取目标特征信息,并根据所述目标特征信息和所述网络服务进程的类型生成进程指纹。
可选地,所述通过所述目标漏洞工具对所述待扫描主机的所述开放端口标识对应的开放端口进行扫描,得到漏洞扫描结果的步骤包括:
获取所述待扫描主机的网际互连协议IP地址,并根据所述IP地址确定互联网数据中心IDC信息;
根据所述IDC信息对所述待扫描主机进行分组,通过所述目标漏洞工具对分组后的每一组待扫描主机的所述开放端口标识对应的开放端口按照预设时间间隔依次进行扫描,得到漏洞扫描结果。
此外,为实现上述目的,本发明还提供一种漏洞扫描装置,所述漏洞扫描装置包括:
第一获取模块,用于获取待扫描主机的开放端口标识和网络服务进程信息;
第一匹配模块,用于将所述网络服务进程信息与预设指纹库内的进程指纹进行匹配,根据匹配结果确定所述网络服务进程信息对应的网络服务类型;
漏洞扫描模块,用于根据所述网络服务类型确定目标漏洞工具,并通过所述目标漏洞工具对所述待扫描主机的所述开放端口标识对应的开放端口进行扫描,得到漏洞扫描结果。
此外,为实现上述目的,本发明还提供一种漏洞扫描设备,所述漏洞扫描设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的漏洞扫描程序,所述漏洞扫描程序被所述处理器执行时实现如上所述的漏洞扫描方法的步骤。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有漏洞扫描程序,所述漏洞扫描程序被处理器执行时实现如上所述的漏洞扫描方法的步骤。
本发明提供一种漏洞扫描方法、装置、设备及计算机可读存储介质,获取待扫描主机的开放端口标识和网络服务进程信息;然后,将网络服务进程信息与预设指纹库内的进程指纹进行匹配,根据匹配结果确定网络服务进程信息对应的网络服务类型;进而根据开放端口标识和网络服务类型确定目标漏洞工具,并通过目标漏洞工具对待扫描主机进行扫描,得到漏洞扫描结果。本发明中,通过将网络服务进程信息与预先构建的指纹库中的进程指纹进行匹配,进而确定网络服务类型,相比于通过发送网络协议数据包并基于返回的回包数据确定网络服务类型,本发明的识别速度更快,因此,可提高漏洞扫描效率。此外,本发明实施例中直接基于预设指纹库进行匹配确定网络服务类型,不会产生数据包,从而可避免带宽占用及对业务端的影响。
附图说明
图1为本发明实施例方案涉及的硬件运行环境的设备结构示意图;
图2为本发明漏洞扫描方法第一实施例的流程示意图;
图3为本发明漏洞扫描装置第一实施例的功能模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
参照图1,图1为本发明实施例方案涉及的硬件运行环境的设备结构示意图。
本发明实施例漏洞扫描设备可以是智能手机,也可以是PC(PersonalComputer,个人计算机)、平板电脑、便携计算机等终端设备。
如图1所示,该漏洞扫描设备可以包括:处理器1001,例如CPU,通信总线1002,用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如Wi-Fi接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的漏洞扫描设备结构并不构成对漏洞扫描设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块以及漏洞扫描程序。
在图1所示的终端中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端,与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的漏洞扫描程序,并执行以下漏洞扫描方法的各个步骤。
基于上述硬件结构,提出本发明漏洞扫描方法的各实施例。
本发明提供一种漏洞扫描方法。
参照图2,图2为本发明漏洞扫描方法第一实施例的流程示意图。
在本实施例中,该漏洞扫描方法包括:
步骤S10,获取待扫描主机的开放端口标识和网络服务进程信息;
本实施例的漏洞扫描方法是由漏洞扫描设备实现的,该设备搭载有漏洞扫描系统。
在本实施例中,漏洞扫描系统先获取待扫描主机的开放端口标识和网络服务进程信息。
开放端口标识和网络服务进程信息的获取方式包括但不限于:1)通过在各待扫描主机上安装轻客户端,通过轻客户端收集并上报待扫描主机的开放端口信息和对应的网络服务进程信息,;2)通过ssh登录到待扫描主机上,进而在待扫描主机上执行相关命令,以采集待扫描主机的开放端口信息和对应的网络服务进程信息。具体的获取过程可参照第二和第三实施例。
步骤S20,将所述网络服务进程信息与预设指纹库内的进程指纹进行匹配,根据匹配结果确定所述网络服务进程信息对应的网络服务类型;
然后,将网络服务进程信息与预设指纹库内的进程指纹进行匹配,根据匹配结果确定网络服务进程信息对应的网络服务类型。其中,预设指纹库是预先构建好的,其构建过程可参照下述第四实施例。
步骤S20包括:
步骤a21,通过正则表示式将所述网络服务进程信息与预设指纹库内的进程指纹进行匹配,得到目标进程指纹;
步骤a22,根据所述目标进程指纹确定所述网络服务进程信息对应的网络服务类型。
先通过正则表示式将网络服务进程信息与预设指纹库内的进程指纹进行匹配,得到目标进程指纹。然后,根据目标进程指纹确定网络服务进程信息对应的网络服务类型。
例如,主机开放端口为6379,网络服务进程信息为/usr/bin/redis-server,预设指纹库存在进程指纹{"redis":".*/redis-server.*"},在进行网络服务进程指纹识别时,通过正则表达式的方式,进程/usr/bin/redis-server将匹配到正则.*/redis-server.*,即,确定目标进程指纹为{"redis":".*/redis-server.*"},此时,可根据目标进程指纹确定该网络服务进程对应的网络服务类型为redis。
本实施例中,通过匹配进程指纹的方式来获取网络服务类型,相比于现有技术发送网络协议数据包进行网络服务类型的识别,可避免产生大量数据量及带宽的占用,同时提高识别速度。同时,现有技术中,对于使用相同网络协议的网络服务程序,将无法通过上述方法进行识别,比如elasticsearch(搜索服务)和tomcat(汤姆猫服务)都使用http/https(超文本传输协议/超文本传输安全协议)协议,通过该方法将无法判断端口运行的服务为elasticsearch或是tomcat,从而无法进行后续的扫描,而本方案则不会存在上述问题。
步骤S30,根据所述网络服务类型确定目标漏洞工具,并通过所述目标漏洞工具对所述待扫描主机的所述开放端口标识对应的开放端口进行扫描,得到漏洞扫描结果。
在确定网络服务类型之后,根据网络服务类型确定目标漏洞工具,其中,目标漏洞工具,可基于网络服务类型、及预先设定的网络服务类型与漏洞工具之间的映射关系来确定。然后,通过目标漏洞工具对待扫描主机的与开放端口标识对应的开放端口进行扫描,得到漏洞扫描结果。需要说明的是,在通过目标漏洞工具对待扫描主机的开放端口进行扫描时,是通过不同类型的目标漏洞工具分别对对应网络服务类型的开放端口进行扫描。
例如,若主机开放端口标识为873和912,对应的网络服务类型为rsync时,可根据其网络服务类型rsync确定目标漏洞工具为rsync未授权访问漏洞;若主机开放端口标识为6379,对应的网络服务类型为redis时,可根据其网络服务类型redis确定目标漏洞工具为redis未授权访问漏洞。在进行漏洞扫描时,则通过该rsync未授权访问漏洞对待扫描主机的开放端口标识为873和912的开放端口进行扫描,同时,通过该redis未授权访问漏洞对待扫描主机的开放端口标识为6379的开放端口进行扫描。
需要说明的是,在具体实施时,可按自定义的扫描周期(如每天/每周/每月)进行扫描,因此,在获取到待扫描主机的开放端口标识和网络服务类型之后,可先对其进行存储,待到设定的扫描时间时再进行漏洞扫描。
作为其中一种扫描方式,可同时通过各目标漏洞工具对对应的待扫描主机进行扫描。
作为另一种扫描方式,可先对待扫描主机进行分组,然后按组依次扫描。具体的,步骤S30可以包括:
步骤a31,获取所述待扫描主机的网际互连协议IP地址,并根据所述IP地址确定互联网数据中心IDC信息;
步骤a32,根据所述IDC信息对所述待扫描主机进行分组,通过所述目标漏洞工具对分组后的每一组待扫描主机的所述开放端口标识对应的开放端口按照预设时间间隔依次进行扫描,得到漏洞扫描结果。
作为另一种扫描方式,先获取待扫描主机的IP(Internet Protocol,网际互连协议)地址,并根据IP地址确定IDC(Internet Data Center,互联网数据中心)信息。然后,根据IDC信息对待扫描主机进行分组,通过目标漏洞工具对分组后的每一组待扫描主机的与开放端口标识对应的开放端口、按照预设时间间隔依次进行扫描,得到漏洞扫描结果。由于同时对各待扫描主机进行漏洞扫描,一旦存在漏洞,可能导致全部实例挂掉,影响其他IDC,而本实施例通过对待扫描主机按IDC进行分组,进而按组间隔扫描,可在扫描到漏洞时,避免影响到其他IDC,可降低风险。
本发明实施例提供一种漏洞扫描方法,获取待扫描主机的开放端口标识和网络服务进程信息;然后,将网络服务进程信息与预设指纹库内的进程指纹进行匹配,根据匹配结果确定网络服务进程信息对应的网络服务类型;进而根据开放端口标识和网络服务类型确定目标漏洞工具,并通过目标漏洞工具对待扫描主机进行扫描,得到漏洞扫描结果。本发明实施例中,通过将网络服务进程信息与预先构建的指纹库中的进程指纹进行匹配,进而确定网络服务类型,相比于通过发送网络协议数据包并基于返回的回包数据确定网络服务类型,本发明实施例中所采用方案的识别速度更快,因此,可提高漏洞扫描效率。此外,本发明实施例中直接基于预设指纹库进行匹配确定网络服务类型,不会产生数据包,从而可避免带宽占用及对业务端的影响。
进一步地,基于上述第一实施例,提出本发明漏洞扫描方法的第二实施例。
在本实施例中,步骤S10包括:
步骤a11,接收轻客户端上报的待扫描主机的开放端口标识和网络服务进程信息;
其中,所述待扫描主机的开放端口标识和网络服务进程信息的获取过程为:所述轻客户端在所述待扫描主机上执行第一预设命令,得到开放端口标识及对应的进程标识,并在所述待扫描主机上执行第二预设命令,得到网络服务进程信息及对应的进程标识,根据所述进程标识将所述开放端口标识与所述网络服务进程信息关联,得到所述待扫描主机的开放端口标识和网络服务进程信息。
在本实施例中,作为待扫描主机的开放端口标识和网络服务进程信息的其中一种获取方式,可在各待扫描主机上安装轻客户端,通过轻客户端收集待扫描主机的开放端口信息和对应的网络服务进程信息。
具体的,轻客户端在待扫描主机上执行第一预设命令,得到开放端口标识及对应的进程标识(Proceed ID,PID),并在待扫描主机上执行第二预设命令,得到网络服务进程信息及对应的进程标识PID。其中,第一预设命令为netstat-tunlp命令,第二预设命令为ps-ef命令。
然后,根据进程标识将开放端口标识与网络服务进程信息关联,得到待扫描主机的开放端口标识和网络服务进程信息。
轻客户端会定时收集待扫描主机的开放端口信息和对应的网络服务进程信息,进而上报至漏洞扫描系统。
本实施例中,通过在各待扫描主机上安装轻客户端,通过轻客户端收集并上报待扫描主机的开放端口信息和对应的网络服务进程信息,相比于端口扫描,速度更快,因此,可进一步提高漏洞扫描效率。此外,现有技术中,通过端口扫描只能扫描到使用了默认端口的服务,例如,redis服务的默认端口为6379,如果仅扫描该端口,未使用默认端口的redis服务将不会被扫描到,因此,为保证扫描可以覆盖所有redis服务,需要对每一台主机的全部65535个端口进行扫描,这将导致每次漏洞扫描会产生大量数据包,容易对业务产生影响,且每次扫描的时间过长。而本实施例则可以直接通过轻客户端上报的方式快速获取到标准端口和非标准端口的网络服务进程,且不会产生数据包,避免带宽占用。
进一步地,基于上述第一实施例,提出本发明漏洞扫描方法的第三实施例。
在本实施例中,步骤S10还可以包括:
步骤a12,通过安全外壳协议登录至所述待扫描主机上,在所述待扫描主机上执行第三预设命令,得到开放端口标识及对应的进程标识;
步骤a13,在所述待扫描主机上执行第四预设命令,得到网络服务进程信息及对应的进程标识;
步骤a14,根据所述进程标识将所述开放端口标识与所述网络服务进程信息关联,得到所述待扫描主机的开放端口标识和网络服务进程信息。
在本实施例中,作为待扫描主机的开放端口标识和网络服务进程信息的其中一种获取方式,可通过ssh(Secure Shell,安全外壳协议)登录到待扫描主机上,进而在待扫描主机上执行相关命令,以采集待扫描主机的开放端口信息和对应的网络服务进程信息。
具体的,先通过安全外壳协议ssh登录至待扫描主机上,需要说明的是,在通过ssh登录到待扫描主机上时,需要根据待扫描主机的ssh key(密钥)进行认证登录,也就是说,漏洞扫描系统中需存储各待扫描主机的ssh key。然后,在待扫描主机上执行第三预设命令,得到开放端口标识及对应的进程标识PID,并在待扫描主机上执行第四预设命令,得到网络服务进程信息及对应的进程标识PID,其中,第三预设命令为netstat命令,第四预设命令为ps命令。
然后,根据进程标识将开放端口标识与网络服务进程信息关联,得到待扫描主机的开放端口标识和网络服务进程信息。
本实施例中,通过ssh登录到待扫描主机上,进而在待扫描主机上执行相关命令,以采集待扫描主机的开放端口信息和对应的网络服务进程信息,相比于端口扫描,速度更快,从而可进一步提高漏洞扫描效率,同时,不会产生数据包,避免带宽占用。此外,还可以获取到标准端口和非标准端口的网络服务进程。
进一步地,基于上述第一至第三实施例,提出本发明漏洞扫描方法的第四实施例。
在本实施例中,在上述步骤S20之前,该漏洞扫描方法还包括:
步骤A,获取各类型网络服务进程的进程信息;
在本实施例中,预设指纹库的构建过程如下:
预先获取各类型网络服务进程的进程信息。
步骤B,将所述进程信息与预设字符串进行匹配,得到匹配结果;
然后,将各类型网络服务进程的进程信息与预设字符串进行匹配,得到匹配结果。其中,预设字符串是预先设定的,用于确定进程信息是否属于可直接判断出服务类型的类型。例如,/bin/sshd、/bin/redis-server、/bin/ftpd等是可以判断出服务类型的,因此可将其设定为预设字符串。
步骤C,根据所述匹配结果和预设规则生成各类型网络服务进程的进程指纹,并基于生成的进程指纹构建得到所述预设指纹库。
进而,根据匹配结果和预设规则生成各类型网络服务进程的进程指纹,并基于生成的进程指纹构建得到预设指纹库。
具体的,步骤C包括:
步骤C1,若所述匹配结果为所述进程信息中匹配到预设字符串,则根据匹配到的预设字符串和所述网络服务进程的类型生成进程指纹;
步骤C2,若所述匹配结果为所述进程信息中未匹配到预设字符串,则从所述进程信息中提取目标特征信息,并根据所述目标特征信息和所述网络服务进程的类型生成进程指纹。
若匹配结果为进程信息中匹配到预设字符串,则根据匹配到的预设字符串和网络服务进程的类型生成进程指纹。具体的,根据匹配到的预设字符串和网络服务进程类型按预设格式生成进程指纹,可选地,可采用json格式生成进程指纹,以便于更新和维护。
例如,对于sshd服务进程,其进程信息为/bin/sshd,因此可直接以该进程名sshd(即网络服务进程的类型)作为指纹,可生成进程指纹{"sshd":".*/sshd.*"}。对于redis服务进程,其进程信息为/usr/bin/redis-server,则可生成进程指纹{"redis":".*/redis-server.*"}。
若匹配结果为进程信息中未匹配到预设字符串,说明无法从进程信息中直接判断服务类型,此时,则从进程信息中提取目标特征信息,如java的类名、python的脚本名等,然后根据目标特征信息和网络服务进程的类型生成进程指纹。
例如,对于服务进程elasticsearch,其进程信息一般为以下形式:
/nemo/jdk8/bin/java-Xms1g-Xmx1g-XX:+UseConcMarkSweepGC
-XX:CMSInitiatingOccupancyFraction=75
-XX:+UseCMSInitiatingOccupancyOnly-XX:+AlwaysPreTouch-Xss1m
-Djava.awt.headless=true-Dfile.encoding=UTF-8-Djna.nosys=true
-XX:-OmitStackTraceInFastThrow-Dio.netty.noUnsafe=true
-Dio.netty.noKeySetOptimization=true
-Dio.netty.recycler.maxCapacityPerThread=0
-Dlog4j.shutdownHookEnabled=false-Dlog4j2.disable.jmx=true
-Djava.io.tmpdir=/tmp/elasticsearch.Ek8Po5v1
-XX:+HeapDumpOnOutOfMemoryError-XX:+PrintGCDetails
-XX:+PrintGCDateStamps-XX:+PrintTenuringDistribution
-XX:+PrintGCApplicationStoppedTime-Xloggc:logs/gc.log
-XX:+UseGCLogFileRotation-XX:NumberOfGCLogFiles=32
-XX:GCLogFileSize=64m
-Des.path.home=/home/app/elasticsearch/elasticsearch-6.2.2
-Des.path.conf=/home/app/elasticsearch/elasticsearch-6.2.2/config-cp
/home/app/elasticsearch/elasticsearch-6.2.2/lib/*
org.elasticsearch.bootstrap.Elasticsearch-d
可提取出进程指纹为{"elasticsearch":"org\.elasticsearch\.bootstrap\.Elasticsearch"}。
再例如,对于服务进程tomcat,其进程信息一般为以下形式:
/home/app/app/jdk1.8.0/bin/java
-Djava.util.logging.config.file=/home/app/app/procs/admin/conf/logging.properties-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
-Dmumble.app.name=procs-admin-Xms512m-Xmx1024m-Xss512K-Djdk.tls.ephemeralDHKeySize=2048
-Djava.protocol.handler.pkgs=org.apache.catalina.webresources
-Dignore.endorsed.dirs=-classpath/home/app/app/procs/admin/bin/bootstrap.jar:/home/app/app/procs/admin/bin/tomcat-juli.jar-Dcatalina.base=/home/app/app/procs/admin-Dcatalina.home=/home/app/app/procs/admin
-Djava.io.tmpdir=/home/app/app/procs/admin/temporg.apache.catalina.startup.Bootstrap start
可提取出进程指纹为{"tomcat":"org\.apache\.catalina\.startup\.Bootstrap"}。
本发明还提供一种漏洞扫描装置。
参照图3,图3为本发明漏洞扫描装置第一实施例的功能模块示意图。
如图3所示,所述漏洞扫描装置包括:
第一获取模块10,用于获取待扫描主机的开放端口标识和网络服务进程信息;
第一匹配模块20,用于将所述网络服务进程信息与预设指纹库内的进程指纹进行匹配,根据匹配结果确定所述网络服务进程信息对应的网络服务类型;
漏洞扫描模块30,用于根据所述网络服务类型确定目标漏洞工具,并通过所述目标漏洞工具对所述待扫描主机的所述开放端口标识对应的开放端口进行扫描,得到漏洞扫描结果。
进一步地,所述第一获取模块10包括:
接收单元,用于接收轻客户端上报的待扫描主机的开放端口标识和网络服务进程信息;
其中,所述待扫描主机的开放端口标识和网络服务进程信息的获取过程为:所述轻客户端在所述待扫描主机上执行第一预设命令,得到开放端口标识及对应的进程标识,并在所述待扫描主机上执行第二预设命令,得到网络服务进程信息及对应的进程标识,根据所述进程标识将所述开放端口标识与所述网络服务进程信息关联,得到所述待扫描主机的开放端口标识和网络服务进程信息。
进一步地,所述第一获取模块10包括:
第一执行单元,用于通过安全外壳协议登录至所述待扫描主机上,在所述待扫描主机上执行第三预设命令,得到开放端口标识及对应的进程标识;
第二执行单元,用于在所述待扫描主机上执行第四预设命令,得到网络服务进程信息及对应的进程标识;
信息关联单元,用于根据所述进程标识将所述开放端口标识与所述网络服务进程信息关联,得到所述待扫描主机的开放端口标识和网络服务进程信息。
进一步地,所述第一匹配模块20包括:
指纹匹配单元,用于通过正则表示式将所述网络服务进程信息与预设指纹库内的进程指纹进行匹配,得到目标进程指纹;
类型确定单元,用于根据所述目标进程指纹确定所述网络服务进程信息对应的网络服务类型。
进一步地,所述漏洞扫描装置还包括:
第二获取模块,用于获取各类型网络服务进程的进程信息;
第二匹配模块,用于将所述进程信息与预设字符串进行匹配,得到匹配结果;
指纹库构建模块,用于根据所述匹配结果和预设规则生成各类型网络服务进程的进程指纹,并基于生成的进程指纹构建得到所述预设指纹库。
进一步地,所述指纹库构建模块包括:
第一生成单元,用于若所述匹配结果为所述进程信息中匹配到预设字符串,则根据匹配到的预设字符串和所述网络服务进程的类型生成进程指纹;
第二生成单元,用于若所述匹配结果为所述进程信息中未匹配到预设字符串,则从所述进程信息中提取目标特征信息,并根据所述目标特征信息和所述网络服务进程的类型生成进程指纹。
进一步地,所述漏洞扫描模块30包括:
信息确定单元,用于获取所述待扫描主机的网际互连协议IP地址,并根据所述IP地址确定互联网数据中心IDC信息;
分组扫描单元,用于根据所述IDC信息对所述待扫描主机进行分组,通过所述目标漏洞工具对分组后的每一组待扫描主机按照预设时间间隔依次进行扫描,得到漏洞扫描结果。
其中,上述漏洞扫描装置中各个模块的功能实现与上述漏洞扫描方法实施例中各步骤相对应,其功能和实现过程在此处不再一一赘述。
本发明还提供一种计算机可读存储介质,该计算机可读存储介质上存储有漏洞扫描程序,所述漏洞扫描程序被处理器执行时实现如以上任一项实施例所述的漏洞扫描方法的步骤。
本发明计算机可读存储介质的具体实施例与上述漏洞扫描方法各实施例基本相同,在此不作赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种漏洞扫描方法,其特征在于,所述漏洞扫描方法包括:
获取待扫描主机的开放端口标识和网络服务进程信息;
将所述网络服务进程信息与预设指纹库内的进程指纹进行匹配,根据匹配结果确定所述网络服务进程信息对应的网络服务类型;
根据所述网络服务类型确定目标漏洞工具,并通过所述目标漏洞工具对所述待扫描主机的所述开放端口标识对应的开放端口进行扫描,得到漏洞扫描结果。
2.如权利要求1所述的漏洞扫描方法,其特征在于,所述获取待扫描主机的开放端口标识和网络服务进程信息的步骤包括:
接收轻客户端上报的待扫描主机的开放端口标识和网络服务进程信息;
其中,所述待扫描主机的开放端口标识和网络服务进程信息的获取过程为:所述轻客户端在所述待扫描主机上执行第一预设命令,得到开放端口标识及对应的进程标识,并在所述待扫描主机上执行第二预设命令,得到网络服务进程信息及对应的进程标识,根据所述进程标识将所述开放端口标识与所述网络服务进程信息关联,得到所述待扫描主机的开放端口标识和网络服务进程信息。
3.如权利要求1所述的漏洞扫描方法,其特征在于,所述获取待扫描主机的开放端口标识和网络服务进程信息的步骤包括:
通过安全外壳协议登录至所述待扫描主机上,在所述待扫描主机上执行第三预设命令,得到开放端口标识及对应的进程标识;
在所述待扫描主机上执行第四预设命令,得到网络服务进程信息及对应的进程标识;
根据所述进程标识将所述开放端口标识与所述网络服务进程信息关联,得到所述待扫描主机的开放端口标识和网络服务进程信息。
4.如权利要求1所述的漏洞扫描方法,其特征在于,所述将所述网络服务进程信息与预设指纹库内的进程指纹进行匹配,根据匹配结果确定所述网络服务进程信息对应的网络服务类型的步骤包括:
通过正则表示式将所述网络服务进程信息与预设指纹库内的进程指纹进行匹配,得到目标进程指纹;
根据所述目标进程指纹确定所述网络服务进程信息对应的网络服务类型。
5.如权利要求1至4中任一项所述的漏洞扫描方法,其特征在于,所述将所述网络服务进程信息与预设指纹库内的进程指纹进行匹配的步骤之前,还包括:
获取各类型网络服务进程的进程信息;
将所述进程信息与预设字符串进行匹配,得到匹配结果;
根据所述匹配结果和预设规则生成各类型网络服务进程的进程指纹,并基于生成的进程指纹构建得到所述预设指纹库。
6.如权利要求5所述的漏洞扫描方法,其特征在于,所述根据所述匹配结果和预设规则生成各类型网络服务进程的进程指纹的步骤包括:
若所述匹配结果为所述进程信息中匹配到预设字符串,则根据匹配到的预设字符串和所述网络服务进程的类型生成进程指纹;
若所述匹配结果为所述进程信息中未匹配到预设字符串,则从所述进程信息中提取目标特征信息,并根据所述目标特征信息和所述网络服务进程的类型生成进程指纹。
7.如权利要求1至4中任一项所述的漏洞扫描方法,其特征在于,所述通过所述目标漏洞工具对所述待扫描主机的所述开放端口标识对应的开放端口进行扫描,得到漏洞扫描结果的步骤包括:
获取所述待扫描主机的网际互连协议IP地址,并根据所述IP地址确定互联网数据中心IDC信息;
根据所述IDC信息对所述待扫描主机进行分组,通过所述目标漏洞工具对分组后的每一组待扫描主机的所述开放端口标识对应的开放端口按照预设时间间隔依次进行扫描,得到漏洞扫描结果。
8.一种漏洞扫描装置,其特征在于,所述漏洞扫描装置包括:
第一获取模块,用于获取待扫描主机的开放端口标识和网络服务进程信息;
第一匹配模块,用于将所述网络服务进程信息与预设指纹库内的进程指纹进行匹配,根据匹配结果确定所述网络服务进程信息对应的网络服务类型;
漏洞扫描模块,用于根据所述网络服务类型确定目标漏洞工具,并通过所述目标漏洞工具对所述待扫描主机的所述开放端口标识对应的开放端口进行扫描,得到漏洞扫描结果。
9.一种漏洞扫描设备,其特征在于,所述漏洞扫描设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的漏洞扫描程序,所述漏洞扫描程序被所述处理器执行时实现如权利要求1至7中任一项所述的漏洞扫描方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有漏洞扫描程序,所述漏洞扫描程序被处理器执行时实现如权利要求1至7中任一项所述的漏洞扫描方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010595791.2A CN111770082A (zh) | 2020-06-24 | 2020-06-24 | 漏洞扫描方法、装置、设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010595791.2A CN111770082A (zh) | 2020-06-24 | 2020-06-24 | 漏洞扫描方法、装置、设备及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111770082A true CN111770082A (zh) | 2020-10-13 |
Family
ID=72722261
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010595791.2A Pending CN111770082A (zh) | 2020-06-24 | 2020-06-24 | 漏洞扫描方法、装置、设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111770082A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112532658A (zh) * | 2021-02-08 | 2021-03-19 | 腾讯科技(深圳)有限公司 | 云网络逃逸事件扫描方法、装置及计算机可读存储介质 |
CN112804263A (zh) * | 2021-03-30 | 2021-05-14 | 北京安信天行科技有限公司 | 一种面向物联网的漏洞扫描方法、系统及设备 |
CN112883383A (zh) * | 2021-03-04 | 2021-06-01 | 北京明略昭辉科技有限公司 | 一种漏洞安全防御方法、系统及计算机设备 |
CN113839957A (zh) * | 2021-09-29 | 2021-12-24 | 杭州迪普科技股份有限公司 | 未授权漏洞的检测方法及装置 |
CN114124475A (zh) * | 2021-11-05 | 2022-03-01 | 武汉思普崚技术有限公司 | 一种网络资产端口扫描及服务识别方法、装置 |
CN114760145A (zh) * | 2022-04-28 | 2022-07-15 | 金祺创(北京)技术有限公司 | 一种基于云架构的主机漏洞快速扫描分析及交叉验证方法和装置 |
CN115225342A (zh) * | 2022-06-28 | 2022-10-21 | 杭州安恒信息技术股份有限公司 | 漏洞扫描方法、装置、系统、电子装置和存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101262481A (zh) * | 2008-02-22 | 2008-09-10 | 北京航空航天大学 | 一种计算机网络远程服务识别系统及其识别方法 |
US20140149455A1 (en) * | 2012-11-28 | 2014-05-29 | Stephen A. Carr | Business Application Fingerprinting and Tagging |
CN107295023A (zh) * | 2017-08-23 | 2017-10-24 | 四川长虹电器股份有限公司 | 一种网络安全漏洞扫描系统及方法 |
CN107360192A (zh) * | 2017-08-29 | 2017-11-17 | 四川长虹电器股份有限公司 | 提高漏洞扫描效率和精度的指纹识别方法 |
CN107944276A (zh) * | 2017-10-09 | 2018-04-20 | 西安交大捷普网络科技有限公司 | 漏洞扫描器及其插件调度方法 |
CN108712396A (zh) * | 2018-04-27 | 2018-10-26 | 广东省信息安全测评中心 | 网络资产管理与漏洞治理系统 |
CN109639630A (zh) * | 2018-10-30 | 2019-04-16 | 国网陕西省电力公司信息通信公司 | 一种终端端口管控系统及管控方法 |
-
2020
- 2020-06-24 CN CN202010595791.2A patent/CN111770082A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101262481A (zh) * | 2008-02-22 | 2008-09-10 | 北京航空航天大学 | 一种计算机网络远程服务识别系统及其识别方法 |
US20140149455A1 (en) * | 2012-11-28 | 2014-05-29 | Stephen A. Carr | Business Application Fingerprinting and Tagging |
CN107295023A (zh) * | 2017-08-23 | 2017-10-24 | 四川长虹电器股份有限公司 | 一种网络安全漏洞扫描系统及方法 |
CN107360192A (zh) * | 2017-08-29 | 2017-11-17 | 四川长虹电器股份有限公司 | 提高漏洞扫描效率和精度的指纹识别方法 |
CN107944276A (zh) * | 2017-10-09 | 2018-04-20 | 西安交大捷普网络科技有限公司 | 漏洞扫描器及其插件调度方法 |
CN108712396A (zh) * | 2018-04-27 | 2018-10-26 | 广东省信息安全测评中心 | 网络资产管理与漏洞治理系统 |
CN109639630A (zh) * | 2018-10-30 | 2019-04-16 | 国网陕西省电力公司信息通信公司 | 一种终端端口管控系统及管控方法 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112532658A (zh) * | 2021-02-08 | 2021-03-19 | 腾讯科技(深圳)有限公司 | 云网络逃逸事件扫描方法、装置及计算机可读存储介质 |
CN112532658B (zh) * | 2021-02-08 | 2021-05-07 | 腾讯科技(深圳)有限公司 | 云网络逃逸事件扫描方法、装置及计算机可读存储介质 |
CN112883383A (zh) * | 2021-03-04 | 2021-06-01 | 北京明略昭辉科技有限公司 | 一种漏洞安全防御方法、系统及计算机设备 |
CN112804263A (zh) * | 2021-03-30 | 2021-05-14 | 北京安信天行科技有限公司 | 一种面向物联网的漏洞扫描方法、系统及设备 |
CN113839957A (zh) * | 2021-09-29 | 2021-12-24 | 杭州迪普科技股份有限公司 | 未授权漏洞的检测方法及装置 |
CN113839957B (zh) * | 2021-09-29 | 2024-02-09 | 杭州迪普科技股份有限公司 | 未授权漏洞的检测方法及装置 |
CN114124475A (zh) * | 2021-11-05 | 2022-03-01 | 武汉思普崚技术有限公司 | 一种网络资产端口扫描及服务识别方法、装置 |
CN114760145A (zh) * | 2022-04-28 | 2022-07-15 | 金祺创(北京)技术有限公司 | 一种基于云架构的主机漏洞快速扫描分析及交叉验证方法和装置 |
CN115225342A (zh) * | 2022-06-28 | 2022-10-21 | 杭州安恒信息技术股份有限公司 | 漏洞扫描方法、装置、系统、电子装置和存储介质 |
CN115225342B (zh) * | 2022-06-28 | 2024-05-28 | 杭州安恒信息技术股份有限公司 | 漏洞扫描方法、装置、系统、电子装置和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111770082A (zh) | 漏洞扫描方法、装置、设备及计算机可读存储介质 | |
US11240262B1 (en) | Malware detection verification and enhancement by coordinating endpoint and malware detection systems | |
US10257224B2 (en) | Method and apparatus for providing forensic visibility into systems and networks | |
AU2015380394B2 (en) | Methods and systems for identifying potential enterprise software threats based on visual and non-visual data | |
Rafique et al. | Firma: Malware clustering and network signature generation with mixed network behaviors | |
US10873594B2 (en) | Test system and method for identifying security vulnerabilities of a device under test | |
US20110016528A1 (en) | Method and Device for Intrusion Detection | |
US8875296B2 (en) | Methods and systems for providing a framework to test the security of computing system over a network | |
EP3188436A1 (en) | Platform for protecting small and medium enterprises from cyber security threats | |
KR101888831B1 (ko) | 디바이스 정보 수집 장치 및 그 방법 | |
US20150244730A1 (en) | System And Method For Verifying And Detecting Malware | |
CN110336835B (zh) | 恶意行为的检测方法、用户设备、存储介质及装置 | |
US20160134650A1 (en) | System, method, and appartus for proactive cybersecurity | |
WO2005057345A2 (en) | Real-time change detection for network systems | |
US20170171221A1 (en) | Real-time Scanning of IP Addresses | |
KR101964148B1 (ko) | 기계 학습 기반으로 이상 행위를 분석하는 유무선 공유기 및 그 방법 | |
CN113595967A (zh) | 数据识别方法、设备、存储介质及装置 | |
Zhang et al. | ScanMe mobile: a cloud-based Android malware analysis service | |
Yamada et al. | RAT-based malicious activities detection on enterprise internal networks | |
CN112953896A (zh) | 日志报文的回放方法及装置 | |
CN112784268A (zh) | 一种主机行为数据的分析方法、装置、设备及存储介质 | |
Kim et al. | Agent-based honeynet framework for protecting servers in campus networks | |
CN111314326B (zh) | Http漏洞扫描主机的确认方法、装置、设备及介质 | |
CN110691090B (zh) | 网站检测方法、装置、设备及存储介质 | |
WO2017217247A1 (ja) | 悪性イベント検出装置、悪性イベント検出方法および悪性イベント検出プログラム |
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 |