Malware Spoofing HTTPS(3月2日,追記あり)

no extension

(「Lenovo は何をやらかしたのか」から改題し,修正・追記しています)

いや,2月19日に Techcrunch の記事を見た時点ではよく分かってなかったのよ。 ただ,この問題を Lenovo が知ってるかどうかがポイントだなぁ,とは思ってた。

で,夕方ネットをチェックしてたら詳しい解説が出てたんだけど

それによると,どうやらプリインストールの段階で Superfish のルート証明書がインストールされてしまっているらしい。

(ちなみに「証明書」とは公開鍵暗号の公開鍵+電子署名と思っていただいて差支えない。 SSL/TLS で使用する公開鍵は必ず信用できる CA(Certification Authority; 認証局)による証明(電子署名)が必要である(自己署名のみは NG)。 CA の総元締めが「ルート CA」で,ルート CA 自身の証明書が「ルート証明書」である。 ルート CA を証明できる上位の CA は存在しないため,ルート証明書は例外として自己署名しかない)

本来ならばSuperfish CAなんて得体の知れないCAは信頼されていないので警告が出るのですが、Microsoftの決めた基準に反して、Lenovoが勝手にこのSuperfish CAを信頼するように設定してPCを販売しています。
Superfishが危険な理由より

いや,これもう完全に guilty です。 裁判マシーンにお仕置きされるレベル。 やっちゃいましたねぇ。

とりあえず Lenovo マシンの証明書ストアに Superfish CA の証明書がないか確認すること。 よくわからないって方はテスト用のサイトがあるので是非確認を。

もし証明書が見つかったら Superfish をアンインストールした上で削除すること。

で,話はこれで終わらない。

今回の件の何が拙いのか

Lenovo が仕込んだ Superfish の直接的な問題点は以下のとおり(unsignedint さん, follow ありがとうございます)。

  1. セッションを乗っ取る形で Web コンテンツを改ざんしていること。 途中で Web コンテンツを改ざんする手口は結構古典的だけど,現在ではこうした行為をするソフトウェア自体が「悪意のソフトウェア(malicious software; malware)」として認知さる。 更に今回は SSL/TLS のセッションを乗っ取り,なりすましを行う典型的な「中間者攻撃(Man-in-the-Middle Attack)」であると言える。
  2. いわゆる「オレオレ証明書」をプリインストールの段階で仕込んでいること。 しかもこれはルート CA の証明書なのが悪質。
  3. Superfish はルート CA を偽装しているが,非常に危険な形で実装されていること。 特に秘密鍵の保護がずさんなため,容易に他の malware も便乗できる。

実はこれ,個々の要素技術(Web プロキシ,CA 機能,公開鍵暗号の鍵生成,証明書の発行 等)自体は難しくもなんともないのだ。 標準的な機能を組み合わせて Web の暗号通信を乗っ取れるということを Lenovo は code で証明してしまったのである。

これは Lenovo 1社の信用問題などという矮小な話じゃないの。 SSL/TLS というか X.509 型 PKI(Public Key Infrastructure; 公開鍵基盤)の信用モデルを根底からぶっ壊してしまっている点が画期的なの。

PKI の信用モデル

SSL/TLS に代表される X.509 型の PKI は CA の権威性で以って信用を託されている。

暗号技術や PKI をちょっとかじった人ならわかると思うけど,相手を「信用」する客観的・論理的な根拠というのは存在しないのだ。 だからどこかで割りきって「信用を託す」かたちで PKI は回っている。

例えば OpenPGP は「信用の輪(web of trust)」と呼ばれる信用モデルを採用していて,基本的にはユーザ間の直接のやりとりで以って信用を担保している。 こうして担保された信用を繋いでいって網(web)を構成するのである。 この場合,ユーザ間の信用に客観的・論理的な根拠はない。 直接やり取りしてるし,相手も正しく秘密鍵を取り扱ってくれるだろうという推定で以って信用している。

一方の X.509 はピラミッド型の構成になっていて,頂点となるルートCA をその権威性(曰く「私を信用しなさい」)で以って信用することにより下層の CA なり証明書なりを信用する仕組みになっている。 これを hierarchical PKI と呼ぶ。 この場合,ルート CA およびその証明書を信用する客観的・論理的な根拠はない。 ルート CA を管理している企業・組織が信用できることが絶対の前提条件である。 また Web ブラウザの場合はブラウザ・ベンダによってあらかじめインストールされているルート証明書をユーザは無条件で信用している(というよりそのような信用の構造になっていることすら知らないユーザも多いかもしれない)。 この前提条件が崩れると hierarchical PKI は瓦解する。

今回の Lenovo の行為は,この前提条件をぶっ壊してしまったのだ。 曰く「ルート CA に権威なんかねーんだよ」ってことだ。 これは昔あった特定のルート CA を乗っ取って偽の証明書を発行する,とかいう手口とは根本的に異なる(あるいは,個々のユーザが「第3者の証明? 要らんよ,そんなもん」とかいって自己署名のみのオレオレ証明書で運用するのとも違う)。 なんて COOL !

さて今後は...

今回のケースはだれにでも真似できる。 できることを証明してしまった。 ルート CA 機能を持った malware やルート証明書を仕込むのは少々難しいと思うが,所謂 social engineering の問題であり,ユーザを騙す方法はいくらでもある。 今回は PC だったけど Android や iOS 等の携帯端末でも可能(iOS は守られてるから無理,という人もいるかもしれないけど,その前提は既に崩れているので悪しからず)。

おそらくブラウザ側は何らかの対策を打ってくるだろう。 もうユーザ側で自由に証明書をインストールできなくなるかもしれない。 まぁでもそれも仕方のない事である。 Web の信用を失う訳にはいかないからだ。

問題はそれ以外の X.509 型 PKI を使う,おそらくは SSL/TLS アプリケーション。 一番危ないのはオレオレ・ルート CA を運用する OpenVPN サーバだろう。 これを乗っ取るのは簡単そうである(「オレオレ・ルート CA」なんか立ててる奴はセキュリティなんか気にしてないだろうしw どうせ OpenVPN もファッションだろう?)。

まっ,これからが楽しみなことである。

てなことを言っていたら(2月26日追記)

驚愕の事実が次々と発覚!

まず Komodia 社が提供する Komodia Redirector に含まれる SSL Digestor モジュールが「オレオレ・ルート証明書」およびその秘密鍵をインストールすることが分かってきた。 Lenovo の Superfish もこれを使っているようだ。 Komodia Redirector を使っているベンダとして

が挙がっている。 なお,この Komodia Redirector について CERT では CVSS 基本値を 8.5 (AV:N/AC:L/Au:N/C:C/I:P/A:N) と評価している。

さらにさらに。 Komodia Redirector なんか目じゃない極悪ツールも存在するらしい。

しかし、PrivDogは全ての証明書を傍受し、証明書をルート鍵により署名されたものに置き換えます。これは、あらゆる証明書が有効ではなくなることを意味し、さらにブラウザが全ての通信を承認してしまい、SSL通信におけるCAの役割が全く意味のないものになってしまう、ということも意味します。なお、Superfishではホストと同じ証明書と秘密鍵を使用するのですが、PrivDogは全てのインストール先で秘密鍵を再作成してしまう、とのことです。
なお、そんなPrivDogを販売しているのは「Comodo Dragon browser」や「COMODO Internet Security」などの開発元であるComodo。ComodoはSSL認証局として証明書の発行サービスも行っているので、「自社で発行している証明書を自社が販売しているソフトウェアがニセの証明書に書き換えているかもしれない」、ということになります。
SSL証明書を発行する企業が証明書を偽造する悪質なアドウェア「Privdog」を販売していたことが判明より

なお,追記として

SSLの証明書を傍受するのは「PrivDog 3.0.96.0」で、Comodoはこのバージョンのものを販売していないとのこと。
SSL証明書を発行する企業が証明書を偽造する悪質なアドウェア「Privdog」を販売していたことが判明より

とあるので,誰かが勝手に改変バージョンをばらまいている可能性もある。

セキュリティ企業や組織は「脆弱性(vulnerability)」などと比較的穏当な表現をしているが,オレオレ・ルート証明書をインストールする行為自体が明確な「悪意」である。 なぜなら(上述した通り)これは PKI の信用モデルに対する攻撃(破壊)だからだ。 今回,問題のある Komodia Redirector を使用したベンダ企業(この中にはセキュリティ企業(?)も含まれるが)の名前は覚えておいたほうがよい。

参考ページ(追記あり)

手前味噌ですみません。

参考図書

photo
新版暗号技術入門 秘密の国のアリス
結城 浩
SBクリエイティブ株式会社 2013-12-04
評価

プログラマの数学 数学ガールの秘密ノート/整数で遊ぼう インフラ/ネットワークエンジニアのためのネットワーク技術&設計入門 数学ガールの秘密ノート/式とグラフ 数学ガール/ガロア理論

まさに入門書。暗号がどのような要素技術で成り立っているのか体系的に理解できる良書。

reviewed by Spiegel on 2014/09/18 (powered by G-Tools)

photo
信頼と裏切りの社会
ブルース・シュナイアー 山形 浩生
エヌティティ出版 2013-12-24
評価

殺人ザルはいかにして経済に目覚めたか?―― ヒトの進化からみた経済学 自己が心にやってくる モラルの起源―道徳、良心、利他行動はどのように進化したのか それでも金融はすばらしい: 人類最強の発明で世界の難問を解く。 Lean Analytics ―スタートアップのためのデータ解析と活用法 (THE LEAN SERIES)

reviewed by Spiegel on 2015/02/26 (powered by G-Tools)

photo
這いよれ!ニャル子さん コスプレ 衣装 ニャルラトホテプ (黒メイド, Mサイズ)
香奈山堂

貴方も今日から這い寄る混沌。

reviewed by Spiegel on 2015/02/20 (powered by G-Tools)