Skip to main content

Docker Hubのセキュリティ侵害で19万人に影響。今すべきことは?

著者
Security in The Container Registry small

2019年4月29日

0 分で読めます

2019年4月25日(木)、Docker Hubはメールでセキュリティ侵害を公表し、不正なデータベースアクセスによって推定19万人のユーザーが影響を受けたと報告しました。Docker Hubは、この侵害に関するユーザー向けFAQも公開しています:https://success.docker.com/article/docker-hub-user-notification

Docker Hubユーザーに送信されたメール全文。GitHubのセキュリティログを確認し、不審なアクティビティがないか強くおすすめします。pic.twitter.com/MtsIDyW8jM

— Kenn White (@kennwhite) 2019年4月27日


先日公開したレポート「Dockerセキュリティを開発の早い段階へ」では、既知の脆弱性を含むDockerイメージに関するセキュリティ上の懸念を取り上げました。特に人気の高いDockerベースイメージの上位2つには、それぞれ500件を超える脆弱性があることがわかりました。

Dockerイメージを使用している場合は、Docker Hubから直接、またはコマンドラインから手軽に、Snykで無料テストできます。Dockerイメージに脆弱性が含まれていないか無料で確認し、プロジェクトやベースイメージの修正に役立つアドバイスを受けましょう。


セキュリティ侵害で影響を受けた個人情報は?

次の機密情報が攻撃者に漏えいした可能性があります。

  • Docker Hubのユーザー名

  • ハッシュ化されたDocker Hubのパスワード。ただし、ハッシュ化の方法について詳細は明らかにされていません。パスワードごとにデータを保護するための安全な暗号学的ハッシュが使われていたことを願うばかりです。

  • GitHubおよびBitBucketのトークン

Docker Hubがユーザー保護のために行った対応は?

アカウントがデータ侵害の影響を受けたと判断された場合、Docker Hubによってアカウント情報がリセットされていることがあります。

さらに、リポジトリのパイプラインとDocker Hubの連携にトークンを使用している場合に想定される被害を軽減するため、Docker Hubは影響を受けた自動ビルドトークンをすべてリセットしました。

どのような事態が起こり得る?

開発者はトークンを使ってCI/CDパイプラインをDocker Hubと連携させ、自動イメージビルドを実行したり、CI/CDワークフローの一環として新しいイメージをDocker Hubのリポジトリに直接公開したりすることがよくあります。攻撃者がアカウントのハッシュ化されたパスワードの解読に成功するか、取得したトークンを使ってプロジェクトにアクセスし、ビルドされるDockerイメージを変更した場合、そのイメージが侵害されるおそれがあります。さらに、多くのDockerイメージの基盤となるベースイメージにアクセスできた場合、広範なユーザーに影響を及ぼす可能性があります。

現時点で、このようなサプライチェーン攻撃によってDockerイメージが侵害された事例は確認されていません。またDocker Hubは、公式Dockerイメージは侵害されていないと発表しています。

コードを守るには何をすべき?

1. アカウントのパスワードをリセットする

攻撃者がアカウントにアクセスできないよう、Docker Hubのパスワードをリセットすることをおすすめします。https://cloud.docker.com/settingsにアクセスし、パスワードを更新してください。

2. アカウントのトークンをリセットする

次の場合は、アカウントのトークンをリセットすることを検討してください。
GitHubのトークンをDocker Hubと共有していた場合は、GitHubリポジトリを確認し、第三者による不正なコミットがないことを確かめてください。

GitHubのセキュリティ監査ログはhttps://github.com/settings/securityで確認できます。ログを調べ、不正な操作が行われていないか確認してください。

Docker Hub用に読み取り専用のGitHubトークンを発行していた場合でも、これらのトークンを使ってプライベートリポジトリ内の機密データを読み取られる可能性があります。既存のトークンをすべて無効化し、新しいトークンを作成することをおすすめします。

ソースコードに認証情報を平文または暗号化された状態で保存している場合は、GitHubトークンを通じた機密データの漏えいを防ぐため、認証情報をリセットしてください。

https://cloud.docker.com/settingsにアクセスし、以下に示す「Linked Accounts」からソースコード管理システムを再接続してください。

GitHubとBitbucketが表示されたDocker Hubのリンク済みアカウント設定画面。アカウントはリンクされておらず、接続オプションが表示されています。

Dockerイメージのセキュリティを管理する

Snykのコンテナ脆弱性管理ソリューションは、Dockerイメージで使用されているサードパーティライブラリに存在する、一般に公開された既知のセキュリティ脆弱性を可視化し、プロアクティブな修正アドバイスを提供します。

ソースコードリポジトリやAmazon Elastic Container Registryなどのレジストリと連携することで、SnykはDockerイメージを定期的にスキャンし、開発プロセスの早い段階で、Dockerfileやベースイメージに脆弱性が持ち込まれた時点で検出します。

開発者ファーストのコンテナセキュリティ

Snykは、コンテナイメージとKubernetesワークロードの脆弱性を検出し、自動的に修正します。