一种多引擎暴露资产扫描与管理系统的制作方法

文档序号:16401671发布日期:2018-12-25 20:09阅读:186来源:国知局
一种多引擎暴露资产扫描与管理系统的制作方法

本发明涉及核查系统技术领域,尤其涉及一种多引擎暴露资产扫描与管理系统。

背景技术

当前存在多种现有网络扫描技术:nmap,superscan,open-audit,zmap,hping3等。这些技术各有所长,接下来对如上技术做简要介绍。

nmap(“networkmapper(网络映射器)”)是一款开放源代码的网络探测和安全审核的工具。nmap以新颖的方式使用原始ip报文来发现网络上有哪些主机,那些主机提供什么服务(应用程序名和版本),那些服务运行在什么操作系统(包括版本信息),它们使用什么类型的报文过滤器/防火墙,以及一堆其它功能。虽然nmap通常用于安全审核,许多系统管理员和网络管理员也用它来做一些日常的工作,比如查看整个网络的信息,管理服务升级计划,以及监视主机和服务的运行。

nmap支持的资产类型比较多,主要是it设备,网络设备,系统服务等。可以展示设备的端口、协议、状态、服务、版本等。但同时也存在一些问题,例如:扫描速度较慢,不支持工控设备。为适应当前复杂网络下,大规模设备,繁杂设备的快速发现,提高工作效率,需要研发一款准确、快速的资产发现工具。

superscan是功能强大的端口扫描工具。通过ping来检验ip是否在线;ip和域名相互转换;检验目标计算机提供的服务类别;检验一定范围目标计算机的是否在线和端口情况;工具自定义列表检验目标计算机是否在线和端口情况;自定义要检验的端口,并可以保存为端口列表文件;软件自带一个木马端口列表trojans.lst,通过这个列表我们可以检测目标计算机是否有木马;同时,也可以自己定义修改这个木马端口列表。

open-audit是一款可以精确告诉用户所在网络,是如何配置、什么时候改动过的应用。open-audit可以工作于windows和linux系统。重要的是,open-audit可以通过web接口实现数据库访问。关于网络的数据通过bash脚本或者vbscript插入到数据库。整个应用是基于php,bash和vbscript实现。这些都是脚本语言,无需编译并且易读的源码。可以快速且易于修改和定制化。

zmap是一款扫描软件,由durumeric领导密歇根大学研究团队开发。这一工具能在一个小时内扫描整个公共互联网,显示近40亿在线设备的信息。扫描结果能显示哪些网站无法防御特定漏洞。而在freak的例子中,扫描是为了在漏洞公开宣布前评估漏洞的威胁程度。这种工具能令一台普通的服务器在短短44分钟时间里扫描互联网上的每一个地址。durumeric及其同事在2013年末开发了zmap。在此之前,用软件扫描互联网需要耗时数周或数月,当时的工具比zmap慢1000倍。

zmap则是一种“无状态”的工具;也就是说,这种工具会向服务器发出请求,然后就“忘记”这些请求。zmap不会保留未获回复请求的清单,而是在传出的数据包中对识别信息进行编码,这样一来该工具就能对回复进行鉴别。这种方法拥有巨大的优势,意味着zmap输出数据包的速度比nmap高出1000倍以上。因此,用nmap对整个互联网进行扫描需要花费几个星期时间,而使用zmap这种工具则只需要44分钟。在拥有这种工具以后,人们将可迅速扫描整个互联网,而且费用也不高,这就为针对整个互联网的研究工作开辟了一些令人深深着迷的新可能性。

hping是一个命令行下使用的tcp/ip数据包组装/分析工具,其命令模式很像unix下的ping命令,但是它不是只能发送icmp回应请求,它还可以支持tcp、udp、icmp和raw-ip协议,它有一个路由跟踪模式,能够在两个相互包含的通道之间传送文件。hping常被用于检测网络和主机,其功能非常强大,可在多种操作系统下运行,如linux,freebsd,netbsd,openbsd,solaris,macosx,window。



技术实现要素:

本发明的目的就在于为了解决上述问题而提供一种多引擎暴露资产扫描与管理系统。

本发明通过以下技术方案来实现上述目的:

一种多引擎暴露资产扫描与管理系统,包括

主机发现,在主机发现过程中,扫描端向所要扫描的ip发送数据包,如果该ip有回应,就说明该ip所代表的的设备存在;

端口扫描,扫描引擎10多种类型的端口扫描方法,如tcpsyn/ack/fin/xmas/null/windows/connect,ftpbounce,idlescan,udpportunreachable/udprecv_from,ipprotocol,sctpinit/sctpcookieecho扫描方式,原理是基于网络数据包的特征或者网络编程api来判定端口的状态;

服务识别;

系统识别,扫描引擎使用tcp/ip协议栈指纹来识别不同的操作系统和设备,在rfc规范中,有些地方对tcp/ip的实现并没有强制规定,由此不同的tcp/ip方案中可能都有自己的特殊的处理方式,nmap主要是根据这些细节上的差异来判断操作系统的类型的。

本发明优选的,所述服务识别包括以下步骤:

s1,首先检查open与open|filtered状态的端口是否在排除端口列表内,如果在排除列表,将该端口剔除;

s2,如果是tcp端口,尝试建立tcp连接,如果通过welcomebanner无法确定应用程序版本,那么nmap再尝试发送其他的探测包即从nmap-services-probes中挑选合适的probe,将probe得到回复包与数据库中的签名进行对比;

s3,如果反复探测都无法得出具体应用,那么打印出应用返回报文,让用户自行进一步判定;

s4,如果是udp端口,那么直接使用osscan-services-probes中探测包进行探测匹配,根据结果对比分析出udp应用服务类型;

s5,如果探测到应用程序是ssl,那么调用openssl进一步的侦查运行在ssl之上的具体的应用类型;

s6,如果探测到应用程序是sunrpc,那么调用brute-forcerpcgrinder进一步探测具体服务。

本发明优选的,所述系统识别包括以下步骤:

a1,扫描引擎内部包含了3382多已知系统的指纹特征,在文件osscan-os-db文件中,将此指纹数据库作为进行指纹对比的样本库;

a2,分别挑选一个open和closed的端口,向其发送经过精心设计的tcp/udp/icmp数据包,根据返回的数据包生成一份系统指纹;

a3,将探测生成的指纹与nmap-os-db中指纹进行对比,查找匹配的系统,如果无法匹配,以概率形式列举出可能的系统。

本发明的有益效果在于:

本发明具有无害化、快速扫描、识别准确率高、网络拓扑刻画清晰,可应用于大中小型及复杂网络环境,可对局域网内的网络设备、主机、安全设备、软件及服务进行有效的发现、识别、安全配置检查、具有广泛地的可实施性。借助于本发明,安全中心将可实现对大型内网资产的快速探测发现,及基于本行业综合规范的安全配置检查能力,有助于安全中心工程师更快速了解内网资产状况,有利于实验室开展网络安全检查和风险评估服务工作。

本发明实现的是内网资产快速普查工具,分别实现了内网资产快速扫描及资产安全配置检查功能。该发明具有较好的易用性,用户交互性,易部署等特点,适用于多种网络环境,尤其是大中型网络下具有高于同类产品的发现速度、准确性等。该产品尤其适用于运营商网络庞大、繁杂的情况,能够帮助工程师快速发现内网资产,发现资产详细信息,绘制网络拓扑结构,能大大提高工程师安全检查和风险评估服务中的工作效率,具有较高的推广价值,尤其在当今企业内部网络,越来越庞大、复杂,设备类型繁杂,急需一套这样的产品实现代替操作,实现自动化检查。因此该产品具有极高的推广价值,具有良好的应用前景。

附图说明

图1是本发明所述多引擎暴露资产扫描与管理系统的结构示意图;

图2是本发明所述网络拓扑发现系统的结构示意图;

图3是本发明所述网络层的拓扑发现的结构示意图。

具体实施方式

下面结合附图对本发明作进一步说明:

如图1所示:一种多引擎暴露资产扫描与管理系统,包括

主机发现,在主机发现过程中,扫描端向所要扫描的ip发送数据包,如果该ip有回应,就说明该ip所代表的的设备存在;

端口扫描,扫描引擎10多种类型的端口扫描方法,如tcpsyn/ack/fin/xmas/null/windows/connect,ftpbounce,idlescan,udpportunreachable/udprecv_from,ipprotocol,sctpinit/sctpcookieecho等扫描方式。原理是基于网络数据包的特征或者网络编程api来判定端口的状态;

服务识别;

系统识别,扫描引擎使用tcp/ip协议栈指纹来识别不同的操作系统和设备。在rfc规范中,有些地方对tcp/ip的实现并没有强制规定,由此不同的tcp/ip方案中可能都有自己的特殊的处理方式,nmap主要是根据这些细节上的差异来判断操作系统的类型的。

服务识别包括以下步骤:

s1,首先检查open与open|filtered状态的端口是否在排除端口列表内,如果在排除列表,将该端口剔除;

s2,如果是tcp端口,尝试建立tcp连接,如果通过welcomebanner无法确定应用程序版本,那么nmap再尝试发送其他的探测包即从nmap-services-probes中挑选合适的probe,将probe得到回复包与数据库中的签名进行对比;

s3,如果反复探测都无法得出具体应用,那么打印出应用返回报文,让用户自行进一步判定;

s4,如果是udp端口,那么直接使用osscan-services-probes中探测包进行探测匹配,根据结果对比分析出udp应用服务类型;

s5,如果探测到应用程序是ssl,那么调用openssl进一步的侦查运行在ssl之上的具体的应用类型;

s6,如果探测到应用程序是sunrpc,那么调用brute-forcerpcgrinder进一步探测具体服务。

系统识别包括以下步骤:

a1,扫描引擎内部包含了3382多已知系统的指纹特征,在文件osscan-os-db文件中,将此指纹数据库作为进行指纹对比的样本库;

a2,分别挑选一个open和closed的端口,向其发送经过精心设计的tcp/udp/icmp数据包,根据返回的数据包生成一份系统指纹;

a3,将探测生成的指纹与nmap-os-db中指纹进行对比,查找匹配的系统,如果无法匹配,以概率形式列举出可能的系统。

如图2和图3所示,网络拓扑分析引擎旨在实现对目标网络的拓扑分析,展示网络路由节点及网络路径。拓扑发现包括链路层的拓扑发现和网络层的拓扑发现,链路层的拓扑发现集中在对链路层设备如交换机和主机等的拓扑发现。网络层的拓扑发现可以发现网络的整体连接情况,主要发现网络中的路由器等设备.

网络层是iso(internationalstandardorganization)规定的osi标准模型的第三层,介于传输层和数据链路层之间。网络层的目的是实现两个端系统之间的数据透明传输,具体功能包括寻址和路由选择、连接的建立、保持和终止等。网络层设备包括路由器和三层交换机,路由器用来实现对网络数据包的寻址和路由转发等操作,三层交换机就是具有部分路由器功能的交换机。三层交换机的最重要目的是加快大型局域网内部的数据交换,它的路由功能也是为这个目的服务的,能够做到一次路由,多次转发。

网络层拓扑发现指的是对网络层网络元素之间的连接关系的发现。网络层的拓扑发现包括发现路由器之间的连接以及路由器与子网之间的连接。网络层的拓扑发现方法有很多种,常见的网络层拓扑发现算法有四种:基于icmp协议的网络层拓扑发现算法,基于dns协议的网络层拓扑发现算法,基于ospf协议的,其中以基于icmp协议的拓扑发现应用范围最广,以基于snmp协议的网络层拓扑发现算法效率最高。

icmp是internet控制报文协议,它是tcp/ip协议族的一个子协议,用于在ip主机、路由器之间传递控制消息。网络设计中icmp协议所用到的最常见的功能是使用icmp协议报文的回送请求(echorequest)和回送应答(echoreply)报文。它可以被用来测试目的站是否可达和是否响应。用户用ping命令发送icmp报文来确定目标地址是否可达。

icmp实现拓扑发现是基于ping和traceroute工具来实现的,ping程序用来探测目的主机是否可达,这样可以把不可达的探测主机排除,提高探测效率节省探测时间。traceroute程序用来探测到达目的主机所经过的路由器。

这种方法具有比较好的的通用性,能在一定的程度上发现网络拓扑。缺点是由于需要向网络中注入大量的icmp数据包,增加了网络负荷。另一方面搜索的时间比较长。同时基于目前网络安全的考虑,有些网络管理员会关闭路由器对icmp转发功能,造成拓扑探测失败。

综上所述,本发明具有无害化、快速扫描、识别准确率高、网络拓扑刻画清晰,可应用于大中小型及复杂网络环境,可对局域网内的网络设备、主机、安全设备、软件及服务进行有效的发现、识别、安全配置检查、具有广泛地的可实施性。借助于本发明,安全中心将可实现对大型内网资产的快速探测发现,及基于本行业综合规范的安全配置检查能力,有助于安全中心工程师更快速了解内网资产状况,有利于实验室开展网络安全检查和风险评估服务工作。

本发明实现的是内网资产快速普查工具,分别实现了内网资产快速扫描及资产安全配置检查功能。该发明具有较好的易用性,用户交互性,易部署等特点,适用于多种网络环境,尤其是大中型网络下具有高于同类产品的发现速度、准确性等。该产品尤其适用于运营商网络庞大、繁杂的情况,能够帮助工程师快速发现内网资产,发现资产详细信息,绘制网络拓扑结构,能大大提高工程师安全检查和风险评估服务中的工作效率,具有较高的推广价值,尤其在当今企业内部网络,越来越庞大、复杂,设备类型繁杂,急需一套这样的产品实现代替操作,实现自动化检查。因此该产品具有极高的推广价值,具有良好的应用前景。

本领域技术人员不脱离本发明的实质和精神,可以有多种变形方案实现本发明,以上所述仅为本发明较佳可行的实施例而已,并非因此局限本发明的权利范围,凡运用本发明说明书及附图内容所作的等效结构变化,均包含于本发明的权利范围之内。

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