一种无状态TCP网络扫描方法与流程

文档序号:17005088发布日期:2019-03-02 01:59阅读:1097来源:国知局
一种无状态TCP网络扫描方法与流程

本发明涉及一种网络扫描方法,具体涉及一种无状态tcp网络扫描方法。



背景技术:

随着各类信息网络的不断延伸和普及,来自网络的安全威胁也在呈指数级增长,在各种政治、军事、经济利益的驱使下,各类网络攻击层出不穷,网络攻击手段也不断复杂化、多样化,也更具有针对性,网络安全形势越加严峻。为了能做到先敌发现,防患于未然,对所关注网络目标和主机进行网络搜索,收集相关网络信息,就成为维护网络安全的重要的第一步。

网络扫描作为信息系统安全防护的手段使用,是采用模拟黑客攻击方式对计算机主机或者其他网络设备的安全脆弱程度进行检测和评估的一种安全技术,以找出安全隐患和系统漏洞。其基本原理是使用一系列的程序、工具或脚本,模拟对系统进行攻击的行为,并对结果进行分析,以此了解网络的安全配置和运行的应用服务,及时发现安全漏洞,客观评估网络风险等级,指导网络管理员根据扫描的结果及时更正网络安全漏洞和系统中的错误配置,抢在黑客攻击发起前进行防范。扫描技术在发挥着极为有效的主动防御功能的同时,也被黑客用来作为网络攻击的常用手段。因而,熟练掌握网络扫描的技术原理和实现方式,就可以知己知彼,在网络攻防中拥有更大主动权。

网络扫描技术从扫描过程来分类,主要分为三类:一是存活扫描,二是系统信息(操作系统信息、应用服务信息等)收集,三是漏洞检测。存活扫描采用的主要方法就是通过发送各类型的icmp或者tcp、udp请求报文,通过报文发送响应结果判断目标是否存活。在确定哪些目标存活的基础上,通过端口扫描、操作系统判别和系统服务识别等技术对目标系统进行信息收集工作。最后,将收集到的各类系统信息与漏洞库信息进行比对,评估系统可能存在的安全风险。

诸如masscan、nmap、unicornscan等各类丰富和强大的开源工具能够很好地完成对目标网络系统存活扫描任务,而漏洞检测的关键是漏洞库的丰富和实时漏洞的更新。在系统信息收集方面的网络扫描方法中,扫描速率与信息收集量总存在着此消彼长的情况,即在相同硬件资源和网络环境下,扫描速率越快,收集到的系统信息就越少,要想收集到的系统信息越丰富,扫描的速率则会大幅度降低。



技术实现要素:

为了克服现有技术的上述缺点,本发明提供了一种无状态tcp网络扫描方法。

本发明解决其技术问题所采用的技术方案是:一种无状态tcp网络扫描方法,首先将ip数据包的扫描模块与接收模块独立开来,扫描模块根据目标网络资产信息构造并发送载荷tcp数据的ip数据包给目标网络,并将发送出去的包信息记录下来供接收模块比对使用,接收模块等待响应数据的返回。在限定时间内,若目标网络未做任何响应或接收模块未收到响应数据,则此情况被认定为无响应状态;若接收模块收到目标网络的响应数据,则根据响应数据并结合本地信息库进行分析以获取目标网络系统信息。

进一步的,扫描模块包括端口存活扫描模块和漏洞扫描模块,所述接收模块包括端口扫描接收模块和漏洞扫描接收模块,端口存活扫描模块对应端口扫描接收模块,漏洞扫描模块对应漏洞扫描接收模块。

进一步的,本方案的具体步骤为:

扫描任务分发系统将扫描任务分发到各个扫描引擎,扫描引擎调用端口存活扫描模块读取并载入目标网络资产库中的目标网络资产信息。端口存活扫描模块批量构造并发送载荷syn数据的ip数据包给目标网络,覆盖所有待扫描目标资产,端口扫描接收模块等待目标网络的响应。按设定等待一定时间后,关闭端口扫描接收模块的接收通道,分析接收到的结果,判断端口是否存活。

(1)若端口存活,则漏洞扫描模块根据漏洞信息库和指纹数据库批量发送载荷业务请求tcp数据的ip数据包给目标网络,覆盖所有端口存活的资产,漏洞扫描接收模块等待目标网络的响应;再按设定等待一定时间后,关闭漏洞扫描接收模块的接收通道,分析接收到的结果,判断业务是否存在相关漏洞信息;若业务存在漏洞,则将漏洞信息更新到存活资产库;若业务不存在漏洞,则将存货资产库中相关信息置空。无论业务是否存在漏洞,连接关闭模块都必须批量构造发送载荷fin数据的ip数据包给目标网络,覆盖所有已发送业务请求的目标网络资产,以使得目标网络资产库和网关设备清除相关tcp连接信息,以防止网关设备并发连接过载。

(2)若端口不存活,则连接关闭模块批量构造发送载荷fin数据的ip数据包给目标网络,覆盖所有已发送syn数据的目标网络资产,以使得目标网络资产库和网关设备清除相关tcp连接信息,以防止网关设备并发连接过载。

此外,包括端口存活和漏洞情况在内的信息都需要载入到存活资产库中保存,而扫描任务分发系统通过读取存活资产库中的数据,分析目标网络中资产网络安全风险。

与现有技术相比,本发明的积极效果是:本发明提出的无状态tcp网络扫描方法,可以大幅提升网络扫描速度,同时也不失扫描精度,因此能够很好的解决扫描速度和扫描精度此消彼长的问题。本发明可应用于对单台主机或设备进行全方位网络扫描,也可以对整个企业内网进行网络安全检查、发现安全漏洞、暴露安全风险。更为关键的是,本发明大幅提升了网络扫描效率,可以轻松胜任扫描感知整个互联网,根据扫描结果感知整个互联网的威胁态势。

另外,本发明具有如下特点:

1)无状态,即无需关注tcp状态;

2)完整的tcp会话;

3)扫描速率快;

4)系统信息丰富;

5)系统资源占用少,不占用系统tcp/ip协议栈资源。

附图说明

本发明将通过例子并参照附图的方式说明,其中:

图1为本发明的原理图;

图2为本发明的典型应用。

具体实施方式

为了对本发明的技术特征、目的和效果有更加清楚的理解,现对照附图说明本发明的具体实施方式。

本发明提出一种无状态tcp网络扫描方法,通过ip数据包载荷tcp数据,构造完整的tcp会话,建立正常tcp连接,发送正常的tcp协议请求数据,忽略tcp连接状态。在限定时间内,查看接收缓冲区响应数据,通过缓冲区中响应数据获取目标网络系统信息。

本发明通过构造载荷为tcp协议格式数据的ip数据包,在整个扫描过程中不会占用本地tcp/ip协议栈资源,而远端目标网络收到的数据则会被认为是正常的tcp协议数据,从而做出正常的业务响应。此方法能够在一次无状态扫描流程中判定资产是否存活、端口是否存活,并根据漏洞库中指纹信息与漏洞信息对目标设备进行漏洞扫描与检测,给出分析结果和安全风险。

需要说明的是,(1)资产存活:即机器存活或设备存活,表明某ip地址所在的目标资产是在线的,正在通过计算机网络与网络中其他资产(机器或设备)进行网络信息交互;(2)端口存活,表明某个tcp端口正通过计算机网络对外提供某种网络服务,可以接受来自网络中的tcp业务请求。端口存活则资产必定存活,而资产存活则不能保证此资产必然存在一个或多个端口是存活的。

在本发明的具体实施例中,如图1和图2所示,扫描任务分发系统将扫描任务分发到各个扫描引擎,扫描引擎调用端口存活扫描模块读取并载入目标网络资产库中的目标网络资产信息。端口存活扫描模块批量构造并发送载荷syn数据的ip数据包给目标网络,覆盖所有待扫描目标资产,端口扫描接收模块等待目标网络的响应。按设定等待一定时间后,关闭端口扫描接收模块的接收通道,分析接收到的结果,判断端口是否存活。

若端口存活,则漏洞扫描模块根据漏洞信息库和指纹数据库批量发送载荷业务请求tcp数据的ip数据包给目标网络,覆盖所有端口存活的资产,漏洞扫描接收模块等待目标网络的响应;再按设定等待一定时间后,关闭漏洞扫描接收模块的接收通道,分析接收到的结果,判断业务是否存在相关漏洞信息;若业务存在漏洞,则将漏洞信息更新到存活资产库;若业务不存在漏洞,则将存货资产库中相关信息置空。无论业务是否存在漏洞,连接关闭模块都必须批量构造发送载荷fin数据的ip数据包给目标网络,覆盖所有已发送业务请求的目标网络资产,以使得目标网络资产库和网关设备清除相关tcp连接信息,以防止网关设备并发连接过载。

若端口不存活,则连接关闭模块批量构造发送载荷fin数据的ip数据包给目标网络,覆盖所有已发送syn数据的目标网络资产,以使得目标网络资产库和网关设备清除相关tcp连接信息,以防止网关设备并发连接过载。

若端口不存活,则连接关闭模块必须批量构造发送载荷fin数据的ip数据包给目标网络,覆盖所有已发送syn数据的目标网络资产,以使得目标网络资产库和网关设备(如防火墙、路由器等)清除相关tcp连接信息,以防止网关设备并发连接过载。

此外,包括资产存活、端口存活和漏洞情况在内的信息都需要载入到存活资产库中保存,而扫描任务分发系统通过读取存活资产库中的数据,分析目标网络中资产网络安全风险。

以上所述仅是本发明的优选实施方式,应当理解本发明并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文所述构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附权利要求的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1