背景
软件是网络空间的基石,但当前软件生态面临自主可控和安全可信两大难题。
关键问题
软件开发与安全是核心问题之一,特别是对于闭源软件(黑盒二进制程序),缺乏有效的智能化分析手段。机器语言作为网络空间的基石,但现有技术难以对其进行智能化分析。
智能化解决方案:大语言模型
针对上述问题,提出基于大语言模型的智能化解决方案。现有大语言模型难以分析二进制程序,主要原因在于缺乏对机器语言的深刻理解。
方案简介
- 自研机器语言模型训练方法:完善机器语言模型基础设施,通过全自动数据生成、标注、对齐优化模型设计,使模型能深刻理解机器语言并匹敌人类专家。
- 大规模多模态对齐数据:拥有100TB规模的机器语言-自然语言-源代码多模态对齐数据,远超业界公开数据的100GB规模。
关键技术突破
- 融合领域知识的模型优化:修改模型设计,融入代码领域知识(如指令语义、跳转关系等),提升模型对二进制代码的理解能力(如jTrans: Jump-Aware Transformer for Binary Code Similarity Detection)。
- 基于对比学习的语义理解:利用对比学习技术,使语义相似的二进制代码embedding接近,增强模型对代码语义的识别能力。
- 基于多模态学习的语义理解:利用多模态技术,将语义空间与人类意图对齐,更准确地表示二进制代码的语义。
典型应用
Demo-颠覆工作模式的智能逆向分析
通过mlm01.com平台,首次实现将黑盒二进制程序转化为白盒代码,使模型能像人类专家一样理解二进制程序语义,将专家从繁琐的底层代码分析中解放出来,专注高层分析任务。
总结
拥抱人工智能技术,可以有效解决软件自主可控和安全可信问题,助力网络空间智能化发展。https://mlm01.com