マルウェア
ルータやNASに感染するIoTボット「VPNFilter」の流行から2年、その現状と課題を解説
トレンドマイクロは現在の脅威に対する監視と調査を続ける中で2018年に猛威を振るったIoTボット「VPNFilter」の感染事例を複数発見しました。2018年5月にFBIが中心となって遠隔操作サーバをテイクダウンしたことが発表されており、一般には既に危険な存在ではないものと考えられているVPNFilterが2021年の現在もなぜ生き残っているのでしょうか?
トレンドマイクロでは常に現在の脅威に対する監視と調査を続けています。この活動の中で2021年初頭から既知のマルウェアファミリによるIoT機器への感染事例について再調査したところ、これまでに報告されたIoTマルウェアの中でも最も大きなファミリの一つであり、2018年に猛威を振るったIoTボット「VPNFilter」が感染している事例を複数発見しました。ただしこのVPNFilterに関しては2018年5月にFBIが中心となって遠隔操作サーバ(C&Cサーバ)をテイクダウンしたことが発表されており、一般には既に危険な存在ではないものと考えられています。なぜ、そのVPNFilterが2021年の現在も生き残っているのでしょうか?本記事では調査の詳細と得られた知見について解説します。
■IoT機器の状況
モノのインターネット(Internet of Things, IoT)の普及に伴い、ルータ、プリンタ、カメラ、ネットワーク接続型ストレージ(NAS)機器など一般家庭でも利用されるIoT機器がサイバー犯罪者の標的となる事例が増えています。WindowsやMacなどの代表的なOSとは異なり、ユーザがIoT機器に修正プログラム(パッチ)を適用することはほとんどありません。これはIoT機器の多くがWindowsやMacなどのOSと違い自動更新機能を備えていないほか、メーカーによってはセキュリティアップデートを供給していないため、ユーザがIoT機器にパッチを適用することに煩わしさや不便さを感じていることも要因となります。またこれらの類のシステムはユーザが初期設定する際に一度ログオンした後、大きな不具合が生じない限り再びログオンされることはめったにありません。さらにこれらのシステムが稼働している限り既知の脆弱性が内在する古いルータが利用され続けていることも珍しくありません。
結果、これらのシステムに内在する既知の脆弱性が長期的にインターネット上に露出した状態となり、マルウェアによる感染事例が初めて確認されてから数年が経過した後でも攻撃が成功する可能性が残されてしまいます。
■IoTマルウェア「VPNFilter」とは?
VPNFilterはバックドア型マルウェアによって侵害したアカウントを利用して既知の脆弱性が内在するルータやNAS機器に影響を与えるマルウェアタイプで、多くのベンダの製品を侵害しました。
2018年5月、脅威インテリジェンス組織「Cisco Talos」はVPNFilterに関する初めてのレポートを公開しました。このレポートでは、VPNFilterがネットワーク内部で永続的な活動方法を確立し、監視制御データ収集(SCADA)プロトコル「Modbus」のトラフィックを傍受するように設計されていることが報告されました。しかしこれはVPNFilterがデプロイするプラグインの一つに過ぎないことに留意する必要があります。Modbusは産業用制御システム(ICS)向けの通信プロトコルとして普及しており、この種のシステムに特化したものです。VPNFilterは一般消費者向けのIoT機器を侵害することに焦点を当てている傾向がありますが、様々な理由により一般消費者向けのIoT機器が産業用制御システムの構成要素の一部として発見されることが多いのも事実です。いくつかの理由としてこれらのIoT機器は導入が容易であること、ベンダによるリモートアクセスが提供されていること、あるいは単にシステム管理者が誤って追加導入してしまったことなどが挙げられます。VPNFilterが間接的に産業用制御システムを標的にしている可能性があることから米連邦捜査局(FBI)は、最初に報告された攻撃に国家レベルのサイバー犯罪集団が関与していることも視野に入れて捜査を行いました。
VPNFilterはモジュール化によって三段階の攻撃を実行するマルウェアです。第一段階では、標的のIoT機器に侵入し永続化の確立やC&Cサーバの特定を行います。第二段階では、C&Cサーバとの通信のやり取りを行い、そして第三段階でペイロードが展開されます。これらのペイロードはマルウェアが意図したそれぞれのタスクを実行します。これらのペイロードの中にはModbusのトラフィックを傍受可能にするペイロードも確認されました。
第一段階では既知の脆弱性を持つ特定のデバイスにアクセスしようと試みます。既知の脆弱性を持つデバイスは当時12社以上のベンダが提供する製品から確認されました。デバイスへの侵入に成功すると、第一段階のマルウェアは第一フェーズとして画像ホスティングサイト「Photobucket[.]com」にアクセスして、交換可能な画像ファイル形式(Exif)のGPS座標にC&CサーバのIPアドレスが埋め込まれた画像ファイルをダウンロードしようと試みます。Photobucketからのダウンロードに失敗した場合、第二フェーズとして別のドメイン「toknowall[.]com」にアクセスし、C&CサーバのIPアドレスが埋め込まれた画像ファイルをダウンロードしようと試みます。これら2つの試みにも失敗した場合、第三フェーズとしてC&CサーバのIPアドレスを含むよう特別に細工されたTCPパケットを受け取るためにすべての受信パケットを監視するリスナーを起動させます。
VPNFilterの感染被害が初めて確認された際はかなりの注目を集めて脅威となりましたが、この出来事は2018年にまでさかのぼります。これまでVPNFilterを実質的にオフラインにするために不正ドメインの差し押さえやマルウェアの活動を停止させるためのあらゆる対策が実施されましたが、なぜいまだに感染被害が確認されるのかを再調査する必要があると考えました。
VPNFilter発見時にFBIが出した声明では、マルウェアの活動を一時的に停止させるためにVPNFilterに感染した可能性のあるデバイスを工場出荷時の状態に戻して再起動するようユーザに要請が出されていました。感染デバイスを再起動することで少なくとも第一段階のマルウェアが再びインストールするまでの間は、第二段階のマルウェアおよび第三段階のマルウェアを本質的に駆除できるとしています。この声明はCisco Talosが公開した最初の調査結果に基づいて作成されました。ただしこの対策だけではVPNFilterを完全に駆除できず、第一段階のマルウェアが起動するリスナーは残る結果となりました。
トレンドマイクロのホワイトペーパー「ワーム戦争:IoT 分野におけるボットネット間の戦い」では、感染デバイス内に既存するボットネットが別のボット型マルウェアを削除する活動事例やこれらのIoT機器が簡単に侵害されてしまう可能性について解説しました。これらの調査時、VPNFilterのようなIoTマルウェアを削除しているのはこれらの一部システムにアクセスできる少数の攻撃者であるとみられていました。特筆すべき点は、そもそもすべてのユーザがこれらのシステムにアクセスすることはできないことです。一例としてFBIは、ボットネットが構築されたネットワークインフラの一部をテイクダウンする際にエンドユーザにIoT機器を初期化して再起動するよう推奨しました。
ところが多くのユーザはインターネット・サービス・プロバイダ(ISP)から提供されたレンタルルータを使用しており、ほとんどの場合ルータシステムへのアクセス権が付与されていませんでした。これによりエンドユーザはISPの許可なくファームウェアをアップデートすることができず、結果、脆弱性に対する最新のパッチを適用することができませんでした。以下に解説するように、FBIがShadowserver社と協力してボットネットをシンクホールするという追加の対策が実施されたのは、まさにこのためです。
ベンダが既知の脆弱性を修正するためにアップデートやガイダンスを公開している事例もありました。例えば、ネットワーク機器メーカー「Netgear社」と「MikroTik社」は、ファームウェアをアップグレードすることで、VPNFilterによる影響範囲を修正し再感染を防止できると表明しました。しかしながら当時の調査時点では、IoT分野の組織で脆弱性や感染被害へのクリーンアップを約束しているところは確認できませんでした。アップデートに関する業界標準や標準メカニズムが定まっていないため、これらのIoT機器を利用するユーザは提供元ベンダの正規サイトに手動でアクセスしてファームウェアファイルをダウンロードし、IoT機器にアップロードする必要がありました。少数ではありますがファームウェアの自動更新手続きを実施するベンダも見受けられました。これらの調査結果は、残存するVPNFilterの感染被害に関する以下の問いについて考えさせるきっかけとなりました。
- ルータのファームウェアをアップデートしたユーザは何人いるのか?
- 過去2年間に感染ルータを交換したユーザは何人いるか?
- VPNFilterは別のIoTマルウェアを送り込む攻撃者によって削除されたIoTマルウェアの一種なのか?
- VPNFilterに感染したIoT機器はまだ存在しているのか?
■Shadowserver社によるシンクホール
The Shadowserver Foundationは、「脆弱性、悪意ある活動、新たな脅威を明らかにすることでインターネットをより安全なものにする(To make the Internet more secure by bringing to light vulnerabilities, malicious activity and emerging threats.)」を理念とする非営利のセキュリティ組織です。トレンドマイクロはShadowserver社とパートナーシップを締結しており、今後3年間の活動資金を提供しています。
このパートナーシップを通じて、トレンドマイクロはShadowserver社と連携して次なる対策を実施できないか模索しました。また、Cisco Talos、FBI、米国司法省(Shadowserver社のサポートを含む)が過去に実施したVPNFilterの代替ドメイン(toknowall[.]com)のシンクホールを通じて収集されたであろうShadowserver社の利用可能な統計データから、どれだけのIoT機器が現在もVPNFilterに感染しているかなどのデータを収集したいと考えました。さらに弊社は現存するVPNFilterの感染被害をすべてクリーンアップする方法が提案できないか考察しました。これは極めて重要なことで、上述の通りエンドユーザにとって感染デバイスからIoTマルウェアを削除するのは容易なことではなかったからです。これがまさに前回のシンクホールが多くのセキュリティ組織によって実施された理由です。
はじめに、トレンドマイクロはVPNFilterについて理解を深める必要がありました。VPNFilterの仕組みを知ることで前回のテイクダウンの取り組みに追加できる新たな対策手段がないか見極める必要がありました。
図2に示すように、Shadowserver社がシンクホール観測を開始した最初の2ヶ月間は14,000台以上のネットワークが感染するという急増が見られましたが、時間の経過とともに5,447台にまで減少しています。
この結果を見ると、2年以上経過してもなお、かなりの数の感染被害が残っていることがわかります。特にこのままの推移ではこれらの感染デバイスが物理的に交換されるまでは今後数年間は感染状態が継続する可能性があります。これはIoTボットネットによくみられる傾向です。これは、IoTボットネットが完全には「削除不可」であることを示唆しているだけでなく、後述するように、VPNFilterは別の攻撃者が利用するために引き継ぐのに適したボットネットであると言えます。
■VPNFilterの技術的詳細とトレンドマイクロの取り組み
Cisco Talosの報告では、第一段階のマルウェアは以下の攻撃手順を通じて受け取ったIPアドレスから第二段階のマルウェアをダウンロードしようと試みます。
- Photobucket[.]comにアップロードされている画像ファイルから第二段階のマルウェアを取得しようと試みる(第一段階のマルウェアによる第一フェーズ)
- 上記に失敗した場合、第一段階のマルウェアは別のドメイン「toknowall[.]com」から画像ファイルをダウンロードしようと試みる(第一段階のマルウェアによる第二フェーズ)
- どちらも失敗した場合、第一段階のマルウェアは攻撃者から送られてくる特定のTCPパケットから第二段階のマルウェアをダウンロードするためのIPアドレスを受け取るために感染デバイスを通過するすべてのTCPパケットを待機する(第一段階のマルウェアによる第三フェーズ)
上記の攻撃手順の内容を図4に示します。
トレンドマイクロは、第一段階の第一フェーズと第二フェーズに対するソリューションの有効性を検証したいと考えました。主な理由として、シンクホールサーバの有効性を確認することで現存する感染デバイスの活動状況を確認するためです。現在も感染デバイスが確認される場合は、それらの感染デバイスを恒久的にクリーンアップできるソリューションを見出す必要があります。
トレンドマイクロがまず目につけた重要な点の一つは、第一フェーズでアクセスされるPhotobucket[.]comにホストされた画像ファイルがすでにテイクダウンされ、第二フェーズでアクセスされる代替ドメインtoknowall[.]comがシンクホールされていても、このシンクホールサーバから有効な画像ファイルがダウンロードされない限り、攻撃者が制御権を取り戻す可能性のある第三フェーズに移行してしまうという点でした。有効な画像ファイルがダウンロードされない場合、第三フェーズに移行してしまうというのは悪い知らせのように思えますが、後述する通りこれは解決への糸口となりました。以下の段落では、第一段階の第一フェーズと第二フェーズ(図1)に関する調査結果について詳説します。
Photobucket[.]com(第一フェーズでアクセスするC&Cサーバ)
Photobucket[.]comを指すすべてのURLはすでにテイクダウンされ、Photobucket[.]com上にホストされていた画像ファイルも削除されています。このため現在感染デバイスが実行できる選択肢は、第二フェーズであるtoknowall[.]comにアクセスして画像ファイルをダウンロードするか、第二段階のマルウェアがホストされたC&CサーバのIPアドレスを含んだ特定のTCPパケットが攻撃者から送られてくるのを待機するかの二つだけです。次にトレンドマイクロは、シンクホールサーバと通信している感染デバイスが何台残っているかを実際に確認し、そのうちの何台が第三フェーズであるTCPパケットを待機するリスニングモードにすでに移行しているかを検証しました。
toknowall[.]com(第二フェーズでマルウェアがアクセスするC&Cサーバ)
トレンドマイクロは、どれだけのホストが応答するかを確認するために、こちらで用意した画像ファイル(図7)に弊社の管理下にあるC&CサーバのIPアドレスを注入できるかどうかを検証しました。そのためにはPhotobucket[.]comまたはtoknowall[.]comからダウンロードされる画像ファイルから第二段階のマルウェアがホストされているC&Cサーバに紐づくIPアドレスを抽出するためにVPNFilterの仕組みをさらに掘り下げて調査する必要がありました。ここで用いられるアルゴリズムは、ダウンロードした画像ファイルのExifヘッダに含まれるGPS情報からIPv4アドレスの4オクテットをそれぞれ計算します。使用される値は、GPSが取得する緯度(Latitude)・経度(Longitude)の2つです。これらの値は、度(Degrees)、分(Minutes)、秒(Seconds)の3つの値で構成されており、有理数(64bitの数値を2つの32bitの整数に分割したもの)として格納されます。さらに最初の32bitの数値を分子(Numerator)と呼び、2番目の数値を分母(Denominator)と呼びます。この理論については、セキュリティリサーチャであるSoufiane Tahiri氏の著書「Mastering Mobile Forensics」で詳しく説明されています。VPNFilterの場合、これらのGPS座標は次のように使用されます。
図5下部に示す通り、すべてのGPS座標の分母(Denominator)の数値はマルウェアによって無視されます。しかし、分子(Numerator)はすべてのオクテットの値(Octet 1~4)を生成するために使用されます。
トレンドマイクロはこれらのバイトを置き換えるために、弊社が用意した画像内にプログラムを記述しました。この置換作業を行うコードを下掲図6に示します。
図6に示すコードでは、最初のGPS座標は画像内の4500(10進数)の位置にあります。Exifヘッダ全体を解析することもできましたが、より迅速な処理が必要でした。また、図6に示す48行目と51行目では、Latitude Degrees NumeratorおよびLongitude Degrees Numeratorの値を0に設定しました。これによりC言語の負の整数値を利用することで必要なバイト数を正確に記述できるようにしました。
このプログラムを使用することで、Shadowserver社が管理するシンクホールサーバを指すIPアドレスを注入できるようになりました。これによりどれだけの感染デバイスが第二段階のマルウェアがホストされたダウンロードサーバにアクセスしようと試みているかを確認できるほか、さらに重要な点はVPNFilterに感染しているネットワークが第一段階の第三フェーズであるすべてのTCPパケットを待機するリスニングモードに移行するのを将来的に阻止できることです。
図7は、トレンドマイクロとShadowserver社が最終的に使用した画像です。この画像はその後Shadowserver社に提供され、同社によってデプロイ作業が行われています。デプロイ作業の完了後、トレンドマイクロは感染被害の特定の段階にあるデバイスの状況を確認することにしました。
リスニングモード(第一段階の第三フェーズ)
第一段階のマルウェアは第一フェーズまたは第二フェーズで有効な画像ファイルを取得できなかった場合、第三フェーズであるリスニングモードへと移行します。これにより攻撃者は感染デバイスの制御権を再び取り戻すことが可能になります。
図8に示すコードは、第三フェーズの活動を可能にするソースコードです。
上記のコードにより第一段階のマルウェアはすべてのTCPパケットを待機し、少なくとも8バイト長のSYNフラグ付きのTCPパケットが1つ到達するのを待ちます。このマルウェアが期待するマジックシーケンスは、16進数の0C 15 22 2bです。
ロジックの検証後、次にパケットを生成しました。パケットを生成する上で最も簡単な方法はhping3を利用することでした。hping3はTCP/IPプロトコルを介して任意のネットワークパケットを送信することができるパケット生成・分析ツールです。トレンドマイクロは図10に示すコードを使用しました。
次にトレンドマイクロはShadowserver社に同社が数年を通じて記録してきた感染デバイスをスキャンするよう依頼し、どれだけのデバイスが応答するかを確認しました。結果、1日に5,447台のデバイスがシンクホールサーバにアクセスしていることが明らかとなりました。5,447台という数字は単にルータやそれに類似する機能を備えた個々の感染デバイスの台数を表しており、これに付随する形で何千ものネットワークが感染していることにも留意する必要があります。つまり、ボットネットを利用した攻撃の到達範囲やネットワーク内の可視性は相当なものになると言えます。さらにVPNFilterに感染したホストの数はShadowserver社がシンクホールサーバ上で確認している数よりも多いと考えられます。これはドメインtoknowall[.]comが既知のC&Cサーバであり、DNSプロバイダやその他のセキュリティ製品によってDNSレベルでブロックされている可能性があるからです。
以下に主な調査結果をまとめ、ジオロケーションデータ(地理的位置情報)を示します。
- 1,801台(33.1%)のネットワークが、弊社がhping3を利用して送信したパケットに応答(TCPポート番号80上)
- 363台(6.7%)のネットワークがシンクホールサーバにアクセス(TCPポート番号443上)
シンクホールサーバにアクセスしたホストのIPジオロケーションによれば、現存する感染デバイスは米国に集中しており、次いでロシアが多いことがわかりました。
上記の通りシンクホールサーバにアクセスしたネットワークは363台だけでしたが、最初にパケットに応答した1,801台のネットワークがクリーンアップされていると断言することはできません。これらのネットワークはまだVPNFilterに感染している可能性がありますが、ファイアウォールの内側にある場合、シンクホールサーバへのアクセスがブロックされている可能性があります。これらの363台のネットワークは、VPNFilterの仕組みを理解していれば、誰でも制御権を得ることが可能です。技術的な観点からこれらの感染デバイスを乗っ取る攻撃手口を阻止する手立てはありません。さらに2018年当時から攻撃を続けている攻撃者はすでにVPNFilterに感染しているデバイスを遠隔から制御することができます。
■結論
VPNFilterの影響力を低下させるためのソリューションが2018年に展開されているにもかかわらず、感染デバイスを工場出荷時の状態に戻して再起動するだけでは再感染を防止するのに十分でないことがわかりました。繰り返しになりますが、感染デバイスを初期化して再起動するにも多くの制限があったことから、2018年に実施されたC&Cサーバをシンクホール化する対策は極めて重要なものでした。感染したシステムに対して攻撃者が遠隔から任意のコマンドを送信している可能性は低いですが、残存するマルウェアが悪影響を及ぼす可能性はあります。VPNFilterの仕組みを理解していれば、別の攻撃者がボットネットを再稼働させることが可能です。これを阻止するため、トレンドマイクロはShadowserver社と連携してシンクホールサーバ上にホストされた画像ファイルを図7の画像に置き換えることで、第二フェーズを実行するマルウェアが第三フェーズであるリスニングモードに移行するのを防ぐことができました。
また、利用するファームウェアをアップデートすることで、本ブログ記事で解説した問題を解決することができます。しかし前述したように、ファームウェアをアップデートするには多くの問題が残っており、ほとんどの場合、WindowsやMacなどのOSのように簡単にアップデートすることができません。主な課題としてはファームウェアが正規のものであるかどうかを検証し、利用するシステムにどのようにアップデートを適用するか理解する必要があります。ただしアップデートを実行する際の前提として、ユーザがアップグレードを実施する際にルータシステムへのアクセス権が付与されていること、さらにルータの提供元であるベンダが対象モデルに対してアップグレードを供給していることが必須条件となります。また、ユーザがレンタルルータを使用している場合、ISPから新しいルータが提供されるのを待つ必要もあります。
このようにユーザが直面する制限や課題によって、VPNFilterの感染台数がインターネット上で確認できるレベルに留まっているのが現状なのです。今後は修正プログラムが実装されたシンクホールサーバを稼働し続ける対策が継続されます。これによりVPNFilterが再び不正活動を開始する可能性を抑止することができます。また、利用するデバイスが一般的な寿命で自然にオフラインになるまでの時間を与えることにもなります。このような対策の必要性は、セキュリティ組織としての役割を果たすShadowserver社のような存在と運営の重要性を再確認させるものです。これこそがトレンドマイクロが2021年初頭にShadowserver社への支援を表明した理由です。
一般のエンドユーザもまたサイバー犯罪者の悪事が及ばぬようIoT機器に対策を講じることで、ボットネットを利用したキャンペーンを未然に防ぐ役目を果たすことができます。IoTマルウェアへの感染リスクを最小限に抑えるための最善策の一つは、インターネット上での露出を制限することです。これはほとんどの場合、リモート管理機能を無効に設定することで対処できます。さらにオプションとしてUPnP(Universal Plug-and-Play)が存在する場合は、こちらも無効に設定してください。無効化されていない場合、ユーザが気づかないうちにサービスがインターネット上に露出する恐れがあります。また、必要に応じて定期的にIoT機器を最新のファームウェアにアップデートすることで、脆弱性に対するセキュリティ機能やパッチを適用することができます。
さらに一般的なセキュリティ対策を適用することで、ルータなどのデバイスにIoTマルウェアが感染するリスクを最小限に抑えることができます。テレワークや在宅勤務の長期化に伴い、家庭内のIoT機器やシステムが企業ネットワークに大きな影響を与えるようになった昨今、ユーザは現在利用するセキュリティ対策を見直す必要があります。
トレンドマイクロのホワイトペーパー「ワーム戦争:IoT 分野におけるボットネット間の戦い」では、これらのIoT機器がいかに高い頻度で攻撃されているか、また比較的簡単に侵害されてしまうかについて解説しています。
これらのルータへの感染被害は決してクリーンアップされることはなく、ボットネットがオフラインになると推測される数年後でさえ活動し続けている可能性があります。本ブログ記事ではVPNFilterを例に解説しましたが、このような事態は他のIoTボットネットでも起こりうることに留意する必要があります。 実際、ユーザがルータを定期的にアップデートしたり、ルータの提供元ベンダがデバイスのOSに自動更新機能を追加したりしない限り、このような事態は発生し続けるでしょう。上記の対処がなされるまでの間、セキュリティ業界はIoTマルウェアの感染被害に苦戦を強いられることになります。
参考記事:
- 「VPNFilter Two Years Later: Routers Still Compromised」
by Stephen Hilt, Fernando Merces, Trend Micro
記事構成:岡本 勝之(セキュリティエバンジェリスト)
高橋 哲朗(スレットマーケティンググループ)
翻訳:益見 和宏(Core Technology Marketing, Trend Micro™ Research)