EAの7億件のアカウントを盗んだりBANしたり好き放題できる脆弱性を発見した方法をハッカーが解説
ゲーム開発者兼リバースエンジニアのショーン・ケーラー氏が、エレクトロニック・アーツ(EA)の全アカウントを乗っ取ることが可能な脆弱(ぜいじゃく)性を発見したと報告しました。
Hacking 700 Million Electronic Arts Accounts | Sean Kahler
https://battleda.sh/blog/ea-account-takeover
EAはさまざまなプラットフォームにゲームを展開しているため、「ペルソナ」という仕組みを用いてプラットフォーム間のアカウントをリンクしています。新たなプラットフォームのアカウントをEAアカウントにリンクすると、そのプラットフォーム用のペルソナが作成され、当該プラットフォームのプレイヤー名などのデータが保存されます。
ケーラー氏はEAの認証システムのAPIを調査しているときに、ペルソナのデータを管理するAPIエンドポイントの「/identity/pids/{pidId}/personas/{personaId}」に対する更新リクエストの権限設定にミスがあり、全プレイヤーのペルソナを勝手に書き換えることができることを発見しました。早速ケーラー氏が自身のアカウントのプレイヤー名を変更するリクエストを送ってみると、通常発生するユーザー名変更クールダウンやメールでの確認を無視してプレイヤー名を変更できたとのこと。
また、アカウントに設定される「BANNED」などのステータスも自由に書き換えることが可能でした。試しにケーラー氏が自身のアカウントを「BANNED」状態にすると下図の表示が出てゲームにアクセスできなくなりました。
さらにケーラー氏が調査を進めると、ペルソナとEAアカウントのリンク情報についても自由に変更できることが判明。ケーラー氏が自身のSteamアカウントをケーラー氏の友人のEAアカウントにリンクさせ、Steam経由でログインすることで友人のアカウントに不正にログインできるかを試したところ、「新しい場所からのログイン」としてメールでの認証が求められました。
ケーラー氏はXboxでゲームをプレイした際にメール認証を求められたことがないことを思い出し、自身のXboxペルソナをテスト用に作成したEAアカウントにリンクしてXboxでログインしてみると、メール認証を回避してログインすることに成功。下図では「TestVictim」というテスト用アカウントの名前が表示されていることが確認できます。
一度Xboxからログインすると、EAがその場所を信頼できる場所として認識するようで、ウェブでログインする際にもメール認証が求められなくなったとのこと。
今回の脆弱性を利用すると下記のような行為が可能になるとケーラー氏は述べました。
・他人のペルソナを別のアカウントにリンクすることでユーザー名とゲームデータを盗む。
・攻撃者のXboxペルソナを経由して任意のアカウントにログイン可能。
・他人のペルソナをBANNED状態にしてゲームプレイを不可能にさせる。
・他人のユーザー名を変更する。
・BANNED状態になったペルソナを別のアカウントに移動してBANを回避する。
なお、ケーラー氏は2024年6月16日にこの脆弱性をEAに報告しており、EAは5度のパッチを経て2024年10月8日に問題を修正したとのことです。