トヨタ、GitHub上でシークレットキーを公開しデータ漏洩
2022年10月7日、日本の自動車メーカーであるトヨタは、公開GitHubリポジトリで約5年間にわたって顧客データへのアクセスを許容するクレデンシャルを誤って露出させていたことを明らかにしました。このコードは2017年12月から2022年9月まで公開されていました。トヨタは、鍵を無効にしたと言っていますが、これほど長い露出は複数の悪意のあるアクターが既にアクセスを取得している可能性を意味しています。
このインシデントにより、トヨタはサムスン、エヌビディア、ツイッチなどをはじめ、同様の露出を経験した企業のリストに加わりました。トヨタでのこのブリーチは、サムスンのケースで露出した6,695個のシークレットと比べて比較的限定的であると現在では理解されていますが、このような問題を経験している企業の数が増えているのは非常に憂慮すべき傾向です。
「公開Gitリポジトリのデータ露出は特に厄介な話題です。厳重にコントロールされたプライベートリポジトリ向けのコードが往々にして、GitHub組織のセキュリティコントロールの外にある従業員や契約者が所有する公開リポジトリにプッシュされてしまいます」
何が起こったのか
T-Connect
2014年、トヨタはインタラクティブなボイスレスポンスを提供し、ドライバーがサードパーティのアプリに接続できる新しいテレマティクスサービス「T-Connect」を顧客に紹介しました。トヨタはこれを「車両通信を通じて安全で、安心で、快適で、便利なサービスを提供するコネクテッドサービス」と宣伝しています。
T-Connectは、リモートスターティング、車内Wi-Fi、デジタルキーアクセス、ダッシュボードで提供されるメトリクスを完全に制御する機能、およびMy Toyotaサービスアプリへのダイレクトラインなどの機能を可能にします。これらのオプションを制御するサーバーには、ユニークな顧客識別番号と顧客のメールアドレスが含まれています。
サブコントラクターと公開リポジトリ
2017年12月、名前の公表されていない(これまでのところ)サブコントラクターと作業中に、T-Connectのソースコードの一部が公開GitHubリポジトリにアップロードされました。リポジトリ内には、顧客情報を管理するデータサーバーへのアクセスキーがハードコードされていました。このクレデンシャルを見つけた人は誰でもサーバーにアクセスでき、296,019名の顧客にアクセスできました。
顧客データが潜在的に露出していること、そしてそのリポジトリが公開されていることに気づいたのは2022年9月15日までのことでした。トヨタは以来、リポジトリをプライベートにし、影響を受けた接続クレデンシャルを無効にして置き換えました。
どれほど悪いのか?
顧客識別番号とメールアドレスが潜在的に露出した可能性がありますが、露出したデータベースには顧客名、クレジットカードデータ、電話番号は保存されておらず、したがってリスクにさらされていません。トヨタは影響を受けた顧客への連絡を開始しています。このアウトリーチの一環として、会社は、顧客が自分のデータが露出に関連しているかどうかを確認できるように、自社サイトに特別なフォームを設置しました。
現時点では、このブリーチが悪意のある行為者により、メールと関連する顧客管理番号の収集以上のことをさせる兆候はありません。トヨタは、収集されたデータを使用した悪用や攻撃が発生したかどうかを確認できていません。
人々は自身をどう保護できるか
トヨタは、個人情報の不正使用が検出されていないものの、影響を受けたユーザー全員がスパムメールやフィッシング攻撃に注意するべきだと警告しています。
トヨタからの通知には「不明な差出人や件名の疑わしいメールを受け取った場合、ウイルス感染や不正アクセスのリスクがあるため、メールに添付されたファイルを開かずに、直ちにメール自体を削除してください」と記載されています。
この事件は、すべてのメールにおいては信頼できる送信元のメール内のリンクにのみ従うことが重要であるという良いリマインダーです。メールの正当性に疑問がある場合は、ヘッダーを検査してメールドメインが正当か確認し、リンクのホバープレビューを使用して、リンクが潜在的に危険なサイトにリダイレクトしていないことを確かめるべきです。
「攻撃者は、盗まれたメールと文脈を使用して、より説得力のあるフィッシングキャンペーンを作成することができます。例えば、トヨタの顧客であることを知ることは、それらをより信頼できるように見せることができます」
開発者はこれが再び起こらないようにするには?
トヨタでの最新のインシデントの中心にある2つのセキュリティミスは以下のとおりです:
- プライベートにするつもりだったコードが公開リポジトリにプッシュされました。
- 顧客データを保持するDBサーバーのクレデンシャルがリポジトリにハードコードされました。
Gitは93%以上の開発者に使用されている素晴らしいバージョン管理システムであり、現代のCI/CDパイプラインの中心です。Gitの利点の1つは、各開発者が作業しているプロジェクトの完全なコピーを持っていることです。その完全なコピーへのアクセスもまた、各開発者が公開リポジトリなど、許可されない場所にコピーをプッシュすることを意味します。契約者が任意の場所へコードをプッシュすることを防ぐことはできないかもしれませんが、コードやIPが適切でない場所にプッシュされた場合を検出することはできます。これは、私たちが以前に報告したソフトウェア産業に影響を与える深刻な課題です。
GitGuardianは、無料ツールHasMyCodeLeakedを提供しており、企業が潜在的なソースコード漏洩を特定するのに役立ちます。私たちの無料ツールはGitHubの公開履歴の中でコード「指紋」の正確なルックアップを行うことができ、プライベートなコードやデータを含むリポジトリの特定を迅速に支援します。
シークレットのハードコーディングは、今日のソフトウェア産業に影響を与える深刻な問題です。2021年には、公開されたGitHubリポジトリだけでも600万件以上のシークレットを発見しました。開発におけるセキュリティが「左に移動」し、時間のない開発者の肩にのし掛かる中、彼らがリポジトリの一部としてシークレットが終わらないように、ツールやサービスを活用することが重要です。ハードコードされた企業のシークレットは、公開リポジトリにプッシュされるだけでなく、不満を持つ従業員によってリークされたり、悪意ある行為者に盗まれたりすることで露出する可能性があります。これはシークレット検出が実施されていない企業にとって本当の盲点です。
行く前に
ハードコードされたクレデンシャルの問題についてもっと学びたいですか?私たちのシークレットスプロール状態2022報告を読むか、シークレットの露出に関する無料の評価をご希望の場合はお問い合わせください。
こちらの記事はdev.toの良い記事を日本人向けに翻訳しています。
https://dev.to/gitguardian/toyota-suffered-a-data-breach-by-accidentally-exposing-a-secret-key-publicly-on-github-1aam