前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >HotNets 2023 | PROSPER:使用LLM提取协议规范

HotNets 2023 | PROSPER:使用LLM提取协议规范

作者头像
用户1324186
发布2024-03-07 18:02:00
2870
发布2024-03-07 18:02:00
举报
文章被收录于专栏:媒矿工厂

作者:SRI International 来源:Hotnets '23 论文题目:PROSPER: Extracting Protocol Specifications Using Large Language Models 论文链接:https://conferences.sigcomm.org/hotnets/2023/papers/hotnets23_sharma.pdf 内容整理:王柯喻

引言

本文探讨了大型语言模型(LLM)(特别是 GPT-3.5-turbo)的应用,以从 Internet 请求评论(RFC)文档中提取规范并自动理解网络协议。LLM在理解医学和法律等专业领域文本上已经有了长足应用,本文研究了它们在自动理解 RFC 方面的潜力。该团队开发了一个从RFC中提取图工件的工具-- RuminMiner。然后将提取的工件与自然语言文本耦合,使用 GPT-turbo 3.5(chatGPT)提取协议自动机,并给出提取结果。

重要性

网络协议是设备和系统之间通信的基础,但通常复杂多样,使得手动分析和实施耗时且容易出错。而其中一种分析理解方式即为使用 RFC 文档,所以 RFC 文档的理解需要具有高效性与准确性,同时 RFC 中的自动协议理解的应用领域也较为广泛,如攻击合成和协议安全分析,网络故障排除和代码去膨胀等等。同时这个项目也具有一定的挑战性包括:

  1. RFC 包含自然文本中的协议定义,这本质上是模糊的。
  2. 规范的 FSM 不仅基于 RFC 中包含的信息,还基于领域专家的输入。但 RFC 文本并没有详尽地涵盖规范 FSM 的所有元素。

相关工作

先前应用 NLP 技术来自动网络协议理解的工作(例如,WHYPER 和 DASE)使用语义解析从手册页、文档和源代码中提取信息。其他工作如 Veritas 和 Prospex 分析网络跟踪消息以自动生成协议自动机。前者提取概率协议状态机(PPSM),而后者使用网络消息聚类。

系统设计

图1 PROSPER总述

RFC Selection

在 RFC 的选择过程中,需要考虑各种重要网络协议的代表性。初步的过滤过程包括三个阶段:

  • 基于 BERT 的主题模型,将 RFC 聚类到不同的主题中,从不同的主题中选择的RFC
  • 每个 RFC 提供它废弃、更新或依赖于的其他 RFC,并将这些信息转换为连通组件图。从这个组件图中选择一个 RFC
  • 在选择过程中优先考虑在网络领域受到高度重视或有影响力的特定 RFC

RFC Cleansing

RFC 是不遵循严格设计或模板的复杂文档;因此RFC清理过程特别具有挑战性。本文制定了以下清理RFC的一般规则:

  • 所有包含作者姓名、页码、出版年份信息和跟踪信息的RFC 标头都被删除
  • 删除了 RFC 的目录,避免 LLM 判断 RFC 中存在相关控制语句
  • 删除参考文献和附录以及虚假的换行符和空白字符

RFC Chunking

为了遵守 GPT3.5turbo 的最大上下文长度。清理后的RFC 被分割成500行的块,这些块包含纯文本和文本图形。在所有RFC(包括上面选择的代表性 RFC)中,一行中的最大字符数为82。因此,每个块最多由41万个字符组成。

自动 RFC 协议理解

使用 LLM 从两个不同的角度来处理提取的协议信息:从协议定义中自动提取 FSM,以及理解RFC中定义的控制消息的结构,这些信息对于流量分析,入侵检测等各种网络问题都很有价值。

  1. 从自然语言规范中提取FSM 定义了有限状态机语法,并以类似 XML 的方式标记 RFC,并利用 LLM 破译正确的实体(FSM的状态和触发事件)。
  2. 从文本图中提取状态变量和数据包头描述 RFC 规范中定义了几种变量,它们构成了在发起连接时发送的数据包的一部分,或者存储在本地并根据接收到的某些信号递增。协议规范中使用的大多数变量都以文本图的形式解释。
  3. 使用XML Miner从文本工件中提取信息 利用开发的工件提取器(MyMiner),从 RFC 中提取文本图。其次,将提取的工件包含在工程提示符中,并提供给 LLM。

图2 RFC协议理解伪算法

  1. 工程 LLM prompts
  • 策略1 - 手动(贪婪):使用 DCCP 和 TCP 文档作为训练 RFC,手动构造和优化提示(prompt)。这种方法侧重于人工智能地调整和改进提示,以提高FSM提取的效果和准确性。
  • 策略2 - 自动提示工程:灵感来自于 APE。这种策略使用 DCCP 和 BGP 文档作为训练RFC,自动优化提示。这可能涉及到算法或机器学习技术来自动调整提示,以实现更高效和准确的信息提取。

系统评估

本文从三个方面对该系统进行了评估:effectiveness , generalizability and coverage enrichment

  1. effectiveness:通过查询LLM以获得使用前一个 LLM 输出的 python 代码,从而使用 'pygraphviz' 包绘制 FSM,图如下。可以避免LLM返回实体的不确定性(从a list of lists to a hashmap of lists等)。

图3 示例生成的FSM图

  1. generalizability:基础模型是在互联网的大数据集上训练的(包括技术论坛,博客,研究论文和规范文档),可以理解大多数 RFC 格式。(进一步微调可能带来更好的性能)。
  2. enrichment RFC是复杂的技术文档,其中与协议相关的许多信息都表示为文本工件。这些文本人工产物采用字符来表示复杂的连接形状并表达协议实体(状态、通信流、数据流图、消息结构),这会导致文本含义的模糊,但LLM具有读取图标捕捉这些转换的能力。

实验

下表显示了分别使用贪婪优化提示和 APE 工程提示的提取FSM任务的结果。

表1 提取FSM的结果

而在 DCCP 中的误判是由于拥塞控制符 CCID2 与 CCID3 被报告为系统状态。在拥塞控制协商阶段,change L/change R 会引起客户端侧的 CCID 过程的改变,因此可以解释成状态改变(CCID协商图理有)。同时可以看出于基于 APE 的提示工程在 TCP,BGP和PPTP RFC 上的性能更好,但它确实引入了更多的误报。

表2 RFCNPL与Prosper的对比结果

对比了 RFCNPL 与 Prosper 的结果,可以明显看出用工件提取器与LLM的结合带来的优势。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-03-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 媒矿工厂 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 引言
  • 重要性
  • 相关工作
  • 系统设计
    • RFC Selection
      • RFC Cleansing
        • RFC Chunking
          • 自动 RFC 协议理解
          • 系统评估
          • 实验
          相关产品与服务
          主机安全
          主机安全(Cloud Workload Protection,CWP)基于腾讯安全积累的海量威胁数据,利用机器学习为用户提供资产管理、木马文件查杀、黑客入侵防御、漏洞风险预警及安全基线等安全防护服务,帮助企业构建服务器安全防护体系。现支持用户非腾讯云服务器统一进行安全防护,轻松共享腾讯云端安全情报,让私有数据中心拥有云上同等级别的安全体验。
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档