
サイバーセキュリティ企業CrowdStrikeは、史上初のDeroクリプトジャッキングキャンペーンを観測しました。この攻撃は、インターネットからアクセス可能で、Kubernetes APIへの匿名アクセスを許可していたKubernetesクラスターを標的としていました。
ジャンプ先:
- Deroとは何ですか?
- このクリプトジャッキング攻撃はどのように実行されるのでしょうか?
- このクリプトジャッキング攻撃の範囲はどこまでですか?
- 新たなモネロ暗号通貨攻撃
- Kubernetesインスタンスを保護する方法
Deroとは何ですか?
Dero は、強化されたプライバシー機能を備えた高速で安全なトランザクションを提供することを目的とした、プライバシー重視のブロックチェーン プラットフォームです。
Deroは、CryptoNote、Bulletproofs、独自のプルーフ・オブ・ワークアルゴリズムなど、複数のテクノロジーを活用し、速度やスケーラビリティを損なうことなく、プライベートかつ匿名性の高いトランザクションを提供します。Deroはリング署名とステルスアドレスを使用することで、トランザクションの送信元が追跡されないよう保護しています。
Deroは送金手数料も低く、プラットフォームはオープンソースです。Deroのネイティブ暗号通貨はDEROと呼ばれます。
これらの仕様を見た一部のサイバー犯罪者は、ビットコインやモネロなど、サイバー犯罪者に広く使用されている他の一般的な暗号通貨の代わりに、DERO を使い始めています。
このクリプトジャッキング攻撃はどのように実行されるのでしょうか?
このクリプトジャッキング攻撃では、脅威アクターは認証パラメータが「–anonymous-auth=true」に設定されているKubernetesインスタンスをスキャンします。また、CrowdStrikeの研究者であるBenjamin Grap氏とManoj Ahuje氏は、「十分な権限を持つユーザーが『kubectl proxy』を実行すると、kubectlが実行されているホスト上のセキュアなKubernetes APIが意図せず公開される可能性があります。これは、認証を回避してセキュアなKubernetesクラスターを公開する、あまり知られていない方法です」と述べています。
参照: リモート アクセス ポリシー (TechRepublic Premium)
脆弱なKubernetesクラスタが見つかると、脅威アクターは「proxy-api」という名前のKubernetes DaemonSetをデプロイします。このアクションにより、クラスタのすべてのノードに悪意のあるポッドがデプロイされ、攻撃者はクラスタのすべてのノードで同時にクリプトジャッキングを実行できるようになります(図A)。
図A

設定が完了すると、すべてのポッドでマイニングが開始され、Dero コインが生成されてコミュニティ プールに配布されます。
このクリプトジャッキング攻撃の範囲はどこまでですか?
脅威アクターは、Docker HubでホストされているDockerイメージ「pauseyyf/pause」を使用しています。このDockerイメージは、本調査時点で4,200回以上プルされており(図B)、潜在的なマイナーインスタンスがいくつも展開されていることがわかります。
図B

「entrypoint.sh」というスクリプトファイルは、ウォレットアドレスとマイニングプールを引数として使用して、「pause」というDeroコインマイナーバイナリを実行します。
攻撃者がこのマイナーに「pause」という名前を付けたのは、正規のKubernetesインスタンス内のpauseコンテナがポッドのブートストラップに使用されているためだと考えられます。この命名により、攻撃者は明白な検出を回避できると考えられます。
研究者が指摘しているように、攻撃者は Kubernetes インスタンスを横方向に移動したり、ピボットしたりしようとはしません。つまり、攻撃者は Dero コインを生成するためのリソースのマイニング以外には興味がないということです。
ビットコインなどの他の暗号通貨とは異なり、攻撃キャンペーンで使用されたウォレットアドレスの残高を確認することはできません。
新たなモネロ暗号通貨攻撃
2023 年 2 月、別の攻撃が脆弱な Kubernetes インスタンスを攻撃し、今度は暗号通貨 Monero のマイニングを目的としました。
この新たなキャンペーンは、Deroクリプトジャッキングキャンペーン特有の「proxy-api」という既存のKubernetes DaemonSetを削除することから始まりました。つまり、この新たなキャンペーンを展開した脅威アクターは、既存のDeroクリプトジャッキングオペレーションを把握しており、それを阻止しようとしていたのです。
攻撃者は、proxy-api DaemonSet の削除に加えて、「api-proxy」および「k8s-proxy」という名前の DaemonSet も削除しました。これらは、他の攻撃キャンペーンに関与していた可能性があります。
MoneroキャンペーンはDeroキャンペーンよりも洗練されており、特権ポッドを展開し、「host」ディレクトリをマウントしてコンテナからの脱出を試みます。また、ペイロードを実行するcronジョブを作成し、ルートキットを使用してマイニングプロセスを隠蔽します。
Kubernetesインスタンスを保護する方法
インターネットからアクセス可能なKubernetesインスタンスを保護することは非常に重要です。最適な保護のために、以下のヒントに従ってください。
まず、Kubernetesインスタンスは匿名アクセスを許可すべきではありません。Kubernetesへのアクセスには、多要素認証などの強力な認証を適用し、許可されたユーザーのみがインスタンスにアクセスできるようにする必要があります。
また、ユーザーの役割と権限に基づいて Kubernetes リソースへのアクセスを制御するために、ロールベースのアクセス制御を導入する必要があります。
より広い視点で見ると、KubernetesであれDockerであれ、コンテナイメージは公式リポジトリや評判の良いベンダーといった信頼できるソースからのみダウンロードするべきです。その場合でも、イメージの脆弱性スキャンは必須です。
そこから、ログ記録を有効にし、すべての Kubernetes インスタンスのアクティビティを監視して、疑わしいアクティビティやアクセス試行を検出します。
最後に、すべてのソフトウェアを最新の状態に保ち、既知の脆弱性とセキュリティの問題に対処するためにパッチを適用してください。
次に読む: セキュリティリスク評価チェックリスト (TechRepublic Premium)
開示: 私はトレンドマイクロに勤務していますが、この記事で述べられている意見は私自身のものです。