Баг Facebook Messenger для Android позволял шпионить за пользователями

Баг Facebook Messenger для Android позволял шпионить за пользователями

В мобильной версии приложения Facebook Messenger устранили уязвимость, с помощью которой можно было прослушивать окружение вызываемого абонента. По свидетельству нашедшего баг эксперта, скрытное подключение к целевому Android-устройству в данном случае выполняется за пару секунд.

Новую лазейку для шпионов обнаружила участница ИБ-проекта Google Project Zero Натали Силванович (Natalie Silvanovich). В Facebook находку оценили в $60 тыс. — это один из крупнейших призов, которые компания выдает в рамках своей программы для баг-хантеров.

Причиной появления уязвимости, со слов Силванович, является некорректная реализация протокола SDP (Session Description Protocol, протокол описания сеансов передачи мультимедиа-данных). Этот протокол является важной частью технологии WebRTC (Web Real-Time Communication, коммуникации в реальном времени), позволяющей проводить конференции в браузере.

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

Проводя аудит мессенджера Facebook, эксперт обнаружила, что из-за ошибки разработчиков злоумышленник может с помощью сообщения SdpUpdate запустить аудиотрансляцию в ходе вызова — без ведома и согласия адресата. Это SDP-сообщение не используется при установке соединения WebRTC, но его вброс позволит автору атаки услышать через наушники все, что происходит рядом с вызываемым абонентом.

Эксплуатация уязвимости предполагает наличие разрешения на звонок намеченной жертве — к примеру, злоумышленник должен числиться в списке друзей на Facebook. Силванович провела пробную атаку на Android с установленным Facebook Messenger версии 284.0.0.16.119 и выяснила, что искомый результат можно получить за пару секунд.