Parsing Protocol Standards, Parsing Standard Protocols
30 October 2018
/ protocol-standards
I gave a talk at Loughborough
University last week, entitled “Parsing Protocol Standards,
Parsing Standard Protocols”, and will repeat it as a Systems
Section seminar in Glasgow later today. The talk introduces some of
the work we're doing in my EPSRC
project on Improving Protocol Standards for a more Trustworthy Internet.
The intended behaviour of the Internet is determined by a set of
technical standards that describe the underlying network protocols.
These standards define both the syntax of the protocols (packet formats
and the like) and their semantics. Standards are developed following a
consensus process. The outcome of this is a specification document
written as English text, that typically makes only limited use of
formalisms and other structured ways of describing the protocol.
This informal approach to specification is increasingly problematic.
There's no easy way to check such specifications for consistency, or to
verify whether implementations conform to the standards. And, despite
the best efforts of the standards setters, the resulting protocols
often contain ambiguities or vulnerabilities, and are difficult to
implement in a secure, interoperable, manner.
This talk will consider why standards are developed in this way, and
how we might begin to improve the standards development process. I’ll
consider one of the basic challenges in specifying a protocol: how to
describe the format of protocol data units in a way that fits the needs
to both the standards setters and the implementers, and that allows us
to automatically extract parsing code from protocol standards. I’ll
discuss the features of modern protocols that make their formats hard
to describe, and introduce a new approach we’re taking to specifying
and parsing protocol data.
The
slides are available.