このページの本文へ

正規表現由来の脆弱性を自動修正、NTTなどが新技術

2022年03月25日 05時37分更新

文● MIT Technology Review Japan

  • この記事をはてなブックマークに追加
  • 本文印刷

日本電信電話(NTT)と早稲大学の研究グループは、複雑な正規表現を含む文字列を入力することでコンピューターに負荷を与え、サービスの運用を妨害する「ReDoS(Regular expression Denial of Service)」攻撃を防ぐ技術を開発した。正規表現はWebサービスでユーザーの入力文字列の形式チェックなどで広く使われている手法だが、近年は利用可能な演算子が拡張されてルールが複雑化しており、脆弱性としてサイバー攻撃に利用されるケースが目立っている。

日本電信電話(NTT)と早稲大学の研究グループは、複雑な正規表現を含む文字列を入力することでコンピューターに負荷を与え、サービスの運用を妨害する「ReDoS(Regular expression Denial of Service)」攻撃を防ぐ技術を開発した。正規表現はWebサービスでユーザーの入力文字列の形式チェックなどで広く使われている手法だが、近年は利用可能な演算子が拡張されてルールが複雑化しており、脆弱性としてサイバー攻撃に利用されるケースが目立っている。 研究グループは、実際のソフトウェアで使われる正規表現における「ReDoS脆弱性」「ReDoS脆弱性がないことを保証する条件」「ReDoS脆弱性の修正問題」の3点を論理モデルとして明確に定義。定義された「脆弱性がないことを保証する」性質と、プログラムが満たすべき入出力の例をもとに、自動でReDoS脆弱性がないことを保証した正規表現を出力するアルゴリズムを考案した。このアルゴリズムは、修正対象となる正規表現と、利用者が望む正規表現に対する正しい例と誤った例を与えると、それらの例を正しく分類し、安全な正規表現を自動的に出力する。 アルゴリズムではReDoS脆弱性がないことを保証するため、正規表現の書き方から曖昧さを排除。任意の文字列に対してパターンマッチの方法を一意に定める条件を定義し、それに合う修正正規表現を出力させることによって、出力結果に理論的にReDoS脆弱性がないことを保証する。研究成果は、5月22~26日に開催される国際会議「 IEEE セキュリティとプライバシーに関するシンポジウム(Symposium on Security and Privacy)」で発表される予定。

(笹田)

カテゴリートップへ

アスキー・ビジネスセレクション

ASCII.jp ビジネスヘッドライン

ピックアップ