正则表达式拒绝服务攻击的静态分析
正则表达式在许多编程场景中被广泛使用,但某些正则表达式可能存在指数级膨胀的问题,从而导致拒绝服务(DoS)攻击。本文将介绍一种静态分析方法,用于检测正则表达式中的指数级膨胀风险,并生成相应的恶意输入示例。
1. 基本概念
- PWπ 机器 :用于搜索匹配前缀的非确定性机器。在交替或 Kleene 节点处进行分支选择。虽然在实际中不太实用,但为回溯正则表达式匹配器提供了精确模型。
- PWFπ 机器 :由 PWπ 机器栈组成。其转换规则如下:
- $\langle p ; w\rangle \to \langle q ; w’\rangle$ 时,$\langle p ; w\rangle :: f \to \langle q ; w’\rangle :: f$
- $\langle p ; w\rangle \not\to$ 时,$\langle p ; w\rangle :: f \to f$
- $\langle p ; w\rangle \to \langle q_1 ; w\rangle$ 且 $\langle p ; w\rangle \to \langle q_2 ; w\rangle$ 时,$\langle p ; w\rangle :: f \to \langle q_1 ; w\rangle :: \langle q_2 ; w\rangle :: f$
初始状态为 $[\langle p_0 ; w\rangle]$。当其中一个 PWπ 机器找到匹配或所有机
超级会员免费看
订阅专栏 解锁全文
959

被折叠的 条评论
为什么被折叠?



