Proj THUDBFuzz Paper Reading: PULSAR: Stateful Black-Box Fuzzing of Proprietary Network Protocols

Abstract

协议安全重要性
当协议规范和程序代码都难以获得时,找bug有困难
本文: 自动协议逆向工程+fuzz testing
主要步骤:观察协议流量,推测生成模型
效果:能有效地探索协议状态空间
实验:两个case studies

1. Intro

P1: 协议安全重要性
P2: 已有工作

  1. 能获取代码的-百合Fuzzing,动态taint tracking, 符号执行,静态代码分析
  2. 不能获取代码也没有规格的时候-1. 读取固件镜像firmware image 2. 逆向二进制等
    P3:
  3. Automated network protocol fuzzing framework.
  4. A model-based approach to security flaw detection of network protocol implementations
    这两项工作都能够自动推测协议状态,但是在协议中的深层状态相关的bug难以被触及
    P4:
    本文: PULSAR, stateful black-box fuzzing of proprietary network protocols
    基本方法: observe the network traffic and infer a generative model for message formats
    本文特点:guided fuzzing能够探索deep vulnerabilities
    P5:
    两个case,FTP和OSCAR

2. Methodology

Proj THUDBFuzz Paper Reading: PULSAR: Stateful Black-Box Fuzzing of Proprietary Network Protocols

  1. Model Inference
    a) a Markov model representing the state machine
    b) templates that identify the format of the messages
    c) rules that track the data flow
  2. Test case generation
    a) Model inference这一步抽取到的模板和规则定义能够在communication特定阶段中定义的fuzzing primitives
  3. Model Coverage
    a) 尽量将fuzzer引导到被检测很少的state machines

2.1 Model Inference

本文的模型推断建立在PRISMA(a probabilistic approach to model both the message content and the state machine if an unknown protocol solely relying on standard captures of network traffic)的基础上。

上一篇:计算机网络-0-2-五层协议体系结构


下一篇:苹果手表的真实触感信息(Real Touch Messaging)