Специалистка Google Project Zero Натали Сильванович (Natalie Silvanovich) обнаружила опасный баг в составе Facebook Messenger для Android, за который социальная сеть выплатила ей 60 000 долларов. Проблема позволяла атакующему совершать аудиовызовы и подключаться к уже активным звонкам без ведома самих абонентов.

В своем отчете специалистка пишет, что проблема была связана работой прокола WebRTC, который Messenger использует для аудио- и видеозвонков, а именно его части —  Session Description Protocol (SDP). Данный протокол обрабатывает данные сессий для соединений WebRTC, и Сильванович обнаружила, что SDP-сообщениями можно злоупотребить, получив автоодобрение на WebRTC-соединение, без какого-либо взаимодействия с пользователем. При этом атака занимает считанные секунды.

Обычно аудиосигнал передается только в том случае, если пользователь согласился принять вызов, нажав кнопку ответа (в этот момент вызывается setLocalDescription).

«Есть тип сообщений, которые не используются для установления соединений, это SdpUpdate. Но SdpUpdate провоцирует немедленный вызов setLocalDescription. Если такое сообщение будет отправлено вызываемому устройству во время звонка, оно сразу начнет передачу аудио [даже если фактически на вызов не ответили], то есть позволит злоумышленнику следить за окружением вызываемого абонента», — пишет исследовательница.

Специалистка сообщила о проблеме разработчикам Facebook еще в прошлом месяце, и в настоящее время уязвимость уже исправили. В Twitter Сильванович рассказала, что за нахождение этой ошибки ей выплатили 60 000 долларов в рамках программы bug bounty, и эти деньги исследовательница пожертвует благотворительной организации GiveWell, а Facebook со своей стороны удвоит сумму пожертвования.

Таким образом, данный баг стал одной из самых высокооплаченных уязвимостей в истории Facebook, и инженеры компании отмечают, что «стоимость» уязвимости в данном случае прямо пропорциональна ее потенциальной опасности.

 

Оставить мнение