Static Analysis for Regular Expression Denial-of-Service Attacks
James Kirrage, Asiri Rathnayake, Hayo Thielecke

TL;DR
This paper introduces a static analysis method to detect regular expressions vulnerable to exponential-time denial-of-service attacks, providing precise vulnerability localization and malicious input generation with efficient performance.
Contribution
It presents a theoretically grounded static analysis tool that outperforms fuzzing in speed and accuracy for identifying vulnerable regexes and generating test inputs.
Findings
Successfully identified vulnerable regexes in large repositories
Analysis runs in seconds, enabling rapid security assessments
Provides malicious input examples for security testing
Abstract
Regular expressions are a concise yet expressive language for expressing patterns. For instance, in networked software, they are used for input validation and intrusion detection. Yet some widely deployed regular expression matchers based on backtracking are themselves vulnerable to denial-of-service attacks, since their runtime can be exponential for certain input strings. This paper presents a static analysis for detecting such vulnerable regular expressions. The running time of the analysis compares favourably with tools based on fuzzing, that is, randomly generating inputs and measuring how long matching them takes. Unlike fuzzers, the analysis pinpoints the source of the vulnerability and generates possible malicious inputs for programmers to use in security testing. Moreover, the analysis has a firm theoretical foundation in abstract machines. Testing the analysis on two large…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsAdvanced Malware Detection Techniques · Software Testing and Debugging Techniques · semigroups and automata theory
