『C○Cer○M○n』と伏字にしたのには理由があって、androidのアプリを紹介するサイトでツイートを勝手にレビューのページに引用するサイトがあるので、私の認識不足やSSL認証に関しての浅い理解が原因でアプリ作者の方にご迷惑を掛けては申し訳ないのがその理由です。
予備知識が必要ない方はC○Cer○M○nを試した感想にジャンプできます。
日本ベリサインが発行したPDFです。
参考資料
マイクロソフト セキュリティ アドバイザリ (2798897)
不正なデジタル証明書により、なりすましが行われる 公開日: 2013年1月7日
*.google.com
*.android.com
*.appengine.google.com
*.cloud.google.com
*.google-analytics.com
*.google.ca
*.google.cl
*.google.co.in
*.google.co.jp
*.google.co.uk
*.google.com.ar
*.google.com.au
*.google.com.br
*.google.com.co
*.google.com.mx
*.google.com.tr
*.google.com.vn
*.google.de
*.google.es
*.google.fr
*.google.hu
*.google.it
*.google.nl
*.google.pl
*.google.pt
*.googleapis.cn
*.googlecommerce.com
*.gstatic.com
*.urchin.com
*.url.google.com
*.youtube-nocookie.com
*.youtube.com
*.ytimg.com
android.com
g.co
goo.gl
google-analytics.com
google.com
googlecommerce.com
urchin.com
youtu.be
youtube.com
1月11日夜現在で
【C○Cer○M○nを試した感想】
さて、ここまで理解した上で表題の『C○Cer○M○n』の件に話を移します。
『C○Cer○M○n』以外にbksを書き換える方法をネットで探したところ、Java SDKにてkeytoolなるもので対応できそうでしたが、ADB同様の操作が必要で、
・自分のPCのOSを先日Win7にしたのでいろいろなソフトが未インストールで面倒くさい
・他にステキな方法を発見した!
Android 2xでの対策方法見つけました。
さて、C○Cer○M○nの件に入る前に今回の騒動を少し解説します。
予備知識が必要ない方はC○Cer○M○nを試した感想にジャンプできます。
まずは今回の『Googleドメイン向けの不正証明書、主要ブラウザメーカーが失効措置』について
前々回書いた記事がこちら
何言ってるのかよくわからない人もいると思いますが、androidにおける中間CA証明書に関して非常にわかりやすく解説している資料を見つけましたので、一度御覧ください。
Android 端末でも 欠かせないセキュリティ対策 SSLによる暗号化通信
日本ベリサインが発行したPDFです。
で、今回TURKTRSUT社が手違いを犯し、本来は単なるサーバー証明書を発行するだけのユーザーに、中間CA証明書を発行してしまいました。
2社か2人か書いてないのでわかりませんが、その内の1社(1人)がすでに悪用して、*.google.comになりすましたことが米Googleのセキュリティブログで報告されています。
これにより、最悪のケースを例に出しますと
ソフトバンクやNTT系列・auなどの公衆無線LANサービスになりすましてあなたのスマホやタブレット端末に接続し、Googleなど(※1)になりすましてあなたの端末に不正にアクセスして個人情報を盗み取るだけではなく、あなたが気づかないようにファームを書き換えた上であなたのスマホを偽装テザリング用の装置として動作させ、電車内や街中で公衆無線LANサービスと思ってアクセスしてきた善意の第3者の端末をあなたのスマホと同じように不正に操作することが可能です。
あくまで最悪のケースの話で現実的とは思いませんが、この不正を実行するのに必要なスキルが比較的低く、かつ、影響する範囲が甚大なため、マイクロソフト・GoogleやFirefoxを始め各OS・ブラウザの制作会社が一斉に対応に出始めました。
※1 偽装される可能性があるのはGoogleだけではありません。
参考資料
マイクロソフト セキュリティ アドバイザリ (2798897)
不正なデジタル証明書により、なりすましが行われる 公開日: 2013年1月7日
【偽装が予想されるドメイン】
*.google.com
*.android.com
*.appengine.google.com
*.cloud.google.com
*.google-analytics.com
*.google.ca
*.google.cl
*.google.co.in
*.google.co.jp
*.google.co.uk
*.google.com.ar
*.google.com.au
*.google.com.br
*.google.com.co
*.google.com.mx
*.google.com.tr
*.google.com.vn
*.google.de
*.google.es
*.google.fr
*.google.hu
*.google.it
*.google.nl
*.google.pl
*.google.pt
*.googleapis.cn
*.googlecommerce.com
*.gstatic.com
*.urchin.com
*.url.google.com
*.youtube-nocookie.com
*.youtube.com
*.ytimg.com
android.com
g.co
goo.gl
google-analytics.com
google.com
googlecommerce.com
urchin.com
youtu.be
youtube.com
で、【対応策】
1月11日夜現在で
VISTA以降のWindows:Windows Update【あるいは手動パッチあて】で対策可(すでに自動でUpdateされてるかも)
iPhone・iPad:ユーザーがとれる対策なし
Android 2.x:対策なし
【これ、たぶんC○Cer○M○nでは無理。PCでADBやkeytoolで可能かも?】
【1月23日 2xの有効策を一応見つけました。この記事の一番下】Android 4.x:ユーザーの手動設定にて対策可能
【1月12日 Android 4x にて有効な対策であることを確認しました】Firefoxブラウザ開発元のMozillaは、手違いで発行された中間証明書のうち少なくとも1件が、通信に割り込む「中間者トラフィック」操作の手口に利用された恐れがあると指摘した。
https://www.itmedia.co.jp/enterprise/articles/1301/08/news029.html
■前スレ
*.google.com 乗っ取り事件、Androidは管理者モードで絶望的状況。中間者攻撃も確認。
https://engawa.2ch.net/test/read.cgi/poverty/1357616945/■対策
=== PC ===
・Windows Vista/7/8
Windows Updateするとブラウザ問わずOSレベルで対策される(たぶん自動で既に対策済み)
【手動パッチでも対応可】
・Windows XP
IE → Windows Updateしろ。
Opera → 最強伝説なので既に対策済みバージョン配布中。
Firefox → 明日1月8日に対策版を公開予定
Chrome → 1月中に対策版を公開予定
Safari → ()
・Mac
ユーティリティ → キーチェーンアクセス → (TURKTRUST関連の)情報を見る → 信頼 → 「信頼しない」に変更=== スマホ ===
・Windows Phone
なにそれ?
・iPhone/iPad/iPod touch
対策なし。アップルを信じて祈れ。情報流出・フィッシング詐欺に注意。
・Android 2.x
対策なし。偽Google特権で情報流出どころかOS書き換えできるほど遠隔操作し放題。
遠隔操作で児童ポルノをダウンロード、誤認逮捕されたくなければ直ちに電源を切れ。
【これ、たぶんC○Cer○M○nでは無理。PCでADBやkeytoolで可能かも?】
【1月23日 2xの有効策を一応見つけました。この記事の一番下】・Android 4.x
手動対策可能。手動で対策しないとAndroid 2.xと同じ状況なので、友人知人にも大至急教えてあげよう。【これ、たぶんC○Cer○M○nでは無理。PCでADBやkeytoolで可能かも?】
【1月12日Android 4x にて手動での無効化が有効な対策であることを確認しました】(from 2chのどっかのまとめ)【○○○】は私個人で追記しました
【C○Cer○M○nを試した感想】
さて、ここまで理解した上で表題の『C○Cer○M○n』の件に話を移します。
冒頭部分の『Android 端末でも 欠かせないセキュリティ対策 SSLによる暗号化通信』を読んでわかるように、android2xにおいてcacerts.bksからTURKTRUSTを2つ削除しても正規のgoogle.comにアクセスできるはずです。
ところがC○Cer○M○nでTURKTRUSTを2つ削除して作成したbks(私の場合で140.96KBのbks)ではGoogle Playや内蔵ブラウザなどバックグラウンドでgoogle.comと通信をするアプリはエラーで反応しなくなったり落ちたりします。
TURKTRUSTが間違って発行した中間CA証明書により偽の*.google.comが正規の*.google.comになりすますのが問題なのであって、正規の*.google.comがTURKTRUSTに中間CA証明書を発行してもらっているという記事をネットでみつけることができませんでした。
正規の*.google.comがTURKTRUSTに中間CA証明書を発行してもらっていないのであれば、android内のbksにTURKTRUSTがなくても トルコ圏内でなければ問題なく*.google.comにアクセスできるはずです。
私の場合自宅内でスマホはフレッツ光にぶらさがってるwifiで使用していて、その際のDNSは192.168.1.1(フレッツ光の終端装置)か192.168.11.1(wifiルーター)か8.8.8.8(GoogleのパブリックDNS)です。
私の理解不足の可能性も大いにあるのですが、中間CA証明書にTURKTRUSTがない状態でGoogle Playがgoogle.comにアクセスできないのはC○Cer○M○nがbksファイルをsystemに上書きする際に失敗するのではなく、そもそも作成する段階で失敗しているのではないかと思います。
以上が『C○Cer○M○n』を使ってみた私の感想です。あくまで私個人の意見です。
【じゃ、どうするか】
『C○Cer○M○n』以外にbksを書き換える方法をネットで探したところ、Java SDKにてkeytoolなるもので対応できそうでしたが、ADB同様の操作が必要で、
・前回『C○Cer○M○nの使い方』を書いてしまってあるので記事訂正が面倒くさい
・自分のPCのOSを先日Win7にしたのでいろいろなソフトが未インストールで面倒くさい
・他にステキな方法を発見した!
以上の理由でandroid2xにおける『C○Cer○M○n』その他で『cacerts.bks』を変更する試みはやめることにしました。
私のXperia arcがうまく4.1(JB)になったら、もしかしたら記事にします。
【1月23日 追記】
Android 2xでの対策方法見つけました。
2.3のままだから、Linuxで*.google.comの不正証明書対策ROM9
でも、rootとってないと不可だし、adb使ったことある人じゃないと難しいですね。