開発
脆弱性「FREAK」とは
beko
つい先日、SSL/TLSの実装の部分の脆弱性として、「FREAK」というものがでました。
この「FREAK」というのは「Factoring RSA Export Keys」の略で、通信する際のRSA暗号の強度を強いものから弱いものに変更することで、簡単にRSAの暗号を解読し、通信を傍受することができるといったもの。この脆弱性はSSLやTLSの通信プロトコルに関してのものなので、サーバ側とクライアント側の両方に存在しているとのこと。
今回のFREAKの起因は、SSLが出てきた1990年代のときに、NSAが外国でやりとりするセキュアな通信を傍受したいと考えていたため、米国国内では強度の強い暗号、外国では、弱い暗号を使用させるような規制を作りました。もちろん、この規制は2000年に廃止されたのですが、現在でもこのようなコードを使用しているものがあり、それが今回脆弱性として現れたようです。
では、実際にその脆弱性が存在するのか確認してみます。
まずはクライアント側から。
appleがSafariの脆弱性を修正していますが、私はまだアップデートしていなかったので、試してみましょう。
判別はこちらのサイトで行います。
chromeではいつのまにか対策されてました。
まず、OS Xの方はというと
やはり、ありますね。
ではSafariのアップデートしてから同じことやってみましょう。
問題なく修正されています。
chromeではいつのまにか対策されてました。
Safariは任意にアップデートしなくてはいけなく、chromeではいつのまにかなっているとは…。
ちなみに会津大学内のブラウザfirefoxではきちんとアップデートされており、安全な状態になっていました。
次にサーバ側というと↓のコマンドで確認できるので、試してます。
openssl s_client -connect [調べたいURL]:443 -cipher EXPORT
エラー文で「handshake failure」と出てくれば、そこのサイトは安全です。
やはり最初は会津大学のサイトだと思います。
さすがに大丈夫だったみたいです。
試しに、先ほどのサイトで表示されている、ゲオのオンラインサイトにアクセスしてみると
ゲオのオンラインサイトでは、この脆弱性がまだ治っていないようです。
この脆弱性の修正はほとんどのブラウザで修正されていると思われるので、まだアップデートしていない方は、すぐにアップデートをしてください。
しかし、NSAは恐ろしいことを考えていましたね。