モノのインターネットを狙ったマルウェアあるいはスパムキャンペーン

先日、Proofpointのセキュリティ研究者たちが2つのブログ記事(パート1パート2)を投稿し、一連のスパムキャンペーンを観測していること、そして25%以上のケースでモノのインターネット(IoT)機器が送信元となっていることを発表しました。セキュリティ侵害を受け、スパムを送信しているとされる機器には「マルチメディアセンター、テレビ、そして最低1台の冷蔵庫」などがあるということです。

1つ目のブログ記事は詳細が十分ではなく、疑問の声が上がりました。2つ目の記事ではすべてではないものの、いくつかの点が明確にされています。ではIoTに関する私の見解を述べていきましょう。

マルウェアはモノのインターネットで実行可能か?

もちろん可能です。Linux/Darllozがその証明だと言えるでしょう。

このマルウェアは2013年11月末に発見され、さまざまなアーキテクチャ(ARM、PPC、MIPSなど)に自身のコピーをダウンロードしました。これらのアーキテクチャは一般的にLinuxベースの組み込み機器が使用しているものであるため、このマルウェアはIoT機器への感染を行うためのものではないかと思われました。

Linux/DarllozはADSLルーターとDreamboxを標的としている

そこで私はLinux/Darllozを詳しく見てみることにしました。このマルウェアは感染を試みるための新たな標的を探す際、必要に応じて次のデフォルトのパスワードを使用します。


図1. 新たな機器へセキュリティ侵害を試みるためのuseridとpasswordのリスト

これらのデフォルトのパスワードには非常に汎用的なもの(admin/admin、root/root、admin/1234)もありますが、それ以外に私の目に留まったものがあります。root/dreamboxとadmin/smcadminです。

ネットで検索してみると、以下のことがわかりました。

ドイツ人ユーザーが何人か感染を報告していること、hxxp://www.CENSORED.de/so.de(ドイツ)からC&Cが稼働していること、そしてDreamboxがドイツに拠点を置く企業だということから、このマルウェアはドイツのエンドユーザーを特に標的としていると考えることができます。

Linux/DarllozはAndroid上で実行されるのか?

ARMアーキテクチャとは要するにAndroid端末ということであり、多くのIoT機器がスマートフォンと組み合わせて使用されているか、スマートフォンに接続されているため、感染させた電話を使ってIoTにウイルスを広めることが可能です。

そこで私はすぐにAndroidエミュレータでDarllozを試してみました。しかし、そのような形では実行されなかったので一安心です(セグメンテーション違反)。

root@generic:/system/xbin # strace -C -ttT darlloz.elf                     
13:16:09.189387 execve("/system/xbin/darlloz.elf", ["darlloz.elf"], [/* 21 vars */]) = 0 <0.001101>
13:16:09.193762 rt_sigaction(SIGCHLD, {SIG_IGN, [CHLD], SA_NODEFER}, {SIG_DFL, [], 0}, 8) = 17 <0.000194>
13:16:09.195191 --- SIGSEGV {si_signo=SIGSEGV, si_code=SI_KERNEL, si_addr=0} ---
13:16:09.195755 +++ killed by SIGSEGV +++

とはいえ今後も、IoTを狙うマルウェアに関してはAndroidに注意しておくべきでしょう

ProofpointはLinux/Darllozの拡散を観測したのか?

いくつかの点で一致が見られるため、最初は私もそう思いました。

  • 日にち: Darllozは11月末に発見され、Proofpointの発見は12月末です。説得力がありますね。
  • 機器: ProofpointもDreamboxやホームルーターに触れています!

しかし2回目のブログ記事でProofpointは、機器におかしな痕跡が残っていたわけではないと言っています。もちろん、Proofpointが見逃した可能性もありますが、Linux/Darllozは自身の存在を隠すようなことはしません(例えば/var/run/.zollardというディレクトリの存在)ので、これはありえないでしょう。セキュアな状態でないIoT機器にアタッカーが単にアクセスし、スパムを広めるためにこれらを使用したというのがProofpointの見解です。スパムを広めるのにトロイの木馬やボットネットは必要なく、アタッカーはただIoTを見つけ出すためのスクリプトを書き、ログインし、メールを送信すれば良いとProofpointは強調しています。私もこの可能性はあると思います。しかし、750,000通ものメールを送信するスパムキャンペーンであれば、ボットネットを構築するほうが理にかなっているのではないでしょうか

もし皆さんがアタッカーなら、まずは手動でいくつかのことを試みるでしょう。

  • ポート25(SMTPに使用される)にtelnetで接続し、機器にメールを送らせる。
  • 機器のroot権限を得る(安全性が極度に低いものがあるため、実行可能)。その後、axelle@blah.comにメールを送信したいのであればblah.comのDNSにクエリを送りMXエントリ(メーラー)を探す。これに接続し、メールを送信。これが基本的にSMTPサーバーが行うことです。Sender Policy Framework(SPF)システムのせいでメールがスパムとして扱われるかもしれませんが、うまくいく可能性はあります。
  • 機器のウェブインターフェイスあるいはエクスポーズされているAPIを使ってメールを送信する。例えば、ウェブカメラは通常、動きを察知すると所有者にメールを送信することができます。場合によってはメールの本文や受信者を変え、これを使ってスパムを送信することも可能かもしれません。

この後、これを自動で行うためのスクリプトを書き、何十台という機器を使ってうまくいくかどうかを確認します。しかし、この方法は大変であり、数多くの機器に適用することはできません。アタッカーのホストが各機器に接続している必要があるからです。だからこそPCの場合、サイバー犯罪者たちはスパムキャンペーンにこの方法を用いず、ボットネットを使うのです。ボットネットの場合、ボットマスターはメール送信のために各スレーブ(ボット)に接続する必要はありません。はるかに管理が簡単であり、回線容量も少なくて済み、追跡も困難な方法です。P2P型ボットネットの場合は特にそうです。

確かではありませんし、おそらく違うとは思いますが、ボットネットが使われている可能性(あるいは将来的にボットネットが使われる可能性)もあるかもしれません。

本当に冷蔵庫がスパムを送信していたのか?

これは証拠が見たいですよね。

2回目のブログ記事で、Proofpointはどのように機器を特定したかについて、もう少し詳細を書いています。「(さまざまなプロトコルを介して接続されている)IPを調査した」ということですが、つまりはポートスキャニングを行ったということですね。さらに「機器から応答があったケースでは、そのIPの機器がIoTタイプの機器であることを自ら示し、その機器はよく知られた、グラフィカルな(ウェブベースUIの場合)インターフェース、ファイルストラクチャ、コンテンツなどを含む明白なIDとともに応答した」ということです。

法律的には、直接機器とやり取りをせず、特定のメールヘッダー(Message-ID、 X-Mailer、Received)やHTTP User-Agent(HTTPで送信されるメールの場合)を介して機器を特定しようとしたほうが良かったでしょう。

とにかく、ProofpointはこのようにしてDVR、カメラ、VoIPゲートウェイを特定しました。冷蔵庫に関しては、インターネット冷蔵庫は台数が非常に少ないため、私は怪しいと思っています。実際私はSamsung RF4289Samsung T9000LGのインターネット冷蔵庫しか知りませんし、Samsung RF4289以外はまだ販売すらされていません。

識別エラーだったのでしょうか? 憶測だったのでしょうか? スパムを送信する冷蔵庫のスクリーンショットを見てみたいですね。

- the Crypto Girl

PS. 有益なアドバイスを提供し、今回の投稿内容の見直しをしてくれたGuillaume Lovetに感謝します。