タグ

関連タグで絞り込む (2)

タグの絞り込みを解除

redosとregexpに関するyuisekiのブックマーク (5)

  • ReDoSの回避

    (Last Updated On: 2018年8月8日)正規表現のアルゴリズムを攻撃するDoS攻撃のReDoSを可能な限り回避する方法を考えてみます。 追記: 破滅的なReDoSは非常に短い検索対象文字列でDoS攻撃が可能でした。念の為と思い、このエントリでは正規表現検索の対象文字列を短くする対策を紹介していましたが、この種の対策が効果があるケースがありました。 ReDoSに脆弱になる典型的な正規表現は以下のような正規表現です。 Evil Regex pattern examples (a+)+ ([a-zA-Z]+)* (a|aa)+ (a|a?)+ (.*a){x} | for x > 10 Payload: “aaaaaaaaaaaaaaaaaaX” 出典:CHECKMARX  2015 (PDF) マッチパターンが繰り返される正規表現が問題になります。 メールアドレスにマッチする正

    ReDoSの回避
  • ReDoS - Wikipedia

    A regular expression denial of service (ReDoS)[1] is an algorithmic complexity attack that produces a denial-of-service by providing a regular expression and/or an input that takes a long time to evaluate. The attack exploits the fact that many[2] regular expression implementations have super-linear worst-case complexity; on certain regex-input pairs, the time taken can grow polynomially or expone

  • 正規表現を使ったDoS – ReDoS

    (Last Updated On: 2018年8月8日)いつかは忘れるくらい前に正規表現のアルゴリズム自体を利用してDoS攻撃を行うReDoSが発表されていました。今まであまり気にしていなかったのですが、検索しても日語のページが出てこないようでした。詳しく知るためのリンクなどを紹介します。 少し検索して出て来た日語ページはHPのページでしたが、たまたまインデックスされていたページがヒットしたようでした。また記載されている情報は不十分でした。(ページ下のコピーライトからFortifyの情報のようです) 日語のページで良いものは無いようなので、ReDoSの英語ページ/PDFを紹介します。 Wikipedia OWASP CHECKMARX  2015 (PDF) CHECKMARX 2009 (PDF) 3つ目のCHECKMARXのPDFは解りやすいと思います。OWASPのページはCHE

    正規表現を使ったDoS – ReDoS
  • StackExchangeが攻撃されたReDoSの効果

    (Last Updated On: 2018年8月13日)StackExchangeがReDoS攻撃に遭いサイトがダウンした原因をStackExchangeのブログで紹介していました。 PHPへの影響があるか試してみました。結論を書くと、脆弱な正規表現を使っていて攻撃者が入力をコントロールできる場合、簡単に攻撃できるようです。PCRE、Onigurumaの両方で試してみましたがどちらも脆弱でした。 参考:正規表現でのメールアドレスチェックは見直すべき – ReDoS Onigurumaでは破滅的なReDoSが可能です。以前からメールアドレスのチェックに利用する正規表現には注意喚起していましが、どの程度浸透していたのだろうか? ReDoSとは ReDoSはこのブログでも紹介しています。正規表現のアルゴリズムを利用してDoS攻撃する攻撃です。 参考: 正規表現を使ったDoS – ReDoS R

    StackExchangeが攻撃されたReDoSの効果
  • 正規表現でのメールアドレスチェックは見直すべき – ReDoS

    (Last Updated On: 2018年8月13日)前のエントリでStackExchangeがReDoSで攻撃されサイトがダウンした問題を紹介しました。少しだけ掘り下げて見たところ、正規表現だけでメールアドレスをチェックしている場合、壊滅的なReDoS(十分短い文字列で指数関数的に実行時間が増加する)が可能なことが判りました。 結論を書くと、正規表現でのメールアドレスチェックは見直すべき、です。(特にRubyユーザー) 追記:影響範囲はメールアドレスチェックに限らないので、正規表現チェックは全体的に見直さないと、どこが脆弱なのか判りません。見直してチェックしたとしても、それが完全であったと保証することは困難です。ネット検索して直ぐに見つかった検索パターンは非常に脆弱であったこと、メールアドレスのマッチパターンは脆弱になりやすい繰り返しの繰り返しが含まれること、これらがあったのでタイト

    正規表現でのメールアドレスチェックは見直すべき – ReDoS
  • 1