Kaspersky Labグローバル調査分析チーム(GReAT)のセキュリティエキスパートであるデイビッド・ヤコビー(David Jacoby)は先日、Facebook Messengerを通じて拡がるマルチプラットフォームマルウェアを発見しました。似たようなマルウェアは数年前にもたびたび流行していましたが、この手の攻撃への対策をFacebookが講じたため、最近は見かけなくなっていました。
ヤコビーは、「Hunting bugs for humanity」(バグ報奨金)プロジェクトの共同主催者であるリサーチャーのフランス・ロセン(Frans Rosén)氏とともに、この悪意ある活動を分析し、仕組みを解明しました。
この記事では、マルウェアがどのように感染を拡げていくのか、そのプロセスの概要を紹介します。ヤコビーによる速報記事はこちら(英語記事)、マルウェアの動きの詳細に関する記事はこちら(英語記事)です。
感染のプロセスは、Facebook利用者の視点からは次のように展開します。
- 友達からFacebook Messengerにメッセージが届きます。このメッセージには、「Video」という単語、送信してきた友達の名前、ランダムに選ばれた顔文字、短いリンクが含まれています。たとえば、こんな感じです。
- このリンクをクリックするとGoogleドライブにリダイレクトされ、動画プレイヤーのようなものが表示されます。背景に友達の写真があり、再生ボタンらしきものが付いています。
- Google Chromeでこの「動画」を再生しようとすると、今度はYouTubeそっくりのページにリダイレクトされ、Chrome拡張機能のインストールを促すメッセージが表示されます。
- インストールに同意すると、Chrome拡張機能が悪意あるリンクを利用者の友達に送信し始めます。そして、それぞれの友達のところで、同じことが繰り返されます。
- Chrome以外のブラウザーを使っている場合は、拡張機能のインストールではなく、Adobe Flash Playerのアップデートをしつこく促されます。ダウンロードされるファイルはアドウェアであることが判明しました。犯罪者たちは、収入を得るために広告を使っていたのです。
Facebook Messengerで送られたリンクをクリックした後にリダイレクトされるページは、Googleドライブに公開されたPDFファイルで、プレビューモードで開きます。このPDFファイルには、Facebook利用者(マルウェア拡散に利用された友達)のページから持ち出された写真、この写真の上に表示される動画再生用アイコン、標的が再生ボタンをクリックすると開くリンクが含まれていました。
このリンクをクリックすると、何度かリダイレクトされた後、いくつかあるランディングページのうちの1つにたどり着きます。Google Chrome以外のブラウザーを使用している場合、Adobe Flash Playerのアップデートプログラムを装ったアドウェアのダウンロードを勧めるWebサイトに導かれます。
Chromeの場合は、ここが始まりです。ランディングページで促された拡張機能のインストールに同意すると、どのWebサイトを開いたのかを拡張機能が監視するようになります。また、利用者がFacebookに移動すると、拡張機能はすぐにログイン認証情報とアクセストークンを窃取し、犯罪者のサーバーへと送信します。
この攻撃の黒幕たちは、Facebookに興味深いバグを発見していました。Facebook Query Language(FQL)は安全対策に不備があり、1年ほど前に利用できなくなっていますが、完全に消去されたわけではありませんでした。アプリから使用できないようにブロックされているものの、いくつか例外があり、たとえば、Facebook Pages ManagerというiOSアプリは今でもFQLを使用しています。つまり、このアプリに代わって動作すれば、マルウェアは廃止されたFQLを利用できるのです。
この犯罪者たちは、盗んだ認証情報と廃止されたFacebook機能を利用することで、感染者の友達リストをリクエストし、その時点でオンラインでない友達を除外し、残りの友達の中から新たな標的50人をランダムに選択することができました。その後、これら標的に向けて、Googleドライブへのリンクを含むメッセージが一斉送信されます。このGoogleドライブには、新たなメッセージ送信者となった人の写真を含むPDFファイルのプレビューが作成されていて…。こうして、負のサイクルが続くのです。
注目に値するのは、この悪意あるスクリプトが特定のFacebookページに「いいね!」するということで、どうやら感染に関する統計を集めているようです。ヤコビーとロセン氏が観測したところでは、攻撃の過程でこのページがたびたび変更されていました。おそらく、Facebookがページを閉鎖したためでしょう。「いいね!」の数から判断すると、被害者の数は数万人に及びます。
コード解析の中で明らかになったのは、この攻撃の黒幕が当初は各国語に翻訳したメッセージを使用するつもりだったこと、しかし、考えを変えて短くシンプルな「Video」というテキストに落ち着いたことです。各国語でメッセージを作成する関数のコードを見ると、最初の段階では、イタリア、ギリシャ、スウェーデン、ドイツ、トルコ、フランス(とカナダのフランス語圏)、ポーランド、ポルトガルなどのヨーロッパ諸国と、英語圏の国にいるFacebook利用者が標的だったことがわかります。
複数企業の相互協力により、感染の拡大にはとりあえずの終止符が打たれました。とはいえ、今回の話は、ブラウザーの拡張機能が思った以上に有害であることを改めて気づかせてくれます。同じような悪意ある活動の餌食にならないためには、ブラウザーの拡張機能をむやみにインストールしないようにするのがよさそうです。拡張機能が利用者データを盗み取ることがなく、オンライン行動の追跡もしないことに確証が持てないのであれば、インストールは止めましょう。
また、送られてきたリンクをいちいちクリックするのも考え物です。友達から送ってきたように見えるリンクであっても、友達のアカウントを乗っ取った誰かではなく本当に友達が送ってきたのかどうか、確認することが重要です。