Mirai、qBot、Hajime、Satori、Hakai─これらはすべてIoT機器に感染するウイルスの名前である。IoT機器を標的としたウイルス、いわゆるIoTウイルスが続々と登場し、感染手段や機能が追加され脅威が増している。IoTウイルスは、パソコンやサーバーに感染するウイルスとどんな違いがあるのか。対策に役立てられるように仕組みや機能を見ていこう。

辞書攻撃を仕掛けるウイルス

 ネットワーク機器やWebカメラ、セットトップボックスなど、多くのIoT機器では、LinuxやAndroidなどのOSが動いている。IoTウイルスは、こうしたOSが稼働する機器を標的にしている(図2-1)。この点は、パソコンやサーバーなどに感染する一般的なウイルスと変わらない。

図2-1●AndroidやLinuxが動くIoT機器に感染するIoTウイルス
AndroidやLinuxが動くIoT機器に感染するIoTウイルス
[画像のクリックで拡大表示]

 IoTウイルスの特徴は、その増殖機能にある。別のIoT機器に辞書攻撃やソフトウエアの脆弱性を突く攻撃を行って、自らを感染させていく(図2-2)。

図2-2●主な感染経路は「認証が必要なサービス」や「ソフトウエアの脆弱性」
IoTウイルスの多くは、IoT機器で稼働するTELNETなど、認証が必要なサービスに対して辞書攻撃を仕掛けて侵入する。特定の機種に存在するソフトウエアの脆弱性を悪用して感染するIoTウイルスもある。図に示した認証情報は、IoTウイルス「Mirai」が使うもの。
[画像のクリックで拡大表示]

 辞書攻撃は、認証が必要なサービスに対して、IDやパスワードによく使われる文字列を使って不正ログインを行う攻撃を指す。Webサービスに不正ログインする攻撃手法としてよく知られている。

 IoTウイルスは、TELNET(23/TCP)をはじめ、SSH(22/TCP)やDCE/RPC(135/TCP)、RDP(3389/TCP)などのサービスの中から稼働しているものを探し、サービスが認証を要求してきたらログインを試みる。これらのサービスを利用すれば、外部から機器を遠隔操作できるようになるため、ログインされたらウイルスに感染させられてしまう。

工場出荷時の初期値を使う

 IDとパスワードの組み合わせを集めたリスト(辞書)を使って不正ログインを試みる攻撃を辞書攻撃と呼ぶ。図2-2には、初期のMiraiが使う辞書の中身を示した。60組のIDとパスワードの組み合わせが含まれる。

 ほとんどは、工場の出荷時にメーカーが設定する初期値や、管理者がよく設定する文字列だ。例えば、ID「admin」とパスワード「admin」の組み合わせは、IoT機器にTELNETでログインするときの認証情報として複数のメーカーが採用している。また辞書に含まれる「7ujMko0admin」というパスワードは、実際にキーボードで打ち込んでみるとその単純さに気づく。「admin」を除く前半部分は、キーボードのセンター上部にある「7」から右下方向にキーを順番に押して、Vの字を描くように続けると打ち込める。

 一方、ソフトウエアの脆弱性には、IoT機器で稼働するポートに特定の文字列を送信されると、その後に送られたコードを実行してしまうといったものがある。

この先は有料会員の登録が必要です。「日経NETWORK」定期購読者もログインしてお読みいただけます。有料会員(月額プラン)は初月無料!

日経 xTECHには有料記事(有料会員向けまたは定期購読者向け)、無料記事(登録会員向け)、フリー記事(誰でも閲覧可能)があります。有料記事でも、登録会員向け配信期間は登録会員への登録が必要な場合があります。有料会員と登録会員に関するFAQはこちら