TY - JOUR
T1 - Semi-valid fuzz testing case generation for stateful network protocol
AU - Ma, Rui
AU - Ren, Shuaimin
AU - Ma, Ke
AU - Hu, Changzhen
AU - Xue, Jingfeng
N1 - Publisher Copyright:
© 1996-2012 Tsinghua University Press.
PY - 2017/9
Y1 - 2017/9
N2 - Network protocols are divided into stateless and stateful. Stateful network protocols have complex communication interactions and state transitions. However, the existing network protocol fuzzing does not support state transitions very well. This paper focuses on this issue and proposes the Semi-valid Fuzzing for the Stateful Network Protocol (SFSNP). The SFSNP analyzes protocol interactions and builds an extended finite state machine with a path marker for the network protocol; then it obtains test sequences of the extended finite state machine, and further performs the mutation operation using the semi-valid algorithm for each state transition in the test sequences; finally, it obtains fuzzing sequences. Moreover, because different test sequences may have the same state transitions, the SFSNP uses the state transition marking algorithm to reduce redundant test cases. By using the stateful rule tree of the protocol, the SFSNP extracts the constraints in the protocol specifications to construct semi-valid fuzz testing cases within the sub-protocol domain, and finally forms fuzzing sequences. Experimental results indicate that the SFSNP is reasonably effective at reducing the quantity of generated test cases and improving the quality of fuzz testing cases. The SFSNP can reduce redundancy and shorten testing time.
AB - Network protocols are divided into stateless and stateful. Stateful network protocols have complex communication interactions and state transitions. However, the existing network protocol fuzzing does not support state transitions very well. This paper focuses on this issue and proposes the Semi-valid Fuzzing for the Stateful Network Protocol (SFSNP). The SFSNP analyzes protocol interactions and builds an extended finite state machine with a path marker for the network protocol; then it obtains test sequences of the extended finite state machine, and further performs the mutation operation using the semi-valid algorithm for each state transition in the test sequences; finally, it obtains fuzzing sequences. Moreover, because different test sequences may have the same state transitions, the SFSNP uses the state transition marking algorithm to reduce redundant test cases. By using the stateful rule tree of the protocol, the SFSNP extracts the constraints in the protocol specifications to construct semi-valid fuzz testing cases within the sub-protocol domain, and finally forms fuzzing sequences. Experimental results indicate that the SFSNP is reasonably effective at reducing the quantity of generated test cases and improving the quality of fuzz testing cases. The SFSNP can reduce redundancy and shorten testing time.
KW - extended finite state machine
KW - network protocol fuzzing
KW - semi-valid algorithm
KW - state transition markingalgorithm
KW - test sequence
UR - http://www.scopus.com/inward/record.url?scp=85029521078&partnerID=8YFLogxK
U2 - 10.23919/TST.2017.8030535
DO - 10.23919/TST.2017.8030535
M3 - Article
AN - SCOPUS:85029521078
SN - 1007-0214
VL - 22
SP - 458
EP - 468
JO - Tsinghua Science and Technology
JF - Tsinghua Science and Technology
IS - 5
M1 - 8030535
ER -