2009 · 会议论文
Prospex:协议规范提取
Prospex: Protocol Specification Extraction
Prospex 从 Linux 服务端处理客户端会话时的执行轨迹推断报文格式与协议状态机。它利用动态污点分析把每个会话切分为报文并恢复其格式;再依据输入格式、执行过程及对服务端影响(如报文触发的系统调用、输出与文件路径)的相似度将报文聚类为不同类型。观察到的类型序列构成增广前缀树接受器,先由前置条件与结束状态启发式标注,再用 Exbar 求出一致的最小自动机。所得规范被转换供 Peach 模糊测试器使用,以到达协议的后续状态。评测覆盖 Agobot 命令与控制协议、Sendmail 上的 SMTP、Samba 上的 SMB 以及 Asterisk 上的 SIP。
研究范围与局限
Prospex 只跟踪服务端一侧,其污点工具仅在 Linux 上运行,因此只分析了 Linux 服务端二进制。它无法处理加密流量:在 31,903 个 Postfix 会话中,推断的 SMTP 规范无法解析的 6.5% 均为 TLS 会话。训练集规模较小(例如 16 个 SMTP 会话、31 个 SMB 会话),推断出的状态机只覆盖训练中出现过的行为;两个 SMB 状态是训练数据多样性不足造成的伪状态,SMB 相对参考自动机的召回率为 0.58。参考状态机由作者手工构建,可靠性检验对每种协议进行 50,000 次随机游走;sk-strings 与 beams 基线是状态机学习算法,并非完整的协议逆向系统。模糊测试案例发现的是旧版 Samba 与 Asterisk 中已知的问题,而非所测最新 Samba 或 Windows XP SMB 实现中的新漏洞。
与本合集的关联
补充一种基于执行、可从观察到的会话中同时提取报文格式与协议状态机的方法,与合集中的主动状态机学习及仅推断格式的协议研究互补。
发表与复核详情
- 发表载体
- IEEE S&P 2009
- 发表状态
- 会议论文
- 出版/提交日期
- 2009 年 5 月
- 日期依据
- IEEE 提交的 Crossref 元数据及 IEEE Xplore 页面存档副本均给出 2009 年 5 月,本条目按月精度记录,不以研讨会日期替代具体出版日。
- DOI
- 10.1109/SP.2009.14
Crossref 与 IEEE Xplore 页面存档在四位作者、2009 年第 30 届 IEEE 安全与隐私研讨会论文集、第 110–125 页及 2009 年 5 月等信息上一致;Xplore 未将该论文标为开放获取。PDF 为 Christopher Kruegel 在 UCSB 网站上提供的 16 页副本,标题与作者顺序相同;其文件元数据显示创建于 2008 年 9 月,并带有 2009 年的 IEEE PDF eXpress 认证信息,版本记录以 IEEE Xplore 为准。论文称其为 Peach 增加的状态支持已并入 Peach 2.2 版,但未链接 Prospex 代码、轨迹或参考状态机。本次未运行代码或实验。
来源复核于
本合集仅做来源复核,未重新运行论文实验。请通过原始论文或 BibTeX 引用原作者。