Libna Kuriakose T Parvathy C M Dr. Ezudheen P Abraham Jacob Rahul Gopinath From Theory to Practice: Government Engineering College Thrissur, Kerala, India Mettle Networks, Kerala, India University of Sydney Blackbox Testing in an Industrial Telecom Environment
wanted to test the software under: - Blackbox Access (only remote access) - Wanted Statistical Security Guarantees (ideal) - Product could not be instrumented. Fuzzer 6
Industrial Settings Blackbox testing is often the only option – Industrial systems internals often can't be inspected due to restrictions – Legal/IP – Operational
with Kaitai Struct •Built the initial hypothesis from documentation •Explored the given system under blackbox conditions •Used mutated known and mutated packets as alphabet We were only given an ssh login to a system that had vPPE client setup
grammar for accuracy and completeness •PAC guarantee: ε = 0.1, δ = 0.1 i.e. Within 10% of true protocol with 90% confidence •Testing Metrics •Precision = 0.93 •Recall = 0.94 •F1 2*P*R/(P+R) = 0.94 •Structural Coverage: •Protocol coverage: Grammar depth of k-path = 3 •Code coverage: 33.6% for the selected test cases N N>=93
packets were unreliable, and hence cannot be captured • State ambiguity: Malformed packets sometimes ignored, sometimes not • Server-initiated requests: Interleaved with client requests, hard to model • Single client limitation: Hard to test non-responsive/concurrent states Protocol issues found: • Non-standard sequences (unexpected behaviour) • Validation gaps in authentication & address handling • Optimization opportunities under abnormal conditions
performance critical telecom system • No source code access or instrumentation • Unreliable documentation • Specification inference with L*, and packet generation with KaitaiStruct • Results • PAC guarantee: 10% maximum error, with 90% confidence • F1 score of 0.94 • Discovered several unknown behaviours, reported to mettle, and fixed. • Our experience shows the practical value in blackbox testing with grammar inference and structure aware packet generation