» » » В сервисе аутентификации Mozilla Persona выявлены проблемы с безопасностью

В сервисе аутентификации Mozilla Persona выявлены проблемы с безопасностью

В сервисе аутентификации Mozilla Persona выявлены проблемы с безопасностьюВ развиваемом проектом Mozilla распределённом сервисе идентификации пользователей Persona выявлена уязвимость, позволяющая злоумышленнику подделать факт верификации email и выполнить вход от имени любого адреса сервисов Gmail и Yahoo Mail, для которых поддерживается использование OpenID для подтверждения валидности пользователя. Уязвимость была выявлена в рамках программы "Bug Bounty Program" и не была публично оглашена до устранения проблемы. Persona позволяет пользователям авторизоваться на любом веб-сайте, используя email, который должн быть предварительно подтверждён владельцем, для чего в том числе поддерживается использование протокола OpenID.

Причина уязвимости кроется в особенностях верификации с использованием OpenID и проявляется только для сервисов, для которых поддерживается подтверждение по данному протоколу (на данным момент только Gmail и Yahoo Mail). В частности, для проверки корректности привязки email к заявленному аккаунту используется цифровая подпись. Подразумевается, что цифровая подпись охватывает поле с email, но упускается, что допустимо указание произвольных полей для проверки по цифровой подписи.

Таким образом, атакующий может сформировать для OpenID цифровую подпись, не охватывающую email, после чего подменить указанный в параметрах верификации адрес. После смены адреса цифровая подпись останется корректной и многие популярные OpenID-библиотеки, явным образом не проверяющие наличие поля с email в числе охватываемых цифровой подписью полей, будут считать запрос с фиктивным email прошедшим верификацию.

 

Второй вектор атаки связан с особенностью извлечения значений полей OpenID. Например, атакующий может путём спуфинга подставить в начало корректно верифицированного запроса дополнительное поле "openid.foo.value.email: victim@gmail.com". Несмотря на то, что цифровая подпись будет корректно сформирована для изначально указанного поля "openid.ext1.value.email: example@gmail.com", многие OpenID-библиотеки извлекут email из поля, указанного первым, несмотря на то, что оно не охватывается цифровой подписью.

Ключевые теги: OpenID, Mozilla, persona, auth





Добавить комментарий

КОММЕНТАРИИ

Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.
Быстрый вход: 

ВОЗМОЖНО ВАС ЭТО ЗАИНТЕРЕСУЕТ

Информация
Комментировать статьи на сайте возможно только в течении 90 дней со дня публикации.