タグ

ブックマーク / www.rcc.ritsumei.ac.jp (1)

  • 20日目: 正規表現が ReDoS 脆弱になる 3 つの経験則

    はじめに 皆さんこんにちは.3回生のらん(@hoshina350)です. 文字列マッチングに便利な正規表現ですが,テキトーに書くと脆弱になり得るという情報を耳にしてから色々と原因や対策を調べていました. しかし,多くの記事で紹介されていた対策方法は,「独自の正規表現を使用しないー」とか「 * や + などの繰り返し表現はなるべく使わないー」とかいう なんともふわっとしたものでした.これでは「いやぁ確かにそうなんかもしれんけど…そうゆう訳にはいかんやんか…」と納得できません. つまり,「質的に何が問題」で,「具体的にどんな特徴のある正規表現が脆弱になり得るのか」を知りたい訳です. そこで,様々な文献を調査してみました.記事では調査して溜まった知見を紹介していきます. 記事は, Purdue大学のJames Davis教授による “The Regular Expression Denia

    20日目: 正規表現が ReDoS 脆弱になる 3 つの経験則
    ginpei
    ginpei 2021/12/21
    実行に時間がかかる正規表現の仕組みや回避方法の丁寧な解説。指数関数的に伸びたりするので短い入力で試すうちは気付けない。/(a+)+b/という簡単なものでも20文字超えると組み合わせ爆発。
  • 1