Docker Hubから誰でもダウンロードできるコンテナイメージに暗号通貨採掘ボットが潜んでいた
セキュリティ企業のFortinetとKromtechが、17の汚染されたDockerコンテナを見つけた。それらはダウンロードできるイメージだが、中に暗号通貨を採掘するプログラムが潜んでいる。さらに調べた結果、それらが500万回ダウンロードされたことが分かった。ハッカーは安全でないコンテナにコマンドを注入し、それらのコマンドが、本来なら健全なWebアプリケーションの中へこの採掘コードをダウンロードしたのだろう。研究者たちがそれらのコンテナを見つけたのは、ユーザーのイメージのためのリポジトリDocker Hubの上だ。
研究者の一人David Maciejakはこう書いている: “もちろん、これらがマニュアルで(手作業で)デプロイされたのではないことは確実だ。というか、犯行は完全に自動化されていたらしい。いちばん高い可能性として、犯人は構成が正しくないDockerとKubernetesのインストールを見つけるスクリプトを作ったのだろう。Dockerはクライアント/サーバシステムだから、REST APIで完全にリモートで管理できる”。
そのコンテナは今やどこにもないが、ハッカーは最大で9万ドルの暗号通貨を持ち逃げしたかもしれない。小額だが、このようなハックとしてはかなりの額だ。
Kromtechのレポートを書いた著者の一人はこう語る: “Kubernetesのようなオーケストレーションプラットホームの構成を間違えて、外部に公開された状態になってるところがとても増えているから、ハッカーはこれらのプラットホームにMoneroの採掘を強制する完全自動化ツールを作れるのだ。悪質なイメージをDocker Hubのレジストリにプッシュし、それを被害者のシステムから取り出す。この方法でハッカーは544.74Moneroを採掘できた。ほぼ9万ドルに相当する”。
DockerのセキュリティのトップDavid Lawrenceは、Threatpostのレポートでこう書いている: “GitHubやDocker Hubのような公開リポジトリは、コミュニティの便宜のためにある。でも、オープンで公共的なリポジトリやオープンソースのコードを扱うときには、お勧めしたいベストプラクティスがいくつかある。1)コンテンツの作者が分かること、2)実行の前に画像はスキャンすること、3)そしてDocker Hubにあるキュレートされたオフィシャルな画像を使うこと、4)できるかぎりDocker Storeの認定コンテンツを使うこと”。
興味深いのは、最近のハッカーはAmazonのAWS Elastic Computeのサーバーよりも、そのほかのコンテナベースのシステムを襲う傾向がある。DockerとKubernetesのコンテナを管理するセキュリティシステムはいろいろあるが、ユーザーも自分の脆弱性に警戒し、しっかり評価して、ハッカーにやられるスキがないようにしよう。