Skip to main content

2020 | OriginalPaper | Buchkapitel

RecordFlux: Formal Message Specification and Generation of Verifiable Binary Parsers

verfasst von : Tobias Reiher, Alexander Senier, Jeronimo Castrillon, Thorsten Strufe

Erschienen in: Formal Aspects of Component Software

Verlag: Springer International Publishing

Aktivieren Sie unsere intelligente Suche, um passende Fachinhalte oder Patente zu finden.

search-config
loading …

Abstract

Various vulnerabilities have been found in message parsers of protocol implementations in the past. Even highly sensitive software components like TLS libraries are affected regularly. Resulting issues range from denial-of-service attacks to the extraction of sensitive information. The complexity of protocols and imprecise specifications in natural language are the core reasons for subtle bugs in implementations, which are hard to find. The lack of precise specifications impedes formal verification.
In this paper, we propose a model and a corresponding domain-specific language to formally specify message formats of existing real-world binary protocols. A unique feature of the model is the capability to define invariants, which specify relations and dependencies between message fields. Furthermore, the model allows defining the relation of messages between different protocol layers and thus ensures correct interpretation of payload data. We present a technique to derive verifiable parsers based on the model, generate efficient code for their implementation, and automatically prove the absence of runtime errors. Examples of parser specifications for Ethernet and TLS demonstrate the applicability of our approach.

Sie haben noch keine Lizenz? Dann Informieren Sie sich jetzt über unsere Produkte:

Springer Professional "Wirtschaft+Technik"

Online-Abonnement

Mit Springer Professional "Wirtschaft+Technik" erhalten Sie Zugriff auf:

  • über 102.000 Bücher
  • über 537 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Maschinenbau + Werkstoffe
  • Versicherung + Risiko

Jetzt Wissensvorsprung sichern!

Springer Professional "Technik"

Online-Abonnement

Mit Springer Professional "Technik" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 390 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Maschinenbau + Werkstoffe




 

Jetzt Wissensvorsprung sichern!

Springer Professional "Wirtschaft"

Online-Abonnement

Mit Springer Professional "Wirtschaft" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 340 Zeitschriften

aus folgenden Fachgebieten:

  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Versicherung + Risiko




Jetzt Wissensvorsprung sichern!

Anhänge
Nur mit Berechtigung zugänglich
Fußnoten
1
Isabelle is an automated proof assistant, HOL can be used as a functional programming language that allows proving certain properties. We refer the interested reader to [24] for an introduction into the matter.
 
2
The init function returns a list without its last element.
 
3
RecordFlux is available as open source [5].
 
4
We refer the interested reader [18] for an introduction into the language including all of its beneficial properties.
 
Literatur
11.
Zurück zum Zitat Borisov, N., Brumley, D., Wang, H.J., Dunagan, J., Joshi, P., Guo, C.: Generic application-level protocol analyzer and its language. In: NDSS (2007) Borisov, N., Brumley, D., Wang, H.J., Dunagan, J., Joshi, P., Guo, C.: Generic application-level protocol analyzer and its language. In: NDSS (2007)
12.
Zurück zum Zitat Bratus, S., Patterson, M.L., Hirsch, D.: From shotgun parsers to more secure stacks. Shmoocon, Nov (2013) Bratus, S., Patterson, M.L., Hirsch, D.: From shotgun parsers to more secure stacks. Shmoocon, Nov (2013)
13.
Zurück zum Zitat Couprie, G.: Nom, a byte oriented, streaming, zero copy, parser combinators library in rust. In: 2015 IEEE Security and Privacy Workshops, pp. 142–148. IEEE (2015) Couprie, G.: Nom, a byte oriented, streaming, zero copy, parser combinators library in rust. In: 2015 IEEE Security and Privacy Workshops, pp. 142–148. IEEE (2015)
15.
Zurück zum Zitat ITU-T: Recommendation X.680 - Abstract Syntax Notation One (ASN.1): Specification of basic notation (2015) ITU-T: Recommendation X.680 - Abstract Syntax Notation One (ASN.1): Specification of basic notation (2015)
16.
Zurück zum Zitat Lions, J.L., et al.: Flight 501 failure. Report by the Inquiry Board (1996) Lions, J.L., et al.: Flight 501 failure. Report by the Inquiry Board (1996)
18.
Zurück zum Zitat McCormick, J.W., Chapin, P.C.: Building High Integrity Applications with SPARK. Cambridge University Press, Cambridge (2015)CrossRef McCormick, J.W., Chapin, P.C.: Building High Integrity Applications with SPARK. Cambridge University Press, Cambridge (2015)CrossRef
23.
Zurück zum Zitat Nethercote, N., Seward, J.: Valgrind: a framework for heavyweight dynamic binary instrumentation. In: ACM SIGPLAN Notices, vol. 42, pp. 89–100. ACM (2007) Nethercote, N., Seward, J.: Valgrind: a framework for heavyweight dynamic binary instrumentation. In: ACM SIGPLAN Notices, vol. 42, pp. 89–100. ACM (2007)
27.
Zurück zum Zitat Rodriguez, A., McGrath, R.E.: Daffodil: A New DFDL Parser (2010) Rodriguez, A., McGrath, R.E.: Daffodil: A New DFDL Parser (2010)
28.
Zurück zum Zitat Srinivasan, R.: XDR: external data representation standard. Technical report (1995) Srinivasan, R.: XDR: external data representation standard. Technical report (1995)
Metadaten
Titel
RecordFlux: Formal Message Specification and Generation of Verifiable Binary Parsers
verfasst von
Tobias Reiher
Alexander Senier
Jeronimo Castrillon
Thorsten Strufe
Copyright-Jahr
2020
DOI
https://doi.org/10.1007/978-3-030-40914-2_9