Superfishのように勝手にルート証明書をインストールするソフト、続々見つかる 57
ストーリー by hylom
まだ他にもありそうだ 部門より
まだ他にもありそうだ 部門より
insiderman 曰く、
先日、Lenovoが同社製品にSSLルート証明書を勝手にインストールする「Superfish」なるソフトウェアをプリインストールしていたことが話題になったが、このようなソフトウェアがSuperfish以外にも続々と発見されている(Ars Technica)。
SuperfishはSSLによる通信の「乗っ取り」にKomodiaという会社が提供している技術を使っているそうなのだが、この技術を使っているソフトウェアはSuperfishだけではないらしい。その一例として挙がっているのが、まず「Lavasoft Ad-aware Web Companion」という、いわゆる無料セキュリティソフトだ。また、セキュリティ企業であるComodoが販売していた「広告差し替えソフト」である「PrivDog」というソフトにも問題があることが明らかになっているという。
PrivDogのアドバイザリ (スコア:4, 参考になる)
http://privdog.com/advisory.html [privdog.com]
を大雑把に見てみた。
PrivDogスタンドアロンアプリケーションで使用されるサードパーティのライブラリに問題がある。
この問題は、PrivDogバージョン、3.0.96.0および3.0.97.0にのみ存在する。
Comodoのブラウザと共に配布されているPrivDogプラグインには、このバージョンを配布していないので、この問題は存在しない。
影響を与える可能性のあるユーザ数は、最大で、アメリカで6294、世界で57568。
PrivDogが使用するサードパーティのライブラリは、SUPERFISHとは違うサードパーティのライブラリだ。
問題はすでに修正した。57568のユーザーが使っている特定バージョンのPrivDogは、明日自動更新される。
ComodoDragonにくっついてきたPrivDogプラグインは大丈夫らしいのでちょっと安心。
Re: (スコア:0)
>ComodoDragon
私も以前使ってましたが、chromeが更新されてもなかなか更新されないブラウザですよ?
鍵管理 (スコア:2)
iida
Re: (スコア:0)
詳しい解説お願いします。
Re:鍵管理 (スコア:4, 参考になる)
単にルート証明書が入っただけですと、そのルート証明書(A)で認証された証明書(B)が、正規の証明書として扱われます。
しかしAで認証された証明書を作れるのは、あくまでもAの秘密鍵を持つ人だけですので、誰でもBのような証明書を作れるわけではありません。
Superfishの場合は、Aの秘密鍵もプログラム内に埋め込まれていた為(というかリアルタイムで証明書を作成するんだから当然入ってる)、その鍵を解読した第三者が、誰でもBのような証明書を作れるようになってしまった。
つまり、当該ルート証明書が入ったPCに対してだけですが、第三者が勝手にオレオレ証明書を正規の証明書のように見せることが可能になった、というのが大きな問題点です。
Re: (スコア:0)
なるほど。わかりやすい解説ありがとうございました。
Re:鍵管理 (スコア:4, 参考になる)
めんどくさいのでいろいろ省略するけど、
httpsの通信は、以下のような流れで保護されている。
https通信←(1) サーバの秘密鍵・公開鍵ペアで暗号化されている
←(2) ドメイン名と公開鍵の組み合わせが正しいことはCAが発行する電子証明書で保証されている
←(3) CAの電子証明書はOSにプリインストールされたCA公開鍵で検証可能
広告を差し替えたりする技術は、中間者攻撃と呼ばれるもので、
クライアント<=暗号通信路a=>中間者<=暗号通信路b=>サーバ
こういう仕組み。暗号通信路bの方は、単なるhttps通信なので特になにもしなくても普通に通る。
暗号通信路aの方は、普通にやると、上記の(1)~(3)のどれかが通らない。
なぜなら、中間者は、(1)の秘密鍵を知ることが出来ないので、暗号通信路bで使えるのは、
何か適当にでっち上げた偽の秘密鍵・公開鍵ペアに限られる。
ところが、そのようにして作った公開鍵に対しては、(2)の電子証明書を用意できない。
CAに、自分が管理していないドメインの証明書の発行を依頼しても蹴られるし。
しょうがないので、(2)の電子証明書も中間者がCA秘密鍵・公開鍵をでっち上げて署名をする。
これは、(3)の段階で、そんなCAは居ない、としてブラウザが蹴る。
そんなこんなで、中間者攻撃を防げる、という仕組みにしてあるのがhttps。
謎のルート証明書をインストールするというのは、(3)がザルになるという事。
中間者攻撃を防ごうとした結果、https通信のウィルスチェックをしたいとか、広告を差し替えたいというような、
サーバとブラウザの間のどこかに「何か素晴らしく好ましい機能」を持たせようとしても出来ないことになる。
それでは困ると言うユーザの要望に基づいて、敢えて、「そのためのルート証明書を入れて(3)をザルに」というのがこの話の根っこ。
(※そんなつもりは無いのに勝手に入っていた、という事例に対する皮肉)
中間者が用意した独自のルート証明書をOSに入れて(3)の壁さえ突破すれば、あらゆるhttps通信に対して、
その場で必要な証明書をでっちあげて、ブラウザのチェックをスルーさせることが出来る。
「中間者」が色んな意味で信頼出来る範囲において、セキュリティ上の問題は増えない。
ただ、信頼出来ないクソ「中間者」が居る、というのが今回の問題。
具体的には、(3)用にインストールされた「中間者の証明書」を第三者が悪用できる状態。
なぜ悪用できるかというと、上記の(2)や(3)を実行するため、
つまり、「中間者の証明書で署名された文書」を作るための、中間者の秘密鍵がモロバレだったから。
モロバレにしない方法はいくつかあって、
イ) 各PCにインストール後、そのPC専用の秘密鍵、公開鍵を作る。
PC内のデータが盗み取られない限り、秘密鍵は安全
ロ) 同じ秘密鍵・暗号鍵を多数のPCで使い回す場合は、秘密鍵が流出しない対策を行う。
例えば、社内プロクシに「中間者」機能を持たせ、そのサーバへの本来の用途以外でのアクセスは禁じるなど。
そのCA証明書を、全社のPCにインストールする。
とか。個人用PCに入れるなら、イ、
企業など向けの、社内外の通信のウィルスチェックを行うシステムなんかは、ロのやり方で実装されてたりと、いろいろ。
ロの場合は、社内の全PCに共通の秘密鍵、暗号鍵を使っても、秘密鍵にアクセス出来る人が居ないので大丈夫。
(社内アドミンはアクセス出来るので、もちろん、その人らは変なことをしないという大前提がまた必要)
Lenovoの件は、イの仕組みなのに、全世界共通の秘密鍵・公開鍵だったというのが実施者の頭が沸いてた部分。
自分のPCで動いてるsuperfishとやらを解析すると、いとも簡単に秘密鍵が出てきた。
それを使うと、superfishが入ってる全PCに対して中間者攻撃が出来てしまうので、
Lenovoユーザにとって、httpsの暗号化が無意味になってしまう。
と言うのが、今回のお祭りの概要。
e-Tax (スコア:1)
国税庁が、ルート証明書のインストールが必要です [nta.go.jp]と言ってきた場合、信用してもいいのでしょうか?
砂箱を使え、砂箱を。 (スコア:1)
砂箱かVMに入れよう
国税庁側が適切に秘密鍵を管理しないリスクは、/.erとして考慮してもいいと思います
現実問題として、国税庁を信用する必要があるPCに入れることになるかと。
証明書の直リンが提供されているのは、一手間払ってくれているという意味で、あるいみ立派です
Re: (スコア:0)
国家賠償請求に発展して、責任問題になるでしょうけど………そういう追及が出来そうな野党の方がいないような気がするんですねよ。
Re: (スコア:0)
官報を取り寄せてフィンガープリントを目視確認しましょう。
…というのが「正しい」やり方でしたっけ?
Re: (スコア:0)
紙で送ればいいと思うよ。
Re: (スコア:0)
郵便も信用できません
Re: (スコア:0)
自分で税務署行けよ…
ああそういえば (スコア:0)
会社のPCにも会社のサーバのルート証明書が入ってるなー (∇ ̄〃)。o〇
Re:ああそういえば (スコア:2)
ルートCAの証明書だけならとりあえず問題ありません。
# 証明機関をちゃんと管理しているという前提ですが
社内でのみ使用するシステムの証明書を外部CAから取得するのはコストの面で望まれないことが多いので、ことさらに問題視するようなものではないかと。
Re:ああそういえば (スコア:1)
それは問題ない。
むしろ、目的によっては良いこと。
ゲートウェイタイプのアンチウィルスやWebフィルタで、MITMの手法を使ってチェックするために必要なんだよ。
悪意の攻撃者がSSL/TLSでマルウェア配布サイトを構築したら、アンチウィルスがチェックできないというのじゃ困るよね。
今回の問題点は、PCにインストールされるパッケージにCA認証局の秘密鍵も含まれていて、それを使って悪意の第三者がブラウザで警告の出ない偽物の証明書を生成することができるという点。
Re: (スコア:0)
検閲行為の正当化に随分と熱心ですね
Re: (スコア:0)
会社のPC、回線なんだから会社が管理して当然だろう
Re: (スコア:0)
> 会社のPC、回線なんだから会社が管理して当然だろう
それは違う。
たとえば職場に盗聴器を仕掛けて音声を勝手に録音して
それを自社職員の管理に使ってたところはプライバシー違反でブラックになってる。
職場にあるものだからって会社が完全に掌握していいわけでもないし、
ステルスで情報ぶっこ抜いてていいわけでもない。
Re: (スコア:0)
そう、会社が社員に盗聴器を仕掛けたりしたら確かにいけないね。
で、会社が発行した証明書を各社員のPCにインストールを仕掛けることが、それとどう繋がるのかな?
まさか、証明書をインストールすることと盗聴することが同列だと勘違いしてるんじゃないよね?
Re: (スコア:0)
> そう、会社が社員に盗聴器を仕掛けたりしたら確かにいけないね。
> で、会社が発行した証明書を各社員のPCにインストールを仕掛けることが、それとどう繋がるのかな?
> まさか、証明書をインストールすることと盗聴することが同列だと勘違いしてるんじゃないよね?
いや?盗聴器を仕掛けても問題ないよ、使わなければね。
もちろん、第三者が盗聴器を悪用できないよう管理はしっかりしないとダメだろうけどね。
会社自身にせよ第三者にせよ盗聴に使ったら問題だね。
ルート証明書も同じで、インストールすることは証明書の管理が完全なら問題ないよ、使わなければね。
もちろん、第三者が盗聴器を悪用できないよう管理はしっかりしないとダメだろうけどね。
会社自身にせよ第三者にせよ盗聴に使ったら問題だね。
キミの意見は図らずとも自分が間違ってることを示すのにつながってるんだけど、それくらいは理解できるかい?
日本語が不自由なら必死にならず10年勉強して出直してきてくれ。
Re: (スコア:0)
君はホントに馬鹿だなあ。
盗聴器とルート証明書は違うだろ。
「この電話は録音されています」という電話での通話を録音してるのは盗聴かい?
業務中に仕事とは関係のないエロサイトを見たり、内部情報をネットにアップロードするのを阻止するのは検閲なのかい?
会社で仕事で行われる通信を会社が監視できたとして、検閲になったり、困ることでもあるのかい?
仕事中に仕事もせず、スラドに投稿できなくなるのが嫌だとか?
Re: (スコア:0)
入っているけど期限切れだったりして
Re:ああそういえば (スコア:1)
マイクロソフト様 (スコア:0)
へんな証明書駆除ツールもお願いします。
Re: (スコア:0)
だいぶ前から配ってるし勝手にアップデートで入るようになっている。
だから大体問題ない。
Re: (スコア:0)
しかしながら、Superfishは、Microsoftの証明書ですらねつ造できるわけで、Windows Updateが本当にWindows Updateなのか確認する方法が難しい以上、自動アップデートも信用して良いわけにはならない。
ブラウザの証明書ストアのプロテクトは? (スコア:0)
主要ブラウザの証明書ストアにプロテクトはかかってなかったのか?
それともプロテクトはあったがsuperfishがアッサリ突破してしまったのか?
Re:ブラウザの証明書ストアのプロテクトは? (スコア:1)
superfish の件は突破したのではなくて、出荷当時からインストールされていたのです。
今回の表題の件とはまた趣旨が異なります。
あと、一般的なアプリケーションインストールではUACで止めてもユーザーが明示的に続行させるので、OSにプロテクト機構があったとしても意味はありません。
# ウイルス対策ソフトががんばる領域
Re: (スコア:0)
素朴な疑問だけど、こんな簡単で効果絶大の脆弱性が何で放置されてたんだろ?
Re: (スコア:0)
証明書ストアの事を指しているんなら勘違いしてますよ
Re: (スコア:0)
今回、信頼の要たる証明書を簡単に偽物と置き換えることができるって証明されたよね?
誰かこの件を警告してきたの?
Re: (スコア:0)
今回新たに証明されたことなんて何もない。
PCに事前にCA証明書をインストールさせる事でSSL通信が傍受される事は分かってたことだし、
それを利用した企業向けのProxy製品もある。
Re: (スコア:0)
それ、もっと啓蒙されるべきだよね
「ブラウザに鍵マークが表示されていれば安全です」って呑気に書いてる本やサイトの多いことといったら
Re: (スコア:0)
世の中の『信頼』がどのように成り立っているか考えるといいよ。
Re: (スコア:0)
ルート証明書のインストール自体は普通にやることだよ。
それこそ認証がからむ場面では証明書ばりばり出てくるからね。
信頼できないソフトをインストールしないのと同じように、
信頼できない証明書はインストールするべきではない、
ってだけのこと
Re: (スコア:0)
今はどうか知らんがちょっと前までは日本の省庁がサービス利用のためにオレオレ証明書をインストールしろとか言ってたくらいだからな
Re: (スコア:0)
今回、信頼の要たる証明書を簡単に偽物と置き換えることができるって証明されたよね?
SuperFishの動作も理解してなさげ。
君はそもそも証明書って物を理解してないようなので話が噛み合ってない。
Re: (スコア:0)
簡単にはできない。
「(ウィルス入りの)便利そうなツールをインストールしますか?」→「はい」
「(怪しい)便利な証明書をインストールしますか?」→「はい」
と選ばせるのと同じぐらいの手間がかかる。
「ツールのインストール」→「ウィルスが危ないかも知れない、気をつけよう」
「証明書のインストール」→「なんだこれ? よく分からんので『はい』」
と言う層がそこそこ多そうだけど、啓蒙されずに放置されてない? と言う意味なら、まあそうかも。頑張れ。
Re: (スコア:0)
アンチウイルスはどの位検出できてたの?
普段からリソース使って監視してるから、この程度のやつなら9割ぐらいは弾いてたかな?
Re: (スコア:0)
Lenovoが自分から言い出すまで誰も気付かなかったあたり、
アンチウィルスは何の役にも立っていない。
Re: (スコア:0)
自分から言い出したんじゃなく、秘密鍵を割ら(読み取ら)れて慌てたんでは?
証明書システムは方式は安全かもしれないが (スコア:0)
実装の安全性はウンコだったってこと?
Re:証明書システムは方式は安全かもしれないが (スコア:1)
ウンコっていうか、大半のセキュア通信システムはローカルをやられたらお仕舞で、
そしてローカルをやるのは実はとっても簡単、ってことじゃね?
ローカルアクセスを取られたら終わり (スコア:0)
証明書を導入できるというのは重要なことで、システムの一貫性に責任を持つ、持てるということ
ドライバを導入できるということに似て、ドライバを入れられないシステムはクソだが、クソなドライバが入ったシステムはクソ
クソな自作ドライバを導入するのに必要なのが、証明書の導入
クソな広告httpsを監査するのに必要なのも、証明書の導入 (BHOを組む、OpenSSL等に干渉するなど、手がないではないが)
さてhttpsの監査の一手法は、httpsをいったん開封して、先に入れておいた証明書と対となる秘密鍵で再封印するということ
秘密鍵は実行時に随時必要になるが、どこに置くべきか。ローカルに簡単な再署名サーバを立てるか
Re: (スコア:0)
ローカルとられたら即終わり、はあまりに終わってるので、
信頼の鎖、で、多数決的に決定するのはどうか
証明書にもreputationを (スコア:0)
導入してはどうかと思ったことがある たとえば、ひところの2ch住人なら、baiduの証明書の評価をせっせと下げに来るだろう
Re: (スコア:0)
初めに信頼できる相手を決めておいて、その相手に認められた証明書だけ信頼するって方法だから、これよりよい実装はあまり無いんじゃないかな。
実際、今回の件も実装では無くて運用(初めからインストール)の問題だよね。
ま、この実装方式が信頼できないなら使わなければいいだけですよ。
OSなりブラウザなりに入っているルート証明書全部消しちゃいましょう。
一緒にPCの信頼性もなくなりますが。
Re:証明書システムは方式は安全かもしれないが (スコア:1)
windows標準で入っているルート証明書をイチから自分で確認しながら取得する方法ってブログ書いたらウケると思う