90 likes | 200 Views
ASPIRE: Automated Systematic Protocol Implementation Robustness Evaluation. CONTENT. Introduction Definitions & Taxonomy of Application Layer Protocols Fault Generation Algorithms Experiments & Conclusions. Introduction.
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