株式会社メルカリは5月21日、同社が利用する外部のコードカバレッジツール「Codecov」に第三者からの不正アクセスがあり、同社のソースコードの一部および一部顧客情報の外部流出が判明したと発表した。(記事はこちら)
フリマアプリのメルカリが利用していた外部サービスに不正アクセスがあり、ソースコードなどが漏洩してしまったということです。先日の配信で触れたばかりのサプライチェーン攻撃に関連する被害となりますので、インシデントの内容や対策について再度説明します。
サプライチェーン攻撃とは、ターゲットとなる組織が依存する外部サービスやソフトウェアを攻撃することで目的を達成するものです。ターゲットとなる組織のセキュリティ対策が十分であっても、外部サービスのセキュリティ対策が不十分である場合、組織に二次被害が及んでしまう可能性があります。
今回、直接攻撃を受けた外部サービスは「Codecov」というコードカバレッジツールです。Codecovの一部機能が第三者によって改ざんされたことにより、Codecovで使っていたユーザの認証情報でアクセスできるサービスやアプリケーションから情報が漏洩した可能性があるということです。
メルカリ社では、自社が使用する外部サービスに認証情報の流出リスクがあることを認識し、直ちに認証情報の初期化に着手したということです。その後、認証情報が初期化される前に同社が使用していたGitHubからソースコードが流出したことが判明し、ソースコードに一部の顧客情報が書かれていたことから、サプライチェーン攻撃から個人情報が漏洩するインシデントに発展してしまったということです。
サプライチェーン攻撃の原因は外部サービスのセキュリティ対策に起因することが多く、外部サービスを含めたサプライチェーン全体のセキュリティリスクを管理することが必要であると、以前にも説明させていただきました。今回は、実際に使用していた外部サービスを例に挙げながらより具体的に説明します。
今回、メルカリ社が利用して直接の攻撃を受けたCodecovや、直接攻撃は受けていないものの顧客情報が漏洩してしまったGitHubなど、外部サービスに依存してソースコードを管理する開発プロジェクトが多くなってきました。このような状況でサプライチェーン攻撃へ対策するためには、ソースコードは漏洩することを前提にコーディングを行うことが必要です。
具体的には、パスワード情報やアクセスキーなど、認証情報をソースコードに直接書くことは避けるべきです。クラウド環境であれば、アクセスキーの代わりにロールを使用することができます。ロールを使えば、アクセスキーや認証情報を使わずに、あらかじめ設定されたリソースにアクセスすることができます。
また、ソースコードのコメント欄などに不要な機密情報が残されていないか、確認することも必要です。今回、顧客情報がどのような経緯で漏洩したかは不明ですが、本来ソースコードに直接書く必要のない情報であると考えられますので、不要であれば削除してから公開するようにしましょう。
GitHubなど、過去の古いデータが不適切に残されていた原因は、組織変更などで引き継いだデータが受け入れられる段階で見逃されていた可能性があります。今回の詳細については公開されていませんので、あくまでも一般論として説明します。
組織変更や企業買収などで、セキュリティレベルが異なる組織同士が持つ情報資産が一緒くたになることはよく考えられます。情報資産がまとめられる段階で、受け入れ側の組織、もしくはセキュリティレベルが高い組織で情報資産のセキュリティチェックが行われないと、その後に想定外のインシデントが発生する可能性があります。
具体的には、ECサイトを買収した際に事前にセキュリティチェックを行わず、そのまま受け入れたとします。脆弱性診断を行っていないため脆弱性は放置されており、アクセスログは監視も保存もされておらず、インシデントが発生したことに気が付くことすらできません。結果として、自社のセキュリティ対策は十分であっても、買収したECサイトから個人情報が漏洩してしまう可能性があります。
今日の10分セキュリティラジオにて毎週月・水・金にセキュリティの最新ニュースを取り上げ解説を行っています。隙間の時間の情報収集にぜひお役立てください!
お見積り・ご相談など、お気軽にご相談ください
サイトTOPへ