这篇是模糊测试在网络协议方面的应用。
AmpFuzz: Fuzzing for Amplification DDoS Vulnerabilities (SEC 2022)
放大DDoS攻击(Amplification DDoS Attacks)对互联网造成了巨大的威胁,其流量已达到了Tbps级别。为了更快地定位到这类放大DDoS漏洞,本文提出了一种在UDP协议中定位这类放大DDoS特征向量的方法。该方法基于现有的灰盒模糊测试方法,取得了不错的效果。
文章开头指出网络协议中自动化的漏洞探测非常有必要。主要有以下三个方面的原因:
- 越早地发现漏洞,能使得保护性的网络协议提前部署来预防攻击;
- 获得漏洞的先验知识能够提前在蜜罐中监控到相关攻击;
- 提前探测到相关漏洞可以让Anti-DDoS服务提前过滤掉相关的攻击。
面临的主要挑战
将模糊测试应用到网络协议安全上的主要挑战如下:
- 缺少相关协议的语义知识;
- 缺少UDP状态。由于UDP是一种无连接的协议,无法直接判断其状态;
- 漏洞类型与传统漏洞不同,难以定位。
解决方案
Analyzer对提取出程序的CFG以及可能存在漏洞的Targets传给Fuzzer;Instrumentor生成了两个二进制程序,Fast Binary较为轻量化,能更快地发现新的分支,Track Binary带有数据流分析框架,可以分析出与输入相关的分支信息。具体细节详见文章。
本文主要基于现有的两项工作ParmeSan和Angora,将模糊测试应用到了网络协议中DDoS漏洞的探测上。项目代码已开源。