不運なAWSエンジニアが、パスワード、キー、社内トレーニングの機密情報、顧客メッセージをGitHubで公開漏洩

Table of Contents

不運なAWSエンジニアが、パスワード、キー、社内トレーニングの機密情報、顧客メッセージをGitHubで公開漏洩

更新: Amazon Web Services のエンジニアが、顧客とのやり取りや「パスワード、AWS キーペア、秘密鍵などのシステム認証情報」を誤って GitHub のパブリック リポジトリに公開しました。

1月13日、情報セキュリティ企業のUpGuardは、クラウドサービスの作成に使用されるAWSリソーステンプレート、ホスト名、2019年後半に生成されたログファイルを含む954MBのリポジトリを発見しました。また、「機密」とマークされたAmazonの社内トレーニングリソースも含まれていました。

UpGuardは本日、「複数の文書に様々なクラウドサービスのアクセスキーが含まれていました」と報告しました。「複数のAWSキーペアがあり、その中には『rootkey.csv』という名前のものも含まれていました。これは、ユーザーのAWSアカウントへのルートアクセスを提供していたことを示唆しています。他のファイルには、サードパーティプロバイダーの認証トークンとAPIキーのコレクションが含まれていました。保険会社のファイルには、メッセージングおよびメールプロバイダーのキーが含まれていました。」

UpGuardは次のように続けた。

発見から数時間後、UpGuardはAWSセキュリティに通知し、リポジトリはオフラインになりました。リポジトリは5時間未満しか公開されていませんでした。しかし、UpGuardがノースカロライナ州立大学の論文[PDF]を参照して指摘しているように、GitHubの検索機能を使えば、このようなミスを迅速に発見できる可能性があります。

「機密情報を含む新規ファイルの99%をリアルタイムで発見できる」と報告書は述べている。研究者たちは、「毎日何千もの新たな、固有の機密情報が漏洩している」と考えている。つまり、たとえ5時間の露出でも、犯罪者が機密情報を入手するには十分な時間だ。

スコシアバンクカード

スコシアバンクは、内部ソースコードと認証情報がインターネット上に流出したことで「マペット級のセキュリティ」を非難された。

続きを読む

なぜこれほど多くの秘密情報がGitHubリポジトリに残ってしまうのでしょうか?よくある理由の一つは、開発者が新しいアイデアを試す際に、認証情報をアプリケーションにハードコードしてしまい、その影響についてよく考えずにコードを公開してしまう、あるいはパブリックリポジトリにプッシュしていることを忘れてしまうことです。

この問題は非常に一般的であるため、GitHub にはトークン スキャン サービスがあり、「誤ってコミットされた認証情報の不正使用を防ぐために、既知のトークン形式をパブリック リポジトリで検索」します。

GitHub では、「GitHub からメッセージを送信されたトークンは、公開されており、侵害されていると見なす」ことも推奨しています。

しかし、今回のケースでは、リポジトリは「アプリケーションコードではなく汎用ストレージとして構成されており、最上位ディレクトリに多くのファイルがあり、サブディレクトリの明確な規則がなかった」とUpGuardは指摘しています。なぜこのような問題がGitHubリポジトリに存在したのでしょうか?原因は不明です。スクリプトの誤りから、GitHubをDropboxのようにファイルの交換やバックアップに利用しようとした誤った試みまで、様々な可能性が考えられます。

UpGuardは、「UpGuardによって検出され、AWSによって迅速に修復されたこともあり、ユーザーが悪意を持って行動した、あるいはエンドユーザーの個人データが影響を受けたという証拠はありません」と述べています。これは、先行する声明を念頭に置くと奇妙に自己満足的な結論ですが、AWSはそれが正しいことを期待しているでしょう。

GitHubは、リポジトリ内でパスワードやアクセストークンを検索することをあまりにも簡単にしすぎているのではないでしょうか?GitHubは、トークンを公開リポジトリにアップロードした後ではなく、アップロード前にスキャンするべきでしょうか?Microsoftが行ったように、念のため、内部ログやサポートデータからそのようなデータを削除すべきでしょうか?

AWS にコメントを求めており、回答があれば報告します。®

追加更新

アマゾンの広報担当者は、コードリポジトリはエンジニアが個人として使用していたものであり、顧客データや会社のシステムは漏洩していないと主張した。

Discover More