Ошибка Facebook Messenger позволила пользователям Android шпионить друг за другом

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

Facebook Messenger для Android установлен на более чем 1 миллиард устройств Android, согласно официальной странице приложения в Play Store.

Злоумышленники могли воспользоваться этой ошибкой, отправив сообщение особого типа, известное как SdpUpdate, которое заставило бы вызов подключиться к устройству вызываемого пользователя до того, как на него ответят.

«Если это сообщение отправляется вызываемому устройству во время звонка, оно немедленно начинает передачу звука, что может позволить злоумышленнику контролировать окружение вызываемого», – объясняет Натали Сильванович, исследователь, работающий над ошибкой Google Project Zero. охотничья команда.

“Обычно вызываемый абонент не передает звук до тех пор, пока пользователь не согласится принять вызов, что реализуется либо путем отказа от вызова setLocalDescription до тех пор, пока вызываемый абонент не нажмет кнопку принятия, либо путем установки описаний мультимедиа аудио и видео в локальном SDP в неактивное состояние. и обновляя их, когда пользователь нажимает кнопку (какая стратегия используется, зависит от того, на скольких конечных точках вызываемый абонент вошел в систему Facebook) ».

Воспроизведение проблемы с Messenger для Android

Сильванович обнаружил проблему в версии 284.0.0.16.119 программы Facebook Messenger для Android в прошлом месяце. Исследователь также предоставляет основанный на Python код эксплойта для проверки концепции (PoC), чтобы воспроизвести проблему в системе отслеживания ошибок Project Zero.

Полная процедура воспроизведения теперь исправленной проблемы включает в себя аудиовызов на целевое устройство после запуска PoC на устройстве злоумышленника.

Подождав несколько секунд, злоумышленник может услышать звук из окружения цели через динамики своего устройства.

Для автоматического подключения вызова PoC выполнит следующие шаги:

  1. Ожидает отправки предложения и сохраняет поле sdpThrift из предложения
  2. Отправляет сообщение SdpUpdate с этим sdpThift целевому объекту
  3. Отправляет поддельное сообщение SdpAnswer * злоумышленнику *, чтобы устройство считало, что на звонок ответили, и воспроизводит входящий звук.

Ошибка, которую злоумышленники могут использовать в списке друзей цели.

Согласно объяснению Facebook , эта ошибка «могла позволить изощренному злоумышленнику, вошедшему в систему в Messenger для Android, одновременно инициировать вызов и отправить непредусмотренный тип сообщения кому-то, кто вошел в систему в Messenger для Android и в другом клиенте Messenger (например, в веб-браузере)».

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

«Чтобы воспользоваться этой проблемой, злоумышленник должен уже иметь разрешения на вызов этого конкретного человека, минуя определенные проверки на соответствие критериям (например, дружба на Facebook). Им также потребуется использовать инструменты обратного проектирования, чтобы манипулировать своим собственным приложением Messenger, чтобы заставить чтобы отправить собственное сообщение “.

После исправления ошибки, о которой сообщил Project Zero на стороне сервера, исследователи безопасности Facebook применили дополнительную защиту в других приложениях, которые используют тот же протокол для звонков 1: 1.

Bug награжден премией в размере 60 000 долларов США

Facebook наградил Сильвановича премией в размере 60 000 долларов за обнаружение и раскрытие этой ошибки в Messenger для Android.

«Этот отчет входит в тройку наших самых высоких вознаграждений за обнаружение ошибок в размере 60 000 долларов, что отражает его максимальное потенциальное воздействие», – заявил ранее сегодня Дэн Гурфинкель, менеджер по безопасности Facebook.

Исследователь Project Zero говорит, что пожертвует всю сумму в Фонд максимального воздействия GiveWell. Коллин Грин, менеджер по безопасности продуктов в Facebook, позже сказал, что компания компенсирует пожертвование Сильвановича для GiveWell на общую сумму 120 000 долларов.

Более 50 000 исследователей присоединились к программе поощрения ошибок Facebook, и примерно 6900 из них были награждены наградой после подачи более 130 000 отчетов об уязвимостях с 2011 года.

Только в этом году Facebook сообщает, что более 1,98 миллиона долларов были присуждены исследователям из более чем 50 стран, которые сообщили о более чем 1000 уязвимостях.

Обновление: добавлена ​​информация о программе вознаграждения за ошибки в Facebook.

Источник