「Appleでサインイン」のバグ発見で開発者が10万ドルを獲得

「Appleでサインイン」のバグ発見で開発者が10万ドルを獲得

マルコム・オーウェンのプロフィール写真マルコム・オーウェン

· 1分で読めます

「Appleでサインイン」アカウント認証における、現在パッチが適用されている脆弱性の詳細が明らかになった。このゼロデイ脆弱性を悪用すると、攻撃者がユーザーのアカウントを乗っ取る可能性がある。

2019年に開始された「Sign in with Apple」は、FacebookやGoogleアカウントを利用したウェブサイトやアプリのログインシステムよりもプライバシーを重視した代替手段となることを目指しています。認証とアカウント作成に使用されるユーザーデータの量を最小限に抑えることで、このAPIはFacebookやGoogleによるユーザー追跡の量を削減し、プライバシーの向上にも貢献しました。

セキュリティに重点を置く開発者Bhavuk Jain氏が土曜日に公開した「Appleでサインイン」のゼロデイ脆弱性により、攻撃者がサードパーティ製アプリケーション上のユーザーアカウントにアクセスし、完全に乗っ取ることが可能になる可能性がありました。Jain氏によると、このバグにより、ユーザーが有効なApple IDを持っているかどうかに関わらず、アプリケーションのユーザーアカウントの権限変更が可能になるとのこと。

「Appleでサインイン」は、JSON Web Token(JWT)またはAppleのサーバーによって生成されたコードのいずれかを利用します。後者は、JWTが存在しない場合はJWTを生成するために使用されます。認証時に、AppleはユーザーにAppleメールIDをサードパーティ製アプリと共有するか非公開にするかを選択するオプションを提供し、後者を選択した場合には、ユーザー固有のAppleリレーメールIDが作成されます。

認証が成功すると、Apple は電子メール ID を含む JWT を生成し、サードパーティ アプリケーションがユーザーをログインするために使用されます。

ジェイン氏は4月に、任意のメールIDに対してJWTをリクエストすることが可能であり、トークンの署名がAppleの公開鍵で検証されると有効と判断されることを発見しました。つまり、攻撃者はこのプロセスを通じてJWTを作成し、被害者のアカウントにアクセスできるようになるのです。

Appleは、他のソーシャルログインシステムを搭載したアプリに「Appleでサインイン」機能の搭載を義務付けているため、この攻撃は理論上、非常に幅広いアプリに有効でした。Appleのセキュリティチームによる調査の結果、この脆弱性はいかなる攻撃にも利用されていないことが判明しました。

ジェイン氏は責任ある方法でAppleにこの脆弱性を開示し、Appleのバグ報奨金プログラムから10万ドルの賞金を獲得しました。Appleはその後この脆弱性を修正しましたが、具体的な方法はまだ明らかにされていません。