The Impact of Regular Expression Denial of Service (ReDoS) in Practice: An Empirical Study at the Ecosystem Scale.

dc.contributor.authorDavis, James C.
dc.contributor.authorCoghlan, Christy A.
dc.contributor.authorServant-Cortés, Francisco Javier
dc.contributor.authorLee, Dongyoon
dc.date.accessioned2024-10-30T13:21:49Z
dc.date.available2024-10-30T13:21:49Z
dc.date.issued2018
dc.departamentoInstituto de Tecnología e Ingeniería del Software de la Universidad de Málaga
dc.description.abstractRegular 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. In this paper, we empirically study three major aspects of ReDoS that have hitherto been unexplored: the incidence of super-linear regexes in practice, how they can be prevented, and how they can be repaired. In the ecosystems of two of the most popular programming languages — JavaScript and Python – we detected thousands of super-linear regexes affecting over 10,000 modules across diverse application domains. We also found that the conventional wisdom for super-linear regex anti-patterns has few false negatives but many false positives; these anti-patterns appear to be necessary, but not sufficient, signals of super-linear behavior. Finally, we found that when faced with a super-linear regex, developers favor revising it over truncating input or developing a custom parser, regardless of whether they had been shown examples of all three fix strategies. These findings motivate further research into ReDoS, since many modules are vulnerable to it and existing mechanisms to avoid it are insufficient. We believe that ReDoS vulnerabilities are a larger threat in practice than might have been guessed.es_ES
dc.description.sponsorshipNational Science Foundation CNS-1814430, and a Google Faculty Research Award.es_ES
dc.identifier.citationJames C. Davis, Christy A. Coghlan, Francisco Servant, and Dongyoon Lee. 2018. The impact of regular expression denial of service (ReDoS) in practice: an empirical study at the ecosystem scale. In Proceedings of the 2018 26th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC/FSE 2018). Association for Computing Machinery, New York, NY, USA, 246–256. https://doi.org/10.1145/3236024.3236027es_ES
dc.identifier.urihttps://hdl.handle.net/10630/34959
dc.language.isoenges_ES
dc.publisherAssociation for Computing Machinery (ACM)es_ES
dc.relation.eventdateNoviembre 2018es_ES
dc.relation.eventplaceLake Buena Vista, Floridaes_ES
dc.relation.eventtitleJoint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC/FSE)es_ES
dc.rightsAttribution-NonCommercial-NoDerivatives 4.0 Internacional*
dc.rights.accessRightsopen accesses_ES
dc.rights.urihttp://creativecommons.org/licenses/by-nc-nd/4.0/*
dc.subjectIngeniería del softwarees_ES
dc.subjectSeguridad informáticaes_ES
dc.subjectSoporte lógico - Protecciónes_ES
dc.subject.otherempirical software validationes_ES
dc.subject.othersoftware security and privacyes_ES
dc.subject.othersoftware engineeringes_ES
dc.titleThe Impact of Regular Expression Denial of Service (ReDoS) in Practice: An Empirical Study at the Ecosystem Scale.es_ES
dc.typeconference outputes_ES
dspace.entity.typePublication
relation.isAuthorOfPublicationb5f2808e-94a0-4ab9-ba6e-9e121af1dd03
relation.isAuthorOfPublication.latestForDiscoveryb5f2808e-94a0-4ab9-ba6e-9e121af1dd03

Files

Original bundle

Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
2018-FSE-3-self-archival.pdf
Size:
1.29 MB
Format:
Adobe Portable Document Format
Description: