@inproceedings{65dcdbc3b4e74f59b5c67e248f6399bb,
title = "Parsifal: A Pragmatic Solution to the Binary Parsing Problems",
abstract = "Parsers are pervasive software basic blocks: as soon as a program needs to communicate with another program or to read a file, a parser is involved. However, writing robust parsers can be difficult, as is revealed by the amount of bugs and vulnerabilities related to programming errors in parsers. It is especially true for network analysis tools, which led the network and protocols laboratory of the French Network and Information Security Agency (ANSSI) to write custom tools. One of them, Parsifal, is a generic framework to describe parsers in OCaml, and gave us some insight into binary formats and parsers. After describing our tool, this article presents some use cases and lessons we learned about format complexity, parser robustness and the role the language used played.",
keywords = "Binary parsers, Code generation, OCaml, Parsifal, Preprocessor",
author = "Olivier Levillain",
note = "Publisher Copyright: {\textcopyright} 2014 IEEE.; 2014 IEEE Computer Society's Security and Privacy Workshops, SPW 2014 ; Conference date: 17-05-2014 Through 18-05-2014",
year = "2014",
month = nov,
day = "13",
doi = "10.1109/SPW.2014.35",
language = "English",
series = "Proceedings - IEEE Symposium on Security and Privacy",
publisher = "Institute of Electrical and Electronics Engineers Inc.",
pages = "191--197",
booktitle = "Proceedings - 2014 IEEE Security and Privacy Workshops, SPW 2014",
}