Safe Composition of Web Communication Protocols for Extensible Edge Services


Autoria(s): Bradley, Adam D.; Bestavros, Azer; Kfoury, Assaf J.
Data(s)

20/10/2011

20/10/2011

22/05/2002

Resumo

As new multi-party edge services are deployed on the Internet, application-layer protocols with complex communication models and event dependencies are increasingly being specified and adopted. To ensure that such protocols (and compositions thereof with existing protocols) do not result in undesirable behaviors (e.g., livelocks) there needs to be a methodology for the automated checking of the "safety" of these protocols. In this paper, we present ingredients of such a methodology. Specifically, we show how SPIN, a tool from the formal systems verification community, can be used to quickly identify problematic behaviors of application-layer protocols with non-trivial communication models—such as HTTP with the addition of the "100 Continue" mechanism. As a case study, we examine several versions of the specification for the Continue mechanism; our experiments mechanically uncovered multi-version interoperability problems, including some which motivated revisions of HTTP/1.1 and some which persist even with the current version of the protocol. One such problem resembles a classic degradation-of-service attack, but can arise between well-meaning peers. We also discuss how the methods we employ can be used to make explicit the requirements for hardening a protocol's implementation against potentially malicious peers, and for verifying an implementation's interoperability with the full range of allowable peer behaviors.

National Science Foundation (ANI-9986397, CCR-9988529, ITR-0113193); GAANN Fellowship, U.S. Department of Education

Identificador

http://hdl.handle.net/2144/1663

Idioma(s)

en_US

Publicador

Boston University Computer Science Department

Relação

BUCS Technical Reports;BUCS-TR-2002-017

Palavras-Chave #Formal verification #HTTP #Interoperability #Model checking #Protocol composition
Tipo

Technical Report