Dachshund: Digging for and Securing Against (Non-)Blinded Constants in JIT Code (NDSS 2017)
现有的浏览器(如Chrome、Edge等)通过Constant Blinding的方式来移除攻击者在JIT代码中的可控Constants(如Shellcode等)。本文提出了Dachshund,一个由Fuzzing驱动的定位用户定义常量位置的框架。
同时,Dachshund还发现了一些浏览器无法成功Blind Constants的场景,包括当Constants被作为函数参数传递时,以及Blinded Constants被Second-stage Code Optimizers重新优化成未被保护的状态等。为了解决这一问题,本文还提出了一个JavaScript重写方法来将所有的Constants移除。
Dachshund的架构如下图所示。
论文代码未开源。