3 个月前

我们能否通过自然语言生成 Shellcode?一项实证研究

我们能否通过自然语言生成 Shellcode?一项实证研究

摘要

编写软件漏洞利用代码是进攻性安全分析人员用于研究和防范攻击的重要实践。其中,shellcode的编写尤为耗时且技术难度高,因其需使用汇编语言编写。本文提出一种基于神经机器翻译(Neural Machine Translation, NMT)的方法,实现从自然语言描述出发,自动生成功能完整的shellcode。为此,我们构建了一个新的数据集(Shellcode_IA32),包含来自公开数据库的3,200个真实的Linux/x86 shellcode汇编代码片段,并以自然语言进行标注。此外,本文还提出了若干新的评估指标,用于衡量NMT模型生成shellcode的准确性。实证分析结果表明,NMT方法能够以较高的准确率从自然语言描述生成汇编代码片段,且在许多情况下可无错误地生成完整的shellcode。

代码仓库

基准测试

基准方法指标
code-generation-on-shellcode-ia32Seq2Seq with Attention
BLEU-4: 90.03
Exact Match Accuracy: 82.92
code-generation-on-shellcode-ia32CodeBERT
BLEU-4: 91.70
Exact Match Accuracy: 89.75

用 AI 构建 AI

从想法到上线——通过免费 AI 协同编程、开箱即用的环境和市场最优价格的 GPU 加速您的 AI 开发

AI 协同编程
即用型 GPU
最优价格
立即开始

Hyper Newsletters

订阅我们的最新资讯
我们会在北京时间 每周一的上午九点 向您的邮箱投递本周内的最新更新
邮件发送服务由 MailChimp 提供
我们能否通过自然语言生成 Shellcode?一项实证研究 | 论文 | HyperAI超神经