ソフトウェア

Lenovo製PCに入っている極悪アドウェア「Superfish」はどれだけヤバイのか?


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問題の発端については以下の記事を見ればよく分かります。

Lenovo製PCのプリインストールソフトにサイバー攻撃の火種になる危険性 - GIGAZINE


Superfishの表向きの目的は、ユーザーに無断でHTMLを書き換えてJavaScriptを差し込み広告を表示するということにあり、いわゆるアドウェアとしての機能のように思えます。しかし、Superfishが広告を表示させるために使っている手法は、安全な通信を担保するため使われるSSL通信における認証局(CA)を無断で偽造するという方法であり、これが重大なセキュリティホールであるとのこと。

「Visual Serch results」としてSuperfishによって表示された広告例


一般的に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の「手口」とその仕組みについては、以下のサイトで非常に分かりやすく図解されています。

Superfishが危険な理由 - めもおきば
http://d.hatena.ne.jp/nekoruri/20150220/superfish


さらに最悪なことに、SuperfishはCAの署名(秘密鍵)をSuperfishプログラム内に保管しており、Superfishの証明書やSuperfish CAは全世界すべてで共通したものが流用されているとのこと。つまり、Lenovo製PCのSuperfishからSuperfich CAの秘密鍵を取り出すことで、悪意ある攻撃者が攻撃し放題になるというわけです。

なお、Superfish CAの秘密鍵の取り出しに成功している例はすでに登場しています。

Errata Security: Extracting the SuperFish certificate
http://blog.erratasec.com/2015/02/extracting-superfish-certificate.html


Superfishがアドウェアを超えてとんでもないセキュリティホールであることが明らかになり、もはや「Lenovoが仕込んだバックドアではないのか?」という説が現れるなど、大騒動となっていることを受けて、2015年2月19日、Lenovoのピーター・ホルテンシウスCEOはWall Street Journalに対して、「Superfishをプリインストールする時点で十分な評価をしていませんでした。しかし、現在のところSuperfishによってユーザーが被害を受けたとは考えていません」と答えています。被害は出ていないけれども、Lenovo公式のSuperfish削除ツールを一両日中にリリースする方針であるとのことです。

また、LenovoはSuperfish問題に対して公式声明を発表。それによると、「Superfishは2014年9月から12月の間に出荷されたWindowsノートPCにプリインストールされていたが、2015年1月にプリインストールを停止した」とのこと。ただし、少なくとも2014年6月からSuperfishがプリインストールされていたというLenovoの公式声明とは異なる指摘もあります。

Lenovo Newsroom | LENOVO STATEMENT ON SUPERFISH
http://news.lenovo.com/article_display.cfm?article_id=1929

なお、Lenovoが発表しているSuperfishがプリインストールされたPCの型番リストはこんな感じ。

Superfish may have appeared on these models:
G Series: G410, G510, G710, G40-70, G50-70, G40-30, G50-30, G40-45, G50-45
U Series: U330P, U430P, U330Touch, U430Touch, U530Touch
Y Series: Y430P, Y40-70, Y50-70
Z Series: Z40-75, Z50-75, Z40-70, Z50-70
S Series: S310, S410, S40-70, S415, S415Touch, S20-30, S20-30Touch
Flex Series: Flex2 14D, Flex2 15D, Flex2 14, Flex2 15, Flex2 14(BTM), Flex2 15(BTM), Flex 10
MIIX Series: MIIX2-8, MIIX2-10, MIIX2-11
YOGA Series: YOGA2Pro-13, YOGA2-13, YOGA2-11BTM, YOGA2-11HSW
E Series: E10-30

すでに「Lenovo製PCのプリインストールソフトにサイバー攻撃の火種になる危険性」という記事でVisualDiscovery(Superfish)のアンインストール方法をLenovoが公式に説明していることを伝えましたが、この方法ではブラウザに登録されたSuperfish CAのルート証明書が削除されていないため攻撃を受ける危険性は残されたままです。というわけで、Superfish CAの削除方法は以下の通りです。

まず、Lenovo製PCでSuperfish CAがインストールされているのかをチェックします。以下のサイトにChromeやIEでアクセスして、「Good, Superfish is probably not intercepting your connections.」と表示された場合はセーフです。

Check if you trust the Superfish CA
https://filippo.io/Badfish/


しかし、「YES」と表示された場合はVisualDiscoveryやSuperfish CAがインストールされている可能性が高いので、アンインストール作業に速やかに移行します。


・VisualDiscoveryのアンインストール
「コントロールパネル」→「プログラムと機能」→「プログラムのアンインストール」に進み、一覧の中から「Superfish Inc. Visual Discovery」を選択して右クリックし、「アンインストール」をクリック。


・Superfish CAの削除
プログラムとファイルの検索ウィンドウに「certmgr.msc」と入力・検索して出てくる「certmgr.msc」アイコンを右クリックし、「管理者として実行」をクリック。


「信頼されたルート証明機関」→「証明書」の順にクリックして、一覧から「Superfish, Inc.」を探し出し、右クリックして「削除」をクリックすればOK。


◆2015年2月21日追記
Lenovoが公式にSuperfishのアンインストールツールを公開。「自動削除ツールをダウンロードし実行していただくことにより、Superfishアプリケーションと証明書を完全に削除できます。」とのことです。

Superfishのアンインストール方法 - Lenovo Support (JP)
http://support.lenovo.com/jp/ja/documents/ht102634

この記事のタイトルとURLをコピーする

・関連記事
HDDのファームウェアに感染するマルウェアが登場、逃れる術はないことが判明 - GIGAZINE

AppleのiOSにはユーザー監視用のバックドアが秘密裏に設けられていたことが判明 - GIGAZINE

USBポートに挿し込み数秒でPCに遠隔操作可能なバックドアを仕掛けてDNSまで書き換えてしまうハッキングデバイス「USBdriveby」 - GIGAZINE

アメリカから輸出されるWi-Fiルーターには盗聴用ツールが仕込まれている可能性 - GIGAZINE

LG製のスマートTVがUSB内のファイル名と閲覧記録をこっそりサーバに送信していたことが判明 - GIGAZINE

in ソフトウェア, Posted by darkhorse_log

You can read the machine translated English article here.