Robustness Testing

Automated Protocol Robustness & Fault Injection

Protocol robustness is a cornerstone of aerospace and industrial safety. However, many systems are built with the assumption that they will only ever receive well-formed data. Mycelium’s Directive System allows engineers to challenge this assumption by injecting structured mutations and simulated faults directly into the transmit pipeline.

The Anatomy of a Robustness Test

Traditional robustness testing involves feeding malformed inputs to a program. In the RF domain, we do the same, but we must also ensure the physical layer (modulation) remains stable enough for the target receiver to attempt a decode.

1. Establishing a Base Template

We start by loading a valid message into the buffer. This ensures that headers and preamble structures remain recognizable to the target hardware.

2. Injecting Strategic Mutations

Using the Mutate_Data action, we can target specific fields. For example, if we want to test the receiver's handling of length fields or boundary values, we can inject 0xFF or 0x00 at specific offsets.

3. Random Bit-Flipping

To simulate environmental noise or find unexpected edge cases in the parser, we can use the Flip_Bit action. By setting it to random mode, every execution cycle will flip a different bit in the buffer.

Looping and Throttling

To perform a long-running fuzzing campaign, we combine these mutations with a Delay to prevent overwhelming the hardware and a Transmit action to fire the data over the air.

digraph { graph [bgcolor="transparent" fontname="Inter" rankdir=TB pad=0.4] node [fontname="Inter" fontsize=12 fontcolor="#e2e8f0" style=filled fillcolor="#1a1033" color="#8b5cf6" penwidth=1.5 margin="0.2,0.15" shape=box] edge [color="#8b5cf6" fontcolor="#a78bfa" fontname="Inter" fontsize=10 arrowsize=0.8] template [label="Base Template" shape=note] mutate [label="Mutate_Data\n(Boundary Values)"] flip [label="Flip_Bit\n(Random Bitflip)"] transmit [label="Transmit over SDR"] delay [label="Delay 50ms"] template -> mutate -> flip -> transmit -> delay delay -> template [label="Loop" style=dashed] }

Conclusion

By automating the mutation and transmission cycle, Mycelium allows security researchers to evaluate the robustness of embedded RF systems and identify critical parser vulnerabilities that would be nearly impossible to find through manual testing.



← Back to Blog