Skip to content

Latest commit

 

History

History
59 lines (43 loc) · 3.27 KB

poodle.md

File metadata and controls

59 lines (43 loc) · 3.27 KB

POODLE

POODLEは、2014年最後の(11月現在)大きな攻撃である。 SSLv3の仕様に致命的な脆弱性があり、ついにSSLが滅んだ。

概要

POODLEは Padding Oracle On Downgraded Legacy Encryption の略で、 パディングオラクル攻撃とダウングレード攻撃を組み合わせた攻撃である。 中間者攻撃の一種で、暗号文が解読される。

パディングオラクル攻撃とは、ブロック暗号の解読エラーを利用し、 暗号化されたデータを鍵無しで解読する攻撃方法である。 適当な文字列を暗号文として送りつけた時に、パディングが不正のときエラーを返すとヒントになってしまう。 何度も適当な文字列を送ることにより、パディングの正誤の情報を元に、鍵を知ることなく暗号文を解読できるらしい。 SSLv3をCBCというブロック暗号と組み合わせた時にこの攻撃が可能で、平均256回のリクエストで暗号文の1バイトが解読できるらしい。

通常ブラウザはSSLv3より新しいTLS 1.0, 1.1, 1.2などを使うが、 TLSでのリクエストに失敗した場合は自動的に古いバージョンのSSLv3を使おうとする。 (中間者である)攻撃者はTLSのリクエストを改竄するなどして、TLS通信を失敗させ、 無理やりSSLv3を使わせることが可能になる。 これをダウングレード攻撃という。

つまり中間者は

  1. ダウングレード攻撃で無理やりSSLv3を使わせ
  2. SSLv3で通信された暗号文を取得し
  3. オラクルパディング攻撃でその暗号を解読する

ことが可能である。

対応

各ブラウザベンダの対応は素早かった。 脆弱性が発覚した直後、各ブラウザは即座にSSLv3を殺したバージョンをリリースした。 ユーザはすぐにバージョンアップを適応すれば、特に大きな問題はなかったようだ。

サーバ管理者は、SSLv3を無効化しなくてはならない。 多くのWebサーバはデフォルトではSSLv3以降が有効になっている。 脆弱性が発覚したあとも、IE6などの古いブラウザがTLSをサポートしていないなどの理由で、 WebサーバはSSLv3をデフォルトで有効にし続けるようだ。 早くIE6滅んでくれマジで

ただ、サーバでSSLv3を殺すということはIE6の接続を拒否するということだ。 その他にも古いガラケーブラウザなども拒否される可能性がある。 あーこまったなー どうしよっかなー こわいからなー 拒否しちゃってもしょうがないよなー(棒)

やはりSSLv3は確実に殺すべきだ。 きちんと、確実に、容赦なく、殺せ。

総括

18年生き続けたSSLv3はついぞ死んだ。 もはやSSLv3をサポートするまともなブラウザはない。 そしてSSLの最終バージョンであるSSLv3が死んだことで、SSLは完全に終焉を迎えた。 暗号通信の規格はSSLの後継であるTLSに完全に移行したが、 セキュリティの代名詞としてSSLの名前は永遠に使われ続けるだろう。

そして!!! なにより!!! IE6が!!! 滅んだ!!!!!!!!!!!