スーパーフィッシュはまだ捕まっていない:SSLハイジャックの仕組みと対策を徹底解説
先週、Lenovo(レノボ)の「Superfish」マルウェアが大きな話題となりました。このノートPCメーカーは、アドウェアがプリインストールされたパソコンを出荷しただけでなく、それらのパソコンを深刻な攻撃リスクにさらしていたのです。現在はSuperfishを除去できますが、物語はまだ終わりではありません。実は、注意すべきアプリは他にもたくさん存在するのです。
Superfishの駆除方法
LenovoはSuperfishを削除する専用ツールを公開しており、Microsoftもウイルス対策ソフトを更新してこの脅威を検出・除去できるようにしました。他のセキュリティベンダーもすぐに対応を追随すると見られます。もしLenovoのノートPCをお持ちで、まだ対策を行っていないなら、今すぐ駆除作業を行いましょう!
Superfishを放置すると、中間者(MITM)攻撃に対して極めて脆弱になります。これは、あたかも安全なウェブサイトと通信しているように見えて、実際には攻撃者と通信してしまう手口です。Superfish自体はユーザーに関する情報をより多く収集し、ページに広告を挿入するためにこの仕組みを使っていますが、攻撃者がこの穴を悪用する可能性があります。
SSLハイジャックの仕組み
Superfishは「SSLハイジャック」と呼ばれる手法で、ユーザーの暗号化データにアクセスします。そのプロセスは実は非常にシンプルです。安全なサイトに接続する際、あなたのパソコンとサーバーは通常、以下のような手順を踏みます。
- パソコンがHTTP(暗号化されていない)サイトに接続する
- HTTPサーバーが、同じサイトのHTTPS(暗号化された)版へリダイレクトする
- パソコンがHTTPSサイトに接続する
- HTTPSサーバーが証明書を提示し、サイトの正当性を証明する
- 接続が完了する
中間者攻撃が発生すると、手順2と3が侵害されます。攻撃者のパソコンがあなたのパソコンと安全なサーバーの間の橋渡し役となり、両者の間でやり取りされる情報をすべて傍受します。これにはパスワード、クレジットカード情報、その他の機密データが含まれる可能性があります。より詳しい解説については、中間者攻撃に関する専門記事を参照するとよいでしょう。
魚の背後に潜むサメ:Komodia
SuperfishはLenovoのソフトウェアですが、その基盤となっているのは、Komodiaという企業が開発した既存のフレームワークです。Komodiaは多数のツールを提供しており、そのほとんどはSSLで暗号化されたインターネット通信を傍受し、素早く復号化することを目的としています。これにより、データのフィルタリングや暗号化されたブラウジングの監視など、さまざまな処理が可能になります。
Komodiaによれば、同社のソフトウェアはペアレンタルコントロール、暗号化メールからの機密情報のフィルタリング、拡張機能の追加を制限しているブラウザへの広告挿入などに利用できるとのことです。確かに良い用途もあれば悪い用途もあるでしょうが、安全にブラウジングできていないことをユーザーに一切知らせずにSSL通信を復号化しているという事実は、非常に懸念されます。
要点をまとめると、Superfishは単一のパスワードで保護されたセキュリティ証明書を使用していました。つまり、その証明書のパスワードを知っている人なら誰でも、Superfishが監視するすべてのトラフィックにアクセスできたのです。Superfishが発見された後、何が起きたと思いますか? 誰かがパスワードを解読して公開してしまい、膨大な数のLenovoノートPC所有者が無防備な状態に晒されたのです。
あるセキュリティ研究者がブログ記事で報告したところによると、そのパスワードはなんと「komodia」だったそうです。信じがたい話ですが、事実なのです。
しかし、Komodiaのフレームワークを利用しているのはSuperfishだけではありません。Facebookのセキュリティ研究者が最近、Komodiaの技術を使っているソフトウェアを十数個発見しました。これは、膨大な数のSSL接続が危険にさらされている可能性を意味します。Ars Technicaの報道によれば、Fortune 500企業を含む100社以上のクライアントがKomodiaを利用しているとのことです。さらに、「komodia」というパスワードで解読された証明書は、他にも複数存在しました。
その他のSSLハイジャッカー
KomodiaはSSLハイジャック市場における大物ですが、他にも同様の存在がいます。Comodoが提供するPrivDogは、ウェブサイトの広告を「信頼できる広告」に置き換えるサービスですが、中間者攻撃を許してしまう脆弱性があることが判明しました。研究者たちによれば、PrivDogの脆弱性はSuperfishよりもさらに深刻だといいます。
こうした事例は決して珍しくありません。多くの無料ソフトには、ユーザーが本当に望んでいないアドウェアなどがバンドルされており(How-To Geekが興味深い実験を行っています)、その多くはSSLハイジャックを使って暗号化接続で送信されるデータを検査しています。幸い、少なくとも一部のソフトはセキュリティ証明書の扱いにおいてもう少し賢明であり、SuperfishやPrivDogほど大きなセキュリティホールを生み出さないものもあります。
アプリに暗号化接続へのアクセスを許可する正当な理由が存在する場合もあります。例えば、ウイルス対策ソフトがHTTPSサイトとの通信を復号化できなければ、安全な接続経由でのマルウェア感染を防ぐことができません。ペアレンタルコントロールソフトも安全な接続へのアクセスが必要です。そうでなければ、子供たちはHTTPSを使ってコンテンツフィルタリングを簡単に回避できてしまうからです。
しかし、アドウェアがあなたの暗号化接続を監視し、攻撃に晒しているのであれば、話は別です。警戒すべき状況だといえるでしょう。
私たちにできることは?
残念ながら、多くの中間者攻撃はサーバー側の対策によって防ぐ必要があり、知らないうちに攻撃にさらされている可能性があります。とはいえ、自分自身を守るためにできる対策はいくつかあります。Filippo Valsorda氏が作成したウェブアプリを使えば、お使いのパソコンにSuperfish、Komodia、PrivDogなどのSSL無効化ソフトウェアが存在するかどうかをチェックできます。まずはそこから始めるのが良いでしょう。
また、証明書の警告に注意を払い、HTTPS接続を必ず確認し、公衆Wi-Fiの利用には慎重になり、常に最新のウイルス対策ソフトを実行しましょう。ブラウザにインストールされている拡張機能を確認し、身に覚えのないものは削除してください。無料ソフトをダウンロードする際も注意が必要です。多くのアドウェアがバンドルされているからです。
それ以上に重要なのは、Komodiaのような、この技術を開発・利用している企業に対して、私たちの声を届けることです。同社のウェブサイトは最近、分散型サービス拒否(DDoS)攻撃によるものとみられるダウンを経験しており、多くの人々が速やかに不満を表明したことを示唆しています。SSLハイジャックが完全に容認できない行為であることを、今こそ明確に示すべき時です。
あなたはSSLハイジャックを行うアドウェアについてどう思いますか? 企業にこの慣行をやめるよう求めるべきでしょうか? そもそも合法であるべきなのでしょうか? ぜひコメント欄で意見を共有してください!
画像クレジット:Shark cartoon Via Shutterstock、HTTPS secure connection sign in via Shutterstock
-
ハッシュテーブルの仕組みを徹底解説!ハッシュ関数・バケット・衝突処理の基礎
私が特に好きなデータ構造のひとつがハッシュテーブルです。シンプルでありながら非常に強力だからです。 キーと値のペアを効率的に保存できる手段として、あなたもすでに使ったことがあるかもしれません。 実は、ハッシュテーブルの実装には学ぶ価値のある興味深いコンピュータサイエンスの概念がたくさん詰まっています。この記事では、その仕組みを一緒に掘り下げていきましょう! バケットとハッシュ関数 ハッシュテーブルの基本的な考え方は、キーでインデックス付けされたデータに対して、O(1) の計算量で効率的にアクセスできるようにすることです。 おさらいとして、Ruby でハッシュテーブルを使うと次のような見た目にな
-
ブラウザハイジャックとは?Windows PCでの削除方法と予防策を徹底解説
検索キーワードを入力したり、ブラウザのホームページを開いたりするたびに、BingやYahooなどの特定の検索エンジンへ勝手にリダイレクトされた経験はありませんか?それは、あなたのブラウザが「ブラウザハイジャック(乗っ取り)」の被害に遭っている可能性があります。 まずお伝えしたいのは、YahooやBing自体は正当な検索エンジンであり、それ自体に問題はないということです。では、何が悪さをしているのでしょうか?詳しく見ていきましょう。 ブラウザハイジャックとは? ブラウザをハイジャックから守るためには、まず「ブラウザハイジャックとは何か」を理解することが重要です。ブラウザハイジャックとは、悪意のあ