Lenovoの公式フォーラムでもこんな感じで議論されている。
Lenovo Pre-instaling adware/spam - Superfish - pow... - Lenovo Community
で、自分のPCがSuperfishにやられちゃってるかどうか試すサイトが「Superfish CA test」という以下のサイト。
Superfish CA test : Check if you trust the Superfish CA
このサイトでどーやってSuperfishがインストールされているか判断しているかをちょいと調べてみた。
HTMLのソースをみてみると、161行目あたりにこんな感じに書かれている。
<img src="https://badfish.filippo.io/yes.png" onerror="this.onload=''; this.alt='Good, you seem not to trust the Superfish CA.'; this.style.width = '500px'; this.src='no2.png'; ga('send', 'event', 'Result', 'Negative', {'nonInteraction': 1});" style="width: 300px" onload="this.alt='Yes, your connections can be tampered with!'; ga('send', 'event', 'Result', 'Positive', {'nonInteraction': 1});">プログラムがあまりわかってない私だが、どうやら、
https://badfish.filippo.io/yes.png
を読みだして、エラーが起きれば「no2.png」という画像が表示される。で、すんなりyes.pngが読まれればこんなメッセージが表示される。
yes, your connections can be tampered with
はい、あなたのコネクションは改ざんすることができちゃいます。
勘のいい方はおわかりだろうと思いますがbadfish.filippo.ioのサーバ証明書は例のSuperfish, Incのルート証明書を使って作られている。
つまり通常のPCにはSuperfish, Incのルート証明書が入ってないのでエラーになり、no2.pngが表示されるが、Superfish, Incのルート証明書が入ってる場合には
https://badfish.filippo.io/yes.png
を読み込めちゃいますので上記の画像が表示されるということのようだ。
そうでない人はエラーになるので「no2.png」が読み込まれこんな感じになるよーだ。
サーバ証明書をみてみるとこんな感じだな。
ヤバイCAで作ったサイト上にある画像が読めればアウトでエラーならセーフというロジックはなかなかよく出来た作りのようである。(このあたりあまりよくわかんないけど)
関連リンク:
- Superfishに関するレノボの見解 - Lenovo Support (JP)
- LenovoのPC全機種にプレロードされているアドウェアが実は恐ろしいマルウェアだった! - TechCrunch
- Lenovo製PCに入っている極悪アドウェア「Superfish」はどれだけヤバイのか? - GIGAZINE
- LenovoのノートPCに不正なアドウェア、SSL通信を傍受 - ITmedia エンタープライズ
- Lenovo製品にプリインストールされているアドウェアSuperfishに関連する情報をまとめてみた。 - piyolog
- Superfishが危険な理由 - めもおきば