科恩自研二进制相似性哈希算法“KHash”上线BinaryAI,助力更全面的文件安全分析场景
2024-5-9 10:0:1 Author: mp.weixin.qq.com(查看原文) 阅读量:13 收藏

KHash重磅推出

KHash是一种由腾讯安全科恩实验室自研,用于二进制文件相似性比较的哈希。 

KHash利用语义嵌入向量化算法,将文件转换成一种紧凑的表示方式,可以快速计算二进制文件之间的相似度,从而提供给用户更快速、准确的相似文件搜索能力。

值得一提的是,此前KHash已经于腾讯内部业务中稳定应用并取得了显著的效果。现科恩将KHash上线至二进制安全智能分析平台BinaryAI(binaryai.cn),正式向外部用户提供体验试用,并开放SDK(详见后文)以供用户批量自动化获取二进制文件KHash。

KHash优势

在文件哈希技术领域,现有方案主要分为两类:一类是基于二进制文件元数据(如SSDeep、TLSH、VHash),另一类是基于二进制文件反编译/反汇编(如BinDiff、DeepBinDiff、PSSO)。然而,这些方案往往无法兼顾丰富的语义特征与合适的时间性能开销,导致在大规模二进制分析场景之上性能表现差或无法使用。
为了解决这一问题,KHash作为一种创新型的基于函数语义向量特征的快速哈希方法,通过提取函数语义特征,将任意有效二进制文件哈希到固定长度特征表示之上,从而实现大规模二进制数据集下的快速二进制文件相似性分析,具有高准确性与鲁棒性。
与SSDeep、TLSH等传统相似度哈希算法相比,KHash最大的优势在于其保持语义一致性的能力。无论是跨操作系统、CPU架构还是编译器选项,KHash都能准确地计算二进制文件的相似度。

KHash应用场景

1、威胁情报场景
KHash可以用于威胁情报中的恶意样本分析场景,例如通过计算目标文件与已知恶意软件的相似度,判断目标文件是否为恶意软件,以及自动化恶意样本基因分析,家族同源分析等。
2、开发安全场景
KHash可以在无源码的情况下,识别是否存在抄袭。通过计算目标文件和已知软件的相似度,有效检测是否存在抄袭行为。

KHash使用示例

用户可将二进制文件上传到BinaryAI(binaryai.cn),等待分析结束后,在分析结果页的 “相似文件” 结果处查看当前文件的KHash及其相似文件的SHA256、基础信息、KHash。该功能可以帮助用户分析一批二进制文件间的相似性,可以用于软件同源分析、恶意样本聚类等安全分析场景中。
下面以BinaryAI首页示例文件为例。
a2ps-4.14_gcc-7.3.0_x86_32_O3_a2ps.elfhttps://www.binaryai.cn/analysis/2cd45c4025aa80c0ec282a7dbe17c586aecf8fe54e06ae0cdc7e243487de5a8d/similarity
这是一个使用gcc-7.3.0编译器,在x86-32位架构上,以O3优化级别编译的a2ps文件。分析结果页的“相似文件”结果展示了其KHash值,并展示BinaryAI线上数据范围中相似度从高到低的前100个结果。

以下为当前与该文件相似度(相似度88.28%)最高的文件

a2ps-4.14_clang-5.0_mips_64_O2_a2ps.elfhttps://www.binaryai.cn/analysis/f8a442d89134ada6ad8090304905808f3eb16266dd39a8bb30b0ee26568dda58/similarity
它是使用clang-5.0编译器,在MIPS-64位架构上,以优化级别O1编译的a2ps文件。从相似文件列表中可以看出,其他二进制文件相似度明显低于该文件,体现了KHash在跨架构、编译优化等情况下也能准确查找到相似文件。
用户可以参考以下代码,用KHash计算二进制文件的相似度:
def khash_similarity(khash_a: str, khash_b: str):from scipy.spatial import distance    khash_a, khash_b = list(bin(int(khash_a, 16))[2:]), list(bin(int(khash_b, 16))[2:])return 1 - distance.hamming(khash_a, khash_b)
khash_similarity(khash_a, khash_b)
   
 

SDK批量获取文件KHash

用户可以通过SDK批量获得二进制文件的KHash,可在自定义的二进制文件范围内通过KHash计算二进制文件间相似度。

SDK地址:https://github.com/binaryai/sdk/releases/tag/v0.8.1

SDK/API相应的Token权限已通过BinaryAI科研合作计划向国内高校、科研院所等团队、个人开放。申请方式详见:携手共研|BinaryAI合作计划启动,面向广大学者开放底座能力

   
 

更多业务体验

BinaryAI的算法引擎核心能力已同步落地应用于腾讯安全多款产品,包括:

此外,科恩实验室始终以积极的姿态探索软件安全领域和前沿AI结合的科研落地,推动成果转化以解决产业痛点问题。

欢迎访问 https://www.binaryai.cn 或 阅读原文 前往体验

往期相关

 腾讯安全科恩实验室推出首款免费在线SCA平台:BinaryAI

 BinaryAI功能更新布告|构建全量开源项目数据集

 BinaryAI全新代码匹配模型BAI-2.0上线, “大模型”时代的安全实践

 BinaryAI更新布告|二进制文件的交互式智能辅助分析

 BinaryAI更新布告|自定义对比功能灵活实现“异样”速判

 携手共研|BinaryAI合作计划启动,面向广大学者开放底座能力

 BinaryAI更新布告|二进制函数匹配模型BAI-3.0上线

 BinaryAI更新布告|算法改版升级和多项功能优化


文章来源: https://mp.weixin.qq.com/s?__biz=MzU1MjgwNzc4Ng==&mid=2247511576&idx=1&sn=89804c914e39b525355957dc73b9f460&chksm=fbfe921dcc891b0b1af24d25f3894408899225c37f41d31a29c8ef9b3bfea4c2d5ca6446437c&scene=58&subscene=0#rd
如有侵权请联系:admin#unsafe.sh