头图

图片

近日,“AI + Security” 系列第 4 期线下活动于北京成功举办,活动聚焦 “洞” 见未来:AI 驱动的漏洞挖掘新范式,吸引了众多安全领域专家齐聚一堂。华清未央 CEO 朱文宇博士在活动中围绕 “机器语言大模型” 进行了深度分享,其内容涵盖传统软件分析模式及其面临的挑战、大模型所具备的能力以及大模型在实际中的应用等方面,为软件分析与安全领域带来了新的思路和方法。

在网络空间的运行体系中,机器语言占据着核心地位,是软件得以运行的基石。然而,当前如 ChatGPT 等知名大模型在理解机器语言方面却存在明显不足。这一局限在软件分析领域,尤其是闭源软件分析中,引发了一系列棘手问题。

1.逆向工程

难题逆向工程面临技术工具依赖国外、人工分析效率低且准确率差的困境。“卡脖子” 软件逆向分析极为困难,严重阻碍国内关键领域重要软件自主可控进程。同时,基于规则的恶意代码及漏洞检测效果差、效率低,难以适应复杂多变的软件环境。

2.无源码软件检测困境

无源码软件深度检测手段匮乏,软件检测普遍存在 “检不了、检不准、检不快” 的问题。闭源 / 二进制软件因无源代码,现有检测手段无法有效深度分析,隐藏风险难以发现,影响软件安全评估与质量控制。

3.软件生态迁移障碍

软件生态迁移效率低下,跨平台、跨架构、跨语言迁移需重新开发,成本高昂。软件国产化进程缓慢,国外主导的行业软件技术积累不足,短期内难以完成国产化替代,限制软件适应性与通用性,制约国内软件产业自主发展。

图片

传统软件的正向编译和逆向分析过程中存在诸多问题。在正向编译方面,整个流程从源代码到机器码需经历多个阶段,包括生成中间表示(IR)、汇编码以及最终的机器码。这一过程中涉及多种技术与工具,例如编译器通过特定规则将源代码转换为对应的汇编码和机器码。然而,这一复杂的流程常常伴随着信息丢失和转换不准确的问题,影响代码的可维护性和性能优化。另一方面,逆向分析面临更多挑战。首先是信息缺失问题,逆向分析从机器码推导源代码时缺乏符号、类型和结构信息,理解代码功能变得异常困难,尤其是在恶意软件或闭源软件的分析中,仅依靠机器码难以准确判断其真实意图与功能逻辑。其次是语义理解障碍,现有技术难以直接恢复代码的语义信息,例如变量名称、参数名称、函数名称等,导致人类理解逆向结果具有障碍。此外,理论瓶颈也限制了逆向分析的发展。根据 Rice 定理,对于某些程序性质的判定在一般情况下是不可判定的,这使得现有技术在处理复杂程序时面临理论上的根本限制,无法实现全面深入的软件分析。

图片

面对如此现状,华清未央 CEO 朱文宇博士分享了机器语言大模型(MLM)。MLM 基于大规模机器语言、自然语言和源代码的多模态对齐数据进行训练,数据规模高达 100TB,远超业界公开数据,为模型深刻理解机器语言的语义和逻辑提供了坚实基础。

MLM 能够自动恢复代码结构、精准理解语义,并在动态博弈对抗中持续进化,适应不断变化的软件环境和安全挑战,展现出超越人类专家的分析与开发能力,推动软件分析与开发领域的技术进步。其突破性能力涵盖语义分析、功能分类、语义搜索、语义摘要、函数命名与类型识别、反汇编、反编译、安全分析、软件转写等核心领域,在全球范围内处于领先水平。MLM 的产品矩阵广泛覆盖逆向分析、代码转写与生态迁移、软件供应链分析、代码一致性检测、漏洞分析与检测、恶意代码分析等多个领域,为软件全生命周期提供全方位支持。

MLM 具备多项突出能力:

1.代码分类能力

图片

MLM 具有出色的代码分类能力,能够快速识别代码类型并判断其敏感性。通过对代码语义的理解,它可以聚焦目标代码,过滤无关代码,为逆向工程、闭源软件检测等提供有力支持。例如,对于给定的汇编代码,它能准确判断函数可能涉及的功能,如判断某函数有较高概率(75.98%)与屏幕截图功能相关,辅助安全人员快速定位关键代码片段。

2.代码相似性检测能力

图片

在软件分析领域,MLM 的代码相似性检测能力具有重要意义。它可以计算函数之间的语义相似性分数,广泛应用于供应链成分分析、代码克隆检测等多个方面。通过比较函数间的语义相似性,能够有效识别相似代码,为软件质量控制、软件版权保护等工作提供关键依据。

3.语义摘要能力

图片

MLM 能够对二进制代码生成自然语言解释,用简洁的语言概括代码功能语义。这有助于分析人员快速理解代码逻辑,为整个软件模块、程序或文件的分析提供快速概览,提高分析效率,节省时间和精力。

4.语义恢复能力

图片

在逆向工程、恶意代码分析和漏洞挖掘中,MLM 的语义恢复能力发挥着关键作用。它可以将汇编代码反编译为类 C 语言代码,尽力还原代码背后的逻辑。尽管由于汇编代码的复杂性和上下文依赖性,还原结果可能不完全精准,但仍为理解代码功能提供了重要参考。

MLM 在众多领域展现出广泛的适用性:

图片

1.软件逆向分析平台

MLM 在软件逆向分析平台中可帮助分析人员理解闭源软件的功能和逻辑。通过其强大的代码理解能力,能够深入分析软件的内部结构,为软件安全评估、漏洞挖掘等提供有力支持,打破闭源软件分析的技术壁垒。

2.软件生态迁移系统

在软件生态迁移过程中,MLM 可以辅助将软件从一种生态系统转换到另一种,提高迁移效率,尤其是在库的迁移场景。例如,在跨平台、跨架构的软件迁移中,它能够理解原软件库的功能,生成适配新环境的代码,减少人工开发工作量,加速软件生态的融合与发展。

3.软件供应链分析平台

MLM 有助于分析闭源软件供应链中的成分和风险。通过代码相似性检测等能力,关联安全情报、合规情报,从而识别闭源软件供应链中是否存在恶意代码、代码侵权等问题,保障软件供应链的安全稳定。

4.软件一致性检测平台

在软件一致性检测方面,MLM 可以对比不同版本或不同来源的软件代码,检测其一致性和差异。这对于软件版本管理、代码质量控制以及确保软件在不同环境下的一致性运行具有重要意义。

5.漏洞挖掘平台

MLM 能够辅助挖掘软件中的潜在漏洞。凭借其对代码语义的理解和分析能力,它可以辅助经典模糊测试工具,提高模糊测试效率,例如通过识别输入格式、恢复对象边界等。

6.软件版权保护分析平台

在软件版权保护领域,MLM 可以通过代码相似性检测等手段,判断软件是否存在侵权行为。通过对比软件代码特征,有效识别盗版软件,保护软件开发者的知识产权。

为什么要做机器语言大模型?

实验发现,直接基于通用模型例如GPT-4o或DeepSeek Coder V2进行提示词工程,无法有效恢复二进制代码的逻辑和语义。对于机器语言这种新的“模态”,仍旧需要进行相当规模的训练,MLM基于自有的高质量数据集进行Continue-pretrain级别的训练,让大语言模型能够理解人类无法理解的语言(机器语言),输出人类可以理解的语言(自然语言/源代码),实现了“人机桥梁”。

图片

在本次分享活动中,朱文宇博士立足机器语言大模型,深入剖析了大模型在软件漏洞挖掘中的作用和未来的应用方向。随着技术不断进步,未来,安全极客社区将积极顺应技术发展趋势,以 “AI + Security” 为核心,举办更多丰富多样的主题活动。社区致力于汇聚各界专家学者,共同探讨前沿技术,分享实践经验和技术干货,推动整个行业共同进步,为构建更加安全、智能的软件生态系统贡献力量。


云起无垠
9 声望13 粉丝

国内首创的Fuzzing 全流程赋能开发安全-DevSecOps 解决方案供应商, 基于智能模糊测试引擎为协议、数据库、API、APP、Web3.0 等场景提供强大的软件安全自动化分析能力,从源头助力企业自动化检测与修复业务系统安...