「BIG-IP」の脆弱性「CVE-2020-5902」を利用するIoTマルウェアを確認

2020年7月、F5Networksが提供する「BIG-IP」製品の2つの脆弱性が初めて公開されました。トレンドマイクロでは、この脆弱性の深刻度について理解を深めるため、本脆弱性およびその他の関連アクティビティの調査を行いました。この調査に関してはF5Networks側からご連絡、ご協力をいただいたことに感謝します。そしてこの調査の中で、モノのインターネット(IoT)を対象とするボット「Mirai」のダウンローダ(Trend Microでは「Trojan.SH.MIRAI.BOI」として検出)を確認しました。このダウンローダは露出した、つまりインターネット側からアクセス可能なBIG-IP製品を探し、公開された脆弱性の1つ「CVE-2020-5902」を利用して侵入、不正ペイロードの拡散を行います。また同時に既存の様々な脆弱性を利用することもわかりました。関連機器を使用するシステム管理者および個人は、各ツールに対して迅速にパッチを適用することを推奨します。

■動作

7月にレポートしているように、BIG-IP 製品の管理インターフェイス「TMUI(Traffic Management User Interface)」内に遠隔からのコード実行(Remote Code Execution、RCE)の脆弱性が含まれることがわかっています。公開された情報の解析後、Apacheの httpdにおける脆弱性の影響緩和ルールから、この脆弱性を悪用する攻撃手法には、対象のURI(Uniform Resource Identifier、統一資源識別子)内にセミコロン文字(;)を含むHTTP GETリクエストが含まれることが明らかになりました。Linuxのコマンドラインでは、セミコロンはコマンドラインが終了したことをインタプリタに知らせる記号ですが、同時に今回の脆弱性をトリガーするための記号でもあるということです。トレンドマイクロはさらなる解析を行うため、マルウェアを検知、解析、分類する図1のYaraルールを介して、IoT機器を狙うボット型マルウェアの作成者が既存または新しいマルウェアの亜種にスキャン機能を追加可能かどうか試験しました。

図1:マルウェアを確認するYaraルール

試験で使用されたこのルールはシンプルに見えますが、マルウェア、PythonまたはRubyの概念実証(PoC)コードを広範的に検索することが可能になりました。これにより、トレンドマイクロでは2020年7月11日に、MIPSアーキテクチャ向けにコンパイルされた、ELFファイルのマルウェア検体を発見、続いて検体の解析からマルウェアが使用する2つの不正サイトのアドレスを確認しました。この2つの不正サイトのIPアドレスを調査したところ、2020年6月以降、他のMirai亜種などのIoTマルウェアを拡散させる不正活動で、すでに使用されていたものであることが判明しました。

MiraiのようなIoT機器を対象とするマルウェアの一般的なパターンとして、異なるアーキテクチャへの攻撃を目的とした異なる拡張子を持つファイルが用意されていることがあります。確認した2つの不正サイトを調べたところ、以下のファイルを確認しました。

ハッシュ値 ファイル
acb930a41abdc4b055e2e3806aad85068be8d85e0e0610be35e784bfd7cf5b0e fetch.sh
037859323285e0bbbc054f43b642c48f2826924149cb1c494cbbf1fc8707f942 sora.arm5
55c4675a84c1ee40e67209dfde25a5d1c1979454ec2120047026d94f64d57744 sora.arm6
03254e6240c35f7d787ca5175ffc36818185e62bdfc4d88d5b342451a747156d sora.arm7
204cbad52dde24ab3df41c58021d8039910bf7ea07645e70780c2dbd66f7e90b sora.m68k
3f8e65988b8e2909f0ea5605f655348efb87565566808c29d136001239b7dfa9 sora.mips
15b2ee07246684f93b996b41578ff32332f4f2a60ef3626df9dc740405e45751 sora.mpsl
0ca27c002e3f905dddf9083c9b2f8b3c0ba8fb0976c6a06180f623c6acc6d8ca sora.ppc
ecc1e3f8332de94d830ed97cd07867b90a405bc9cc1b8deccec51badb4a2707c sora.sh4
e71aca778ea1753973b23e6aa29d1445f93dc15e531c706b6165502d6cf0bfa4 sora.x86

表1:C&C内でホストされたファイル

表1のファイル名「SORA」は、RCEおよびデバイスの不正制御および管理を行う他の脆弱性の悪用やブルートフォース攻撃に使用される可能性のある、Miraiの亜種として以前確認されています。一方、シェルスクリプト「fetch.sh」は、以下の図2の内容を含みます。

図2:シェルスクリプト「fetch.sh」

このfetch.shは上述の不正サイトに接続し、「sysctl」という名称の不正バイナリをダウンロードして実行します。同時に、fetch.shはcronジョブを作成して、ダウンロードしたバイナリの自動実行を有効にします。

図3:cronジョブの作成

続いてfetch.shのスクリプトはiptablesツールを使用し、TelnetおよびSecure Shell(SSH)のデフォルトポート、デバイスのWebパネル(HTTP)など、一般的に使用されているTCPポートにパケットを送信します。このことは、異なる二つの意味を持つと見られています。

  • 感染機器内の露出したサービスに対し、他のマルウェアを直接アクセスさせない
  • デバイス所有者を管理インターフェイスにアクセスさせない

このことはまた、現在接続されているIoT機器の制御に関して、トレンドマイクロが公開した最近のリサーチペーパーで言及した示唆を連想させます。

トレンドマイクロがこのボット型マルウェアのx86検体の解析を行ったところ、攻撃の影響を受けたポート443/TCP (HTTPS)にGETリクエストを送信する際、脆弱なBIG-IPボックスを悪用しようとする試みがあったことを確認しました。

図4:「CVE-2020-5902」脆弱性を悪用するGETリクエスト

この脆弱性の深刻度を考えると、tmshCmd.jspへの「コマンド」パラメータを含む単一のGETリクエストは、IDパスが正しく付加されている場合、感染機器内でコマンドを遠隔から実行するのに十分であると言えるでしょう。

■悪用された他の脆弱性

トレンドマイクロではまた、この亜種についてさらに調査したところ、ランダムに生成されたターゲットにおいて、最近公開および発見された脆弱性を悪用しようとしていることが判明しました。この亜種が利用する脆弱性の一覧は、以下の通りです。

機器 脆弱性 CVE識別
Apache Kylin 3.0.1 コマンドインジェクションの脆弱性 CVE-2020-1956
Aruba ClearPass Policy Manager 6.7.0 未認証の遠隔からのコード実行 CVE-2020-7115
Big-IP 15.0.0-15.1.0.3, 14.1.0-14.1.2.5, 13.1.0-13.1.3.3, 12.1.0-12.1.5.1, 11.6.1-11.6.5.1 TMUIでの遠隔からのコード実行 CVE-2020-5902
Comtrend VR-3033 コマンドインジェクション CVE-2020-10173 
HP LinuxKI 6.01 遠隔からのコマンドインジェクション CVE-2020-7209 
Tenda AC15 AC1900 遠隔からのコード実行 CVE-2020-10987
Nexus Repository Manger 3 遠隔からのコード実行 CVE-2020–10204
Netlink GPON Router 1.0.11 遠隔からのコード実行 なし
Netgear R7000 Router 遠隔からのコード実行 なし
Sickbeard 0.1 遠隔からのコード実行 なし

表2:他の検体が使用する他の脆弱性

■まとめ

F5 Networksは、多くの企業のネットワーキング機器に対応しています。特に今日のテレワーク事情を考慮すると、同社提供のBIG-IPは、政府や企業で利用されている中で最も人気のある製品のひとつとなっています。本記事で言及したマルウェアは、脆弱性の公開日と直近の最新リリースを含む、幅広い製品とバージョンに影響を及ぼします。CVE-2020-5902は、共通脆弱性評価システム(CVSS、Common Vulnerability Scoring System)v3.0の脆弱性評価で深刻度スコア10の評価を受けています。このことから、セキュリティ欠陥自体がオンラインで悪用および自動化されやすいことが、この脆弱性からわかります。さらに、この脆弱性の悪用は、この欠陥を利用するために認証情報や高度なコーディングスキルを必要としません。

とはいえ、上述のセミコロン文字を含むリクエストを拒否するために、F5 Networksはすでにセキュリティの維持に役立つ緩和手段の詳細を公開しています。また本来、BIG-IPの管理インターフェイスはネットワーク外部に露出させるべきものではありません。しかし、IoT検索エンジン「SHODAN(ショーダン)」のスキャンでは、約7,000件の露出したホストがオンラインであることがわかりました。「露出した」とは、あくまでも「インターネットからアクセス可能である」という意味です。必ずしもそれらが脆弱性を持っているというわけではありません。

米国国防総省のサイバー司令部は、このセキュリティ上の欠陥の深刻さを認識し、この情報が最初に公開された3日後にツイートを投稿し、脆弱性の修正プログラムを直ちに適用するように呼びかけました。脆弱性の公開日から脆弱性攻撃コードが確認されるまでにかかった日数(10日)を考えると、悪意を持った攻撃者は最新の脆弱性情報に着目し、独自に攻撃方法(エクスプロイト)を探しだしているように見えます。7月に公表された脆弱性の一部はブログ投稿内でのみ議論され、公に利用可能な脆弱性攻撃コードとして発表されていません。脆弱性を利用しようとする攻撃者は、以下の2つのタイミングを狙って攻撃を仕掛けます。

  • 製造元がまだ修正パッチを作成、公開していない(ゼロデイ攻撃)
  • システム管理者が、既に公開された修正をまだ適用していない
■被害に遭わないためには

脆弱性を利用する攻撃は、利用される脆弱性の修正プログラムを適用し、脆弱性が存在しない状態にすることで無効化が可能です。また何らかの事情で直ちに修正プログラムを適用できない場合、適用できるまでスケジュールを決めると共に、脆弱性に対する緩和策を施す必要があります。今回紹介した「BIG-IP」の脆弱性は遠隔での攻撃を受けるため、機器の前段で攻撃の通信をブロックするような技術的対策の導入も考慮してください。

IoT機器を脅威から保護するためには、以下のベストプラクティスを参考にしてください。

  • IoT機器の製造元の発表を常に確認し、ファームウェアが最新バージョンで実行されるようにする
  • 仮想プライベートネットワーク(VPN)を使用して、管理インターフェイスがインターネット上に直接露出しないようにする
  • ネットワークセグメンテーションを使用して、感染拡大を抑制し、機器のセキュリティ設定をカスタマイズする
  • 適切なIPS機能やWebアプリケーションファイアウォール(WAF)機能を備えたネットワークトラフィックの監視および検出システムがあることを確認する。オンラインでアクセス可能な管理インターフェイスを保護するために、ベースラインと異常な使用範囲を追跡する
  • 本記事で紹介したようなセキュリティの欠陥を悪用して侵入するブルートフォース攻撃などの脅威を検出、ブロック、防止可能な多層保護システムをインストールする
■トレンドマイクロの対策

法人利用者においては、脆弱性を利用する遠隔攻撃のトラフィックを、ネットワーク脅威防御ソリューション「TippingPoint」で検知、ブロックすることが可能です。また、ネットワーク挙動監視ソリューション「Deep Discovery ™ Inspector 」は、ネットワーク内の不審な挙動を可視化します。特にスマート工場向けのセキュリティ対策としては、トレンドマイクロの合併会社「TXOne Networks」が提供する産業制御システム向け製品があります。

侵入の痕跡(Indicators of Compromise IoCs

侵入の痕跡(Indicators of Compromise、IoCs)はこちら(英語)を参照してください。

※調査協力:Jemimah Molina and Augusto Remillano II

参考記事:

翻訳: 下舘 紗耶加(Core Technology Marketing, Trend Micro™ Research)