作者: James Kirrage , Asiri Rathnayake , Hayo Thielecke
DOI: 10.1007/978-3-642-38631-2_11
关键词:
摘要: Regular expressions are a concise yet expressive language for expressing patterns. For instance, in networked software, they used input validation and intrusion detection. Yet some widely deployed regular expression matchers based on backtracking themselves vulnerable to denial-of-service attacks, since their runtime can be exponential certain strings. This paper presents static analysis detecting such expressions. The running time of the compares favourably with tools fuzzing, that is, randomly generating inputs measuring how long matching them takes. Unlike fuzzers, pinpoints source vulnerability generates possible malicious programmers use security testing. Moreover, has firm theoretical foundation abstract machines. Testing two large repositories shows is able find significant numbers matter seconds.