【论文速读】| 通过大语言模型从协议实现中推断状态机

2024-06-12 12:36

本文主要是介绍【论文速读】| 通过大语言模型从协议实现中推断状态机,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

图片

本次分享论文:Inferring State Machine from the Protocol Implementation via Large Language Model

基本信息

  • 原文作者:Haiyang Wei, Zhengjie Du, Haohui Huang, Yue Liu, Guang Cheng, Linzhang Wang, Bing Mao

  • 作者单位:南京大学,奇安信集团,东南大学网络科学与工程学院

  • 关键词:大语言模型, 协议逆向工程, 状态机, 代码分析

  • 原文链接:https://arxiv.org/html/2405.00393v1

  • 开源代码:暂无

论文要点

论文简介:本文提出了一种利用大语言模型(LLM)从网络协议实现中推断状态机的方法。此方法通过文本嵌入技术,使LLM能够深入分析协议实现代码的细节,并通过系统的提示工程识别和推断潜在的状态机。实验结果表明,该方法在六种不同的协议实现中的平均准确率超过90%,且在与协议模糊测试工具AFLNet集成时,能显著提高代码覆盖率。

研究目的:针对动态分析可能因测试覆盖不全而遗漏关键状态转换,以及静态分析在处理复杂代码结构时的挑战,本文提出了一种基于大语言模型(LLM)的状态机推断方法。该方法旨在通过文本嵌入技术和提示工程技术,利用大语言模型的深度理解和代码生成能力,从协议实现代码中准确推断出状态机,以提高协议安全性分析的效率和准确性。

研究贡献:

1. 首次将大语言模型应用于从协议实现中推断状态机的问题,展示了LLM在处理复杂协议实现中的潜力;

2. 开发了一种名为PROTOCOLGPT的工具,自动化推断状态机;

3. 通过一系列实验验证了LLM在提取状态机方面的有效性,使用PROTOCOLGPT揭示了不同实现间的状态机差异,并提高了协议模糊测试工具的效果。

引言

本文首先介绍了状态机在网络协议分析中的重要性,并探讨了传统分析方法的局限性。接着,提出采用大语言模型(LLM)来克服这些限制,通过文本嵌入技术深入分析协议实现代码,并系统地通过提示工程技术推断潜在的状态机。该方法的优势在于能够处理复杂的代码结构,并且通过实验验证,显示出其在协议模糊测试中超过90%的准确率和显著提升的代码覆盖率。

研究背景

在网络协议分析领域,准确提取状态机对于验证协议安全性和理解协议功能是至关重要的。传统的状态机推断方法主要依赖动态分析和静态分析:动态分析受限于测试覆盖范围,而静态分析则难以应对复杂的代码结构。近年来,自然语言处理技术已开始应用于从协议规范文档中提取状态机,但RFC文档的模糊性常常导致不同实现之间的差异,从而增加了协议安全分析的难度。因此,开发一种新的状态机推断方法以应对这些挑战变得尤为重要。

研究动机

随着网络协议的复杂性日益增加,传统状态机推断方法面临众多挑战。尤其是由于RFC文档固有的模糊性,不同开发者可能会采用不同的实现方式应对同一协议规范,导致实现间存在显著差异。这些差异不仅妨碍了状态机的准确推断,还可能成为网络安全的潜在风险点。此外,尽管现有的自然语言处理技术能够从文档中提取信息,但在处理源代码时往往显得不足。因此,本研究旨在利用大语言模型(LLM)的强大代码分析能力,改进状态机推断方法,以提高协议实现分析的准确性和安全性。

图片

PROTOCOLGPT

PROTOCOLGPT是一种创新的工具,它利用大语言模型(LLM)从协议实现代码中推断状态机。通过精细的提示工程和文本嵌入技术,PROTOCOLGPT能够指导LLM深入分析复杂的代码结构,并准确推断出状态机。这款工具不仅提高了状态机推断的准确性,而且通过自动化的代码分析过程显著提升了分析效率。此外,PROTOCOLGPT还集成了代码预处理功能,优化了代码段的分析过程,确保从庞大且复杂的协议实现中高效、准确地提取状态机信息。

图片

实验评估

为验证PROTOCOLGPT的效果,本研究对六种不同的协议实现进行了状态机推断实验。通过比较PROTOCOLGPT、传统方法和未使用代码辅助的LLM模型,实验结果显示PROTOCOLGPT在状态机推断的准确率和效率上均有显著提升,平均准确率超过90%。此外,PROTOCOLGPT推断出的状态机被应用于协议模糊测试工具AFLNet,成功提高了代码覆盖率,进一步证明了其在实际应用中的有效性和实用性。这些实验不仅展示了PROTOCOLGPT的技术优势,也突显了大语言模型在网络协议安全分析中的潜力。

图片

论文结论

本研究成功开发了PROTOCOLGPT工具,该工具融合了大语言模型(LLM)的先进能力,从而有效地从协议实现代码中推断状态机。实验结果证明,PROTOCOLGPT能够准确地从复杂的协议代码中提取状态机,其准确性和效率均优于传统方法。

此外,PROTOCOLGPT在提升协议模糊测试工具AFLNet的代码覆盖率方面也取得了显著效果。这表明,利用LLM进行状态机推断不仅能提升网络协议分析的质量,还能增强网络安全防护的能力。本研究为未来网络协议分析与安全领域提供了新的思路和工具。

原作者:论文解读智能体

校对:小椰风

图片

这篇关于【论文速读】| 通过大语言模型从协议实现中推断状态机的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1054236

相关文章

大模型研发全揭秘:客服工单数据标注的完整攻略

在人工智能(AI)领域,数据标注是模型训练过程中至关重要的一步。无论你是新手还是有经验的从业者,掌握数据标注的技术细节和常见问题的解决方案都能为你的AI项目增添不少价值。在电信运营商的客服系统中,工单数据是客户问题和解决方案的重要记录。通过对这些工单数据进行有效标注,不仅能够帮助提升客服自动化系统的智能化水平,还能优化客户服务流程,提高客户满意度。本文将详细介绍如何在电信运营商客服工单的背景下进行

hdu1043(八数码问题,广搜 + hash(实现状态压缩) )

利用康拓展开将一个排列映射成一个自然数,然后就变成了普通的广搜题。 #include<iostream>#include<algorithm>#include<string>#include<stack>#include<queue>#include<map>#include<stdio.h>#include<stdlib.h>#include<ctype.h>#inclu

Andrej Karpathy最新采访:认知核心模型10亿参数就够了,AI会打破教育不公的僵局

夕小瑶科技说 原创  作者 | 海野 AI圈子的红人,AI大神Andrej Karpathy,曾是OpenAI联合创始人之一,特斯拉AI总监。上一次的动态是官宣创办一家名为 Eureka Labs 的人工智能+教育公司 ,宣布将长期致力于AI原生教育。 近日,Andrej Karpathy接受了No Priors(投资博客)的采访,与硅谷知名投资人 Sara Guo 和 Elad G

【C++】_list常用方法解析及模拟实现

相信自己的力量,只要对自己始终保持信心,尽自己最大努力去完成任何事,就算事情最终结果是失败了,努力了也不留遗憾。💓💓💓 目录   ✨说在前面 🍋知识点一:什么是list? •🌰1.list的定义 •🌰2.list的基本特性 •🌰3.常用接口介绍 🍋知识点二:list常用接口 •🌰1.默认成员函数 🔥构造函数(⭐) 🔥析构函数 •🌰2.list对象

【Prometheus】PromQL向量匹配实现不同标签的向量数据进行运算

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,阿里云开发者社区专家博主,CSDN全栈领域优质创作者,掘金优秀博主,51CTO博客专家等。 🏆《博客》:Python全栈,前后端开发,小程序开发,人工智能,js逆向,App逆向,网络系统安全,数据分析,Django,fastapi

让树莓派智能语音助手实现定时提醒功能

最初的时候是想直接在rasa 的chatbot上实现,因为rasa本身是带有remindschedule模块的。不过经过一番折腾后,忽然发现,chatbot上实现的定时,语音助手不一定会有响应。因为,我目前语音助手的代码设置了长时间无应答会结束对话,这样一来,chatbot定时提醒的触发就不会被语音助手获悉。那怎么让语音助手也具有定时提醒功能呢? 我最后选择的方法是用threading.Time

Android实现任意版本设置默认的锁屏壁纸和桌面壁纸(两张壁纸可不一致)

客户有些需求需要设置默认壁纸和锁屏壁纸  在默认情况下 这两个壁纸是相同的  如果需要默认的锁屏壁纸和桌面壁纸不一样 需要额外修改 Android13实现 替换默认桌面壁纸: 将图片文件替换frameworks/base/core/res/res/drawable-nodpi/default_wallpaper.*  (注意不能是bmp格式) 替换默认锁屏壁纸: 将图片资源放入vendo

C#实战|大乐透选号器[6]:实现实时显示已选择的红蓝球数量

哈喽,你好啊,我是雷工。 关于大乐透选号器在前面已经记录了5篇笔记,这是第6篇; 接下来实现实时显示当前选中红球数量,蓝球数量; 以下为练习笔记。 01 效果演示 当选择和取消选择红球或蓝球时,在对应的位置显示实时已选择的红球、蓝球的数量; 02 标签名称 分别设置Label标签名称为:lblRedCount、lblBlueCount

Retrieval-based-Voice-Conversion-WebUI模型构建指南

一、模型介绍 Retrieval-based-Voice-Conversion-WebUI(简称 RVC)模型是一个基于 VITS(Variational Inference with adversarial learning for end-to-end Text-to-Speech)的简单易用的语音转换框架。 具有以下特点 简单易用:RVC 模型通过简单易用的网页界面,使得用户无需深入了

科研绘图系列:R语言扩展物种堆积图(Extended Stacked Barplot)

介绍 R语言的扩展物种堆积图是一种数据可视化工具,它不仅展示了物种的堆积结果,还整合了不同样本分组之间的差异性分析结果。这种图形表示方法能够直观地比较不同物种在各个分组中的显著性差异,为研究者提供了一种有效的数据解读方式。 加载R包 knitr::opts_chunk$set(warning = F, message = F)library(tidyverse)library(phyl