MacのChromeでPOODLE脆弱性対策(Automatorを使う)

2014/11/19更新:今日公開されたChrome 39で対策済み…のはずですが、まだ確認サイトで確認すると「脆弱性!」と出ます。現在状況確認中。
2014/4/15更新:今日公開されたChrome 42ではもうPOODLE対策されてました。どうやら Chrome 40 で対策済みだった ようです。気付き遅れましたorz
heartbleed やら shellshock やらいろいろ脆弱性が漏れ出てくるのですが、今回は SSLv3 終了のお知らせがやってきました。

SSL 3.0は15年前の古いバージョンではあるが、いまだにこのバージョンを使っているWebサイトが多数あるという。また、Webブラウザのほとんどは、HTTPSサーバのバグによりページに接続できない場合、SSL 3.0を含む旧版のプロトコルでリトライするという形でSSL 3.0もサポートしている。
この脆弱性を悪用すると、パスワードやクッキーにアクセスでき、Webサイト上のユーザーの個人情報を盗めるようになってしまうという。
SSL 3.0に深刻な脆弱性「POODLE」見つかる Googleが対策を説明 - ITmedia ニュース

「POODLE(Padding Oracle On Downgraded Legacy Encryption)」と命名されたこの脆弱性は、SSL 3.0で使用されるCBC暗号アルゴリズムに問題があるもの。脆弱性が悪用された場合、攻撃者が傍受したHTTPSトラフィックから、暗号化されたトラフィックの一部(認証Cookieなど)が解読される恐れがある。
Google、SSL 3.0の脆弱性「POODLE」を公表、SSL 3.0は今後サポート廃止の意向 -INTERNET Watch

SSL 3.0は1995年に発表された技術であり、Netscape Navigator 2.0において実装されて以来、現在ではほぼすべてのWebブラウザで利用できるようになっている。とはいえ、現在ではより改良が進められたTLSがほとんどのWebブラウザで利用可能であり、SSL 3.0を積極的に利用する理由はない。そのため、ChromeではすでにSSL 3.0のサポートを廃止しており、またMozillaFirefox 34ではデフォルトでのサポートを廃止することを表明している。
SSL 3.0に深刻な脆弱性が見つかる | スラッシュドット・ジャパン セキュリティ

POODLE 脆弱性を確認するサイトも出来ています。
SSLv3 Poodle Attack Check
脆弱性が無いと脆弱性があるとと表示されます。
その他の確認サイト
Qualys SSL Labs - Projects / SSL Client Test

対策は、当然ですが SSL 3.0 (SSLv3)を利用しないように設定することです。
私が普段使っている MacChrome でこの POODLE 脆弱性対策をしましたので、記録として残しておきます。いずれ対策版 ChromeGoogle から出されるでしょうから、それまでの対策としてご利用ください。

ターミナルで起動する場合(使い勝手が悪い)

$ open -a "Google Chrome.app" --args --ssl-version-min=tls1

このように起動オプションに--ssl-version-min=tls1を付けることで SSLv3 での接続を行わないようにすることが出来ます。
のですが…これではターミナルを終了すれば Chrome も終わってしまいますし、しかも普段使っている Dock からの起動できないので面倒です。オススメできません。

Automatorを使う

POODLE 脆弱性対策した Chrome を Dock から起動できるように設定しましょう。

  1. Automator を起動します。
  2. 「書類の種類を選択してください」で「アプリケーション」を選択します。
  3. 左側にライブラリを表示し、左カラムで「ライブラリ>ユーティリティ」を選択し、右カラムの「シェルスクリプトを実行」をダブルクリックします。
  4. 右側の「シェルスクリプトを実行」の下で"cat"が入っている部分に
    open -a "Google Chrome.app" --args --ssl-version-min=tls1
    をペーストします。
  5. 保存します。私は「アプリケーション」フォルダに "Google Chrome POODLE.app" という名称で保存しました。
  6. 元の Chrome と、いま作った "Google Chrome POODLE.app" と、両方を選択して「情報を見る」(⌘I)で情報ウィンドウを出します。
  7. Chrome の情報ウィンドウのアイコン(目玉っぽいやつ)をクリックすると青っぽく縁取られますのでコピー(⌘C)します。そして "Google Chrome POODLE.app" のアイコン部分(ロボットっぽいアイコンになってると思いますが、もしかすると別アイコンになっているかもしれません)を選択し、ペースト(⌘P)します。
  8. 情報ウィンドウを閉じます。
  9. "Google Chrome POODLE.app" アイコンをDockへドラッグ&ドロップします(もしも元の Chrome を Dock に登録していた場合は、間違えないように予め削除しておきましょう)。

これにより、いつもの目玉アイコンをクリックすれば、 POODLE 脆弱性対策した Chrome を起動できます。

確認方法

通信的な確認(こっちが重要

環境的な確認(設定した状況で Chrome が起動しているか

  • アドレスバーに"chrome://version"を入力して表示される画面で、「コマンドライン」項目に "--ssl-version-min=tls1" が含まれているか
  • ターミナルでプロセスを確認して Chrome 関係の行が出力されるか
$ ps ax | grep ssl-version-min=tls1
 1744   ??  S      5:37.24 /Applications/Google Chrome.app/Contents/MacOS/Google Chrome --ssl-version-min=tls1 --profile-directory=Default
 3275 s000  R+     0:00.00 grep ssl-version-min=tls1

問題点

  1. "Google Chrome POODLE.app" は Chrome のランチャーに過ぎないので、 Dock に目玉アイコンが二つ並ぶことになります。

    上側が "Google Chrome POODLE.app" で下側がホンモノの Chrome です。数ヶ月経てば対策版の Chrome に更新されるでしょうから、それまでの経過措置としてガマンしてください。
  2. ときどきアイコンが元のロボットっぽいアイコンに戻ってしまうようです。目玉アイコンを再度ペーストしてください。
  3. 私の場合は Chrome のタブ設定がリセットされてしまいました。 Chrome の設定画面の「起動時」部分で「前回開いていたページを開く」を選択してください。

参考

  • osx - How do I pass command line arguments to Dock items? - Super User
  • 起動オプション - Google Chrome まとめWiki