[論文レビュー] Static Analysis for Regular Expression Exponential Runtime via Substructural Logics
本稿では、バックトラッキングによる指数的実行時間のリスクを検出するための洗練された静的解析を提示する。非線形性として検索木の分岐をサブ構造論理でモデル化し、遷移関係を累乗および積によって合成することで、REDOS問題を到達可能性問題に還元する。これにより、形式的正しさの保証を得ながら、指数的ブロー・アップの正確な検出が可能になる。
Regular expression matching using backtracking can have exponential runtime, leading to an algorithmic complexity attack known as REDoS in the systems security literature. In this paper, we build on a recently published static analysis that detects whether a given regular expression can have exponential runtime for some inputs. We systematically construct a more accurate analysis by forming powers and products of transition relations and thereby reducing the REDoS problem to reachability. The correctness of the analysis is proved using a substructural calculus of search trees, where the branching of the tree causing exponential blowup is characterized as a form of non-linearity.
研究の動機と目的
- 正規表現のバックトラッキングに起因するアルゴリズム的複雑性攻撃(いわゆるREDOS)というセキュリティ脅威に対処すること。
- 過去の静的解析を改善し、指数的実行時間のレキシコンパターンをより正確に検出すること。
- サブ構造論理を用いて、検索木における非線形分岐として指数的ブロー・アップの原因を形式的に定式化すること。
- 遷移関係の代数的合成を通じて、REDOS検出問題を到達可能性問題に還元すること。
- 指数的実行時間の原因となるレキシコンパターンを特定する形式的検証済みで正確な静的解析を提供すること。
提案手法
- 状態をパターンおよび入力文字列内の位置で表す遷移系として正規表現マッチングをモデル化する。
- 検索木内の分岐行動を非線形リソース使用として表現し、サブ構造論理によって形式化する。
- すべての可能なマッチング経路をシミュレートし、指数的成長を検出するために、遷移関係の累乗および積を構築する。
- 指数的実行時間の検出問題を、合成された遷移系における到達可能性クエリに還元する。
- バックトラッキング中のリソース消費を捉えるサブ構造計算式を用いて、解析の正しさを証明する。
- その計算式を用いて、非線形分岐がマッチング時間における指数的ブロー・アップを引き起こす条件を特徴付ける。
実験結果
リサーチクエスチョン
- RQ1バックトラッキングに起因する指数的実行時間のリスクを持つ正規表現を、正確に特定することは可能か?
- RQ2指数的ブロー・アップを引き起こす非線形分岐行動を、形式的にどのようにモデル化できるか?
- RQ3指数的実行時間の検出を、構造的な遷移系における到達可能性問題に還元することは可能か?
- RQ4サブ構造論理は、正規表現マッチング中のリソース使用をどのように特徴付けるか?
- RQ5累乗および積による遷移関係の合成は、検出精度をどのように向上させるか?
主な発見
- 提示された解析は、検索木における非線形分岐をモデル化することで、指数的実行時間を引き起こす可能性のある正規表現を正確に特定する。
- サブ構造論理の使用により、リソース消費の形式的特徴付けが可能となり、非線形性と指数的ブロー・アップの直接的な関連が明確にされる。
- 遷移関係の累乗および積による合成により、過剰近似を伴わずに指数的挙動の正確な検出が可能になる。
- REDOS問題を到達可能性問題に還元することで、スケーラブルかつ形式的検証可能な解析が実現される。
- 本手法は、指数的挙動の真の原因を捉えることで、過去の静的解析よりも高い精度を達成する。
- 解析の正しさは、サブ構造計算式を用いて形式的証明されており、セキュリティが重要なアプリケーションにおける信頼性を保証する。
より良い研究を、今すぐ始めましょう
論文設計から論文執筆まで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。