《谈谈网络空间资产探测关键技术.docx》由会员分享,可在线阅读,更多相关《谈谈网络空间资产探测关键技术.docx(24页珍藏版)》请在第一文库网上搜索。
1、谈谈网络空间资产探测趟技术编者按本文论述了国内外网络空间资产探测相关研究成果,简要介绍了网络探测中的常用的网络空间资产主动探测方法及其关键技术,归纳和梳理了主动探测的优点和缺点。摘要如今,网络空间日益复杂,越来越多的终端设备如智能手机、打印机、网络摄像头、数字媒体设备等也加入到网络空间中。通过网络空间资产探测,可以及时发现潜在的安全风险,避免被不法之徒攻击。基于此,论述了国内外网络空间资产探测相关研究成果,并简要介绍了网络探测中的常用的网络空间资产主动探测方法及其关键技术,归纳和梳理了主动探测的优点和缺点,为网络空间资产探测技术研究人员提供借鉴。内容目录编者按1摘要1内容目录1引言21 .基于
2、ICMP存活主机发现技术41.1. 前述41.2. 利用ICMP响应请求和应答探测存活主机51.3. 通过时间戳请求和应答进行存活主机探测51.4. 通过ICMP地址掩码进行存活主机探测52 .基于TCP存活主机发现技术63 .基于UDP存活主机发现技术64 .端口、服务本扫描75 .操作系统扫描96 .网络安全数据采集关键技术136.1. 前述136.2. 技术背景136.3. ?技术分类146.4. ?流量检测技术15?协议还原与载荷提取技术15?.深度流检测技术16?深度包检测技术16?智能检测技术176.5. ?行为分析技术18?软件源码分析技术18?软件行为分析技术18?用户及实体行
3、为分析技术186.6. ?网络探测技术19?漏洞探测技术19?网络测绘技术19?威胁情报获取技术207 .结语208 .参考文献21引言随着网络的不断发展以及用户对网络使用需求的急剧增长,网络规模不断扩大、网络空间趋于复杂。通过网络空间资产探测,可以及时发现潜在的安全风险,避免被不法之徒攻击。在国家把网络空间安全概念提升到一个重要的层次时,其更显重要。在网络攻防对抗中,首先得了解网络,要了解网络空间,就需要对网络空间进行资产探测。网络空间资产探测技术作为网络安全的重要基础技术,是通过主动或被动探测的方法,来绘制网络空间上设备的网络节点和网络连接关系图,为网络设备进行画像。近年来,网络资产探测技
4、术已成为网络安全领域的研究热点,各国都对此进行了深入研究。如美国国防部先进研究项目局(DefenseAdvancedResearchProjectsAgency,DRAPA)驱动的X计划,旨在通过快速绘制网络战场地图,提高国家网络战能力,协助制定作战计划,促进网络战任务的高效推进。美国国土资源部(UnitedStatesDepartmentofHomelandSecurity,DHS)驱动的SHINE计划,通过Shodan等网络空间扫描引擎监控美国关键基础设施网络资源的安全状态,在本地网络空间地址列表上进行安全态势感知,并定期向工业控制系统应急小组(IndustrialControlSyste
5、msCyberEmergencyResponseTeam,ICS-CERT)推送安全通知,确保关键基础设施网络安全的安全。我国目前也已在进行相关方面的研究。我国已经实现对网络空间网际互连协议(InternetProtocol,IP)地址的扫描,达到资源探测的目的,且能够对每个IP地址的资源进行识别。但相较于目前国外的技术能力,还需进一步突破基于指纹比对的网络组件精准探测技术。基于指纹库的网络设备组件识别技术,是网络空间探测系统的核心技术。该技术可对设备的特定端口进行请求,判断端口是否开放,并根据端口返回信息,并利用自主研制的指纹比对技术,结合自主研制的指纹库,对设备类型及所使用的组件进行识别。
6、在工业控制服务探测方面,国内专门针对网络空间工业控制服务深度探测技术研究起步相对较晚。目前,通过网络的主动探测技术可以为一些重要的工业控制系统提供在线监测和识别能力,并可以支持典型的数据采集与监视控制系统(Supervisorycontrolanddataacquisition,SCADA)、可编程逻辑控制器(Programmablelogiccontroller,PLC)等工业控制系统(设备),Modbus等工业控制协议,以及与工业控制相关的通用网络服务。但与国外相比,我国的工业控制服务探测技术还存在许多问题,如支持工控设备/协议等服务数量不足、感知深度不足。与网络空间大量存在的标准化的信息
7、系统不同,工业控制系统及相关服务存在大量非标准私有的控制协议组件,或同一种工控协议存在多个未公开版本的情况,大多数工业控制服务细节掌握在相关厂家自己手里。目前,我国需要进一步对相关联网特征进行深入研究,精准提取其指纹信息,提供感知广度和扫描效率。同时还需要结合不同网络资产特点,加强对海量联网设备信息高效率扫描、隐蔽式探测和被动式感知等联网服务态势感知技术的研究,确保全方位、多角度的对网络空间存在的网络资产服务进行准确感知和高效测绘。本文主要介绍了目前网络资产探测常用方法,归纳和梳理了主动探测的优点和缺点,重点分析了网络资产探测技术所涉及的关键技术。1 .基于ICMP存活主机发现技术1.1. 前
8、述如果与目标主机处于同一网段,使用地址解析协议(AddressResolutionProtocol,ARP)扫描技术就是最佳的选择。该方法具有速度快,扫描结果精确的特点,且没有任何安全措施阻止正常的ARP包。但当与目标主机处于不同网段,则考虑使用其他协议。互联网中经常会出现各种错误,为了发现和处理这些错误,互联网控制报文协议(InternetControlMessageProtocol,ICMP)应运而生。相比APR简单明了的工作模式,ICMP则要复杂很多,但ICMP同样是互联网中不可或缺的协议。ICMP协议位于传输控制协议/网际互连协议(TransmissionControlProtocol
9、/lnternetProtocol,TCP/IP)族中的网络层,它的目的是在IP主机、路由器之间传递控制消息。同样这种协议也可以用来实现存活主机发现。从表1可以看出,ICMP的报文可以分为差错和查询两类。查询报文是用一对请求和应答定义的。也就是说,主机A为了获得一些信息,可以向主机B发送ICMP数据包,主机B在收到这个数据包之后,会给出应答。这一点正好符合本文进行存活主机扫描的要求,所以这里的ICMP存活主机发现技术使用的就是查询报文。表1ICMP报文类型ICMP报文种类类型的值ICMP报文类型3终点不可达IL4源抑制|差错报告报文11超时J:L12参数失灵jj5重定向jj8或0响应请求或应答
10、1113或14时间戳请求或应答查询报文:二一二!17或18地址掩码请求或应答!10或9路由器询问或通告1.2. 利用ICMP响应请求和应答探测存活主机响应请求和应答是用来测试发送与接收两端链路及目标主机TCP/IP协议是否正常,只要接收就是正常。日常使用最多的ping命令就是利用了响应请求和应答。主机A向主机B发送ICMP报文,如果途中没有异常,则主机B返回ICMP报文,说明主机B为存活主机。但ping工具使用率较高,所以许多用于防护主机的防火墙设备都隔绝ICMP数据通过。1.3. 通过时间戳请求和应答进行存活主机探测由于Ping方式被很多网络屏蔽,因此另寻他法。ICMP时间戳请求允许系统查询
11、另一个系统的当前时间,返回的建议值是自午夜起的毫秒数,即协调世界时(CoordinatedUniversalTime,UTC)。如果想知道B主机是否在线,还可以向B主机发送一个ICMP时间戳请求,如果得到应答的话就可以视为B主机在线。当然,其实数据包内容并不重要,重要的是是否收到了回应。1.4. 通过ICMP地址掩码进行存活主机探测ICMP地址掩码请求由源主机发送给无盘系统,以便在启动过程中获得自己的子网掩码。尽管互联网工程任务组(theInternetEngineeringTaskForce,IETF)发布的一系列备忘录(RequestForComments,RFC)规定除非系统是地址掩码的
12、授权代理,否则它不能发送地址掩码响应。但是,大多数主机在收到请求时都会发送响应。如果想知道主机B是否在线,您还可以向主机B发送ICMP掩码地址请求,如果您得到响应,可以视作主机B在线。2 .基于TCP存活主机发现技术TCP协议是一种可靠的传输协议,连接到TCP/IP协议套件中的各层允许以字节流的形式发送和接收数据。为了使服务器和客户机以不同的速度生成和使用数据,TCP提供了发送和两个接收服务。此外,TCP提供全双工服务,数据同时能双向流动。通信的每一方都有两个缓冲器来发送和接收数据。TCP向消息中添加一个渐进式确认序列号,以告诉发送方接收方希望接收下一个字节。如果在指定的时间内没有收到确认信息
13、,则会再次发送数据包,从而确保TCP是可靠的传输层协议。通常,Ping扫描使用TCPACK和ICMPEcho请求来响应目标是否存活。当目标主机的防火墙阻止这些请求时,可以使用TCPSYNPing扫描来判断目标主机是否处于存活状态,但在某些情况下,防火墙会丢弃RST包。在这种情况下,扫描结果将不准确。此时,需要指定一个端口或端口范围,以避免这种情况。TCPACKPing扫描与TCPSYNPing扫描是非常类似的,唯一的区别是设置TCP的标志位是ACK而不是SYN。此探测方法可以探测阻止SYN数据包或ICMP回显请求的主机。虽然许多防火墙将阻止SYN数据包,但是TCPACKPing扫描和TCPSY
14、NPing扫描的结合可以大大提高通过防火墙的概率。发送1个ACK标志的TCP包给目标主机,如果目标主机不是存活状态则不响应该请求,如果目标主机在线则会返回一个RST包。3 .基于UDP存活主机发现技术用户数据报协议(UserDatagramProtocol,UDP)也是一个位于传输层的协议,它完成的工作与TCP是相同的。然而,由于UDP协议是非面向连接导向的,UDP端口的探测不能像TCP端口的探测那样依赖于连接建立过程,也就是说,不能尝试telnet等TCP协议类型命令,这也导致了UDP端口扫描的可靠性不高。因此,虽然UDP协议比TCP协议简单,但是扫描UDP端口是相当困难的。当一个UDP端口
15、收到一个UDP数据包时,如果该端口关闭,它将向发送端回一个ICMP端口无法访问的数据包;如果它是开放的,它将忽略数据包,也就是说,它将被丢弃而不返回任何信息。这样做的好处是可以完成对UDP端口的探测,但缺点是扫描结果的可靠性相对较低。因为当一个UDP数据包被发送而没有收到响应时,可能是因为UDP端口打开了,也可能是因为数据包在传输过程中丢失了。此外,扫描速度非常慢。原因是RFC1812限制了ICMP错误消息的生成速度。例如,Linux将ICMP数据包的生成速率限制为每4s80次。当超过此限制时,它将暂停1/4s。4 .端口、服务本扫描端口探测根据协议划分可以分为TCP端口探测和UDP端口探测。由于TCP技术相对UDP技术要复杂一些,所以TCP的探测手段也比UDP