Исследователь компании Netsparker рассказал в блоге о том, как он, с декабря 2015 года, добивался исправления уязвимости CSRF (Cross-Site Request Forgery) в браузере компании «Яндекс». Баг позволял атакующему обмануть встроенный в браузер инструмент для синхронизации данных, после чего браузер передавал всю информацию пользователя на чужой аккаунт.
Уязвимость была найдена в форме логина браузера «Яндекс», куда пользователь должен ввести свой email и пароль от аккаунта «Яндекс» для создания профиля в браузере. Так как браузер построен на движке Chromium, равно как и сам Chrome, он предлагает пользователям удобную функцию синхронизации всех настроек и данных между разными устройствами. Синхронизируется практически вся информация, включая пароли, закладки, историю браузера, информацию по автозаполнению форм и так далее.
Чтобы эксплуатировать данный баг, атакующему было достаточно заманить пользователя на вредоносный сайт, в коде которого должно было содержаться следующее:
Таким образом атакующий заставлял браузер отправить POST-запрос на синхронизацию данных, используя вместо данных пользователя, подставные данные атакующего. В результате синхронизация всей конфиденциальной информации производилась с чужим аккаунтом и без ведома жертвы. Исследователь пишет, что приведенный proof-of-concept не работает против Chrome, так как там механизм синхронизации функционирует иначе.
На данный момент проблема уже была устранена, но на это потребовалось немало времени. Уязвимость была обнаружена еще в декабре 2015 года, но связаться с «Яндексом» исследователи сумели только 15 января 2016 года, когда вышли на прямой контакт с одним из инженеров компании в Twitter. Он и объяснил исследователям, что для них был создан аккаунт в почте «Яндекса», где, как оказалось, их с 22 декабря 2015 года дожидался ответ компании, гласивший, что специалисты «Яндекса» не сумели воспроизвести атаку. В начале февраля 2016 года исследователи сняли PoC-видео, и в начале марта представители «Яндекса» наконец подтвердили, что эксперты Netsparker обнаружили реальную проблему, и занялись ее устранением. Окончательно CSRF-уязвимость была исправлена только в мае 2016 года.
Уязвимость была найдена в форме логина браузера «Яндекс», куда пользователь должен ввести свой email и пароль от аккаунта «Яндекс» для создания профиля в браузере. Так как браузер построен на движке Chromium, равно как и сам Chrome, он предлагает пользователям удобную функцию синхронизации всех настроек и данных между разными устройствами. Синхронизируется практически вся информация, включая пароли, закладки, историю браузера, информацию по автозаполнению форм и так далее.
Чтобы эксплуатировать данный баг, атакующему было достаточно заманить пользователя на вредоносный сайт, в коде которого должно было содержаться следующее:
Таким образом атакующий заставлял браузер отправить POST-запрос на синхронизацию данных, используя вместо данных пользователя, подставные данные атакующего. В результате синхронизация всей конфиденциальной информации производилась с чужим аккаунтом и без ведома жертвы. Исследователь пишет, что приведенный proof-of-concept не работает против Chrome, так как там механизм синхронизации функционирует иначе.
На данный момент проблема уже была устранена, но на это потребовалось немало времени. Уязвимость была обнаружена еще в декабре 2015 года, но связаться с «Яндексом» исследователи сумели только 15 января 2016 года, когда вышли на прямой контакт с одним из инженеров компании в Twitter. Он и объяснил исследователям, что для них был создан аккаунт в почте «Яндекса», где, как оказалось, их с 22 декабря 2015 года дожидался ответ компании, гласивший, что специалисты «Яндекса» не сумели воспроизвести атаку. В начале февраля 2016 года исследователи сняли PoC-видео, и в начале марта представители «Яндекса» наконец подтвердили, что эксперты Netsparker обнаружили реальную проблему, и занялись ее устранением. Окончательно CSRF-уязвимость была исправлена только в мае 2016 года.
Комментариев нет:
Отправить комментарий