工具

PULSAR 协议学习研究原型

由 Hugo Gascon 等人开发的研究原型,可从记录下来的流量中学习未知网络协议的模型。它从 PCAP 记录中提取报文,将其嵌入为词元或 n-gram 向量,借助 PRISMA R 模块用矩阵分解进行聚类,再生成马尔可夫链状态模型,以及报文模板和把字段与先前报文关联起来的规则,输出为模型文件和 Graphviz 状态图。同一模型还驱动工具中的会话模拟器和有状态模糊测试器,详见作者 2015 年的 SecureComm 论文;本条目只介绍协议学习部分。

目标
协议
类别
协议分析工具
关联
基础工具
来源复核于

使用条件与局限

  • 审阅对象为 master 分支提交 3c61178(2022-06-07),也是最后一次推送;仓库没有发行版或标签,命令行工具自称 v0.1-dev。2021 年合并的社区贡献用 2to3 把代码从 Python 2 转换为 Python 3。仓库没有测试或 CI 配置。
  • 学习过程以所研究协议的 PCAP 流量记录为输入,也可使用 Cuckoo 沙箱为所分析样本保存的抓包。仓库提交了一个示例模型 models/itunes-xbmc,附带用来学习该模型的约 3 MB iTunes–XBMC 抓包(itunes-xbmc.pcap,来自 2015 年的初始提交)及其 Derrick、Sally 和 Harry 中间文件;除此之外不附带其他目标数据。
  • 按 INSTALL.md,用户需把 PRISMA R 模块克隆到 pulsar/modules,从 Konrad Rieck 的仓库构建 Derrick 和 Sally 这两个 C 工具,安装 R、Wireshark 的 mergecap 和 Graphviz,再用 pip 安装 pygraphviz、progressBar、NumPy 和 python-Levenshtein;文档只给出 CentOS 的安装命令。依赖均未固定版本;PRISMA 最后更新于 2018 年,Derrick 和 Sally 最后更新于 2019 年。
  • README 让读者参阅 2015 年 SecureComm 论文了解方法,并引用一篇 2012 年 AISec 关于为网络蜜罐学习有状态模型的论文;其中报告的结果出自作者,本合集未复现。学到的模板和状态机只是统计近似,需要分析人员验证。
  • 采用 BSD-3-Clause(Copyright 2014 Hugo Gascon);附带的 pulsar/core/sippy SIP 协议栈保留其自身的 GPL-2.0-or-later 声明。本次审阅未运行任何程序,本条目也不介绍模糊测试流程。

关于此条目

说明已依据一手来源复核;这不代表已运行验证、经过安全审计或确认兼容。

报告条目过时 建议修正翻译

一手来源

  1. README.md GitHub · hgascon/pulsar · 修订 3c61178
  2. INSTALL.md GitHub · hgascon/pulsar · 修订 3c61178
  3. LICENSE GitHub · hgascon/pulsar · 修订 3c61178
  4. pulsar.py GitHub · hgascon/pulsar · 修订 3c61178
  5. pulsar/core/model.py GitHub · hgascon/pulsar · 修订 3c61178
  6. pulsar/core/cluster_generator.R GitHub · hgascon/pulsar · 修订 3c61178
  7. pulsar/conf/model.conf GitHub · hgascon/pulsar · 修订 3c61178
  8. models/itunes-xbmc GitHub · hgascon/pulsar · 修订 3c61178
  9. pulsar/core/sippy/SipCSeq.py GitHub · hgascon/pulsar · 修订 3c61178
  10. https://hugogascon.com/publications/2015-securecomm.pdf
  11. https://doi.org/10.1007/978-3-319-28865-9_18
  12. README.md GitHub · tammok/PRISMA · 修订 a48624f

同分区更多条目:协议

协议分区全部 66 项资源