编辑推荐:
IPv6主动网络发现框架TNet基于强化学习设计,通过多级预算分配算法动态探测全球候选/48区域,高效识别8百万+活跃网络,较传统方法提升6.8倍效率,并揭示 gateway设备MAC地址泄露风险,发现109个内网暴露设备。
Jiatang Zhao | Fan Shi | Chengxi Xu | Jinfeng Peng | Mingyi Ge | Pengfei Xue | Min Zhang
电子工程学院,国防科技大学,合肥,230031,中国
摘要
由于前缀轮换等机制的存在,使用目标生成算法进行IPv6地址级扫描将面临IP地址快速变化(IP churn)的问题。由于只有活跃网络中的IPv6主机才会响应请求,因此在全球范围内高效识别活跃IPv6网络对于IPv6扫描和安全分析更为有用。然而,由于IPv6地址空间庞大,使用暴力扫描方法是不切实际的。为此,我们提出了TNet,这是一种基于强化学习的新异步扫描器,专门用于发现活跃IPv6网络。TNet利用启发式方法从全球BGP前缀中提取候选的/48地址段,并采用多层预算分配(MBA)算法进行动态探测。在实际测试中,TNet在短短几小时内就发现了超过800万个活跃网络,其效率比现有最先进方法提高了6.8倍。此外,我们还提出了一个针对IPv6网关设备的四层安全分析框架,通过该框架我们发现了213个活跃网络中泄露的713个MAC地址,进而发现了109个暴露的内部网络设备。
引言
与IPv4不同,互联网协议第6版(IPv6)提供了庞大的128位地址空间,允许终端设备接收一个或多个/64前缀[1]——每个前缀包含2^64个独立地址——用于客户网络。这种基于前缀的IPv6地址分配和分配方式促进了外部互联网与终端主机之间的直接通信,消除了对私有地址和网络地址转换(NAT)的需求[2]。这些进步推动了IPv6的迅速普及;例如,谷歌的IPv6访问流量在短短十年内就从零增长到了近50%[3]。因此,全面准确地理解和测量IPv6地址空间对于网络普查、情报收集、拓扑映射和安全分析等任务变得越来越重要。
IPv6的持续和加速部署对全球范围内的测量工作提出了重大挑战。由于IPv6地址空间巨大(2^128),像IPv4那样进行彻底扫描已不再可行。因此,最近的研究主要集中在通过目标生成算法(TGAs)[4]、[5]、[6]、[7]、[8]、[9]、拓扑推断[10]、[11]以及边缘扫描[12]、[13]、[14]来发现活跃IPv6地址。然而,现代IPv6设备通常会在分配的前缀内轮换地址[1],以减轻跟踪和监控威胁——这种行为被称为IP地址快速变化。这大大削弱了IPv6地址级扫描的效用,因为随着时间的推移,被发现的地址可能不再响应请求,从而使得后续的侦察工作无效。实际上,响应的地址仅占IPv6地址列表中的一小部分[15]。此外,先前的研究报告称,超过60%的被动收集到的IPv6地址几乎立即变得不活跃[16],并且在测量活动结束后一个月内,75%的IPv6边缘地址不再响应[17]。幸运的是,活跃的IPv6地址本质上位于活跃网络中[18]。因此,通过发现这些网络(通过其IPv6网关设备来表示)可以显著减少扫描范围。此外,作为安全入口点(或边界),网关设备的分析可以有效地反映目标网络的安全状况[12]、[14]。因此,进行大规模的IPv6活跃网络测量是必要的。
尽管具有潜力,但由于缺乏高效的方法,大规模分类IPv6网络活动仍然具有挑战性。以往的研究尝试使用ICMPv6错误消息和往返时间(RTT)分析来推断/64前缀级别的活动[18]。具体来说,如果发送到该前缀内随机选择的一个地址的探测触发了一个地址不可达(类型1,代码3)ICMPv6响应,并且RTT超过一秒,则该前缀被标记为活跃的。虽然这种方法可以提供有价值的信号,但其扩展性较差:即使只扫描每个/64前缀一次,也需要发送2^64个探测请求——这是不可行的。核心的低效率在于浪费了未分配或未使用的地址区域的探测流量。一种更实用和可扩展的方法是使探测过程具有适应性,从而将探测流量引导到更有可能被使用的地址子空间。
为此,我们提出了TNet,这是一种专为活跃网络扫描设计的异步扫描器,它利用强化学习显著提高了扫描效率。
TNet的核心概念是利用动态反馈信息来识别IPv6活跃网络密度较高的区域,并高效分配扫描资源,确保更有可能包含活跃网络的区域获得更多的资源分配。具体来说,我们使用RouteView数据[19]进行启发式扫描以识别候选的/48地址段。然后,通过精心构建的探测数据包和区域信息结构,我们进行多轮探测,逐步发现更有价值的地址段。值得注意的是,我们提出了一种多层预算分配机制,能够在/48甚至/52的粒度上实现有效的资源分配,显著提高了活跃网络发现的效率。因此,TNet在短短几小时内就可以发现800万个活跃网络,其效率比现有最先进方法提高了6.8倍。
本文的贡献可以总结如下:
一种新的扫描框架。我们设计了一种专为IPv6活跃网络发现而设计的新型异步扫描器——TNet。它可以摆脱对种子地址的依赖,从全球BGP路由开始探索候选区域,并有效地将流量分配到不同区域。
多层预算分配算法。我们应用强化学习原理设计了一种动态的多层预算分配算法,该算法能够高效合理地利用探测反馈来分配检测资源。这种方法特别适合在稀疏场景下的网络测量任务。
更高效的实际性能。
使用TNet,我们展示了从单一观察点在三个小时内发现8,028,152个IPv6活跃网络的能力,其效率比现有最先进方法提高了6.8倍。这一突破为IPv6活跃地址发现开辟了新的前景。
深入的安全分析。
我们提出了一个针对活跃IPv6网络中网关设备的四层安全分析框架。利用该框架,我们发现某些网关存在特定的配置错误,导致终端MAC地址泄露。这项分析在213个不同网络中识别出了713个MAC地址,进而发现了109个暴露的内部网络设备。
本文的其余部分结构如下。第2节讨论背景和相关工作。第3节详细介绍了我们提出的TNet框架的方法论。第4节介绍了实验设置并分析了评估结果。第5节揭示了活跃网络网关设备的安全影响。第6节全面讨论了关键参数和所提出的方法。最后,我们在第7节总结了我们的工作。
部分摘录
背景
IPv6地址分配。根据分层分配原则,IANA管理IPv6前缀的全球分配,这些前缀随后被委托给五个区域互联网注册机构(RIRs)。这些RIRs在其各自的管辖范围内将资源分配给国家互联网注册机构(NIRs)和主要互联网服务提供商(ISPs)。最终,当分配给终端设备时,不同的ISP可能会采用不同的分配策略。IETF社区已经确认了
概述
为了实现高效的IPv6活跃网络扫描,我们设计了TNet——一种基于强化学习和动态反馈的异步活跃网络扫描器,如图2所示。TNet是一个从头开始用Go语言开发的专业的扫描工具,兼容各种基于Unix的系统。为了解决搜索庞大地址空间的挑战,我们首先进行候选区域选择,然后巧妙地使用著名的Boltzmann探索机制来平衡
性能评估
在本节中,我们评估了TNet的独特优势。利用ICMPv6错误消息机制,TNet通过发现大量网关设备来识别活跃网络。我们认为网关的可达性是目标网络活动的决定性证据,每个被识别的网关代表一个潜在的活跃网络。因此,我们根据网关的自治系统(AS)来评估活跃网络的全球分布,并分析接口
安全分析
IPv6网关设备是活跃IPv6网络的关键安全入口点。因此,对这些网关进行全面的安全分析有助于我们更好地评估目标网络的安全状况并识别潜在的漏洞。在本节中,我们专门提出了一个针对IPv6网关设备的安全分类框架。通过四个层面的系统评估——端口可访问性、指纹捕获、供应商关联和隐私
ICMPv6错误消息
需要注意的是,我们的方法依赖于ICMPv6错误消息。根据Ullrich等人的研究[18],IPv6 Hitlist Service [15]中的38%的IPv6前缀不会返回ICMPv6错误消息。由于安全策略(例如,丢弃ICMPv6错误消息),非响应的路由器可能会屏蔽活跃网络。因此,我们的发现应被视为目标范围内活跃IPv6部署的保守下限,而不是全面的普查。
结论
在本文中,我们提出了TNet,这是一种基于强化学习的异步扫描器,专门用于IPv6活跃网络发现。TNet结合了一系列创新技术,显著提高了扫描效率,包括动态多层资源分配和探测编码。它在保持高速异步扫描能力的同时,有效地分配了探测资源。实际测试表明,TNet可以发现超过800万个
CRediT作者贡献声明
Jiatang Zhao:撰写——原始草案,方法论。
Fan Shi:撰写——审阅与编辑。
Chengxi Xu:方法论。
Jinfeng Peng:撰写——审阅与编辑。
Mingyi Ge:验证。
Pengfei Xue:撰写——审阅与编辑。
Min Zhang:撰写——审阅与编辑。
利益冲突声明
作者声明他们没有已知的竞争性财务利益或个人关系可能会影响本文报告的工作。