マルウェア
マルウェア「Gafgyt」の攻撃範囲がDocker Remote APIサーバに拡大
Dockerサーバの設定不備を突いてマルウェア「Gafgyt」を拡散する攻撃が行われています。Gafgytは従来からIoT機器を狙ってきましたが、最近に入り、標的の範囲が拡大しています。
- トレンドマイクロの調査により、Docker Remote APIサーバの設定不備を突いてマルウェア「Gafgyt」を配備する攻撃が確認されました。
- 攻撃者は、Gafgytを配備した後、標的サーバに対してDDoS攻撃を仕掛けます。
- Gafgytは主にIoT機器を狙うマルウェアとして知られてきましたが、最近ではDocker Remote APIサーバも標的に含めるなど、従来からの傾向に変化が生じています。
はじめに
最近に入り、一般公開されたDocker Remote APIサーバがマルウェア「Gafgyt(別称:Bashlite、Lizkebab)」に攻撃される事例が発生しています。従来からGafgytはIoT機器を狙うマルウェアとして知られてきましたが、今回の事例では、そうした傾向が変化し、攻撃範囲が拡大していることがうかがわれます。
分析に基づくと、攻撃者は、脆弱性を抱えたまま公開されているDocker Remote APIサーバを利用してDockerコンテナを作成し、そこにGafgytのマルウェアを配備します。作成するDockerコンテナのベースイメージとして、正規版の「alpine」を使用します。今回の攻撃者は、Gafgytのマルウェアを配備することに加え、Gafgytの「ボットネット」を利用して被害システムを感染させます。続いて、標的サーバに対してDDoS(Distributed Denial of Service:分散型サービス拒否)攻撃を実行します。
以降、本攻撃のプロセスや手段について、Docker Remote APIサーバを不正利用する手口に焦点をあてて解説します。
攻撃の流れ
攻撃者は、はじめにDockerイメージ「alpine」をベースとするDockerコンテナを作成し、そこに、「Gafgytボットネット」のバイナリを「rbot」のファイル名で配備します。このバイナリは、Rust言語で開発されたものです。
攻撃者は、上記リクエストをDocker Remote APIサーバに送信することで、イメージ「alpine」をベースとするコンテナを作成します。また、コマンド「chroot」や「"Binds":["/:/mnt"]」を利用し、コンテナのルートディレクトリを「/mnt」に変更します。この変更により、コンテナのホスト側で用いるルートディレクトリ「/:」が、コンテナ内部のディレクトリ「/mnt」にマウントされます。結果、当該コンテナでは、ホスト側のファイルシステムを自身のファイルシステム同然にアクセス、変更することが可能となります。以上によって攻撃者は、権限昇格を実現し、ホストシステムを自身の制御下に置こうとします。
図1に挙げたリクエストでは、Gafgytボットネットのバイナリ「rbot」をダウンロードし、実行します(図中のwgetから始まるコマンド)。本バイナリの中身を解析したところ、遠隔操作(C&C:Command and Control)用サーバのIPアドレスとポート番号がハードコーディングされた状態で見つかりました。
C&Cサーバとの通信に成功した場合、rbotはそのサーバから返された応答データを解析し、内容に基づいてUDP、TCP、HTTPによるDDoS攻撃を実行します。
図2に挙げたコンテナ作成のリクエストが失敗した場合、攻撃者は別のコンテナの作成を試みます。この場合も、前回と同じDockerイメージ「alpine」を使用しますが、Gafgytバイナリについては、「atlas.i586」という名前の別ファイルを使用します。対応するコンテナ作成のリクエストを、下図に示します。
上記リクエストでも、攻撃者は前回同様にコマンド「chroot」や「bind」を用いて権限昇格を図ります。一方、ボットネットバイナリとしては、前回と異なるファイル「atlas.i586」を被害システムに配備します。注目すべき点として、ボットネットバイナリの起動パラメータに、「0day(ゼロデイ)」が指定されています。しかし、本バイナリがゼロデイ脆弱性を突くような形跡は一切確認されていないため、これは、単純にボットネットの実行時に渡された文字列に過ぎないと考えられます。
本ボットは、前回と同じC&Cサーバによって制御されています。「0day」のパラメータ付きで起動すると、C&Cサーバから応答データを受け取り、内容に応じてさまざまな処理を実行します。その代表例がDDoS攻撃であり、通信プロトコルとしてUDP、ICMP、HTTP、SYNなどを使用します。
さらに本ボットは、被害ホスト側のローカルIPアドレスを調べます。
上記のコードは、Google DNSサーバ「8.8.8.8」への接続試行を通して、被害システムが外向き通信に用いるローカルIPアドレスやネットワーク・インターフェースを特定します。はじめに通信ソケットを作成し、「8.8.8.8」のポート「53」に対する接続試行を実施します。続いて、関数「getsockname」を呼び出すことで、Google DNSサーバへの接続に使用されたローカルIPアドレスやネットワーク・インターフェースを取得できるようになります。
図6に挙げたコンテナの作成やバイナリの配備に失敗した場合、攻撃者はさらに別の手立てを講じます。具体的には、被害システム内に「シェルスクリプト」を配備、起動することで、ボットネット・バイナリのさまざまな亜種をダウンロードします。こうした亜種は、システムアーキテクチャ毎に用意されています。
上記リクエストでも、攻撃者はDockerコンテナの作成時にコマンド「chroot」や「bind」を使用し、権限昇格を図ります。しかし今回は、ボットネットバイナリを配備するためにシェルスクリプト「cve.sh」を利用する点で、異なります。本スクリプトの処理自体は比較的単純であり、C&Cサーバ「178[.]215[.]238[.]31」からシステムアーキテクチャ別に用意されたボットネットバイナリをダウンロードし、実行します。
- Docker Remote APIサーバを不正アクセスから保護するため、強固なアクセス制御や認証の仕組みを導入する。
- Docker Remote APIサーバ上での不審または異常な活動を定期的に監視し、不正が疑われる場合は、直ちに調査、対応にあたる。
- 特権(Privileged)モードの利用を避ける、コンテナの配備前に設定情報やイメージの内容をレビューするなど、コンテナセキュリティのベストプラクティスを実践する。
- Docker Remote APIサーバの管理担当者向けに、セキュリティベストプラクティスや攻撃手法に関するトレーニングや教育を実施する。
- Docker関連ソフトウェアの修正パッチやセキュリティアップデートに関する最新情報を入手し、既知の脆弱性が攻撃者に利用されないように対処する。
- Docker Remote APIサーバを管理するための手続きやセキュリティポリシーを定期的に見直し、最新のセキュリティベストプラクティスや推奨事項に合わせて更新する。
トレンドマイクロによる脅威情報の活用
進化する脅威に備え、トレンドマイクロの製品をご利用の方は、Trend Vision One™を通してさまざまなインテリジェンス・レポート(Intelligence Report)や脅威インサイト(Threat Insight)にアクセスできます。脅威インサイトは、サイバー攻撃の脅威が生じる前に対策を確立し、準備体制を整える上で役立ちます。さらに、不正な活動や手口を含めた攻撃者に関する情報を、幅広く網羅しています。こうした脅威情報を活用することで、ご利用の環境を保護し、リスクを軽減し、脅威に的確に対処するための対策を自発的に講じていくことが可能となります。
Trend Vision Oneのアプリ「Intelligence Reports」(IOC Sweeping)
Gafgyt Malware Exploiting Docker Remote API for Targeted Attacks(マルウェア「Gafgyt」の攻撃範囲がDocker Remote APIサーバに拡大)
Trend Vision Oneのアプリ「Threat Insights」
Emerging Threats: Gafgyt Malware Exploiting Docker Remote API for Targeted Attacks(高まる脅威:マルウェア「Gafgyt」の攻撃範囲がDocker Remote APIサーバに拡大)
スレットハンティングのクエリ
Trend Vision Oneのアプリ「Search」
Vision Oneをご利用のお客様は、アプリ「Search」の機能を用いることで、ご利用中の環境を解析し、本稿で挙げた不正な活動の兆候を検知、照合できます。
マルウェア「Gafgyt」を検知 – アンチマルウェア
malName: Backdoor.Linux.GAFGYT* AND eventName: Malware_DETECTION
Vision Oneをご利用中で、かつ「Threat Insights」(現在プレビュー版)が有効となっている場合、さらに多くのハンティング用クエリをご確認いただけます。
MITRE ATT&CK® Techniques
MITRE ATT&CK Tactics and Techniquesはこちらで確認してください。
侵入の痕跡(IoC:Indicators of Compromise)
侵入の痕跡(IoC)は、こちらからダウンロードできます。
参考記事:
Gafgyt Malware Broadens Its Scope in Recent Attacks
By: Sunil Bharti
翻訳:清水 浩平(Core Technology Marketing, Trend Micro™ Research)