Stateful Protocol Fuzzer Using Promela Simulation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing network device fuzzers lack automated test sequence generation and comprehensive analysis capabilities, failing to effectively integrate functional and fuzz testing, especially for stateful protocols.

Innovation Solution

A system that automatically generates a fuzzer by simulating a network communications protocol finite state machine to produce valid conversations, which are then used to test and analyze responses from a device under test, incorporating Promela and SPIN for state machine exploration and novel test result analysis.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If manual programming of fuzzer is used, then testing coverage can be controlled, but time consumption increases significantly

Engineering Contradiction:
Improvetesting coverageVSAvoidtime consumption
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs preliminary simulation of the protocol using Promela and SPIN to generate valid conversations before actual fuzzing. This pre-computation of valid protocol flows enables automated fuzzer generation that maintains comprehensive testing coverage without requiring manual programming, thus resolving the time consumption issue while preserving reliability

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system creates a virtual model (Promela specification) of the protocol and simulates it to generate test sequences. This copy approach allows automated generation of fuzzer that replicates comprehensive testing coverage without manual intervention, transforming the manual programming task into an automated simulation-based generation process

Inventive Principle:
Principle #26Copying

2Loss of time

If automated fuzzer generation is implemented, then time consumption decreases, but test result analysis capability becomes insufficient

Engineering Contradiction:
Improvetime consumptionVSAvoidtest result analysis
Core Design Contradiction:
Loss of timeVSDifficulty of detecting and measuring

Solution Approach 1:

The system incorporates feedback mechanisms where test results from the device under test are analyzed and fed back into the system. The Promela simulation model is updated with actual behavior observations, enabling continuous improvement of test result analysis capability while maintaining automated generation benefits and reducing time consumption

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system introduces an intermediary analysis layer that automatically processes test results between the fuzzer and the device under test. This intermediary component handles the complexity of test result analysis, making it manageable and scalable while preserving the time savings from automated fuzzer generation

Inventive Principle:
Principle #24Intermediary (Mediator)

3Ease of operation

If stateless testing is used, then testing simplicity increases, but comprehensive protocol validation is insufficient

Engineering Contradiction:
Improvetesting simplicityVSAvoidprotocol validation
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The system transitions from static stateless testing to dynamic stateful testing using Promela and SPIN simulation. The protocol is modeled as a dynamic state machine that can simulate various operational states and transitions, enabling comprehensive protocol validation while maintaining manageable complexity through automated simulation rather than manual state tracking

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS8819834B2Methods, systems, and computer readable media for automatically generating a fuzzer that implements functional and fuzz testing and testing a network device using the fuzzer
Publication Date: 2014.08.26 KEYSIGHT TECH SINGAPORE (SALES) PTE LTD
  • US8819834B2 patent drawing
  • US8819834B2 patent drawing
  • US8819834B2 patent drawing

AI summary

Methods, systems, and computer readable media for automatically generating a fuzzer for testing a network device using the fuzzer are disclosed. According to one method, a functional description of a network communications protocol finite state machine is received as input. Operation of the protocol is simulated using the functional description of the network communications protocol finite state machine to generate a set of valid conversations in the protocol. A fuzzer is generated from the set of valid conversations. The fuzzer is used to send messages to test a device under test. Responses to the device under test to the messages generated by the fuzzer are analyzed.