数字取证中的相似性摘要技术:原理、优化与性能评估
1. 特征选择与熵计算
在数据处理中,首先要进行特征选择。通过计算经验概率 $P(Xi)$ 来衡量遇到 ASCII 码 $i$ 的可能性。接着,计算归一化的香农熵 $Hnorm$,公式为 $Hnorm = ⌊1000 × H/ log2 W⌋$,这里所有特征被划分为 1000 个等价类。
- 为每个特征分配优先级排名 $Rprec$,概率越低的特征排名越高。
- 定义流行度排名 $Rpop$ 来表示特征的优先级排名与相邻特征的关系。对于连续 $W$ 个特征的滑动窗口,找出最左边且 $Rprec$ 最低的特征,将其 $Rpop$ 加 1(显然,$Rpop ≤W$)。
- 最后,遍历所有特征,选择满足 $Rpop ≥t$($0 < t ≤W$ 为阈值参数)的特征。同时,过滤掉 $Hnorm ≤100$ 的特征,因为低熵值特征易引发大量误报。
2. 相似性摘要布隆过滤器
特征选择完成后,使用 SHA1 对每个特征进行哈希处理。结果被拆分为五个子哈希(视为独立哈希函数),并放入大小为 256 字节的布隆过滤器中。布隆过滤器是一种概率性集合数据结构,以可控的误报率换取压缩表示。
在原始实现中,当布隆过滤器达到 128 个元素(特征)时,会创建新的过滤器。这个过程持续到所有特征都被处理,此时过滤器序列对应原始对象的相似性摘要,称为 sdbf。生成和比较摘要的工具是 sdhash。
为了在粒度、压缩和准确性之间取得平衡,经过大量测试,选择了 $W = 64$,$t = 16$ 等参数。每个摘要的长度约为原始数据大小的 3%,每个过滤器平均代表 7 - 8 KB 的原始数据块。
比较摘要的
超级会员免费看
订阅专栏 解锁全文

15

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



