0x01 引言
深入探讨无状态扫描技术在网络安全领域的应用,特别是在提高扫描速度和效率方面的优势。无状态扫描技术作为一种先进的网络安全扫描方法,通过优化扫描流程、减少状态信息的维护,实现了对目标网络的快速、高效扫描。 无状态快速扫描技术应用于工控设备主动探测子系统的存活检测阶段,是该子系统的重要环节,决定了能否大范围进行快速扫描,也为资产快速扫描探测提供了基础的技术支撑。
0x01 必要性
在以太网中TCP是可靠的面向连接的协议,一个完整的TCP会话在每个过程中都有不同的标志状态。在使用TCP协议对资产进行存活检测时,主要会有以下问题:
(1)TCP三次握手存在发送-应答-发送机制,一个完整的交互过程在会导致在大范围扫描时速率较慢。
(2)网络连接在操作系统中也是一种资源,当存在大量连接没有及时释放时,会耗尽网络连接资源,导致操作系统无法正常提供服务。
0x02 解决途径
为解决以上问题,存活检测阶段采用了无状态的快速扫描技术,无状态扫描是指不需要关心TCP的状态(SYN/ACK/FIN)。如下图所示,是一个完整的TCP交互过程。
图 1 TCP交互过程示意图
进行无状态扫描时,当确认端口处于开放状态时,会主动发送RST数据包直接放弃连接的建立,因为没有完整的TCP会话过程,所以不会长时间占用操作系统的网络连接资源,使得系统可以继续提供正常服务。
另外无状态快速扫描是通过独立的发包线程和收包线程构成,而且因为不需要考虑连接的完整性,发包时可以有效利用当前主机的网络带宽,保证探测缺失率小于5%的情况下,达到很高的发包速率,这样会比传统的TCPConnect端口扫描快得多。无状态快速扫描技术的工作流程如下图所示:
图 2 无状态快速扫描技术的工作流程示意图
假设需要扫描监测的IP为M个,其中开放了被扫描端口的IP为N个。设TCP第一次握手的时间为tSYN,第二次握手的时间为tSYN-ACK,第三次握手的时间为tACK,发送RST重置连接的时间为tRST,其中tSYN和tRST一般远小于tSYN-ACK。则可计算出无状态请求扫描技术所需要的时间为:
几种常见扫描方式所需的时间对比如下表所示:
表 1 无状态扫描技术消耗时间对比表
| 扫描方式 | 扫描步骤 | 所需时间 | 时间对比 | 是否留下记录 |
|---|---|---|---|---|
| TCP(三次握手) | 完成三次握手后,发送RST | 最慢 | 有 | |
| TCPSYN(两次握手) | 发送SYN请求并接到应答握手后,发送RST重置连接 | 中速 | 无 | |
| TCPSYN(无状态请求) | 发送SYN请求,直接发送RST重置连接 | 最快 | 无 |
0x03 应用场景
- 网络安全评估:无状态扫描技术可用于对目标网络进行快速、全面的安全评估,发现潜在的安全漏洞和风险。
- 漏洞检测与修复:通过对目标系统进行无状态扫描,可以快速发现漏洞,并提供相应的修复建议。
- 入侵检测与防御:无状态扫描技术可用于实时监控网络流量,检测潜在的入侵行为,并及时采取防御措施。
0x04 技术挑战与解决方案
尽管无状态扫描技术具有诸多优势,但在实际应用中也面临一些挑战,如扫描结果的准确性、扫描过程中的误报和漏报等。为了克服这些挑战,可以采取以下解决方案:
- 优化扫描算法:通过改进扫描算法,提高扫描结果的准确性和效率。
- 加强数据分析和处理:对扫描结果进行深度分析和处理,减少误报和漏报的可能性。
- 结合其他扫描技术:将无状态扫描技术与其他扫描技术相结合,形成多层次的扫描体系,提高整体的安全防护能力。
0x05 结论
上述详细介绍了无状态扫描技术的原理、特点、应用场景以及面临的挑战和解决方案。该技术通过优化扫描流程、减少状态信息的维护,实现了对目标网络的快速、高效扫描,为网络安全领域提供了一种重要的技术手段。随着网络安全形势的不断变化和发展,无状态扫描技术将继续发挥重要作用,为网络安全防护提供有力支持。