90 likes | 205 Vues
This study presents a systematic methodology for evaluating the robustness of application layer protocols against faulty Protocol Data Units (PDUs). We define key terms and categorize protocols into stateless and stateful types, highlighting their respective vulnerabilities. The research focuses on the generation of syntactically and semantically faulty PDUs using advanced algorithms and pruning strategies. We conduct experiments to assess different protocol implementations' robustness, demonstrating that implementations exhibit varied behaviors in response to faulty inputs. Our findings suggest implications for future testing frameworks.
E N D
ASPIRE: Automated Systematic Protocol Implementation Robustness Evaluation
CONTENT • Introduction • Definitions & Taxonomy of Application Layer Protocols • Fault Generation Algorithms • Experiments & Conclusions
Introduction • Robustness – Ability of an implementation to handle exceptional input in the form of faulty PDUs and continue normal protocol operation • Protocol implementations differ in their behavior on faulty inputs • Challenge in automated robustness protocol testing is systematic generation of faulty inputs • Taxonomy of Application layer protocols used to design test cases for testing robustness
Defnitions • PDU : <c1,…cn>; ci = control fields • Protocol Specification: Defines syntax, semantics and allowed sequences of PDUs • Protocol Implementation: P={Si|Si=[<p1,h1,a1>….<pn,hn,an>]}; P=set of sequences, each triple<pi, hi, ai> represents an action ai (send or receive) on PDU pi by host hi
Taxonomy of Application Layer Protocols • Stateless Protocols - HTTP: State information about a client (record of transaction) is not maintained; susceptible to syntactical faulty PDUs • Stateful Protocols – SMTP: State information about a client until the transaction is over is maintained; susceptible to semantic faulty PDUs
Fault Generation Algorithms • Generating syntactically faulty PDUs : Maximally faulty PDUs grow exponentially in the number of fields – Pruning Strategy (pair wise testing constraint) • Generating semantically faulty PDUs : Semantic faulty PDUs grow polynomially (manageable); Test case consists of a state, list of semantically faulty PDUs related to that state and sequence of correct PDUs which will drive the protocol to that state
Experiments & Conclusions • Evaluated Hypotheses: - Protocol implementations differ in their behavior in terms of robustness to faulty PDU input for both stateful & stateless protocols - Pair wise constraint in the pruning strategy does not reduce the capacity to evaluate robustness of different implementations
Metrics -Reduced ratio = syntactic faulty PDUs by the generation algorithm / combinatorial enumeration - Robustness ratio = number of faulty inputs that were handled by implementation by continuing normal operation / total number of faulty inputs • Results show the following to prove the hypotheses: • Average robustness ratio is not different for syntactic faulty PDUset of all posssible faulty PDUs • Average robustness ratio of different implementations is different for semantic & syntactic faults