换个方向来看Fuzzing。
AntiFuzz: Impeding Fuzzing Audits of Binary Executables (SEC 2019)
计算机安全领域里一个常用的防御手段是提高攻击者的成本(包括资源成本和时间成本)。在二进制安全中,通常采用混淆(Obfuscation)的方式来避免被逆向工程以及漏洞挖掘。而Fuzzing技术的快速发展,使得这样的方法无法有效地阻止漏洞挖掘。
为了保护二进制可执行程序被自动化漏洞挖掘技术(Fuzzing、Symbolic/Concolic Execution、Taint-assisted Fuzzing等)分析,本文提出了一种通用的保护方案,使得大部分基于Fuzzing的漏洞挖掘方式无法取得较好的效果,避免二进制可执行程序被分析。
具体细节详见论文。论文代码已开源。