Охотник за головами получил 100 000 долларов за ошибку нулевого дня в системе «Войти через Apple»

31
Охотник за головами получил 100 000 долларов за ошибку нулевого дня в системе «Войти через Apple»
В двух словах: Охотник за головами на полную ставку Бхавук Джейн обнаружил эксплойт нулевого дня в системе Apple «Войти через Apple», который принес ему награду в 100 000 долларов от технической компании из Купертино. Потенциально серьезная уязвимость нулевого дня могла позволить злоумышленникам полностью захватить учетные записи пользователей сторонних веб-сайтов, используя метод аутентификации.

Войти с помощью Apple – это метод входа, запущенный в прошлом году, который использовался для доступа к онлайн-аккаунтам. Он работает аналогично для входа с помощью кнопок Google или Facebook, которые вы часто видите. Тем не менее, Apple рекламирует конфиденциальность своей системы над остальными, говоря, что пользователи могут войти на сайт или в приложение, используя iCloud, не раскрывая свой адрес электронной почты.

Это работает, когда кнопка «Войти через Apple» активирована, сервер проверки подлинности Apple создает JSON Web Token (JWT). Пользователи могут поделиться своим идентификатором электронной почты Apple или скрыть его. Если он скрыт, сервер создает «идентификатор ретрансляции электронной почты Apple», который по сути является поддельным. Система использует любую электронную почту, поддельную или реальную, для создания JWT. Затем токен проверяется сторонним веб-сайтом с сервером аутентификации Apple (схема ниже).

Например, когда я использовал его для входа в Dropbox, серверы Apple создали идентификатор электронной почты «[email protected]». Этот идентификатор теперь постоянно связан с моей учетной записью iCloud для входа в Dropbox. Метод сгенерирует новый для каждого приложения или веб-сайта, который вы используете кнопку Войти через Apple.

Проблема в том, что, как обнаружил разработчик полного стека Бхавук Джейн, система отвечает на запрос JWT для любого идентификатора электронной почты. Эта уязвимость позволяет злоумышленнику подделать ключ аутентификации для любой учетной записи, используя метод входа в систему.

«Когда подпись этих токенов была проверена с использованием открытого ключа Apple, они показывались как действительные. Это означает, что злоумышленник может подделать JWT, связав с ним любой идентификатор электронной почты и получив доступ к учетной записи жертвы», – сказал Джейн.

Последствия этого подвига очевидны. После проверки подлинности злоумышленник может полностью завладеть учетной записью жертвы. В нескольких приложениях уже реализован вход в систему с помощью Apple, включая Dropbox, Spotify, Airbnb, Giphy и другие.

Джейн уведомил Apple об ошибке в апреле, и она провела расследование. Анализ журналов компании не выявил злоупотреблений и не использовался для взлома любых учетных записей. С тех пор он исправил дыру в безопасности. Apple также поблагодарила Джейна за вознаграждение в размере 100 000 долларов США через программу Apple Security Bounty.