浅谈网络资产探测技术与常用方法
作者: 日期:2022年07月19日 阅:4,740

近年来,以计算机系统为代表的信息系统建设蓬勃发展,各种新型的信息技术层出不穷;同时,后疫情时代受不确定的疫情波动影响,企业的线下发展明显失速,数字化、线上化、云化成为很多企业保持增速的解决方案。依托于“云大移智”等新型信息技术实现数字化赋能,企业正在加快数字平台建设和应用,数据成为驱动企业发展的重要生产要素

当数据成为企业最重要的核心资产之一,意味着企业必须重视并具备数据安全保护能力,因为唯有数据完整、清晰、安全和可靠,才能为企业产生有效价值。数据安全治理或防护首先依托于数据资产梳理,而数据资产梳理则依托于数据资产发现。数据在企业网络中必然拥有存储的载体,如数据库、文件系统等,而伴随数字化进程,企业的数据资产散落于各种网络中,成为数据泄露的风险点;而伴随着时间流逝,被遗弃或遗忘在网络中的数据载体将成为最大的隐患。故数据资产发现,首先步骤就是探测发现存储数据的网络资产。本文在此介绍当前网络资产探测的常用方法和技术,并对其优缺点做简要归纳。

01 网络资产探测

网络资产探测通常是指追踪发现和分析掌握网络资产情况的过程。通过网络资产探测,能够帮助企业组织梳理网络中当前存活的数据存储应用和服务,为数据治理资产纳管提供信息基础;此外,还可以据此发现网络中存在的隐匿非法资产,为及时处理提供便利。网络资产探测是实现数据治理的重要前提之一, 在数据安全相关工作中具有应用价值。

从探测基础数据的来源角度进行分类,网络资产探测主要分为主动探测被动探测。本文将重点介绍目前网络资产主动探测。

02 基于高速网络扫描的主动探测

主动探测方法,主要应用多样的高速网络扫描技术,如主机存活检测、端口扫描和服务鉴别等技术,通过主动向目标网络资产发送构造的探测数据包,并从返回的响应数据包的相关信息中提取目标特征,与内置特征库中的特征指纹进行匹配,来实现对操作系统、开放端口、服务应用类型和版本的探测。

03 主机存活检测

企业的网络拓扑结构,一般分为二层网络和三层网络。二层网络仅仅通过MAC寻址即可实现通讯,而三层网络通信需要经过路由器转发,则必须通过IP路由才能实现跨网段的通信。

基于ARP协议

如果扫描探针与检测目标处于同一网段的二层网络当中,那么使用地址解析协议(ARP)扫描技术是很好的选择。该方法速度快,扫描结果精准,且通常不会有安全措施用于阻止正常的ARP数据包,扫描被干扰的可能性小。但当扫描探针与检测目标处于不同网段,属于三层网络的不同子域时,则应考虑使用其他协议。

基于ICMP协议

为了发现和处理网络中的各种错误,诞生了互联网控制报文协议(ICMP)。这种协议同样是属于TCP/IP协议簇的一个子协议,其是网络层中的重要成员,可以用于在IP主机、路由器之间传递控制消息。ICMP协议数据报文有很多种类,但总体可分为查询报文差错报告报文。其中,查询报文是用一对请求和应答定义的,也就是说,主机A可以向主机B发送ICMP数据包查询信息,主机B在接收到该数据包后会给出应答。故通过ICMP查询报文,即可进行主机存活检测。

ICMP的响应请求和应答可以用来测试发送和接收两端链路及目标主机TCP/IP协议是否正常,其在当前最常见的实践应用即是ping命令。然而,由于许多网络设备的防火墙可能配置禁止该类ICMP报文,故主机扫描可能被阻断。另寻他法,ICMP查询报文,除了响应请求和应答外,还包括时间戳请求和应答、地址掩码请求和应答等,因此,还可以选择构造这些类型的ICMP数据包进行探测扫描。

ICMP报文种类

基于TCP协议

传输控制协议(TCP)是一种面向连接的、可靠的、基于字节流的传输层通信协议。建立完整的TCP会话,需要完成三次握手过程,这个过程既耗资源又耗时,所以在高速网络扫描技术中不会完成整个三次握手,而是仅仅发送SYN或ACK数据包的半连接扫描。对于TCP SYN扫描,在得到响应后发送RST包终止握手;对于TCP ACK扫描,则由被检测主机返回RST包。基于TCP存活主机发现技术,结果可靠性较高,但是其建立于传输层通信,故必须指定端口,限制了使用范围。

TCP三次握手过程

基于UDP协议

用户数据报协议(UDP)和TCP类似,也是一种传输层协议。然而和TCP协议相比,UDP是一种无连接的协议,它不能和TCP探测那样依赖于建立连接的过程,而是只能通过是否存在端口关闭网络不可达时返回的ICMP报文来判断。此外,由于UDP是无连接不可靠的,对于没有ICMP报文返回的端口也无法准确判断是通信成功还是数据包丢失,故其扫描结果的可靠性也相对较低。

04 端口扫描和服务鉴别

端口扫描是服务鉴别的基础和前提,在探测流程中,先进行端口存活扫描,可以排除关闭的和不可通信端口,缩小后续执行服务版本检测的规模,提高探测效率。

端口扫描其是建立在传输层协议之上的,根据具体协议,可以划分为TCP端口扫描和UDP端口扫描。在端口扫描中,最流行的TCP端口扫描技术依然是TCP半连接方法,如TCP SYN,通过向目标端口发送SYN包请求连接,目标接收到SYN包后响应SYN/ACK包,探测主机接收到响应后用RST包终止握手。

TCP SYN半连接

在完成端口扫描后,可以尝试与端口建立完整TCP连接进行服务类型和版本探测。通常情况下,与服务端口建立连接后,数秒时间内,服务会返回Banner欢迎信息,通过将Banner信息与服务特征指纹库中的特征指纹进行匹配,就可以鉴别并提取该端口对应服务的类型和版本信息,这个过程一般被称为null probe。如果null probe未能成功匹配服务,则可继续按照指定顺序发送多种预先构造好的探测包,并利用响应数据和特征指纹进行匹配,直到全部匹配结束。

05 结语

网络资产主动探测的优点是对探测目标更具有针对性,可以通过定制构造探测包对其进行探测,准确率高,探针部署也更加灵活。但其也有一定的局限性,探测目标可能会针对部分常见的探测包请求进行过滤,使得无法准确识别;此外,主动探测会产生额外的探测流量,会在一定程度上增加网络负载,或多或少会扰动网络的当前状态,导致探测结果出现偏差。

申明:本文系厂商投稿收录,所涉观点不代表安全牛立场!


相关文章