27.11.2020

Анализ негативного эффекта от функции предпросмотра ссылок в мессенджерах


Исследователи безопасности из компании Mysk проанализировали реализацию функции предпросмотра ссылок в 18 популярных мессенджерах. Большинство мессенджеров при отправке ссылки автоматически загружают содержимое, на которое указывает ссылка, и выводит пользователю наглядный эскиз. В зависимости от мессенджеров формирование эскиза может производиться как на серверах, обслуживающих мессенджер, так и на стороне отправителя или получателя.

В ходе исследования выявлено, что формирование эскиза на стороне получателя приводит к дополнительному расходу трафика, вплоть до исчерпания небезлимитных тарифных планов, а также к возможности формирования вредоносных ссылок для атаки на мессенджер и определения IP-адреса получателя сообщения. Генерация эскиза на сервере позволяет выполнять свой JavaScript-код на системах, обеспечивающих работу мессенджеров, приводит к утечке конфиденциальных данных и создаёт паразитный трафик к серверу с контентом, указанным в ссылке.

Например, Facebook Messenger и Instagram при отправке ссылки автоматически формируют эскизы на своих серверах, и при этом полностью загружают связанный со ссылкой файл, даже если его размер превышает несколько гигабайт (в эксперименте продемонстрирована загрузка файла в 2.6 ГБ). Формирование эскизов на стороне сервера также практикуется в LinkedIn, но размер ограничивается начальными 50МБ. Загрузка содержимого на сервер может приводить к утечке передаваемых через ссылки конфиденциальных данных (медицинские записи, юридические документы и т.п.) и указанных внутри ссылок кодов доступа (например, приватных ссылок на Dropbox).

Кроме того, Facebook Messenger, Instagram и LinkedIn выполняют на своих серверах JavaScript-код при формировании эскизов сайтов, что может применяться для эксплуатации уязвимости в движке, осуществляющем выполнение JavaScript, или для совершения вычислений с использованием мощностей серверов мессенджеров (исследователи смогли добиться выполнения скрипта в течение 20 секунд и отправить обратный запрос на свой сервер).

В мессенджере Line ссылки передавались на сервер для формирования эскизов даже в шифрованных сеансах, использующих методы оконечного шифрования, и могли быть связаны на серверах с IP-адресами отправителей и получателей. Передача ссылок на серверы для формирования эскизов также зафиксирована для Discord, Google Hangouts, Slack, Twitter и Zoom, но размер загружаемых данных составляет от 15 до 50 МБ.

Информация об одном мессенджере, принимавшем участие в исследовании, пока не раскрывается, так как выявленные уязвимости в нём пока не устранены.

Методы обработки ссылок в мессенджерах:

  • Эскизы не формируются, ссылки приводятся как есть: Signal (если предпросмотр отключён в настройках), Threema, TikTok и WeChat.
  • Эскиз формирует отправитель: iMessage, Signal (если предпросмотр включён в настройках), Viber и WhatsApp.
  • Эскиз генерируется на стороне получателя (приложение обрабатывает ссылку и загружает связанной содержимое ещё до действий пользователя): Reddit (только в чате, при просмотре сообщений и комментариев не применяется) и неназванный мессенджер, проблемы в котором ещё не устранены. Атакующий может использовать данную возможность для определения IP-адресов получателей, что, в свою очередь, даёт возможность на основе geo-привязки IP-адреса приблизительно вычислить местоположение пользователя. Формирование эскизов на стороне клиента также позволяет незаметно от пользователя эксплуатировать уязвимости в браузерном движке и обработчиках разных видов контента.
  • Эскиз генерируется на серверах, обслуживающих мессенджер: Discord, Facebook Messenger, Google Hangouts, Instagram, LINE, LinkedIn, Slack, Twitter, Zoom и неназванный мессенджер, проблемы в котором ещё не устранены.

Источник: https://www.opennet.ru/opennews/art.shtml?num=53970

Добавить комментарий