Video Screencast Help
The Symantec Enterprise Security business is now part of Broadcom. Click here for more details.
Security Response

DDoS 攻撃が広がる IoT デバイス

マルウェアに感染する IoT デバイスは増加の一途をたどっていますが、持ち主がそのことにまったく気付いていないかもしれません。
Created: 26 Sep 2016 03:50:00 GMT • Updated: 26 Sep 2016 04:40:29 GMT • Translations available: English, 繁體中文, 한국어
Symantec Security Response's picture
0 0 Votes
Login to vote

「モノのインターネット」(IoT)を標的にするマルウェアが成熟し、IoT を集中的に狙う攻撃グループの数はこの 1 年間で何倍にも増えています。2015 年は、IoT 攻撃の記録的な年となり、マルウェアファミリーが新たに 8 種類も出現しました。IoT 攻撃の半数以上は中国または米国から発していますが、ロシア、ドイツ、オランダ、ウクライナ、ベトナムからしかけられている攻撃も無視できない数にのぼっています。

IoT デバイスの多くは、セキュリティの弱さゆえに攻撃しやすい標的になっているうえ、感染したことに気付かない被害者も少なくありません。攻撃者は IoT のセキュリティがもろいことを十分に認識しており、たいていのマルウェアには、よく使われるデフォルトのパスワードがあらかじめプログラムされています。

IoT 攻撃はかなり以前から予見されており、ホームオートメーションやホームセキュリティデバイスが乗っ取られる可能性もたびたび取り上げられてきました。ところが、今までのところ、攻撃は予想外の形をとっています。攻撃者のほとんどは、被害者自身にそれほど関心を示さず、乗っ取ったデバイスをボットネットに加えようとする傾向があります。その大半の利用目的は、分散サービス拒否(DDoS)です。

セキュリティベンダーの Sucuri 社によると、今月だけでも、3 種類のボットネット(CCTV ボットネット、ホームルーターボットネット、危殆化した Web サーバー)から大規模な DDoS 攻撃が実行されました。これまではあまり例がありませんでしたが、インターネットに接続する組み込みデバイスが増え続ける以上、今後は複数の IoT プラットフォームに起因する攻撃が同時に多発することも考えられます。

New_IoT_Families.png
図 1. 新たに出現した年ごとの IoT マルウェアファミリーの数。IoT に対する脅威は 2015 年に急増し、その多くが 2016 年になっても活動を続けている

脆弱なデバイス

IoT マルウェアの大半は、PC 以外の組み込みデバイスを標的にします。多くはインターネットにアクセスできますが、オペレーティングシステムと処理能力に限界があることから、高度なセキュリティ機能を備えていない場合もあります。

組み込みデバイスはたいてい、電源をつないで基本設定を済ませれば放置できるように作られています。ファームウェアの更新がなかったり、所有者が更新を忘れたりする場合も多く、製品寿命に達するまで、買い換えられることもまずありません。その結果、こうしたデバイスに侵害や感染があっても、所有者には見過ごされがちです。この点が、リモートの攻撃者を寄せつける原因になっています。

攻撃の大多数は米国と中国から

シマンテックのハニーポットで IoT マルウェアのサンプルを収集して解析したところ、IoT 攻撃の出どころは、トップが中国で、2016 年には攻撃の 34% を占めていました。26% が米国で、以下ロシア(9%)、ドイツ(6%)、オランダ(5%)、ウクライナ(5%)と続きます。上位 10 カ国の残りがベトナム、英国、フランス、韓国でした。

このデータは、シマンテックのハニーポットでマルウェア攻撃の実行に使われた IP アドレスの所在地から得たものです。ただし、IP アドレスは、攻撃者が真の所在を隠すために使っているプロキシの場合もあります。

シマンテックの IoT ハニーポットで、今年に入って頻繁に見つかっている脅威が、Linux.Kaiten.BLinux.Lightaidra です。

3995284_Iot_Attack_Origin_JA.png
図 2. 2016 年に IoT ハニーポットの監視で見つかった攻撃の発信元(重複を数えない攻撃者の件数による)

よく使われる上位のパスワード

シマンテックのハニーポットで確認された攻撃からは、IoT マルウェアがデバイスへのログインを試みるとき特によく使うパスワードも明らかになりました。予想どおり、トップはユーザー名「root」とパスワード「admin」の組み合わせでした。デフォルトのままパスワードが一度も変更されないことがいかに多いかという証拠です。Ubiquiti のログイン情報(ユーザー名「ubnt」、パスワード「ubnt」)も、そのまま使われています。2016 年 5 月に報じられたとおり、Ubiquiti Networks 社製のルーターには古い脆弱性があったため、組み込みデバイスを狙うワームが、ファームウェアの古くなった同社のルーター数千台で拡散しました。IoT マルウェアを背後で利用している攻撃者は、パッチを適用していない Ubiquiti 社製ルーターがいまだに稼働していることを期待しているようです。リストの下位には、Raspberry Pi(ラズベリーパイ)のデフォルトログイン情報(ユーザー名「pi」、パスワード「raspberry」)もあり、特にこのプラットフォームを狙う攻撃者が増えていることもわかります。

上位のユーザー名 上位のパスワード
root admin
admin root
DUP root 123456
ubnt 12345
access ubnt
DUP admin password
test 1234
oracle test
postgres qwerty
pi raspberry

表 1. IoT デバイスに対する総当たりで試されるユーザー名とパスワードのトップ 10

IoT マルウェア - 共通する傾向

IoT マルウェアは高機能化が進んでいますが、主に DDoS 攻撃に使われているという事実を踏まえると、これまでに登場した各種のマルウェアファミリーに見られる共通の傾向がいくつか浮き彫りになってきます。

マルウェアの拡散に限ってみると、攻撃者のアプローチは複雑ではありません。なかには、手動でデバイスにインストールされる必要があるマルウェアも存在しますが、開いている Telnet ポートまたは SSH ポートを使う IP アドレスをランダムにスキャンし、よく使われるユーザー名/パスワードを使って総当たりを試みるというのが、最も一般的な手法です。

組み込みデバイスが稼働する CPU アーキテクチャは多岐にわたるため、IoT マルウェアは複数のアーキテクチャのボット実行可能ファイルをランダムにダウンロードし、成功するまでひとつずつそれを実行しようとします。あるいは、既存のデバイスのプラットフォームを調べ、正しいボットのバイナリだけをダウンロードするモジュールを持つマルウェアもあります。

攻撃でよく見られるのが、wget または tftp コマンドを使ってシェルスクリプト(.sh)をダウンロードするという手口です。それが次に、ボットのバイナリをダウンロードします。作成者が、アーキテクチャごとのボットバイナリを区別するために麻薬の通称を使っていたシェルスクリプトも確認されています。

IoT_malware_3_edit.png
図 3. 各アーキテクチャ用のボットバイナリをダウンロードするシェルスクリプト

ボットバイナリは、実行されると、ハードコードされたコマンド & コントロール(C&C)サーバーへの接続を確立し、リモートのボットマスターから送られるコマンドを待ちます。通信は、IRC チャネルを介して確立されるようで、マルウェアにはリモートの C&C サーバーへのトラフィックを暗号化する機能が備わっている場合もあります。

クロスプラットフォームのマルウェア

さまざまなアーキテクチャに応じてマルウェアをクロスコンパイルするのは、攻撃者にとって簡単です。一般的な標的は x86、ARM、MIPS、MIPSEL などのプラットフォームですが、攻撃者は標的の候補を広げ続けており、PowerPC、SuperH、SPARC の各アーキテクチャに対応する亜種も作成しています。このように、潜在的に脆弱なデバイスは増え続けており、Web サーバー、ルーター、モデム、NAS デバイス、CCTV システム、ICS システムなど、標的候補のリストに加わるデバイスは広がる一方です。

さまざまな IoT マルウェアで注目に値するのが、他のプロセスを停止する機能です。具体的には、すでに知られている他のマルウェアの亜種に属するプロセスを停止しようとします。古いタイプでは、競合する他のマルウェアを、デバイスに感染しないうちに排除する目的でこの機能が使われていることもありました。今では、組み込みデバイスのシステムリソースが非常に限られているため、CPU 負荷あるいはメモリ負荷の高いプロセスによってリソースが占有されないようにすることが目的になっていると、シマンテックは考えています。

同じ目標を、もっと高度なアプローチで達成しようとする場合もあります。特定の外部アクセスのみを許可するように、感染したデバイスで iptables ルールを変更する手口です。iptables ルールを変えると、他のマルウェアからデバイスへのアクセスを確実にブロックできますが、正規の管理者もロックアウトする可能性があります(telnet ポートがブロックされる)。

IoT マルウェア各ファミリーの概要

組み込みデバイスを標的にするマルウェアとして確認され、特に盛んに活動しているファミリーを以下に挙げます。

Linux.Darlloz(別名 Zollard)

Linux.Darlloz は、「PHP の php-cgi に存在する情報漏えいの脆弱性」(CVE-2012-1823)を悪用して脆弱なシステムに拡散することをシマンテックが発見したワームです。これは 2012 年にパッチが公開されており、新しい脆弱性ではありません。活動が確認された Darlloz の亜種は、x86 チップアーキテクチャで稼働するコンピュータ用としてのみ設計されていましたが、バージョンが上がると ARM、PPC、MIPS、MIPSEL の各アーキテクチャを使うデバイスも狙うようになりました。このワームで特徴的なのは、Linux.Aidra という他の IoT マルウェアに関連付けられたファイルをスキャンして削除しようとすることです。Linux.Aidra が使う通信ポートのブロックも試みます。狙われたデバイスが Darlloz に感染すると、TCP ポートでバックドアが開き、リモートでコマンドの実行が可能になります。また、Telnet トラフィックを停止し、telnetd プロセスを終了させて、感染したデバイスに接続できないようにユーザーをブロックします。

Linux.Aidra/Linux.Lightaidra

Linux.Aidra と、その最新の亜種である Linux.Lightaidra は、TCP ポート 23 で Telnet サービスを通じて拡散するワームです。よく使われるユーザー名/パスワードの組み合わせを使って、デバイスにログインしようとします。侵入したコンピュータやデバイスでバックドアを開き、リモートの C&C サーバーからのコマンドを待ちます。感染したデバイスは、DDoS 攻撃を実行するボットネットに加えられてしまいます。Aidra の侵入を受けたデバイスからの DDoS 攻撃が発生すると、TCP(Transmission Control Protocol)パケット、UDP(User Datagram Protocol)パケット、DNS(ドメインネームシステム)要求のフラッド状態が起きる場合があります。

Linux.Xorddos(別名 XOR.DDos)

Linux.Xorddos は、侵入先のコンピュータやデバイスでバックドアを開きます。このマルウェアの名前は、コードでも C&C サーバーとの通信でも XOR 暗号化が多用されていることに由来しています。Xorddos は、x86 だけでなく ARM アーキテクチャ向けにもコンパイルされ、複数の亜種が存在します。DDoS 攻撃を実行する主な機能のほか、ファイルをダウンロードして実行する、サービスを削除する、追加モジュールをインストールするといった追加の機能を備えています。Xorddos は、ネットワークトラフィックまたはファイルを隠すルートキットコンポーネントとともにインストールされる可能性もあり、侵入先のデバイスでそうしたタスクを実行するために、ルートキットコンポーネントに IOCTL 要求を送信することもあります。

Linux.Gafgyt(別名 GayFgt, Bashlite)

Linux.Gafgyt は、Shellshock 脆弱性CVE-2014-6271)の悪用を通じて拡散されるのが一般的です。インストールされると、Linux.Gafgyt はボットネットの一部となり、DDoS 攻撃(UDP または TCP フラッド)の実行に利用されます。Shellshock の影響を受けるのは、CGI を使う Web インターフェースを利用する Web サーバーまたは Linux ベースのルーターなどです。Gafgyt には、よく使われるユーザー名とパスワードの組み合わせを使ってルーターを総当たりする機能もあり、侵入先のデバイスから CPU 情報を収集することができます。

Linux.Ballpit(別名 LizardStresser)

Linux.Ballpit を作成したのは、Lizard Squad の名で広く知られている APT グループです。Linux.Ballpit には、侵入先のデバイスから TCP パケットまたは UDP パケットのフラッドを利用して DDoS 攻撃をしかける機能があります。他の IoT マルウェアファミリーと同様、これも Telnet サービスの公共 IP アドレスをスキャンして拡散するワームです。オープンしている適当な接続が見つかると、Ballpit はハードコードされた一般的なユーザー名とパスワードをいろいろと試みて、ログインしようとします。ログインに成功すると、C&C サーバーにその通知が届き、ボットクライアントは攻撃者からの指示を待つようになります。

Linux.Moose

ここで紹介している他の IoT マルウェアファミリーとは異なり、Linux.Moose は DDoS 攻撃の機能を持たず、どちらかというと偵察タイプのマルウェアのようです。Linux ベースのルーターや、ARM ベースまたは MIPS ベースの組み込みデバイスを標的にして、まず近傍の IP アドレスをスキャンし、次に脆弱な Telnet ログイン情報を総当たりして拡散します。感染後の第 1 段階として、侵入先デバイスでネットワークトラフィックを盗聴するほか、トラフィックを取得し、デバイスの CPU 情報を収集して、そのデータをリモートの C&C サーバーに返します。また Moose には、競合する IoT ボットネットクライアントに属するプロセスの実行を定期的に調べ、見つかった場合に停止させる機能もあります。C&C サーバーから受信する構成ファイルに基づいて、Moose は侵入先のホストで DNS サーバーの設定を変えることもあります。

Linux.Dofloo(別名 AES.DDoS、Mr. Black)

Linux.Dofloo は、x86、ARM、MIPS の各アーキテクチャで Linux ベースのシステムを狙うトロイの木馬です。AES.DDoS という別名もありますが、これは C&C サーバーとの通信を暗号化する際に AES アルゴリズムを使うことに由来します。Dofloo は、侵入先のデバイスでバックドアを開き、リモートの攻撃者からのコマンドを待ちます。DDoS 攻撃の実行にも利用されるほか、侵入先デバイスの CPU、メモリ、ネットワークトラフィックに関する情報を収集し、そのデータを攻撃に返送する機能もあります。

Linux.Pinscan/Linux.Pinscan.B(別名 PNScan)

Linux.Pinscan は、x86、ARM、MIPS、MIPSEL などの各種 CPU アーキテクチャを対象に開発されたトロイの木馬です。Pinscan は、ポート 22 が開いているデバイスのネットワークセグメントをスキャンし、よく使われるユーザー名とパスワードを使って総当たりでログインを試みます。また、脆弱性を悪用してデバイスへのアクセス権も取得しようとします。DDoS の機能はありませんが、狙ったデバイスへのアクセス権をひとたび取得すれば、Linux.Kaiten など他のマルウェアバイナリをダウンロードする場合もあります。

Linux.Kaiten/Linux.Kaiten.B(別名 Tsunami)

Linux.Kaiten とその後続の亜種である Linux.Kaiten.B は、DDoS 攻撃に使われるトロイの木馬です。亜種ごとに動作は異なり、/etc/init.d/rc.local を書き換えてユーザーがログインするたびに実行させるか、/etc/rc.d/rc.local を書き換えて起動時に必ず実行されるようにします。インストールされた Kaiten は、ハードコードされた IRC チャネルに参加して、リモートの攻撃からのコマンドを待ちます。DDoS 攻撃を実行するほか、プロセスを停止させる、他の任意のファイルをダウンロードして実行する、あるいは侵入先デバイスの IP アドレスになりすます、などの機能もあります。

Linux.Routrem(別名 Remainten、KTN-Remastered、KTN-RM)

Linux.Routrem は、KTN(Kaiten)-Remastered とも呼ばれていますが、これは Linux.Kaiten のコードの要素を多く利用しているためです。実行されると、Routrem は侵入先のルーターで使われているアーキテクチャを識別し、適切なモジュール(ARM、MIPS、x86)を展開します。Kaiten と同様、Routrem も追加のファイルをダウンロードし、さまざまな DDoS 攻撃を実行するか、近傍の IP アドレスをスキャンして開いている Telnet ポートを調べます。標準のルーターデバイスを狙ってそれに感染し、Kaiten と同じく IRC チャネルを介してリモートの攻撃者からのコマンドを受け取ります。

Linux.Wifatch(別名 Ifwatch)

Linux.Wifatch は、数ある IoT マルウェアファミリーのなかで、「モノのインターネット」の自警団と見なされている存在です。作成者によると、Linux.Wifatch は教育目的で設計されていると言います。Wifatch のコードは、プログラミング言語 Perl で書かれており、ARM や MIPS、Sh4、PowerPC、x86 など複数のアーキテクチャを標的にします。DDoS 攻撃、脆弱性の悪用、マルウェアペイロードの拡散といった機能は持たず、それどころか、ハードコードされたルーチンの一部によって、侵入先デバイスのセキュリティ向上を図ろうとします。たとえば Wifatch は、Telnet ポートを開く際の危険性を管理者に伝える警告メッセージを表示したり、パスワード変更やファームウェア更新などを推奨したりします。Wifatch には、同じデバイス上に既知の IoT マルウェアファミリーに属するプロセスがあれば、それを見つけて停止するモジュールもあります。

Linux.LuaBot

Linux.Luabot は、ARM アーキテクチャを標的にして、プログラミング言語 LUA で書かれた最初のマルウェアです。Luabot にも、DDoS 攻撃をしかける機能があることが確認されています。

狙いやすい標的に群がる攻撃者

IoT に対する脅威をめぐる現在の環境を見ると、組み込みデバイスへの攻撃にはそれほど苦労しないことがわかります。確かに、デバイスの脆弱性(Shellshock や、Ubiquiti 社製ルーターの脆弱性など)を悪用するマルウェアもいくつか確認されてはいますが、脅威の大多数は、単に組み込みデバイスのもろい防御やデフォルトのパスワード設定を狙っているにすぎません。

IoT マルウェアの主な目的は、依然として DDoS 攻撃です。IoT が急成長を続け、デバイスの処理能力が向上すれば、戦術も変化すると考えられ、攻撃者の手口は暗号通貨のマイニング、情報の盗取、ネットワーク偵察などに枝分かれしていくでしょう。 

安全のために

  • IoT デバイスは、購入する前に特徴とセキュリティ機能を確かめる。
  • ネットワーク上で使う IoT デバイスの点検を実施する。
  • デバイスでデフォルトのログイン情報は必ず変更する。デバイスのアカウントと Wi-Fi ネットワークには強力なパスワードを使い、他のサイトと兼用しないことです。「123456」や「password」のように誰でも簡単に推測できそうなパスワードは使わないでください。
  • Wi-Fi ネットワークアクセスを設定する際には、強力な暗号方式を使う(WPA)。
  • デバイスの多くは、デフォルトでさまざまなサービスが有効になっているので、不要な機能やサービスは無効にする。
  • Telnet ログインを無効にし、可能な限り SSH を利用する。
  • 要件とセキュリティポリシーに従って、IoT デバイスのプライバシー設定とセキュリティ設定を変更する。
  • 不要な場合には、IoT デバイスへのリモートアクセスを無効にするか、保護する。
  • 可能であれば、ワイヤレス接続ではなく有線接続を使う。
  • ファームウェアの更新がないかどうか、メーカーの Web サイトを定期的にチェックする。
  • ハードウェアの停止によって、デバイスが無防備な状態にならないようにする。

侵害の兆候

Linux.Kaiten.B のファイルハッシュ

  • 0e2c455eecc43561739927200fa2f999
  • 3495cf3def0ca1b3ff925273654c6d12
  • 5370364A609F840E690F1B594D76DD78
  • a3e630449d9992dfdaab06a70ae47c6f
  • c5196114810a0664b99e6a6f2e2e20b5
  • fe5906a01145259150995c330d8958d7
  • 134bab6eb801b561f7336ca737ebba6a
  • 5073ae0ab1aac35f0df509988efbb163
  • 798ab5ee311a5d632f5a4070818a5912
  • ba0c40010bd4cf50378af1498c5837c1
  • bfb35eed3f72ddcacf2cda658cb46c86
  • d23c85297a053d295571e14caecbbe5c

Linux.Lightaidra のファイルハッシュ

  • 0b487f2575f1ffb7e1ab5134ee655c90
  • 4a678cd990cd0c73dfdfc4deb684d519
  • 5a8896889dbda11f16819d94db6209f5
  • 710651c2689bedffd6ae95d7b650c033
  • 878b672e727bd699d97d8bb98d15f7d1
  • abaae2cc9205f68c3d573d2c1788bb25
  • c29e92735a27e67b992205ec7cf7ebbb
  • cf7817265fef323afa974a3e5421088e
  • dd689db75d2cc6e746fef2cdf487f583
  • 0b65fc502a44c357e38a4debcc5f1468
  • 144865f94561a73186582f0bdb4632fc
  • 577e582402d01fdf7114ec290dec41cc
  • 6ac783cf08e041250e6bcfa5bbdbe78f
  • a6838da1b2868cdbe7cadb7a744ecc4e
  • a68b10ce6491f6e46ef5d104788c6c45
  • cc9d04f3a975bb51d4cd162e00928680
  • d549b2ee10cbc5381bb3784d44f61fed
  • 0f13ad242a7e3556cc17b44319ce70db
  • 1043ffc3fc99a8bb33804694c737003c
  • 2dd9308eaec9ae33f96f2818b028a106
  • 2fce69a6d7c5b14b1b6284077beb1998
  • 33c2d40f656dcf80fe2db0bc6ecb6161
  • 3d0094842e45b24efac4afc091933345
  • 422b879ef8d6ffc286f6760d02ecf8d4
  • bf6fd9a29add7e62df8c0c21b7d57d17
  • e3dfdd42973da50f9e0b5776cf4a9c7f

参考資料

IoT デバイスのセキュリティについて詳しく知りたい方は、シマンテックのホワイトペーパー『Insecurity in the Internet of Things(「モノのインターネット」の危険性)』(英語)をお読みください。

* 日本語版セキュリティレスポンスブログの RSS フィードを購読するには、http://www.symantec.com/connect/ja/item-feeds/blog/2261/feed/all/ja にアクセスしてください。

【参考訳】