トレンドマイクロでは最近、2種のLinux向けボット型マルウェアにおいて、露出したDockerサーバを狙う活動を確認しました。確認されたマルウェアは分散型サービス妨害(DDoS 、Distributed Denial of Service)の実行を目的とした「XORDDoS」(トレンドマイクロでは「Backdoor.Linux.XORDDOS.AE」として検出)と「Kaiji」(トレンドマイクロでは「DDoS.Linux.KAIJI.A」として検出)です。
Dockerサーバを攻撃の対象に定めるのは、XORDDoSとKaijiの両方において新しく見られた動きです。XORDDoSはクラウドシステム上のLinuxホストを狙うことで知られています。最近確認されたKaijiはモノのインターネット(IoT、Internet of Things)機器に影響を与えることが最初の調査で判明しています。攻撃者は通常、オープンなセキュアシェル(SSH)およびTelnetポートをスキャンした後、ボット型マルウェアを使用してブルートフォース攻撃を実行します。現在、攻撃者は露出したポート2375を持つDockerサーバを検索していたことがわかっています。ポート2375はDocker APIが使用する2つのポートのうちのひとつであり、暗号化されていない未認証の通信において使用されます。
同じポート2375を狙う2つのマルウェアですが、その攻撃手法には顕著な違いが見られました。XORDDoSはDockerサーバに侵入してホストされているすべてのコンテナに感染を試みます。一方のKaijiは、DDoS攻撃を行うマルウェアを格納する独自のコンテナをDockerサーバに展開します。
■マルウェア「XORDDoS」の解析
XORDDoSの感染は、攻撃者が露出したDocker APIのポート2375を持つホストを検索するところから始まります。そして、Dockerサーバでホストされているコンテナの一覧表示を実行するコマンドを送信しました。攻撃者はその後、以下の一連のコマンドをすべてのコンテナに対して実行し、対象のコンテナをXORDDoSマルウェアに感染させました。
XORDDoSのペイロード(トレンドマイクロでは「Backdoor.Linux.XORDDOS.AE」として検出)は、他の攻撃でも利用されたXORキー「BB2FA36AAA9541F0」を使用して文字列を暗号化し、C&Cサーバと通信します。また、持続化機能として、コンピュータ内に自身のコピーを複数作成します。
このペイロードは、SYN、ACK、およびDNSタイプのDDoS攻撃を行います。
また、後続のマルウェアのダウンロードおよび実行や、自身を更新することも可能です。
XORDDoS は、DDoS攻撃の試行に関連する以下のデータを収集しました。
- CPU情報
- 実行中プロセスのMD5
- メモリ情報
- ネットワーク速度
- 実行中プロセスのPID
この特定のXORDDoSの亜種が示す動作のほとんどは、すでに以前確認された亜種に見られたものであったことは特筆すべきでしょう。
攻撃者に関連付けられているURLをさらに調査したところ、トレンドマイクロでは他に「Backdoor.Linux.DOFLOO.AB」のようなマルウェアも確認しました。このマルウェアは、以前に露出したDocker APIを狙ったLinuxボット「Dofloo/AESDDoS」の亜種であることが判明しました。
■マルウェア「Kaiji」の解析
XORDDoSと同様、Kaijiも現在、その拡散のために露出したDockerサーバを狙っており、露出したポート2375を持つホストをインターネット上でスキャンします。攻撃対象を見つけた後、攻撃者はKaijiバイナリを実行する不正なARMコンテナを展開する前にDockerサーバにpingします。
スクリプト「123.sh(トレンドマイクロで「Trojan.SH.KAIJI.A」として検出)」は、Kaijiのペイロード「linux_arm(トレンドマイクロで「DDoS.Linux.KAIJI.A」として検出)」のダウンロードおよび実行しました。その後、このスクリプトはまた、オペレーティングシステムの基本構成ファイルである他のLinuxバイナリを削除します。このバイナリは、DDoS攻撃の操作において必要がないものとされています。
ペイロード「linux_arm(Kaiji)」は、以下のDDoS攻撃を実行可能です。
- ACK攻撃
- IPSスプーフィング攻撃
- SSH攻撃
- SYN攻撃
- SYNACK攻撃
- TCPフラッド攻撃
- UDPフラッド攻撃
このマルウェアは、上述の攻撃で使用すると見られる以下のデータも収集します。
- CPU情報
- ディレクトリ
- ドメイン名
- ホストのI Pアドレス
- 実行中プロセスのPID
- URLのスキーム
■被害に遭わないためには
上述の調査結果に見られるように、攻撃者は、他のエントリポイントに対して攻撃を展開できるように、新しい機能を搭載するなどして常にマルウェアをアップグレードしています。 Dockerサーバはクラウドでの展開が比較的便利であるため、ますます企業に人気の選択肢となっています。ただし、Dockerサーバは、悪用可能なシステムを常に探しているサイバー犯罪者にとっては魅力的な標的となっていることも確かです。Dockerサーバの安全性を高めるため、以下のベストプラクティスを講じることを推奨します。
- コンテナホストの保護。 監視ツールを活用し、コンテナ中心のOSでコンテナをホストする
- ネットワーク環境の保護。侵入防止システム(IPS)及びWebフィルタリングを使用して、可視性を提供し、内部および外部の通信を監視する
- 管理スタックの保護。コンテナレジストリを監視および保護し、Kubernetesのインストールを隔離する
- ビルドパイプラインの保護。徹底的で一貫したアクセス制御機能を実装し、強力なエンドポイント制御をインストールする
- 推奨されるベストプラクティスに従う
- セキュリティツールを利用して、コンテナをスキャン及び保護する
■トレンドマイクロの対策
トレンドマイクロの「Hybrid Cloud Security」では、物理・仮想・クラウドの混在環境にシンプルな自動化されたセキュリティを提供し、環境を問わずにワークロードを保護します。特にコンテナ環境でのセキュリティとして以下を提供しています。
- クラウド環境に対する脅威をスキャン・可視化し保護するTrend Micro Cloud One™Container Security(現製品名:Trend Micro Deep Security Smart Check™)は、コンテナイメージおよびレジストリを自動的にスキャンします。
- Trend Micro Cloud One™ Workload Security(現製品名:Trend Micro Deep Security ™ as a Service)は、機械学習型検索や仮想パッチなどのセキュリティ機能により、ワークロードを保護します。
■侵入の痕跡(Indicators of Compromise、IoCs)
侵入の痕跡(Indicators of Compromise、IoCs)はこちらを参照してください。
※調査協力:Patrick Noel Collado、 Karen Ivy Titiwa
参考記事:
- 「XORDDoS, Kaiji Botnet Malware Variants Target Exposed Docker Servers 」
By Augusto Remillano II
翻訳: 下舘 紗耶加(Core Technology Marketing, Trend Micro™ Research)