Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

タグ

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

タグの絞り込みを解除

ReDoSに関するshckorのブックマーク (3)

  • 第74回 正規表現の脆弱性「ReDoS」徹底解説 ~原理と対策から、Perlでの最適化まで(2) | gihyo.jp

    Perl Hackers Hub 第74回正規表現の脆弱性「ReDoS」徹底解説 ~原理と対策から、Perlでの最適化まで(2) 連載では第一線のPerlハッカーが回替わりで執筆していきます。今回のハッカーは藤浪大弥さんで、テーマは「ReDoS徹底解説」(⁠2)です。 <前回(1)はこちら。> ReDoS対策あれこれ ReDoSの対策として、有効な順に次のものがあります。 セッション単位のタイムアウトの利用 DFA型のマッチ実装の利用 入力の長さの制限 ReDoS検出実装の利用 そもそも正規表現を利用しない マッチ単位のタイムアウトの利用 これらの対策について解説します。 セッション単位のタイムアウトの利用 ReDoS対策と言うよりは一般的なDoS対策なのですが、最も有効で基的な対策は、セッション単位でタイムアウトを行うことです。PlackやRackなどのミドルウェアを使って実現できる

    第74回 正規表現の脆弱性「ReDoS」徹底解説 ~原理と対策から、Perlでの最適化まで(2) | gihyo.jp
  • 正規表現の脆弱性 (ReDoS) を JavaScript で学ぶ

    先日、このようなツイートを書いたところ、かなりの反響がありました。 JavaScript の正規表現の脆弱性の例でいうと、例えば /\s+$/ は脆弱性があると言える console.time(); /\s+$/.test(" ".repeat(65536) + "a"); console.timeEnd(); 結構時間がかかるのがわかる。でも /\s+$/ を見て「これは危険だな」と理解出来る人はそんなにいない。JavaScript に限らないけれど。 — Takuo Kihira (@tkihira) February 17, 2022 これは一般に ReDoS (Regular expression Denial of Service) と呼ばれる脆弱性です。正確に理解するのが難しい脆弱性なので、少し解説してみたいと思います。 結論 長い記事になるので、最初に「とりあえずこれだけ知っ

  • 第74回 正規表現の脆弱性「ReDoS」徹底解説 ~原理と対策から、Perlでの最適化まで(1) | gihyo.jp

    Perl Hackers Hub 第74回正規表現の脆弱性「ReDoS」徹底解説 ~原理と対策から、Perlでの最適化まで(1) 連載では第一線のPerlハッカーが回替わりで執筆していきます。今回のハッカーは藤浪大弥さんで、テーマは「ReDoS徹底解説」(⁠1)です。 ReDoS解説にあたって─⁠─ 稿の構成など 正規表現に関わる脆弱性として「ReDoS」があります。稿の前半では、ReDoSとはどんな脆弱性でなぜ発生するのか理論的な立場から詳細に解説し、対策のためにすることをいくつか紹介します。後半では、ReDoSへの対策あるいはマッチの高速化のための、Perlでの正規表現実装上の工夫を紹介します。 後半で説明しますが、Perlの正規表現実装にはさまざまな工夫があり、標準的な実装とはやや異なる部分があります。Perlを使ってReDoSの説明をすると質的でない部分が生じてわかりづらく

    第74回 正規表現の脆弱性「ReDoS」徹底解説 ~原理と対策から、Perlでの最適化まで(1) | gihyo.jp
  • 1