Telegram上で無害なファイルになりすますマルウェア

2018年2月21日

メッセンジャーアプリは、連絡を取り合うための便利なツールであるだけでなく、開いた窓のようなものでもあり、ここから誰かが私たちの生活に入り込むことがあります。Facebook Messenger、Skype、Viber、WhatsAppなどのメッセンジャープラットフォームからAndroidデバイスに侵入するトロイの木馬「Skygofree」を取り上げたのは、つい昨日のことのようです。今回は、Kaspersky Labのエキスパートが検知した感染手法を取り上げます。デスクトップコンピューターに近づき、メッセンジャーアプリ「Telegram」を通じて広がる、極めて巧妙な方法です。

マルウェアが子猫の写真に

トロイの木馬の主な役割は、コンピューターの持ち主にマルウェアを実行させることです。うまいこと実行させるために、トロイの木馬の作成者は、さまざまなトリックを使って危険なファイルを無害なものに見せかけます。

今回のトリックでポイントとなるのは次の2点です。まず、アラビア語やヘブライ語のように、右から左に書く言語があるということ。それから、ほぼどこででも使われている文字コードの業界規格「Unicode」に、単語の方向を反転させる手段があること。表面上は見えない特殊な制御文字(right-to-left override:RLO)を使うと、それに続く文字列が自動的に逆方向に表示されます。このたび発生した攻撃では、まさにこれが悪用されました。

あるサイバー犯罪者が「Trojan.js」という名の悪意あるファイルを作成したと仮定しましょう。「JS」という拡張子から分かるとおり、これはJavaScriptファイルであり、実行可能なコードが含まれる可能性があります。用心深い人ならすぐに何か怪しいと気づき、ファイルを実行しないでしょう。しかし、ファイル名は変えることができます。サイバー犯罪者は、たとえば「cute_kitten*U+202E*gnp.js」という名前に変更するかもしれません。

この名前は、余計に怪しく見えるかもしれません。しかし、「U+202E」はその後に続く文字や句読点を右から左に向かって表示させるRLOなので、実際に表示されるファイル名は「cute_kittensj.png」(cute kitten=かわいい子猫)です。こうして、拡張子が「PNG」に見えるようになりました。見た目には何の問題のない画像ファイルですが、実態はJavaScriptで書かれたトロイの木馬です。これが、「RLO脆弱性」と呼ばれるUnicodeの脆弱性です。

Unicodeを使ってファイル名を変更するトリックは、目新しいものではありません。10年近く前(英語記事)にも、メールに添付した悪意あるファイルやダウンロードされるファイルの正体を隠すために使われましたが、多くの環境ではすでに対策が取られています。しかし、Telegramが初めて標的になったとき、このやり方が通用しました。当社のリサーチャーは、TelegramがRLO脆弱性を持つこと(というより、持っていたこと)を突き止めました。

子猫の画像がマイナーやバックドアに変貌

この脆弱性はTelegramのWindowsクライアントだけで発見されており、モバイルアプリには見つかっていません。当社のエキスパートは、脆弱性の存在だけでなく、攻撃者がこの脆弱性を積極的に使っていることも発見しました。

不明な場所から取得した実行ファイルを実行しようとするとOSが警告を出すはずですが、多くの人は警告メッセージを見ずに「実行」をクリックします。

このようなウィンドウが表示されたら、一度手を止めて考えましょう。とにかく、手を止めてください

マルウェアが起動されると、警戒心を和らげる「かわいい子猫」の画像が表示されます。このトロイの木馬がバックグラウンドで実行するペイロードは、構成によってさまざまなタイプがあります。

その1つは隠れマイナーです。インストールされたマイナーは、実行すると攻撃者のために頑張って仮想通貨を採掘しようとし、その結果コンピューターの動作は遅くなり、オーバーヒートします。

もう1つのタイプはバックドアです。サイバー犯罪者はバックドアを通じてコンピューターの遠隔操作が可能になり、プログラムの削除やインストールから個人情報の収集まで何でもできるようになります。このタイプの感染は、コンピューターの所有者に怪しまれることなく長期間にわたって潜伏し続けることが可能です。

冷静な行動を

当社のリサーチャーはTelegramの開発者へ脆弱性を速やかに報告し、Telegramは脆弱性を修正しました。しかし、これでTelegramをはじめとする人気のメッセンジャーアプリから脆弱性がなくなったわけではありません。そのような脆弱性は、まだ報告されていないだけなのです。ですから、こういった脆弱性が今後見つかったときも保護された状態でいるために、セキュリティのルールをおさらいしておきましょう。SNSやインスタントメッセンジャーの他、さまざまな種類の電子コミュニケーションにも当てはまります。

  • 危険のありそうなところからファイルをダウンロードしたり、開いたりするのは止めましょう。知らない人が画像を送ってきた場合は、開く前によく考えてください。「STOP. THINK. CONNECT.」を心がけましょう。
  • ファイルを開こうとしたときにシステムから警告メッセージが表示された場合は、メッセージに書かれている内容と開こうとしているファイルが一致しているかどうかを検討しましょう。(たとえば、画像ファイルを開こうとしているつもりなのに警告メッセージに「JavaScript File」と書かれている場合は要注意です)
  • 信頼できるセキュリティ製品をインストールしましょう。カスペルスキー インターネット セキュリティカスペルスキー セキュリティのWindows対応プログラム)は、画像のふりをしているマルウェアを、ダウンロードやインストールの段階で検知します。また、その他マルウェアの感染からもコンピューターを守ります。