Un développeur a reçu la somme de 100 000 $ pour avoir découvert un bug zero-day dans le système Sign in with Apple.
Sign in with Apple est une méthode de connexion lancée l’année dernière utilisée pour accéder aux comptes en ligne. Il en va de même pour se connecter avec les boutons Google ou Facebook que vous voyez fréquemment. Cependant, Apple vante la confidentialité de son système par rapport aux autres, affirmant que les utilisateurs peuvent se connecter à un site ou à une application en utilisant iCloud sans révéler leur adresse e-mail.
La façon dont cela fonctionne est lorsque le bouton Sign in with Apple est activé, un serveur d’authentification Apple crée un jeton Web JSON (JWT). Les utilisateurs peuvent choisir de partager leur identifiant de messagerie Apple ou de le masquer. S’il est masqué, le serveur crée un « identifiant de messagerie de relais Apple », qui est essentiellement un faux e-mail. Le système utilise le courrier électronique choisi, faux ou réel, pour créer le JWT. Ensuite, le jeton est validé par le site Web tiers avec le serveur d’authentification Apple (schéma ci-dessous).
Par exemple, on se connectant à Dropbox, les serveurs d’Apple ont créé l’identifiant de messagerie « [email protected] ». Cet ID est désormais lié de manière permanente au compte iCloud pour se connecter à Dropbox. La méthode en générera une nouvelle pour chaque application ou site Web que vous utilisez le bouton Sign in with Apple.
Le problème est que, comme l’a découvert le développeur Bhavuk Jain, le système répond à une demande JWT pour tout ID de courrier électronique. La vulnérabilité permet essentiellement à un attaquant de forger une clé d’authentification pour n’importe quel compte à l’aide de la méthode de connexion.
« Lorsque la signature de ces jetons a été vérifiée à l’aide de la clé publique d’Apple, ils se sont révélés valides. Cela signifie qu’un attaquant pourrait forger un JWT en lui associant n’importe quel identifiant de messagerie et en accédant au compte de la victime », a déclaré Jain.
Les implications de cet exploit sont claires. Une fois authentifié, un attaquant peut reprendre entièrement le compte de la victime. Plusieurs applications ont déjà implémenté la connexion avec Apple, notamment Dropbox, Spotify, Airbnb, Giphy et d’autres.
Jain a informé Apple du bug en avril et a mené une enquête. L’analyse des journaux de l’entreprise n’a révélé aucune utilisation abusive et cet exploit n’a pas été utilisé pour compromettre des comptes. La firme de Cupertino a depuis corrigé la faille de sécurité. Apple a également remercié Jain avec un chèque de 100 000 $ via le programme Apple Security Bounty.