原创<br> 全球“黑客大赛”冠军霸气讲述:我是如何让50个文件一起骗过AI安防系统的?( 七 )

我们可以操作的最明显的特征是字节直方图和字节熵。字节直方图只计算文件中每个字节值的归一化频率。因为我们可以添加包含任何内容的section,所以可以很简单将字节分布强制改为按任何目标的分布。

我们也可以很好地控制Section Info特征。我们可以利用slack space来改变section的熵。我们还可以更改section的名称,使得我们在Ember的决策树中可以删除不同的分支。

最后,处理字符串特征也非常容易。同样也是因为我们可以添加包含任何内容的新section,所以我们可以自由更改字符串的统计数据。

开始攻击!

我的计划是从简单开始并根据需要增加复杂性。增加新的section似乎是最有希望的攻击途径,因为它使我们能够对Ember的功能以及文件的原始字节进行更大的更改。

我在每个部分添加之后重建了PE,以便lief为我处理所有的寻址,也可以手动分配地址。

作为一个实验,我在每个文件中添加了一个带有100000个常量字节的新部分,并在迭代常量(0-255)时监视逃逸率。几个不同的值已成功,但值169(0xA9)导致最大的逃避:

推荐阅读