Reverse Engineering for Input Modeling: Input Parameter Model Inference from Network Traces
摘要
Combinatorial testing is a model-based testing methodology that offers mathematical guarantees about the coverage of the input space of a system under test. At the same time, it aims to minimize the number of required test cases, leading to faster execution of test sets. However, input parameter models are often not available in real-world settings; they require significant investment to create and maintain. For proprietary protocols, specifications are often not freely available at all. It thus seems prudent to enable practitioners to infer input parameter models from the system under test without relying on the availability of source code or detailed documentation. This work aims to allow testers, developers, and researchers to reverse engineer the format of unknown network protocols based on traffic traces, generate input parameter models suitable for use in combinatorial testing from this inferred specification, and translate abstract test sets represented by covering arrays to concrete messages that can subsequently be transmitted over the network. It is the first work to investigate the combination of protocol reverse engineering with automated input parameter modeling for combinatorial testing.