Египетский разработчик Мохамед А. Басет нашёл в мессенджере Facebook серьёзную проблему, которая позволяет реализовывать атаки «человек посередине» и перехватывать чужие голосовые сообщения.


Басет описывает найденную им уязвимость следюущим образом. Когда пользователь отправляет кому-нибудь записанное аудиопослание, оно загружается на CND-сервер Facebook, после чего становится доступен как тому, кто его отправил, так и тому, для кого оно предназначается.

Злоумышленник может использовать атаку «человек посередине» (man-in-the-middle) для перехвата прямых ссылок к этим файлам, а затем отредактировать адреса, заменив HTTPS на HTTP, после чего у него получится получить доступ к аудиофайлам без аутентификации.

Как отмечает Басет, проблема в том, что Facebook по какой-то причине не использует механизм HTTP Strict Transport Security (HSTS), чьей основной задачей является активация форсированного защищенного соединения через протокол HTTPS. Кроме того, Facebook не предусмотрел аутентификацию пользователя для доступа к файлам по прямым ссылкам — они должны быть доступы только отправителю и получателю, а не третьей стороне.

Мохамед А. Басет продемонстрировал найденную уязвимость на видео. Он отправил звуковое сообщение одному из друзей, а затем перехватил ссылку на файл и скачал его баз аутентификации.

Примечательно, что Facebook не наградил Басета за сообщение этой проблемы. Соцсеть признала наличие проблемы, но сообщила, что под программу Bug Bounty не попадают советы по использованию HSTS. В настоящее время эта уязвимость всё ещё актуально и может эксплуатироваться злоумышленниками, поэтому обмениваться конфиденциальными звуковыми сообщениями через Facebook Messenger при подключении к отрытым сетям Wi-Fi может быть небезопасно. Сейчас разработчики Facebook занимаются развёртыванием HSTS на всех поддоменах Facebook, благодаря чему эта проблема всё же будет устранена.

На фоне этой новости интересно сообщение о том, что россиянин Андрей Леонов получил от Facebook рекордно высокое вознаграждение в рамках программы Bug Bounty. Он создал эксплоит для уязвимости ImageTragick (CVE-2016-3714), которая была обнаружена летом 2016 года и показал разработчикам соцсети, как он работает. За это его наградили 40 тысячами долларов. Этот баг позволяет атакующему добиться от удаленного сервера выполнения произвольного кода — для этого достаточно загрузить на сервер специально подготовленное изображение. Леонов утверждает, что нашёл уязвимость ImageTragick на сайте Facebook случайно, когда искал баги в другом сервисе.

Система Orphus