2018 · 96 citations · 19 references
ComputingComputer ScienceCybersecurityComputational LinguisticsComputer SecurityNatural Language ProcessingDenial Of Service VulnerabilitiesDenial-of-service AttacksComplexityEmpirical EvaluationLinear ComplexityPattern MatchingRegular Expression Denial Of ServiceRegular ExpressionsWorst-case Complexity
Regular expressions (regexes) are a popular and powerful means of automatically manipulating text. Regexes are also an understudied denial of service vector (ReDoS). If a regex has super-linear worst-case complexity, an attacker may be able to trigger this complexity, exhausting the victim’s CPU resources and causing denial of service. Existing research has shown how to detect these superlinear regexes, and practitioners have identified super-linear regex anti-pattern heuristics that may lead to such complexity.
19
Introduction to the Theory of Computation
Michael Sipser · ACM SIGACT News · 1996 · 2.8K citations
Programming Techniques: Regular expression search algorithm
Thompson Ken · Communications of the ACM · 1968 · 839 citations · Full text
Regular Expression Search Algorithm
I En Thompson · 1970 · 349 citations
Denial of service via algorithmic complexity attacks
Scott A. Crosby, Dan S. Wallach · 2003 · 319 citations