CN112437100A - 漏洞扫描方法及相关设备 - Google Patents
漏洞扫描方法及相关设备 Download PDFInfo
- Publication number
- CN112437100A CN112437100A CN202110114840.0A CN202110114840A CN112437100A CN 112437100 A CN112437100 A CN 112437100A CN 202110114840 A CN202110114840 A CN 202110114840A CN 112437100 A CN112437100 A CN 112437100A
- Authority
- CN
- China
- Prior art keywords
- port
- service
- vulnerability
- address
- scanning
- 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
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/1433—Vulnerability analysis
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)
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
Abstract
本申请涉及网络安全技术领域,具体提供了一种漏洞扫描方法及相关设备,该方法包括:获取对网关设备进行端口扫描所得到的扫描信息;根据所述扫描信息识别所述网关设备所开放的端口提供的服务;按照对应于所述端口所提供服务的内网地址获取策略获取所述端口所连通的内网地址;根据对应于所述端口所提供服务的数据转发服务,对所述内网地址所指示设备进行漏洞扫描,获得所述内网地址所指示设备的漏洞扫描信息,其中,所述数据转发服务用于将位于外网的请求方地址转换为具有访问所述内网地址的权限的设定地址;该方法实现了对隐藏在网关设备之后的内网地址进行漏洞扫描。
Description
技术领域
本申请涉及网络安全技术领域,具体而言,涉及一种漏洞扫描方法及相关设备。
背景技术
现有技术中,由于网关设备会针对内网中设备所发送访问请求中的请求方地址进行网络地址转换(Network Address Translation,NAT),因此,对于外网中的设备而言,内网中的设备是隐藏在网关设备之后的,在进行漏洞扫描的时候,无法对隐藏在网关设备之后的内网中的设备进行漏洞扫描。
发明内容
本申请的实施例提供了一种漏洞扫描方法及相关设备,以解决现有技术中无法对隐藏在网关设备之后的内网地址进行漏洞扫描的问题。
本申请的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本申请的实践而习得。
根据本申请实施例的一个方面,提供了一种漏洞扫描方法,包括:
获取对网关设备进行端口扫描所得到的扫描信息;
根据所述扫描信息识别所述网关设备所开放的端口提供的服务;
按照对应于所述端口所提供服务的内网地址获取策略获取所述端口所连通的内网地址;
根据对应于所述端口所提供服务的数据转发服务,对所述内网地址所指示设备进行漏洞扫描,获得所述内网地址所指示设备的漏洞扫描信息,其中,所述数据转发服务用于将位于外网的请求方地址转换为具有访问所述内网地址的权限的设定地址。
根据本申请实施例的一个方面,提供了一种漏洞扫描装置,包括:
扫描信息获取模块,用于获取对网关设备进行端口扫描所得到的扫描信息;
服务识别模块,用于根据所述扫描信息识别所述网关设备所开放的端口提供的服务;
内网地址获取模块,用于按照对应于所述端口所提供服务的内网地址获取策略获取所述端口所连通的内网地址;
漏洞扫描模块,用于根据对应于所述端口所提供服务的数据转发服务,对所述内网地址所指示设备进行漏洞扫描,获得所述内网地址所指示设备的漏洞扫描信息,其中,所述数据转发服务用于将位于外网的请求方地址转换为具有访问所述内网地址的权限的设定地址。
根据本申请实施例的一个方面,提供了一种电子设备,包括:处理器;存储器,所述存储器上存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,实现如上所述的方法。
根据本申请实施例的一个方面,提供了一种计算机可读存储介质,其上存储有计算机可读指令,当所述计算机可读指令被处理器执行时,实现如上所述的方法。
在申请的方案中,在识别网关设备的端口所提供服务的基础上,根据该服务对应的内网地址获取策略获取隐藏在网关设备之后的内网地址,并给予该服务所对应的数据转发服务对所获取的内网地址进行漏洞扫描,实现了对隐藏在网关之后的内网地址进行漏洞扫描,有效解决了现有技术中因网关设备所进行的网络地址转换导致无法对隐藏的内网地址进行漏洞扫描的问题。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1示出了可以应用本申请实施例的技术方案的示例性系统架构的示意图。
图2是根据一实施例示出了根据本申请的一个实施例示出的漏洞扫描方法的流程图。
图3是根据本申请一实施例示出的步骤240之前步骤的流程图。
图4示出了PCP协议所规定的数据格式的示意图。
图5是根据本申请一实施例示出进行漏洞扫描的流程示意图。
图6是根据本申请一具体实施例示出的漏洞扫描方法的流程图。
图7是根据本申请一实施例示出的漏洞扫描装置的框图。
图8示出了适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本申请将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本申请的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本申请的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本申请的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
需要说明的是:在本文中提及的“多个”是指两个或两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
在进行具体说明之前,对本申请所涉及的术语和缩略语进行解释。
UPNP:Universal Plug and Play,即通用即插即用协议,是为了实现电脑与智能的电器设备对等网络连接的体系结构。而内网地址与网络地址的转换就是基于此协议的,因此只要我们的路由器支持UPNP,并且我们使用支持此协议的XP操作系统,那么我们就可以借此提高点对点传输速度。
NAT-PMP:NAT Port Mapping Protocol,即NAT端口映射协议,其是一个能自动创建网络地址转换(NAT)设置和端口映射配置而无需用户介入的网络协议。该协议能自动测定NAT网关的外部IPv4地址,并为应用程序提供与对等端交流通信的方法。NAT-PMP于2005年由苹果公司推出,为更常见的ISO标准互联网网关设备协议(被许多NAT路由器实现)的一个替代品。该协议由互联网工程任务组(IETF)在RFC 6886中发布。
PCP:Port Control Protocol,即端口控制协议,其是一种计算机网络协议。它允许IPv4或IPv6网络上的主机控制执行网络地址转换或数据包过滤的上游路由器如何转换和转发传入的IPv4或IPv6数据包。通过允许主机创建显式端口转发规则,可以轻松配置对网络流量的处理,以使位于NAT或防火墙后面的主机可以从Internet的其余部分访问,这是许多应用程序的要求。
Socks:是一种网络传输协议,主要用于客户端与外网服务器之间通讯的中间传递。Socks是“SOCKetS”的缩写。当防火墙后的客户端要访问外部的服务器时,就跟SOCKS代理服务器连接。这个代理服务器控制客户端访问外网的资格,允许的话,就将客户端的请求发往外部的服务器。
Proxy:即代理,也称网络代理,是一种特殊的网络服务,允许一个设备(一般为客户端)通过这个服务与另一个网络终端(一般为服务器)进行非直接的连接。一些网关、路由器等网络设备具备网络代理功能。一般认为代理服务有利于保障网络终端的隐私或安全,防止攻击。
云计算(Cloud Computing)是一种计算模式,它将计算任务分布在大量计算机构成的资源池上,使各种应用系统能够根据需要获取计算力、存储空间和信息服务。提供资源的网络被称为“云”。“云”中的资源在使用者看来是可以无限扩展的,并且可以随时获取,按需使用,随时扩展,按使用付费。
作为云计算的基础能力提供商,会建立云计算资源池(简称云平台,一般称为IaaS(Infrastructure as a Service,基础设施即服务)平台,在资源池中部署多种类型的虚拟资源,供外部客户选择使用。云计算资源池中主要包括:计算设备(为虚拟化机器,包含操作系统)、存储设备、网络设备。
为了保证云平台中各计算机设备的安全,减少受到病毒、木马等的攻击的概率,需要对云平台中的各计算机设备进行漏洞扫描,并针对性根据云平台中计算机设备所存在的漏洞进行针对性解决。云平台实际上相当于一个局域网,外部的计算机设备需要通过网关设备与云平台中的其他计算机设备进行通信,因此,在需要对云平台进行漏洞扫描时,存在不能对云平台中隐藏在网关设备之后的其他设备进行漏洞扫描的问题,可以通过本申请的方案来解决该问题。
本申请的方案还可以应用于区块链系统中。在区块链系统也布设有网关设备,区块链系统中的其他计算机设备通过网关设备与区块链系统外的计算计算机设备进行通信,区块链系统中其他计算机设备相当于隐藏在网关设备之后。可以通过本申请的方案来对区块链系统中隐藏在网关设备之后的计算机设备进行漏洞扫描。
区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层。
区块链底层平台可以包括用户管理、基础服务、智能合约以及运营监控等处理模块。其中,用户管理模块负责所有区块链参与者的身份信息管理,包括维护公私钥生成(账户管理)、密钥管理以及用户真实身份和区块链地址对应关系维护(权限管理)等,并且在授权的情况下,监管和审计某些真实身份的交易情况,提供风险控制的规则配置(风控审计);基础服务模块部署在所有区块链节点设备上,用来验证业务请求的有效性,并对有效请求完成共识后,记录到存储上。对于一个新的业务请求,基础服务先对接口适配解析和鉴权处理(接口适配),然后通过共识算法将业务信息加密(共识管理),在加密之后完整一致的传输至共享账本上(网络通信),并进行记录存储;智能合约模块负责合约的注册发行以及合约触发和合约执行,开发人员可以通过某种编程语言定义合约逻辑,发布到区块链上(合约注册),根据合约条款的逻辑,调用密钥或者其它的事件触发执行,完成合约逻辑,同时还提供对合约升级注销的功能;运营监控模块主要负责产品发布过程中的部署、配置的修改、合约设置、云适配以及产品运行中的实时状态的可视化输出,例如:告警、监控网络情况、监控节点设备健康状态等。
平台产品服务层提供典型应用的基本能力和实现框架,开发人员可以基于这些基本能力,叠加业务的特性,完成业务逻辑的区块链实现。应用服务层提供基于区块链方案的应用服务给业务参与方进行使用。
图1示出了可以应用本申请实施例的技术方案的示例性系统架构的示意图。
如图1所示,该系统架构包括位于外网的第一计算机设备110,以及位于内网的第二计算机设备130、和用于实现内网与外网交互的网关设备120。其中,位于外网的第二计算机设备130若要访问内网中的任一设备,需要通过网关设备120所提供的连接服务,同理,若位于内网的第一计算机设备110需要访问外网,也需要借助于网关设备120所提供的连接服务。
其中,第一计算机设备110、第二计算机设备130可以是智能手机、平板电脑、便携式计算机、台式电脑、服务器等可以实现通信的设备,第一计算机设备110与网关设备120、以及第二计算机设备130与网关设备120均通信连接。
在此系统架构下,可以通过第一计算机设备110对网关设备120进行漏洞扫描。但是,由于网关设备120会针对内网中第一计算机设备110的访问请求中的请求方地址进行网络地址转换(Network Address Translation,NAT),且针对第一计算机设备110访问外网中设备的访问请求中的请求方地址进行地址转换,因此,对于外网中的设备而言,内网中的第一计算机设备110是隐藏在网关设备120之后的,而如果仅仅对网关设备120进行漏洞扫描,其是不能访问到其后所隐藏的第一计算机设备110的。因此,为了实现跨网络对内网中的设备进行漏洞扫描,提出了本申请的方案。
以下对本申请实施例的技术方案的实现细节进行详细阐述:
图2示出了根据本申请的一个实施例示出的漏洞扫描方法的流程图,该方法可以由具备处理能力的计算机设备执行,例如笔记本电脑、台式电脑、智能手机、服务器等,在此不进行具体限定,其中,用于执行本申请的方案的计算机设备位于外网中。参照图2所示,该方法至少包括步骤210至240,详细介绍如下:
步骤210,获取对网关设备进行端口扫描所得到的扫描信息。
端口扫描,是指逐个对端口进行扫描。通过扫描结果可以知道一台计算机上都提供了哪些服务。
端口扫描的原理是当一个主机向远端一个服务器的某一个端口提出建立一个连接的请求,如果对方有此项服务,就会应答,如果对方未安装此项服务时,即使向相应的端口发出请求,对方仍无应答。
在步骤210中,可以给定网关设备的网络地址,然后按照该网络地址进行端口扫描,得到对应的扫描信息。
在本申请的一些实施例中,还可以任意给定一网络地址进行扫描,然后在得到对应的扫描信息后,根据该扫描信息确定该网络地址的设备所提供的服务,来判断该网络地址所指示的设备是否为网关设备,如果是,则按照本申请的方案对隐藏在网关设备之后的设备进行漏洞扫描;而若该网络地址所指示的设备不是网关设备,则可以直接对该设备的各个端口进行漏洞扫描,获得对应的漏洞扫描信息。
在本申请的一些实施例中,可以通过端口扫描工具来进行端口扫描,其中,端口扫描工具例如Nmap、Zenmap、Unicornscan、Knocker等,在此不进行具体限定。
在本申请的方案中,步骤210对目标网关进行端口扫描主要是确定目标网关所开放各个端口的信息,因此,选用可以实现端口扫描的扫描工具即可。
当然,在其他实施例中,该目标网关也可以作为漏洞扫描的对象进行漏洞扫描,其进行漏洞扫描的方式参加下文描述。
步骤220,根据所述扫描信息识别所述网关设备所开放的端口提供的服务。
可以理解的是,由于未开放的端口无法在端口扫描过程中进行响应,因此所得到的扫描信息中仅包括网关设备所开放端口的端口扫描信息。若网关设备所开放的端口为多个,则该扫描信息中包括所开放每一个端口的端口扫描信息。
端口所提供的服务是通过端口所支持的网络协议来体现的。端口所支持的网络协议例如UPNP协议、NAT-PMP协议、CPC协议、Socks协议等。其中,端口所支持的网络协议规定了对信息传输的速率、传输代码、代码结构、传输控制步骤、出错控制等。
扫描信息中各端口的端口扫描信息是按照该端口所支持的网络协议生成的,因此,可以通过该端口扫描信息的结构、所包括的字段、以及通过该端口扫描信息分析确定与该端口建立通信连接的过程来确定该端口所支持的网路协议。
在本申请的一些实施例中,鉴于各个端口的端口扫描信息中可能包括唯一指示一网络协议的协议字段,因此,可以通过端口扫描信息中所包括的协议字段来识别该端口所提供的服务。在该实施例中,步骤220包括:对于所述网关设备所开放的每一端口,从所述扫描信息中获取所述端口的端口扫描信息;根据所述端口扫描信息中的字符确定所述端口扫描信息中所包括的协议字段;将所述协议字段所指示网络协议对应的服务确定为所述端口所提供的服务。
在该实施例中,为了通过协议字段来识别端口所提供的服务,鉴于端口所提供的服务与网络协议之间的对应关系,预先为服务所对应的网络协议构建协议字段集合,如果一端口扫描信息中包括该协议字段集合中的协议字段,则确定该端口扫描信息所来源端口提供的服务为该协议字段集合所对应网络协议所指示的服务。当然,针对每一网络协议的协议字段集合中所包括的协议字段可以是一个也可以是多个。
在本申请的一些实施例中,鉴于不同的网络协议所规定的建立通信连接的方式不同,例如通过协议握手的方式不同,因此,可以通过分析一端口的端口扫描信息来确定与该端口的握手方式,然后将该种握手方式所指示的网络协议对应的服务确定为该端口所提供的服务。
在本申请的一些实施例中,由于提供不同服务的端口中所存在的文件存在差异,因此,可以通过可以标识服务的指定文件来识别该端口所提供的服务,即若一端口中存在一指定文件,则将该指定文件所对应的服务确定为该端口所提供的服务。在该实施例中,步骤220包括:对于所述网关设备所开放的每一端口,从所述扫描信息中获取所述端口的端口扫描信息;根据所述端口扫描信息,确定所述端口中是否存在指定文件;若所述端口存在所述指定文件,将所述指定文件所对应的服务确定为所述端口所提供的服务。
可以理解的是,为通过指定文件来识别端口所提供的服务,需要预先构建服务与指定文件之间的映射关系,明确每一指定文件对应的服务。例如,仅NPUP网络协议的端口(即UDP1900号端口)中存在rootDesc.xml文件,则rootDesc.xml文件可以作为支持NPUP网络协议所指示服务对应的指定文件。
在本申请的一些实施例中,为了保证所进行服务识别的准确性,还可以针对每一种服务构建服务指纹,将为服务所构建的服务指纹存储于服务指纹库中。其中,该服务对应的服务指纹是通过可以表征该服务的服务特征进行组合来生成的,表征服务的服务特征例如上文所提及的协议字段、指定文件、握手方式、协议格式等,在此不进行具体限定。
在该实施例中,步骤220包括:根据所述端口扫描信息进行服务特征提取;根据所提取的服务特征生成服务指纹;在服务指纹库中匹配与所生成服务指纹相匹配的目标服务指纹,所述服务指纹库中存储了服务指纹与服务之间的映射关系;将所述目标服务指纹所对应的服务确定为所述端口所提供的服务。
该种基于服务指纹的方式来识别端口所提供的服务,实现了基于多维度的特征来进行服务识别,提高了服务识别的准确性。
步骤230,按照对应于所述端口所提供服务的内网地址获取策略获取所述端口所连通的内网地址。
在本申请的一些实施例中,预先针对各种服务配置了对应内网地址获取策略,从而,在识别确定端口所提供的服务后,获取对应于端口所提供的服务的内网地址获取策略来获取隐藏在网关之后的各个设备的内网地址。
在本申请的一些实施例中,分别针对支持UPnP协议、支持NAT-PMP协议、支持PCP协议、支持SOCKS协议和支持代理服务的端口配置了对应的内网地址获取策略,具体针对支持对应网络协议的端口对应的内网地址获取策略参见下文描述。
步骤240,根据对应于所述端口所提供服务的数据转发服务,对所述内网地址所指示设备进行漏洞扫描,获得所述内网地址所指示设备的漏洞扫描信息,其中,所述数据转发服务用于将位于外网的请求方地址转换为具有访问所述内网地址的权限的设定地址。
在本申请的一些实施例中,可以借助于漏洞扫描工具对内网地址进行漏洞扫描。漏洞扫描工具例如:OpenVAS、Tripwire IP360、Nessus漏洞扫描器等,在此不进行具体限定。
在本申请的一些实施例中,步骤240之后,该方法还包括:根据漏洞规则库中的漏洞规则对所述漏洞扫描信息进行漏洞识别;若所述漏洞扫描信息满足所述漏洞规则,则确定所述漏洞扫描信息所来源的设备存在漏洞。
在本申请的一些实施例中,漏洞规则库中各漏洞规则对应设定了漏洞类型和漏洞等级,在此基础上,还可以:根据所述漏洞扫描信息所满足漏洞规则对应的漏洞类型和漏洞等级,对所述漏洞扫描信息所来源的设备进行漏洞类型和漏洞等级标记。
通过所进行的标记,可以清楚了解到各个存在漏洞的设备的漏洞类型和漏洞等级。其中,漏洞等级指示了漏洞的危险性,漏洞等级越高,则危险性越高。在进行漏洞等级标记的基础上,可以优先向用户展示漏洞等级高的设备,以便于用户及时进行处理。
在本申请的一些实施例中,在对所述漏洞扫描信息所来源的设备进行漏洞类型和漏洞等级标记的基础上,还可以对存在漏洞的各个设备进行分类显示,按照漏洞等级分类和/或按照漏洞等级分类。
在本申请的一些实施例中,还可以基于插件技术进行漏洞扫描,具体的,通过模拟黑客的攻击手法,对目标设备(即待进行漏洞扫描的设备)进行攻击性的安全漏洞扫描,如测试弱口令等,若模拟成功,则表明目标设备存在安全漏洞。
在本申请的一些实施例中,由于各个端口所提供服务的类型不同,可以针对每种服务设定进行漏洞扫描的插件,在此基础上,在识别出端口所提供的服务后,通过服务对应的插件对该端口所隐藏的内部设备进行漏洞扫描,从而可以使得所进行的漏洞扫描更具有针对性。
在申请的方案中,在识别网关设备的端口所提供服务的基础上,根据该服务对应的内网地址获取策略获取隐藏在网关设备之后的内网地址,并给予该服务所对应的数据转发服务对所获取的内网地址进行漏洞扫描,实现了对隐藏的内网地址进行漏洞扫描,有效解决了现有技术中因网关设备所进行的网络地址转换导致无法对隐藏的内网地址进行漏洞扫描的问题。
下面,结合支持UPnP协议、支持NAT-PMP协议、支持PCP、支持SOCKS协议和支持代理服务的端口来对内网地址获取和数据转发服务的创建进行进一步说明。
在本申请的一些实施例中,所述网关设备所开放的端口包括支持通用即用即插协议(UPNP)的第一端口;其中,第一端口特指支持通用即用即插协议的端口。在该应用场景下,步骤230包括:获取所述第一端口对应的设备描述文件;从所述设备描述文件中获取与所述第一端口连通的内网地址。
对于支持通用即用即插协议(UPNP)的端口而言,其提供了枚举现有端口映射的功能,即可以通过获取该端口中的设备描述文件,从设备描述文件中来获取内网地址。
具体的,对于支持UPNP协议的第一端口而言,控制点(例如执行本方案的计算机设备)可以采用SSDP(Simple Service Discovery Protocol,简单服务发现协议)来发现该第一端口所提供的服务,而该第一端口采用SSDP协议向控制点广播其所提供的服务。
为了搜索网络上支持UPNP协议的设备或服务,控制点使用UDP(User DatagramProtocol,用户数据报协议)多播包向地址239.255.255.250发送HTTP的M-SEARCH命令,如:MSEARCH * HTTP/1.1\r\n\r\nssdp:all\r\n\r\n,然后检查其200返回的响应中是否带有重定向返回,即可对应确定该第一端口的状态。
在该第一端口处于开放的状态下,可以进一步向该第一端口请求详细描述其所提供服务的设备描述文件,即/gatedesc.xml文件,该文件中记录了版本、设备类型、服务以及端口映射表等。在该设备描述文件中,可以通过遍历端口映射表中的<controlURL>/ctl/IPConn</controlURL>字段采集到内网设备的内网地址,至此获取到了隐藏在网关设备后面的内网设备的内网地址。
之后,由于位于外网的设备并不能直接访问内网中的设备,因此,为了对内网地址所指示的设备进行漏洞扫描,还需要进一步构建数据转发服务,以此来保证外网中的设备可以访问所获取到内网地址所指示的设备,进而对该内网地址所指示的设备进行漏洞扫描。
对于支持UPNP协议的第一端口的应用场景下,可以通过如下的方式来构建数据转发服务:根据所获取的内网地址生成增加端口映射的控制信息;所述增加端口映射的控制信息用于指示新增设定外网地址到所述内网地址的映射,其中,该设定地址是指具有访问内网地址权限的地址;向所述第一端口发送增加端口映射的控制信息,以使所述网关设备根据所述增加端口映射的控制信息创建所述数据转发服务。
网关设备创建数据转发服务,即根据增加端口映射的控制信息新增设定地址到内网地址的映射,从而,在外网中的设备访问内网地址所指示的设备时,该网关设备可以将位于外网的请求方地址转换为具有访问所获取到内网地址权限的设定地址,并对应将该访问请求转发到所请求访问的内网地址。
在具体实施例中,可以通过NewInternalClient字段生成增加端口映射的控制信息,并将head头的字段soap设置为WANIPConnection或WANPPPConnection,并向第一端口发送该增加端口映射的控制信息即可添加设定地址到内网地址的映射。
在本申请的一些实施例中,所述网关设备所开放的端口包括支持NAT端口映射协议(NAT-PMP协议)或者端口控制协议(PCP协议)的第二端口。第二端口是指支持NAT端口映射协议或者端口控制协议的端口。
在该种应用场景中,由于端口控制协议兼容NAT端口映射协议,因此,二者可以采用相同的内网地址获取策略获取内网地址,其所对应的数据转发服务也可以按照相同的方式设定。
在该应用场景下,第二端口不提供枚举现有端口映射的功能,因此,需要先确认第二端口支持数据转发服务,然后基于所支持的数据转发服务进行内网地址的获取。
具体的,如图3所示,可以通过如下步骤310-340的过程来确定第二端口支持数据转发服务:
步骤310,向所述第二端口发送构建的第一数据包。
步骤320,接收响应于所述第一数据包返回的响应信息。
步骤330,若根据所述响应信息确定所述第二端口所对应服务器可以响应从外网发送的请求,则向所述第二端口发送第二数据包。
步骤340,若在设定时间段内未接收到响应所述第二数据包返回的错误信息,则确定所述第二端口所对应的服务器支持所述数据转发服务。
在本实施例中,步骤310所发送的第一数据包和步骤330中所发送的第二数据包均是按照PCP协议所规定的数据格式。PCP协议所对应的数据格式如图4所示,PCP数据格式的数据包包括头部(PCP Header)和操作码opcode信息,其中,操作码opcode信息中包括opcode-specific信息(即Opcode-specific payload部分)和相关的option信息(即Option部分)。在图4所示中,Client Address是指发送PCP数据包的一方的地址。
其中,在图4中,Version字段用于PCP客户端和PCP服务端之间的版本协商,OP字段用于标识是MAP Opcode还是PEER Opcode;Lifetime字段用于标识映射条目的生命时间。
具体的,步骤310中所构建的第一数据包是第二端口所对应的服务端(即PCP服务端)会静默丢弃的数据包。所构建的第一数据包中,将头部中的version设为2,OP设为MAP,将lifetime置0。正确配置的PCP服务端会静默丢弃该第一数据包,即没有返回;如果PCP服务端正确处理了第一数据包,结果字段中会收到SUCCESS,其中epoch字段填充了设备的当前正常运行时间。如果主机仅支持NAT-PMP或特定于供应商的实现(例如,有效负载中的版本设为1),则是返回UNSUPP_VERSION响应,其中UNSUPP_VERSION响应表示不支持的协议版本,属于长生命时间错误。
因此,如果接收到了从第二端口返回的响应信息,且响应信息中包括SUCCESS字段或者UNSUPP_VERSION字段,则表明PCP服务端(即第二端口所对应的服务器)正确处理了该第一数据包,从而,确定该PCP服务端可以响应从外网发送的请求。
在此基础上,通过发送第二数据包来验证该PCP服务端是否可以在IP地址相同的地址上创建转发,具体的,该第二数据包中,将可选选项部分(即Options)中的option参数设定为3rd party option,以此来验证PCP服务端是否允许创建任意转发。该过程中,通过构建请求和转发的为两个相同的地址来判断PCP服务端是否支持第三方选项,默认的PCP服务端会以UNSUPP_OPTION结果代码进行响应。而如果支持转发,根据RFC要求第三方转发目标必须与源地址不同,上述的请求则会返回MALFORMED_REQ错误报告违规。如果PCP服务器没有转发IP和源地址这块验证,则不会返回错误。
通过如上步骤310-340的过程,若确定第二端口所通信连接的PCP服务端可以响应从外网发送的请求且允许创建任意转发,则表明该PCP服务端支持数据转发服务。
在该种应用场景中,步骤230包括:获取所述第二端口所对应服务器根据所述第一数据包创建的端口映射信息,所述端口映射信息指示了内网地址;从所述端口映射信息中获取所述内网地址。在PCP协议中规定了对于MAP请求信息,PCP服务端可以基于入向流量建立入向连接。如上所描述,由于第一数据包中OP字段设定为MAP,从而,该第一数据包相当于MAP信息,PCP服务端可以基于入向流量建立入向连接,入向流量即从外网发送的第一数据包。
具体的,PCP服务端可以在网关设备上创建动态映射条目(即端口映射信息),该动态映射条目中包括内部设备地址(内网地址)、内部端口号,并绑定外部公网IP地址和外部端口号,所创建的动态映射条目可以存储网关设备上。因此,可以从网关设备上获取该端口映射信息,对应从中提取获得内网地址。
在本申请的一些实施例中,所述网关设备所开放的端口包括支持代理服务的第三端口;其中,第三端口是指支持代理服务的端口。第三端口可以是支持Socks协议的端口,也可以是提供其他代理协议的端口,在此不进行具体限定。
对于支持代理服务的第三端口而言,由于其可以通过该端口所对应的代理服务器进行内网访问,因此,该第三端口实际上是支持数据转发服务的,并不需要额外进行NAT注入。
在该实施例中,步骤230,包括:设定所述第三端口为代理;若确定所述第三端口可以访问外网中的第一指定端口,且所述第三端口可以访问内网中的第二指定端口,则通过所述第三端口扫描内网,获得所述内网地址。
其中,外网中的第一指定端口可以任意指定,在此不进行具体限定,内网中的第二指定端口可以是回送地址下的端口,回送地址为127.0.0.1,回送地址下的端口例如21、22、23、25、80端口。
若该第三端口可以访问外网中的指定端口,且第三端口可以访问内网中的指定端口,则表明可以借助于第三端口从外网访问内网,因此,通过第三端口进行内网所对应的网段扫描,获得内网中各设备的内网地址。
下面,结合一具体实施例对本申请的方案进行说明。
图5示出了该实施例中进行漏洞扫描的流程示意图,如图5所示,包括如下步骤510-580的过程,具体的:步骤510,获取待探测的地址。其中,该地址可以是IP地址,也可以是域名地址。所获取待探测的地址可以是用户输入的。
步骤520,任务调度。其中,可以通过异步的方式来进行任务调度,所调度的任务即对所获取的地址进行端口扫描的任务。
步骤530,服务识别。通过对所获取的地址进行端口扫描,得到端口对应的扫描信息。在通过该扫描信息确定该的地址所在的设备为网关设备后,进一步根据所得到的扫描信息来识别各个端口所提供的服务,例如支持UPnP协议、支持NAT-PMP协议、支持PCP、支持SOCKS协议和支持Proxy代理的服务。在识别确定端口所提供的服务后,将该服务对应的漏洞扫描任务转发给对应于该服务的处理模块。然后由该服务对应对的处理模块按照该服务对应的内网地址获取策略获取内网地址。
步骤540,NAT注入;所进行的注入确保网关设备可以支持数据转发服务,具体的,如上所描述,针对不同的服务,所进行NAT注入的方式是不同的,具体参见上文描述,在此不再赘述。
步骤550,漏洞扫描;基于上述步骤530所获取到的内网地址,以及步骤540所进行的NAT注入,从而可以实现从外网访问内网地址,对应对该内网地址所指示的设备进行漏洞扫描,得到对应的漏洞扫描信息。值得一提的是,基于所创建的数据转发服务,在进行漏洞扫描的过程中,访问内网地址的访问请求在经过网关设备时,将该访问请求中的请求方地址转换为具有访问内网权限的地址,然后再将访问请求转发到内网地址。
步骤560,结果处理;其中,所进行的结果处理可以是进行漏洞识别、漏洞标记等。所进行的漏洞识别,即将漏洞规则库中的漏洞规则与所得到的漏洞扫描信息进行匹配验证,从而确定该漏洞扫描信息所满足的漏洞事规则。如果存在该漏洞扫描信息满足的漏洞规则,则表明该漏洞扫描信息所来源的设备存在漏洞。进一步的,还可以基于该漏洞扫描信息所满足漏洞规则对应的漏洞类型和漏洞等级对该漏洞扫描信息所来源设备进行漏洞类型标记和进行漏洞等级标记。
步骤570,对结果进行分类;其中,可以基于漏洞等级、漏洞类型、设备类型等原则对结果显示各个设备的漏洞扫描结果。进一步的,还可以根据所标记的漏洞等级确定对应的风险等级和根据该漏洞类型确定对应的修复措施,将所得到的风险等级和修改措施与该设备对应的设备标识进行关联存储。
步骤580,分类显示。其中,所进行的分类显示可以按照设备类型、漏洞类型、漏洞等级等进行分类显示。所显示的的内容可以包括存在漏洞风险的设备对应的设备标识、漏洞等级、漏洞类型、以及对应的修复措施等,从而便于用户及时对该设备进行漏洞修复。
图6是根据一具体实施例示出的漏洞扫描方法的流程图。如图6所示,包括:
步骤610,通过Zmap扫描工具进行端口扫描。
步骤620,识别端口所提供的服务。具体在本实施例中,识别各个端口所提供的服务为以下服务中的哪一种:支持UPnP协议、支持NAT-PMP协议、支持PCP协议、支持SOCKS协议和支持Proxy代理的服务。在具体实施例中。在通常的端口设置中,一般设定支持UPNP协议的端口为端口号为UDP1900的端口,设定支持NAT-PMP协议为端口号为5351的端口;设定支持SOCKS协议和支持Proxy代理的端口设定为端口号为8118、8888、8123、3128、8080、1080的端口,因此,在识别确定端口所提供的服务后可以进一步对应确定该端口的端口号。
值得一提的是,上述所列举各端口号所对应端口提供的服务仅仅是通常的设定,在其他实施例中,还可以根据实际需要将端口号所在的端口与服务进行绑定。
另外,图6中所示出的识别端口的顺序进行是一种示例性举例,在其他实施例中,还可以根据实际需要调整识别端口服务的顺序。
在步骤620中,若识别所端口并不是上文中所列举支持UPNP协议的端口(UDP1900端口)、支持NAT-PMP协议的端口(UDP5351端口)、支持PCP协议的端口、支持SOCKS协议和支持Proxy代理的端口(TCP8118、8888、8123、3128、8080、1080端口),还可以执行步骤621:代理脚本扫描,即通过代理脚本来扫描该端口是否为其他支持代理服务的端口。
若识别确定端口为支持UPNP协议,则执行下述步骤631-637,其中,通过步骤631进一步识别是否为SSDP服务,如果是,则通过步骤632确定该端口的Web目录中是否存在/gatedesc.xml这一设备描述文件,如果存在,执行步骤633:从该设备描述文件中获取所有内网对外的映射,从而对应获取到内网地址。然后,执行步骤634:通过WANIPConnection或者WANPPPConnection创建到内网IP的端口映射,即实现数据转发服务的创建。然后在执行步骤635:Nmap扫描内网;对应得到漏洞扫描信息。在通过步骤636根据漏洞规则库中的漏洞规则和所得到的漏洞扫描信息对该漏洞扫描信息所来源的设备进行漏洞识别,以确定该漏洞扫描信息所来源设备是否存在漏洞;再执行步骤637,将识别结果存储于数据库中,以便于对该识别结果进行分类显示。
若识别确定端口为支持NAT-PMP协议或者PCP协议的端口,则通过以下过程实现漏洞扫描:先通过步骤641构建PCP数据包(即上文中的第一数据包),并将该PCP数据包发送给该端口;然后,执行步骤642,列出所有内网对外的映射;步骤643:判断该端口对该PCP数据包所返回的响应信息中是否包括UNSUPP_VERSION或者SUCCESS字段,如果存在,则执行步骤644,判断该端口是否支持ANNOUNCE命令;若支持,则确定该端口支持数据转发服务,并执行步骤645:对内网地址进行探测的,即对内网地址进行漏洞扫描,然后转至步骤636。
若识别确定端口为支持代理服务的端口,则执行步骤651:将该端口设为代理;然后通过步骤652判断该端口可以访问外网目标指定端口和通过步骤653判断该端口可以访问内网中的回送地址后,转至执行步骤645。
在本实施例中,实现了根据网关设备的端口所提供的服务来对该端口后面所隐藏的内网地址进行漏洞扫描,有效解决了现有技术中因网关设备进行网络地址转换导致不同对隐藏在网关设备之后的内网设备进行漏洞扫描的问题。
以下介绍本申请的装置实施例,可以用于执行本申请上述实施例中的方法。对于本申请装置实施例中未披露的细节,请参照本申请上述方法实施例。
图7是根据一实施例示出的漏洞扫描装置的框图,如图7所示,该漏洞扫描装置包括:
扫描信息获取模块710,用于获取对网关设备进行端口扫描所得到的扫描信息;
服务识别模块720,用于根据所述扫描信息识别所述网关设备所开放的端口提供的服务;
内网地址获取模块730,用于按照对应于所述端口所提供服务的内网地址获取策略获取所述端口所连通的内网地址;
漏洞扫描模块740,用于根据对应于所述端口所提供服务的数据转发服务,对所述内网地址所指示设备进行漏洞扫描,获得所述内网地址所指示设备的漏洞扫描信息,其中,所述数据转发服务用于将位于外网的请求方地址转换为具有访问所述内网地址的权限的设定地址。
在本申请的一些实施例中,所述网关设备所开放的端口包括支持通用即用即插协议的第一端口;所述内网地址获取模块730,包括:设备描述文件获取单元,用于获取所述第一端口对应的设备描述文件;第一内网地址获取单元,用于从所述设备描述文件中获取与所述第一端口连通的内网地址。
在本申请的一些实施例中,漏洞扫描装置还包括:控制信息生成模块,用于根据所获取的内网地址生成增加端口映射的控制信息;所述增加端口映射的控制信息用于指示新增设定外网地址到所述内网地址的映射;控制信息发送模块,用于向所述第一端口发送所述增加端口映射的控制信息,以使所述网关设备根据所述增加端口映射的控制信息创建所述数据转发服务。
在本申请的一些实施例中,所述网关设备所开放的端口包括支持NAT端口映射协议或者端口控制协议的第二端口;漏洞扫描装置漏洞扫描装置还包括:第一数据包发送模块,用于向所述第二端口发送构建的第一数据包;响应信息接收模块,用于接收响应于所述第一数据包返回的响应信息;第二数据包发送模块,用于若根据所述响应信息确定所述第二端口所对应服务器可以响应从外网发送的请求,则向所述第二端口发送第二数据包;确定模块,用于若在设定时间段内未接收到响应所述第二数据包返回的错误信息,则确定所述第二端口所对应的服务器支持所述数据转发服务。
在本申请的一些实施例中,内网地址获取模块730,包括:端口映射信息获取单元,用于获取所述第二端口所对应服务器根据所述第一数据包创建的端口映射信息,所述端口映射信息指示了内网地址;第二内网地址获取单元,用于从所述端口映射信息中获取所述内网地址。
在本申请的一些实施例中,所述网关设备所开放的端口包括支持代理服务的第三端口;内网地址获取模块730,包括:代理设定单元,用于设定所述第三端口为代理;内网扫描单元,用于若确定所述第三端口可以访问外网中的指定端口,且所述第三端口可以访问内网中的指定端口,则通过所述第三端口扫描内网,获得所述内网地址。
在本申请的一些实施例中,服务识别模块720,包括:端口扫描信息获取单元,用于对于所述网关设备所开放的每一端口,从所述扫描信息中获取所述端口的端口扫描信息;协议字段确定单元,用于确定所述端口扫描信息中所包括的协议字段;第一服务确定单元,用于将所述协议字段所指示网络协议对应的服务确定为所述端口所提供的服务。
在本申请的另一些实施例中,服务识别模块720,包括:端口扫描信息获取单元,用于对于所述网关设备所开放的每一端口,从所述扫描信息中获取所述端口的端口扫描信息;指定文件确定单元,用于根据所述端口扫描信息,确定所述端口中是否存在指定文件;第二服务确定单元,用于若所述端口中存在所述指定文件,将所述指定文件所对应的服务确定为所述端口所提供的服务。
在本申请的另一些实施例中,服务识别模块720,包括:服务特征提取单元,用于根据所述端口扫描信息进行服务特征提取;服务指纹生成单元,用于根据所提取的服务特征生成服务指纹;匹配单元,用于在服务指纹库中匹配与所生成服务指纹相匹配的目标服务指纹,所述服务指纹库中存储了服务指纹与服务之间的映射关系;第三服务确定单元,用于将所述目标服务指纹所对应的服务确定为所述端口所提供的服务。
在本申请的一些实施例中,漏洞扫描装置还包括:漏洞识别模块,用于根据漏洞规则库中的漏洞规则对所述漏洞扫描信息进行漏洞识别;漏洞确定模块,用于若所述漏洞扫描信息满足所述漏洞规则,则确定所述漏洞扫描信息所来源的设备存在漏洞。
在本申请的一些实施例中,漏洞扫描装置还包括:标记模块,用于根据所述漏洞扫描信息所满足漏洞规则对应的漏洞类型和漏洞等级,对所述漏洞扫描信息所来源的设备进行漏洞类型和漏洞等级标记。
图8示出了适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。
需要说明的是,图8示出的电子设备的计算机系统800仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图8所示,计算机系统800包括中央处理单元(Central Processing Unit,CPU)801,其可以根据存储在只读存储器(Read-Only Memory,ROM)802中的程序或者从存储部分808加载到随机访问存储器(Random Access Memory,RAM)803中的程序而执行各种适当的动作和处理,例如执行上述实施例中的方法。在RAM 803中,还存储有系统操作所需的各种程序和数据。CPU801、ROM802以及RAM 803通过总线804彼此相连。输入/输出(Input/Output,I/O)接口805也连接至总线804。
以下部件连接至I/O接口805:包括键盘、鼠标等的输入部分806;包括诸如阴极射线管(Cathode Ray Tube,CRT)、液晶显示器(Liquid Crystal Display,LCD)等以及扬声器等的输出部分807;包括硬盘等的存储部分808;以及包括诸如LAN(Local Area Network,局域网)卡、调制解调器等的网络接口卡的通信部分809。通信部分809经由诸如因特网的网络执行通信处理。驱动器810也根据需要连接至I/O接口805。可拆卸介质811,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器810上,以便于从其上读出的计算机程序根据需要被安装入存储部分808。
特别地,根据本申请的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本申请的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分809从网络上被下载和安装,和/或从可拆卸介质811被安装。在该计算机程序被中央处理单元(CPU)801执行时,执行本申请的系统中限定的各种功能。
需要说明的是,本申请实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、闪存、光纤、便携式紧凑磁盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。其中,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
作为另一方面,本申请还提供了一种计算机可读存储介质,该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读存储介质承载计算机可读指令,当该计算机可读存储指令被处理器执行时,实现上述实施例中的方法。
根据本申请的一个方面,还提供了一种电子设备,其包括:处理器;存储器,存储器上存储有计算机可读指令,计算机可读指令被处理器执行时,实现上述实施例中的方法。
根据本申请实施例的一个方面,提供了计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各可选实施例中提供的方法。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本申请实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、触控终端、或者网络设备等)执行根据本申请实施方式的方法。
本领域技术人员在考虑说明书及实践这里公开的实施方式后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。
Claims (14)
1.一种漏洞扫描方法,其特征在于,包括:
获取对网关设备进行端口扫描所得到的扫描信息;
根据所述扫描信息识别所述网关设备所开放的端口提供的服务;
按照对应于所述端口所提供服务的内网地址获取策略获取所述端口所连通的内网地址;
根据对应于所述端口所提供服务的数据转发服务,对所述内网地址所指示设备进行漏洞扫描,获得所述内网地址所指示设备的漏洞扫描信息,其中,所述数据转发服务用于将位于外网的请求方地址转换为具有访问所述内网地址的权限的设定地址。
2.根据权利要求1所述的方法,其特征在于,所述网关设备所开放的端口包括支持通用即用即插协议的第一端口;
所述按照对应于所述端口所提供服务的内网地址获取策略获取所述端口所连通的内网地址,包括:
获取所述第一端口对应的设备描述文件;
从所述设备描述文件中获取与所述第一端口连通的内网地址。
3.根据权利要求2所述的方法,其特征在于,所述根据对应于所述端口所提供服务的数据转发服务,对所述内网地址所指示设备进行漏洞扫描,获得所述内网地址所指示设备的漏洞扫描信息之前,所述方法还包括:
根据所获取的内网地址生成增加端口映射的控制信息;所述增加端口映射的控制信息用于指示新增设定外网地址到所述内网地址的映射;
向所述第一端口发送所述增加端口映射的控制信息,以使所述网关设备根据所述增加端口映射的控制信息创建所述数据转发服务。
4.根据权利要求1所述的方法,其特征在于,所述网关设备所开放的端口包括支持NAT端口映射协议或者端口控制协议的第二端口;
所述根据对应于所述端口所提供服务的数据转发服务,对所述内网地址所指示设备进行漏洞扫描,获得所述内网地址所指示设备的漏洞扫描信息之前,所述方法还包括:
向所述第二端口发送构建的第一数据包;
接收响应于所述第一数据包返回的响应信息;
若根据所述响应信息确定所述第二端口所对应服务器可以响应从外网发送的请求,则向所述第二端口发送第二数据包;
若在设定时间段内未接收到响应所述第二数据包返回的错误信息,则确定所述第二端口所对应的服务器支持所述数据转发服务。
5.根据权利要求4所述的方法,其特征在于,所述按照对应于所述端口所提供服务的内网地址获取策略获取所述端口所连通的内网地址,包括:
获取所述第二端口所对应服务器根据所述第一数据包创建的端口映射信息,所述端口映射信息指示了内网地址;
从所述端口映射信息中获取所述内网地址。
6.根据权利要求1所述的方法,其特征在于,所述网关设备所开放的端口包括支持代理服务的第三端口;
所述按照对应于所述端口所提供服务的内网地址获取策略获取所述端口所连通的内网地址,包括:
设定所述第三端口为代理;
若确定所述第三端口可以访问外网中的第一指定端口,且所述第三端口可以访问内网中的第二指定端口,则通过所述第三端口扫描内网,获得所述内网地址。
7.根据权利要求1所述的方法,其特征在于,所述根据所述扫描信息识别所述网关设备所开放的端口提供的服务,包括:
对于所述网关设备所开放的每一端口,从所述扫描信息中获取所述端口的端口扫描信息;
确定所述端口扫描信息中所包括的协议字段;
将所述协议字段所指示网络协议对应的服务确定为所述端口所提供的服务。
8.根据权利要求1所述的方法,其特征在于,所述根据所述扫描信息识别所述网关设备所开放的端口提供的服务,包括:
对于所述网关设备所开放的每一端口,从所述扫描信息中获取所述端口的端口扫描信息;
根据所述端口扫描信息,确定所述端口中是否存在指定文件;
若所述端口中存在所述指定文件,将所述指定文件所对应的服务确定为所述端口所提供的服务。
9.根据权利要求1所述的方法,其特征在于,所述根据所述扫描信息识别所述网关设备所开放的端口提供的服务,包括:
根据所述端口扫描信息进行服务特征提取;
根据所提取的服务特征生成服务指纹;
在服务指纹库中匹配与所生成服务指纹相匹配的目标服务指纹,所述服务指纹库中存储了服务指纹与服务之间的映射关系;
将所述目标服务指纹所对应的服务确定为所述端口所提供的服务。
10.根据权利要求1所述的方法,其特征在于,所述根据对应于所述端口所提供服务的数据转发服务,对所获取内网地址所指示设备进行漏洞扫描,获得所述内网地址所指示设备的漏洞扫描信息之后,所述方法还包括:
根据漏洞规则库中的漏洞规则对所述漏洞扫描信息进行漏洞识别;
若所述漏洞扫描信息满足所述漏洞规则,则确定所述漏洞扫描信息所来源的设备存在漏洞。
11.根据权利要求10所述的方法,其特征在于,所述确定所述漏洞扫描信息所对应的内网设备存在漏洞之后,所述方法还包括:
根据所述漏洞扫描信息所满足漏洞规则对应的漏洞类型和漏洞等级,对所述漏洞扫描信息所来源的设备进行漏洞类型和漏洞等级标记。
12.一种漏洞扫描装置,其特征在于,包括:
扫描信息获取模块,用于获取对网关设备进行端口扫描所得到的扫描信息;
服务识别模块,用于根据所述扫描信息识别所述网关设备所开放的端口提供的服务;
内网地址获取模块,用于按照对应于所述端口所提供服务的内网地址获取策略获取所述端口所连通的内网地址;
漏洞扫描模块,用于根据对应于所述端口所提供服务的数据转发服务,对所述内网地址所指示设备进行漏洞扫描,获得所述内网地址所指示设备的漏洞扫描信息,其中,所述数据转发服务用于将位于外网的请求方地址转换为具有访问所述内网地址的权限的设定地址。
13.一种电子设备,其特征在于,包括:
处理器;
存储器,所述存储器上存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,实现如权利要求1-10中任一项所述的方法。
14.一种计算机可读存储介质,其上存储有计算机可读指令,其特征在于,当所述计算机可读指令被处理器执行时,实现如权利要求1-10中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110114840.0A CN112437100A (zh) | 2021-01-28 | 2021-01-28 | 漏洞扫描方法及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110114840.0A CN112437100A (zh) | 2021-01-28 | 2021-01-28 | 漏洞扫描方法及相关设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112437100A true CN112437100A (zh) | 2021-03-02 |
Family
ID=74697366
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110114840.0A Pending CN112437100A (zh) | 2021-01-28 | 2021-01-28 | 漏洞扫描方法及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112437100A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113949565A (zh) * | 2021-10-15 | 2022-01-18 | 上海谋乐网络科技有限公司 | 检测内网数字资产脆弱性的系统和方法 |
CN115913786A (zh) * | 2023-01-09 | 2023-04-04 | 国家工业信息安全发展研究中心 | 一种工业互联网设备的漏洞验证方法及系统 |
CN116545780A (zh) * | 2023-07-05 | 2023-08-04 | 杭州海康威视数字技术股份有限公司 | 基于虚拟威胁分发的物联网安全评估方法、装置及系统 |
CN117034299A (zh) * | 2023-10-09 | 2023-11-10 | 广东时汇信息科技有限公司 | 一种基于区块链的智能合约安全检测系统 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100125663A1 (en) * | 2008-11-17 | 2010-05-20 | Donovan John J | Systems, methods, and devices for detecting security vulnerabilities in ip networks |
CN106534172A (zh) * | 2016-12-07 | 2017-03-22 | 北京数字观星科技有限公司 | 一种内网远程扫描系统及其扫描内网的方法 |
CN106603507A (zh) * | 2016-11-29 | 2017-04-26 | 哈尔滨安天科技股份有限公司 | 一种自动化完成网络安全自检的方法及系统 |
CN107295023A (zh) * | 2017-08-23 | 2017-10-24 | 四川长虹电器股份有限公司 | 一种网络安全漏洞扫描系统及方法 |
CN108322446A (zh) * | 2018-01-05 | 2018-07-24 | 深圳壹账通智能科技有限公司 | 内网资产漏洞检测方法、装置、计算机设备和存储介质 |
CN108595963A (zh) * | 2018-04-26 | 2018-09-28 | 杭州迪普科技股份有限公司 | 一种漏洞扫描方法和装置 |
CN109409093A (zh) * | 2018-10-19 | 2019-03-01 | 杭州安恒信息技术股份有限公司 | 一种系统漏洞扫描调度方法 |
CN110532779A (zh) * | 2019-07-19 | 2019-12-03 | 中移(杭州)信息技术有限公司 | 一种漏洞检测的方法、装置、终端及存储介质 |
CN110677381A (zh) * | 2019-08-14 | 2020-01-10 | 奇安信科技集团股份有限公司 | 渗透测试的方法及装置、存储介质、电子装置 |
CN110750793A (zh) * | 2019-10-24 | 2020-02-04 | 杭州迪普科技股份有限公司 | 一种漏洞扫描方法及装置 |
CN111857965A (zh) * | 2020-07-28 | 2020-10-30 | 浙江军盾信息科技有限公司 | 内网威胁检测方法、装置、设备和计算机设备 |
-
2021
- 2021-01-28 CN CN202110114840.0A patent/CN112437100A/zh active Pending
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100125663A1 (en) * | 2008-11-17 | 2010-05-20 | Donovan John J | Systems, methods, and devices for detecting security vulnerabilities in ip networks |
CN106603507A (zh) * | 2016-11-29 | 2017-04-26 | 哈尔滨安天科技股份有限公司 | 一种自动化完成网络安全自检的方法及系统 |
CN106534172A (zh) * | 2016-12-07 | 2017-03-22 | 北京数字观星科技有限公司 | 一种内网远程扫描系统及其扫描内网的方法 |
CN107295023A (zh) * | 2017-08-23 | 2017-10-24 | 四川长虹电器股份有限公司 | 一种网络安全漏洞扫描系统及方法 |
CN108322446A (zh) * | 2018-01-05 | 2018-07-24 | 深圳壹账通智能科技有限公司 | 内网资产漏洞检测方法、装置、计算机设备和存储介质 |
CN108595963A (zh) * | 2018-04-26 | 2018-09-28 | 杭州迪普科技股份有限公司 | 一种漏洞扫描方法和装置 |
CN109409093A (zh) * | 2018-10-19 | 2019-03-01 | 杭州安恒信息技术股份有限公司 | 一种系统漏洞扫描调度方法 |
CN110532779A (zh) * | 2019-07-19 | 2019-12-03 | 中移(杭州)信息技术有限公司 | 一种漏洞检测的方法、装置、终端及存储介质 |
CN110677381A (zh) * | 2019-08-14 | 2020-01-10 | 奇安信科技集团股份有限公司 | 渗透测试的方法及装置、存储介质、电子装置 |
CN110750793A (zh) * | 2019-10-24 | 2020-02-04 | 杭州迪普科技股份有限公司 | 一种漏洞扫描方法及装置 |
CN111857965A (zh) * | 2020-07-28 | 2020-10-30 | 浙江军盾信息科技有限公司 | 内网威胁检测方法、装置、设备和计算机设备 |
Non-Patent Citations (2)
Title |
---|
CHORDER: "内网中利用UPNP进行端口映射", 《HTTPS://CHORDER.NET/2020/12/21/内网中利用UPNP进行端口映射/》 * |
TEEMU RYTILAHTI等: "On Using Application-Layer Middlebox Protocols for Peeking Behind NAT Gateways", 《NETWORK AND DISTRIBUTED SYSTEMS SECURITY (NDSS) SYMPOSIUM 2020》 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113949565A (zh) * | 2021-10-15 | 2022-01-18 | 上海谋乐网络科技有限公司 | 检测内网数字资产脆弱性的系统和方法 |
CN113949565B (zh) * | 2021-10-15 | 2023-10-27 | 上海谋乐网络科技有限公司 | 检测内网数字资产脆弱性的系统和方法 |
CN115913786A (zh) * | 2023-01-09 | 2023-04-04 | 国家工业信息安全发展研究中心 | 一种工业互联网设备的漏洞验证方法及系统 |
CN115913786B (zh) * | 2023-01-09 | 2023-05-23 | 国家工业信息安全发展研究中心 | 一种工业互联网设备的漏洞验证方法及系统 |
CN116545780A (zh) * | 2023-07-05 | 2023-08-04 | 杭州海康威视数字技术股份有限公司 | 基于虚拟威胁分发的物联网安全评估方法、装置及系统 |
CN116545780B (zh) * | 2023-07-05 | 2023-09-19 | 杭州海康威视数字技术股份有限公司 | 基于虚拟威胁分发的物联网安全评估方法、装置及系统 |
CN117034299A (zh) * | 2023-10-09 | 2023-11-10 | 广东时汇信息科技有限公司 | 一种基于区块链的智能合约安全检测系统 |
CN117034299B (zh) * | 2023-10-09 | 2024-01-26 | 广东时汇信息科技有限公司 | 一种基于区块链的智能合约安全检测系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108901022B (zh) | 一种微服务统一鉴权方法及网关 | |
US20210273916A1 (en) | Proxy Auto-Configuration For Directing Client Traffic To A Cloud Proxy With Cloud-Based Unique Identifier Assignment | |
CN106063222B (zh) | 用于对传送http业务的tcp连接进行分类的方法和装置 | |
CN112437100A (zh) | 漏洞扫描方法及相关设备 | |
WO2014094151A1 (en) | System and method for monitoring data in a client environment | |
WO2022247751A1 (zh) | 远程访问应用的方法、系统、装置、设备及存储介质 | |
CN109861973A (zh) | 信息传输方法、装置、电子设备及计算机可读介质 | |
CN108712376A (zh) | 一种用于服务器登录的验证方法及装置 | |
CN113872933B (zh) | 隐藏源站的方法、系统、装置、设备及存储介质 | |
CN114127764A (zh) | 与分布式账本关联的目的地寻址 | |
US20110154469A1 (en) | Methods, systems, and computer program products for access control services using source port filtering | |
KR20190055009A (ko) | 보안 서비스를 제공하기 위한 방법 및 이를 위한 장치 | |
CN113965425B (zh) | 物联网设备的接入方法、装置、设备及计算机可读存储介质 | |
JP6185934B2 (ja) | サーバー・アプリケーションと多数の認証プロバイダーとの統合 | |
Walsh et al. | Intra-cloud and inter-cloud authentication | |
JP2012064007A (ja) | 情報処理装置、通信中継方法およびプログラム | |
Zirngibl et al. | QUIC Hunter: Finding QUIC Deployments and Identifying Server Libraries Across the Internet | |
Zhang et al. | A systematic approach to formal analysis of QUIC handshake protocol using symbolic model checking | |
KR102224454B1 (ko) | 네트워크 트래픽 제어 방법, 장치, 시스템 및 컴퓨터 프로그램 | |
US11888898B2 (en) | Network configuration security using encrypted transport | |
CN112468610B (zh) | 数据传输方法、监控节点、监控服务器及监控网络系统 | |
CN112333214B (zh) | 一种用于物联网设备管理的安全用户认证方法及系统 | |
CN114826719A (zh) | 基于区块链的可信终端认证方法、系统、设备和存储介质 | |
CN111385293B (zh) | 一种网络风险检测方法和装置 | |
CN113992734A (zh) | 会话连接方法及装置、设备 |
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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40041393 Country of ref document: HK |
|
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210302 |