Page 204 - 《软件学报》2026年第6期
P. 204

陈永威 等: 基于异质图匹配网络的恶意软件相似性度量方法                                                    2523


                 嵌入后, 其聚集位置的纵坐标出现了明显位移, 表明这两个不同家族样本原本相同的函数嵌入向量出现了较大的
                 差异, 从而使模型能区分高相似的不同家族样本对.
                  4.2.3    不同反汇编工具对比实验
                    HGMSim  模型的输入依赖于使用         IDA Pro  构建的恶意软件函数调用图, 然而, 不同反汇编工具处理相同的二
                 进制样本时, 生成的函数调用图并不相同. 在二进制代码领域准确地确定函数边界是一项极具挑战性的任务, 反汇
                 编工具通常会使用多种启发式规则来确定函数边界, 因此导致不同工具提取出的图结构存在差异. 现有研究大多
                 默认使用特定的反汇编工具, 而未考虑到使用不同反汇编工具对模型性能的影响. 为此, 本节使用多种主流反汇编
                 工具提取函数调用图并重复实验, 验证使用不同反汇编工具对                    HGMSim  性能的影响.
                    本实验基于以下       3  个原则选择反汇编工具: (1) 能处理       Windows 下  x86  的二进制文件. (2) 反汇编工具开源.
                 (3) 安全行业和研究人员经常使用. 基于这些原则, 最终选择了                4  种工具进行实验, 分别为     IDA Pro (https://hex-rays.
                 com/)、Angr (https://github.com/angr/angr)、RetDec (https://github.com/avast/retdec) 和  Radare2 (https://github.com/
                 radareorg/radare2). 使用这  4  个反汇编工具对恶意软件数据集进行反汇编, 因为          Angr 和  RetDec 在预处理二进制样
                 本时, 会出现部分样本反汇编失败的情况             (如程序无响应, 中间文件异常), 最后使用           2 022  个  4  种反汇编工具均能
                 正确反汇编的恶意软件, 按照之前章节的方法进行模型训练和测试, 实验结果如表                         6  和表  7  所示.

                      表 6 不同反汇编工具生成函数调用图的                         表 7 HGMSim  模型在不同反汇编工具下的
                                统计信息对比                                        实验结果对比

                  工具名     图中平均节点数      图中平均边数      训练耗时          工具名        MRR      NDCG@10      AUC
                   Angr       1 010       1 491     4:38:29       Angr      0.670      0.557      0.939
                  Radare2     329          736      1:12:41      Radare2    0.546      0.451      0.938
                  IDA Pro     492         1 139     1:35:39      IDA Pro    0.610      0.502      0.950
                  RetDec      651          831      2:04:25      RetDec     0.567      0.510      0.931

                    从表  6  中展示的反汇编样本统计信息可以看到, 不同反汇编工具对于同一样本提取的图结构存在着较大差
                 异. 其中  Angr 处理后的样本平均节点数明显大于其他样本的处理结果, 主要原因是其利用符号执行和动态路径生
                 成, 捕获到其他工具无法识别的细节, 而           IDA Pro  和  Radare2  主要使用静态分析, 会生成较为紧凑的图结构. 图结
                 构大小的差异会影响       HGMSim  模型的训练耗时, 训练耗时和图节点个数平方成正比.
                    从表  7  所展示的结果来看, 使用不同反汇编工具生成的函数调用图, 对                  HGMSim  模型在检索评价指标上的影
                 响相对较大, 在分类指标上影响相对较小. 其中               Radare2  的性能同  IDA Pro  和  Angr 相比整体表现较差, 因为
                 HGMSim  模型的函数调用图构建准确性依赖于反汇编指令恢复、调用边恢复等指标, 二进制反汇编领域的研究
                 表明  [30,31] , 对  Windows 二进制文件反汇编, 递归工具  Radare2  在指令恢复上表现明显低于商业工具           IDA Pro  和线
                 性工具   Angr. 由此看来, 在二进制反汇编领域表现较好的工具, 能更好地应用于恶意软件相似性度量任务. 虽然
                 Angr 在检索评价指标上表现最好, 但其存在两方面不足: (1) 通过代码仿真来执行控制流分析, 从而正确地反汇编
                 二进制文件, 样本预处理时间过长. (2) 生成的样本图结构同其他反汇编工具相比明显偏大, 导致模型训练耗时增
                 加. 综合考虑表    6  和表  7  的实验结果, IDA Pro  整体表现最好, 其利用库签名文件结合模式匹配的方法识别静态链
                 接库函数, 能更加精准地识别混杂在一起的本地函数和静态链接库函数, 提升模型的相似性度量能力.

                  5   有效性威胁

                    本节讨论所提方法在有效性层面可能面临的潜在挑战与局限性. 重点从反静态分析威胁、数据时效性威胁以
                 及大规模图处理瓶颈这        3  个维度对有效性威胁展开分析, 并针对性地提出应对策略.
                    反静态分析威胁: 恶意软件使用反静态分析技术                (如  UPX  加壳, RC4  代码加密), 导致静态分析工具无法捕获
                 运行时解密的真实代码, 生成的函数调用图结构不完整, 影响相似性度量的可靠性. 可通过脱壳工具脱掉部分热门
                 壳, 后续将探索动静态混合分析, 补充函数调用图的语义完整性.
   199   200   201   202   203   204   205   206   207   208   209