Visible to the public Language-Agnostic Injection Detection

TitleLanguage-Agnostic Injection Detection
Publication TypeConference Paper
Year of Publication2020
AuthorsHermerschmidt, Lars, Straub, Andreas, Piskachev, Goran
Conference Name2020 IEEE Security and Privacy Workshops (SPW)
Date Publishedmay
Keywordscomposability, Conferences, data mining, formal languages, fuzzing, Metrics, privacy, pubcrawl, security, Software systems, taint analysis
AbstractFormal languages are ubiquitous wherever software systems need to exchange or store data. Unparsing into and parsing from such languages is an error-prone process that has spawned an entire class of security vulnerabilities. There has been ample research into finding vulnerabilities on the parser side, but outside of language specific approaches, few techniques targeting unparser vulnerabilities exist. This work presents a language-agnostic approach for spotting injection vulnerabilities in unparsers. It achieves this by mining unparse trees using dynamic taint analysis to extract language keywords, which are leveraged for guided fuzzing. Vulnerabilities can thus be found without requiring prior knowledge about the formal language, and in fact, the approach is even applicable where no specification thereof exists at all. This empowers security researchers and developers alike to gain deeper understanding of unparser implementations through examination of the unparse trees generated by the approach, as well as enabling them to find new vulnerabilities in poorly-understood software. This work presents a language-agnostic approach for spotting injection vulnerabilities in unparsers. It achieves this by mining unparse trees using dynamic taint analysis to extract language keywords, which are leveraged for guided fuzzing. Vulnerabilities can thus be found without requiring prior knowledge about the formal language, and in fact, the approach is even applicable where no specification thereof exists at all. This empowers security researchers and developers alike to gain deeper understanding of unparser implementations through examination of the unparse trees generated by the approach, as well as enabling them to find new vulnerabilities in poorly-understood software.
DOI10.1109/SPW50608.2020.00060
Citation Keyhermerschmidt_language-agnostic_2020