Lenovo製PCにアドウェア「VisualDiscovery(通称:Superfish)」が潜んでいるという事がサポートフォーラムで問題視されましたが
どうやらSuperfishは単なるアドウェアというわけではなく、悪意のある攻撃者によってやりたい放題される危険を持つ超絶セキュリティホールであったことが判明しています。
Lenovo Turns Off Superfish PC Adware Following Customer Complaints - Personal Tech News - WSJ
http://blogs.wsj.com/personal-technology/2015/02/19/lenovo-turns-off-superfish-pc-adware-following-customer-complaints/
Superfishの表向きの目的は、ユーザーに無断でHTMLを書き換えてJavaScriptを差し込み広告を表示するということにあり
いわゆるアドウェアとしての機能のように思えます。
しかし、Superfishが広告を表示させるために使っている手法は
安全な通信を担保するため使われるSSL通信における認証局(CA)を無断で偽造するという方法であり
これが重大なセキュリティホールであるとのこと。
一般的にSSL通信では、ウェブブラウザはアクセスするサーバからCAによる認証済みの証明書を送ってもらい
信頼できるCAの一覧であるルート証明書リストと照合して、安全な通信であると判断できる場合にのみアクセスが可能になります。
しかし、SuperfishはサーバからCA付き証明書を送信してもらう通信を乗っ取り、偽造したCA(以下、「Superfish CA」と呼ぶ)付きの証明書を送信します。
普通のPCであれば得体の知れないSuperfish CAをはじいて通信が安全ではないと判断するのですが
SuperfishがプリインストールされたLenovo製PCの場合、「Superfish CAを信頼できるCAとして認識する」という設定で出荷していました。
したがって、Superfish CAの認証があれば、本来は通信を拒否されるはずが無制限にアクセスOKになり、暗号化自体もこの時点で解除されるとのこと。
つまり、Superfishはブラウザとサーバの間に割り込んで暗号化機能を無効化できるというわけです。
SSL通信における暗号化は
「ブラウザが"信頼できる"CAのルート証明書を持っていること」
「CAの署名(秘密鍵)が秘密であること」
「サーバは秘密鍵を秘密にしていること」
という点を前提として機能するものです。
しかし、Lenovo製PCではSuperfishによってブラウザは"信頼してはいけない"CAを誤って信頼してしまい暗号を解除しているので、これではSSL通信の安全性がまったく担保されていないというわけです。
Superfishの「手口」とその仕組みについては