Barracuda Threat Spotlight(バラクーダが注目する脅威): InterPlanetary Stormの新しい亜種がIoT(モノのインターネット)デバイスを攻撃している
トピック: マルウェア対策
2020年10月1日、Erez Turjeman
InterPlanetary Stormマルウェアを作成した攻撃者集団は、新しい亜種を解き放っており、現在、Microsoft WindowsおよびLinuxマシンだけでなく、MacintoshとAndroidデバイスも攻撃しています。現在、バラクーダの調査担当者は、このマルウェアが構築しているボットネットが、このマルウェアに感染している世界中の84か国の約13,500台のマシンで構成されていると推測しています。この台数は引き続き増加しています。
このマルウェアが感染しているマシンのほとんどはアジアにあります。
- 感染しているマシンの59%は香港、韓国、および台湾にある。
- 8%はロシアとウクライナにある。
- 6%はブラジルにある。
- 5%は米国とカナダにある。
- 3%はスウェーデンにある。
- 3%は中国にある。
- 他のすべての国は1%以下である。
この進化する攻撃を検出および防止し、攻撃から回復できるように、攻撃とソリューションについて詳細に説明します。
主要な脅威
InterPlanetary Stormマルウェアの新しい亜種: このマルウェアの新しい亜種は、別のP2P(ピアツーピア)マルウェアであるFritzFrogと同様、SSH(Secure Shell)サーバに辞書攻撃を実行して、マシンにアクセスします。また、開放されているadb(Android Debug Bridge)サーバにアクセスして、侵入できます。このマルウェアは、マシンのCPU(中央処理装置)アーキテクチャと実行中のOS(オペレーティングシステム)を検出し、ルータと他のIoTデバイスで非常によく使用されているアーキテクチャであるARM(Advanced RISC Machine)ベースのマシンで動作できます。
このマルウェアは、IPFS(InterPlanetary File System)のP2Pネットワークとその基礎となるlibp2p実装を悪用しているため、InterPlanetary Stormと呼ばれています。感染しているノードは、直接的に、または他のノード(リレー)によって、相互に通信できます。
Microsoft Windowsマシンを攻撃するInterPlanetary Stormの最初の亜種は、2019年5月にAnomaliの調査担当者が発見しました。一方、Linuxマシンを攻撃できる亜種は2019年6月に報告されました。8月下旬にバラクーダの調査担当者が最初に発見したこの新しい亜種は、Androidで動作するテレビなどのIoTデバイス、およびSSHサービスが誤設定されたルータなどのLinuxベースのマシンを攻撃します。
このマルウェアが構築しているボットネットは明確な機能をまだ実装していませんが、攻撃者は、バックドアによって、感染しているデバイスをクリプトマイニング、DDoS(分散サービス拒否)などの大規模な攻撃に悪用できます。
詳細
InterPlanetary Stormのこの亜種は、Goで記述されており、Goのlibp2p実装を悪用しており、UPX(Ultimate Packer for Executables)を実装しています。また、SSHブルートフォース攻撃と開放されているadbポートを悪用して拡散し、マルウェアファイルをネットワーク内の他のノードに提供します。このマルウェアは、リバースシェルを有効にし、バッシュシェルを実行できます。
バラクーダの調査担当者はマシンに感染しているマルウェアを保持および保護できるように設計された複数の独自の機能を発見しました。
- ハニーポットを検出する: このマルウェアはCowrieハニーポットが以前に悪用していたデフォルトのシェルプロンプト(PS1)内の文字列「svr04」を検出します。
- 自動的に更新される: このマルウェアは、実行中のインスタンスのバージョンを使用可能な最新のバージョンと比較し、状況に応じて更新されます。
- サービス(system/systemv)をインストールして、自己を保持しようとする: Goデーモンパッケージを悪用します。
- このマルウェアにとって脅威となるマシン上の他のプロセス(デバッガ、競合するマルウェアなど)を強制終了する: プロセスコマンドライン内の下記の文字列を検出して、このようなプロセスを強制終了します。
- “/data/local/tmp”
- “rig”
- “xig”
- “debug”
- “trinity”
- “xchecker”
- “zypinstall”
- “startio”
- “startapp”
- “synctool”
- “ioservice”
- “start_”
- “com.ufo.miner”
- “com.google.android.nfcguard”
- “com.example.test”
- “com.example.test2”
- “saoas”
- “skhqwensw”
InterPlanetary Stormが通知するキー
このマルウェアのバックエンドはIPFS DHT(分散ハッシュテーブル)への下記のキーを通知します。感染しているノードは必要なサービスを提供できるピアを検出しようとします。
キー | 目的 |
requeBOHCHIY2XRMYXI0HCSZA | C&C(コマンドアンドコントロール) |
proxybackendH0DHVADBCIKQ4S7YOX4X | プロキシのバックエンド |
web-api:kYVhV8KQ0mA0rs9pHXoWpD | ファイル配信のバックエンド |
感染しているノードは、自己がボットネットの一部であることを通知するために、キー「fmi4kYtTp9789G3sCRgMZVG7D3uKalwtCuWw1j8LSPHQEGVBU5hfbNdnHvt3kyR1fYUlGNAO0zactmIMIZodsOha9tnfe25Xef1」を通知します。感染しているマシンのIDは、最初の感染時に1回作成され、マシンが再起動するか、このマルウェアが更新されると、再利用されます。
感染しているノードは、ノードがファイルをチェックサムで提供できることを通知するために、stfadv:<cheksum>という形式でキーを通知します。
通信プロトコル
libp2pアプリケーションは、プロトコルIDと呼ばれる論理アドレス(トランスポート層に不明)に基づいて、インバウンド接続(ストリーム)を処理します。慣習的に、プロトコルIDの構造はパスに類似しており、バージョン番号が最後のコンポーネントです。
このマルウェアが悪用しているプロトコルIDは下記のとおりです。
プロトコルID | 目的 | メモ |
/sbst/1.0.0 | リバースシェルの作成に使用。 | ノードにホスティングされている。 |
/sfst/1.0.0 | ファイル転送に使用。 | ノードにホスティングされている。ファイルチェックサムは提供されたファイルの整合性に使用される。 |
/sbpcp/1.0.0 | プロキシに使用。バックエンドサーバに接続。 | バックエンドサーバにホスティングされている。 |
/sbptp/1.0.0 | プロキシに使用。転送プロキシチャネル。 | ノードにホスティングされている。 |
/sreque/1.0.0 | スキャナキューに使用。 | ノードにホスティングされている。C&Cからのコマンドがシグネチャを含んでいる。 このチャネル上のメッセージはJSON(JavaScript Object Notation)オブジェクトによってシリアル化される。C&Cからのメッセージは“brute-ssh”または“tcp-scan”向けである。脆弱なマシンをスキャンするために、ノードを管理する。ノードはスキャンの結果を送信する。 C&Cからの“brute-ssh”メッセージは、攻撃するIPアドレスのリスト、および使用する必要がある認証情報を含む。 |
ファイル配信のバックエンド
ファイル配信サーバは、キー「web-api:kYVhV8KQ0mA0rs9pHXoWpD」で検出できます。関連するピアは、libp2pプロトコル上にHTTPを実装し、下記のURLを提供します。
パス | メソッド | 説明 |
/version | GET | ピアバージョンを取得。 |
/files/checksum?f=<file name> | GET | <ファイル名>ファイルの現在のチェックサムを取得。 |
/files/seedrs-http?c=<checksum> | GET | ファイルを提供できるノードのリストを取得。 |
POST /files/seedrs-http | POST | ノード情報を追加。 |
/nodes/ | POST | ノード情報を追加。 |
IoC(セキュリティ侵害インジケーター)
このマルウェアがドロップする可能性があるファイルは下記のとおりです。
storm_android-amd64 | d4e3102b859ebfda5a276b2ce6f226e27fdcdef5e693ee7742be863236e2374a |
storm_android-386 | 9dab7f5ff2873389a4b0e68cb84978fc5907cd2579bd15a1d39e277f5d2fdc27 |
storm_android-arm64 | 16bcb323bfb464f7b1fcfb7530ecb06948305d8de658868d9c3c3c31f63146d4 |
storm_android-arm7 | 56c08693fdf92648bf203f5ff11b10b9dcfedb7c0513b55b8e2c0f03b209ec98 |
storm_linux-amd64 | ab462d9d2a9a659489957f80d08ccb8a97bbc3c2744beab9574fda0f74bd1fe2 |
Storm_linux-386 | ba1e8d25cc380fdbbf4b5878a31e5ed692cfd2523f00ca41022e61f76654dd4f |
storm_linux-arm64 | 50406ec7fa22c78e9b14da4ccc127a899db21f7a23b1916ba432900716e0db3d |
storm_linux-arm7 | a2f4c9f8841d5c02ffd4573c5c91f7711c7f56717ddb981f719256163be986e8 |
storm_darwin-amd64 | 4cd7c5ee322e55b1c1ae49f152629bfbdc2f395e9d8c57ce65dbb5d901f61ac1 |
上記の攻撃を防止する方法
このマルウェア亜種を防止するための重要な手順は下記のとおりです。
- すべてのデバイスにSSHアクセスを正しく設定する: つまり、パスワードではなく、キーを使用して、アクセスのセキュリティを強化するということです。パスワードによるログインが有効であり、サービス自体がアクセス可能である場合、マルウェアは誤設定された攻撃サーフェスを悪用する可能性があります。この問題はルータとIoTデバイスによく見られるため、ルータとIoTデバイスは、このマルウェアから攻撃を受けやすいです。
- CSPM(Cloud Security Posture Management)ツールを使用する: 致命的な可能性がある誤設定を排除するために、SSHアクセス制御を監視します。インターネット上のリソースをリスクにさらすのではなく、必要に応じて、シェルへのセキュアなアクセスを提供するために、広範なIPネットワークへのアクセスを提供するのではなく、MFA(多要素認証)が有効なVPN(仮想プライベートネットワーク)接続を導入し、特定のニーズ向けにネットワークを分割します。
原文はこちら:
Threat Spotlight: New InterPlanetary Storm variant targeting IoT devices
October 1, 2020 Erez Turjeman
https://blog.barracuda.com/2020/10/01/threat-spotlight-new-interplanetary-storm-variant-iot/