代码复用小工具引入的深度分析
1. 代码复用攻击风险度量公式
为了评估不同混淆转换对代码复用攻击风险的影响,我们提出了一个公式:
[Risk_{CRA} = \frac{N(Chain_Related)}{N(Gadgets)} + V_{Expressivity} + V_{Quality}]
这个公式考虑了与小工具集测量变量相关的几个统计值。代码复用攻击小工具集的风险值定义为三个部分的总和:表达值(三个方面的总和)、质量值,以及可利用小工具数量与集合中小工具总数的比率。这个公式使我们能够衡量混淆方法给小工具集带来的代码复用攻击风险。
2. 研究结果
2.1 小工具数量
混淆后小工具的数量显著增加。通过比较原始程序和各种转换类型的混淆程序的小工具集,发现小工具数量平均增加了约 43 倍。由于 ROPGadget 在现有工具中具有卓越的小工具搜索能力,因此使用它来计算小工具数量。这凸显了混淆方法对小工具集数量和组成的重大影响,为原始程序引入了大量不同类型的可利用小工具。
| 混淆类型 | 小工具数量 |
|---|---|
| 原始程序 | 106 |
| 指令替换 | 136 |
| 控制流扁平化 | 332 |
| 虚假控制流 |
超级会员免费看
订阅专栏 解锁全文
10万+

被折叠的 条评论
为什么被折叠?



