文章总结: 这篇文章介绍了一个基于大模型的病毒木马文件云鉴定系统,相比传统规则引擎具有不可绕过的优势,但存在依赖反编译引擎、提示词工程影响大、模型非专用和成本高等缺点。作者实现了自定义反汇编引擎,选择了成本较低的DeepSeek模型,并展示了系统在检测病毒、OLLVM混淆和游戏修改器等方面的效果。文章提到未来可能开源,但目前完成度较低。 综合评分: 86 文章分类: AI安全,恶意软件,安全工具,二进制安全,漏洞分析
基于大模型的病毒木马文件云鉴定
原创
huoji
冲鸭安全
2025年12月22日 10:00 北京
前言
不开玩笑的说,这玩意比实习生靠谱 事情的起因是一年前我说过做基于HLIL的语义驱动的杀毒引擎,现在年底了,也应该要拿出来了: 《2024年终: 木马病毒自动化特征提取&云端机器学习的思路分享》 2024年终: 木马病毒自动化特征提取&云端机器学习的思路分享
如果没LLM 我会选择用规则驱动去识别异常代码,但是LLM实在是太好用了,他比过去所有所谓的检出规则都好用,所以中途就修改了一下方案,就变成现在的效果了。
特点
他相比传统鉴定引擎,有如下优点:
- 大部分情况下不可绕过 传统规则引擎,能被各种混淆/加密绕过,而这个引擎,就相当于人搁那分析代码,所以各种花里胡哨的绕过反而会被标记成恶意
- 越来越强,检出能力和效果会随着样本积累变强
当然什么事情都有缺点,实践中他也有如下缺点:
- 非常依赖反编译引擎,如果反编译引擎拉闸比如不支持RUST,也没办法很好的适配LLM,模型会失去效果 -这个得持续优化代码才行
- 大模型容易受到提示词影响比较大,是真的比较大,提示词工程可能需要一段时间的磨练和积累 -这个得通过不断人工干预,得到一个数据合集后,再做微调才行,否则没什么好的办法.
- 模型不是专用模型,导致数据积累知识经验不够,目前所有主流的模型都对逆向不太熟悉,幻觉率高,导致检出效果不稳定. -这个可以跟2一样用一样的方法解决
- 成本太高 -大模型是通用模型拿来干这种检出成本太高了,但是也可以通过2的方法,搞一个比较小的模型,应该是OK的
技术架构
核心架构
本质上,我们最终目的是 让大模型读代码 然后输出结果. 第一步我们其实是需要一个靠谱的反编译引擎,本来我想直接做MCP的,但是实测下来,IDA/BN/NSA的那个反编译工具 均不能有效的输出想要的东西,更别说遇到ZIG OLLVM RUST golang就属于拉闸的那一步,因为他们没适配,而且速度慢。最重要的是代码不可控,比如BN在跑某些混淆会直接bug闪退,以及这些都要版权费,实在是太折腾了。所以2024年年底就开始折腾一个靠谱的/快速的反汇编引擎 具体可以看IDA的F5制作系列
IDA背后的原理入门(一): 简介&函数识别
IDA背后的原理入门(二): 函数大小计算
IDA原理入门(三): 控制流追踪与CFG Blocks构建
IDA原理入门(四): 函数参数识别
从0制作IDA的F5代码还原功能(hex-rays插件) 上
最终我实现了一个自定义的反汇编引擎,他效果比IDA差,但是给大模型读肯定是够用了,重要的是由于没有太多的编译器优化或者乱七八糟的组件,他的速度非常的快而且精准,大概速度是IDA的2-4倍
而且也专门做了对GO的支持,可能以后要做RUST的支持:
对GO的符号解析感兴趣吗?感兴趣的可以私聊我感兴趣,人多了(大于100个人),出一期专门说怎么处理GO的ABI/symbols的操作
反汇编引擎的技术架构上,走的是bn的路线,思路来自binnary ninja的blackhat演讲,简单来说,把汇编抽象成LLIL->MLIL->HLIL->CUSTOM IL(比如C/rust/go都行)
这个路线不仅成熟,而且也够现代,IDA有历史局限原因,这个就很蛋疼。
具体就不展开细说了,大部分时间我其实都在处理最后的HLIL的打印优化上(是的,从机器角度来说够用了,但是人要看得舒服就一定要做大量的打印优化,比如do while,for ,if else),相当于从头写了一个编译器优化pass,而retdec比较聪明,他们用LLVM做优化,但是LLVM也存在不可控,大,慢的问题,所以我最后决定还是自己做,反正是给AI看的。
总而言之,花了一年的摸鱼时光,我们现在就有了一个 快速,轻量,可跨平台的反编译器,支持LINUX和MAC和windows和国产系统.而且代码只有大概十万行:
还是DeepSeek
有了核心基础后,我们要考虑用什么AI模型.最终我选择了DEEPSEEK,原因无他,他便宜。
我们知道,工程应用和实验室不一样,工程应用一定要考虑成本,哪怕模型再好,成本太高肯定是不能接受的。DS的能力虽然在我看来做检出非常非常的中庸,但是他是最便宜的,在随随便便就没了几百万token的时代,便宜才是硬道理.
一千两百万Token只要四块钱,隔壁GPT哭晕在厕所.
当然这也不是吹DS好,只是因为DS够便宜,所以出问题算我的.他实践过程中真的有不少问题,我感觉是我为了兼容他,做了大量修改,而别的模型总是一次过,这里就不细说了,都是提示词和优化流程的问题.
结论
最后,我做了一个web节目和命令行,用于批量分析木马,做鉴定,并且给出结论:
AI检测到病毒的时候:
检测到OLLVM代码混淆
检测到游戏修改器:
mimikatz:
VT全绿银狐:
漏洞驱动:
不闭门造车
本来我想打着不闭门造车的想法加上马上2025年了,把这个开源的. 但是目前这个,完成度比较低,bug也贼多(尤其是反编译引擎),所以还是先等我把bug修的差不多了再说吧.不过目前整套引擎已经在外网部署了一套,感兴趣的朋友可以在底下投票,如果票数大于300则进一步搞一个先锋内测群.进一步探索大模型用在杀毒的能力.少于300投票则算了不搞了,浪费时间.
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:冲鸭安全 huoji《基于大模型的病毒木马文件云鉴定》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。










评论