RUS  ENG
Полная версия
ЖУРНАЛЫ // Труды института системного программирования РАН // Архив

Труды ИСП РАН, 2023, том 35, выпуск 3, страницы 109–124 (Mi tisp790)

REDoS detection in “Domino” regular expressions by Ambiguity Analysis

[Выявление REDoS cитуаций в регулярных выражениях структуры «домино»]

A. N. Nepeivodaa, Yu. A. Belikovab, K. K. Shevchenkob, M. R. Teriukhab, D. P. Knyazihinb, A. D. Delmanb, A. S. Terentyevab

a Ailamazyan Program Systems Institute of Russian Academy of Sciences
b Bauman Moscow State Technical University

Аннотация: Ситуация отказа в обслуживания регулярных выражений (REDoS) возникает в случае высокой вычислительной сложности сопоставления строки с выражением и встречается во многих библиотеках регулярных выражений таких языков, как PYTHON, JAVASCRIPT, C++. В данной статье рассматривается класс регулярных выражений, которые создают угрозу возникновения REDoS, однако не распознаются как уязвимые рядом существующих программных систем. Предлагается производить оценку степени неоднозначности таких выражений посредством комбинирования проверки на строгую звёздную нормальную форму и анализа трансформационного моноида автомата Глушкова, построенного по входному регулярному выражению. Эксперименты показывают, что данный подход оказывается эффективен при оценке полиномиальных неоднозначностей в регулярных выражениях со сложной структурой перекрытий.

Ключевые слова: регулярные выражения, неоднозначность, REDoS, автомат Глушкова, трансформационный моноид, сильная звёздная нормальная форма

Язык публикации: английский

DOI: 10.15514/ISPRAS-2023-35(3)-8



© МИАН, 2024