Уязвимость в TikTok позволяет подменять видео на чужих страницах

Автор mordeniuss

Перевел и оформил статью mordeniuss.ru

Авторы: Томми Майск (Tommy Mysk) и Талал Хадж Бакри (Talal Haj Bakry)

Оригинал: https://www.mysk.blog/2020/04/13/tiktok-vulnerability-enables-hackers-to-show-users-fake-videos/

Видео

  • Манипуляции с популярными аккаунтами TikTok
  • Фейковое видео в аккаунте ВОЗ

Приложение TikTok использует небезопасный HTTP для загрузки медиа-контента. Как и все приложения для социальных сетей с большой базой пользователей, TikTok использует CDN для географического распределения своих массивных данных. TikTok использует CDN для передачи видео и других данных по HTTP. Хотя это и повышает производительность передачи данных, это ставит под угрозу конфиденциальность пользователей. HTTP-трафик может быть легко отслежен и даже изменен злоумышленниками. В этой статье объясняется, как злоумышленник может подменить видео, опубликованные другими пользователями.

Введение

Все современные приложения должны защищать конфиденциальность своих пользователей и достоверность информации, которую они им предоставляют. Приложения, которые используют незашифрованный HTTP для передачи данных, не могут гарантировать, что данные, которые они получают, не отслеживались и не изменялись. Вот почему Apple добавила App Transport Security в iOS 9. Apple обязала разработчиков использовать зашифрованный HTTPS вместо HTTP. Google также изменил конфигурацию сетевой безопасности по умолчанию в Android Pie, чтобы блокировать весь незашифрованный HTTP-трафик.

Apple и Google по-прежнему предоставляют разработчикам возможность отказаться от HTTPS для обратной совместимости. Однако, это должно быть скорее исключением, чем правилом, и большинство приложений перешли на HTTPS. На момент написания этой статьи TikTok для iOS (версия 15.5.6) и TikTok для Android (версия 15.7.4) по-прежнему использовали HTTP для общения с CDN.

После анализа сетевого трафика из приложения TikTok с помощью Wireshark трудно пропустить большие объемы данных, передаваемых по HTTP. Если вы присмотритесь к пакетам, то вы четко увидите, что видео и изображениz передаются в незашифрованном виде.

Следовательно, TikTok подвержен всем известным и хорошо документированным уязвимостям HTTP. Любой маршрутизатор между приложением и CDN может легко регистрировать все видео, которые пользователь скачал и посмотрел, запоминая историю просмотра. Владельцы общественного Wi-Fi, интернет-провайдеры и спецслужбы могут также собирать эти данные без особых усилий.

TikTok передает следующий контент через HTTP:

  • Все видео
  • Фотография профиля
  • Превью видео

Полученные данные показывают, что видео загружаются со следующих доменных имен:

  • http://v19.muscdn.com
  • http://v21.muscdn.com
  • http://v34.muscdn.com

Кроме того, фотография профиля и превью загружаются с http://p16.muscdn.com

Рисунок 1: HTTP трафик в TikTok

Все типы контента, перечисленные выше, подвержены отслеживанию. Например, история просмотров может быть создана путем захвата сетевого трафика, загруженного с http://v34.muscdn.com.

Кроме того, атака man-in-the-middle может изменить загруженный контент. Например, подмена фотографий профиля аккаунтов. Однако это не так критично, как подмена видео. Ведь, с помощью видео злоумышленник может вставить большое количество фейковой информации на аккаунты, принадлежащие знаменитостям или доверенным лицам.

Распространение вводящих в заблуждение и фальшивых видео на популярной платформе, такой как TikTok, представляет огромный риск. Это побудило нас устроить атаку MITM, чтобы подменить видео и продемонстрировать результаты. В следующем разделе мы углубимся в технические детали нашей работы.

Методология

Мы подготовили несколько фейковых видео и разместили их на сервере, который имитирует поведение серверов TikTok CDN, а именно v34.muscdn.com. Для простоты мы создали сценарий, который меняет только видео. Мы не трогали фотографии профилей, хотя они могут быть изменены аналогичным образом. Мы имитировали поведение только одного сервера. Это показывает хорошее сочетание поддельных и реальных видео и дает пользователям чувство доверия.

Чтобы приложение TikTok показывало наши видеоролики, нам нужно направить приложение на наш поддельный сервер. Поскольку наш сервер имитирует работу оригинального сервера, приложение не может сказать, что оно взаимодействует с поддельным сервером. Таким образом, он будет слепо потреблять любой контент.

Уловка довольна проста — подмена DNS-записи CDN сервера. Это может быть достигнуто субъектами, которые имеют прямой доступ к маршрутизаторам, к которым подключены пользователи. Сначала необходимо добавить запись для домена v34.muscdn.com на DNS-сервер. Во-вторых, зараженные маршрутизаторы должны быть настроены на использование этого поврежденного DNS-сервера. В итоге, когда приложение TikTok попытается найти IP-адрес для v34.muscdn.com, поврежденный DNS-сервер отдаст IP-адрес поддельного сервера. Теперь, приложение будет делать запросы на наш поддельный CDN сервер, который выдает себя за v34.muscdn.com от TikTok.

Эти действия могут быть выполнены любым из следующих участников:

  • Владельцы общественных сетей Wi-Fi могут настроить маршрутизатор на использование поврежденного DNS-сервера.
  • Провайдер VPN может указать поддельный DNS-сервер для своих пользователей.
  • Интернет-провайдеры имеют полный доступ к интернет-соединениям своих клиентов. Они могут без труда настроить использование поврежденного DNS-сервера для своих клиентов.
  • В некоторых странах правительства и спецслужбы могут контролировать интернет-провайдеров.

Если вы не доверяете ни одному из этих субъектов, тогда контент в TikTok может быть подделан. Это также относится к любому интернет-сервису, который использует HTTP.

На рисунке 2 показан трафик между приложением и поддельным сервером CDN. Выделенная строка показывает запрос, отправленный приложением на IP-адрес 192.168.13.2, который является адресом нашего сервера. Наш сервер возвращает поддельное видео в приложение, которое, в свою очередь, воспроизводит его пользователю, как показано в демонстрационном ролике. Обратите внимание, что на поддельный сервер направляются только запросы на видео. Запросы на фотографии профиля и превью адресованы на реальные серверы, то есть мы оставили их без изменений в соответствии с нашим сценарием. Обратите внимание на рисунок 1, на нем показан аналогичный видео-запрос, отправленный на реальный сервер TikTok с IP-адресом 92.122.188.162.

Рисунок 2: Трафик TikTok, проанализированный Wireshark

Созданные нами видеоролики содержат вводящую в заблуждение информацию о COVID-19. Это иллюстрирует потенциальный источник дезинформации о современной и важной теме.

Как показано в демонстрационном видео и рисунках ниже, поддельные видео появились в популярных и проверенных учетных записях, таких как @who, @britishredcross, @americanredcross, @tiktok, @lorengray и @dalia. (@lorengray имеет более 42 миллионов подписчиков и 2,3 миллиарда лайков)

Напомним, что только пользователи, подключенные к моему домашнему маршрутизатору, могут видеть этот вредоносный контент. Однако, если популярный DNS-сервер был взломан с целью изменения DNS записей, как мы показали ранее, фальшивые новости или оскорбительные видео будут просматриваться в большом масштабе, что является вполне реальным сценарием.

Заключение

К сожалению, использование HTTP для передачи конфиденциальных данных еще не исчезло. Как было показано, HTTP открывает двери для манипулирования данными. Мы успешно перехватили трафик TikTok и обманули приложение, чтобы показывать наши собственные видео, как если бы они были опубликованы популярными и проверенными аккаунтами. Это делает TikTok идеальным инструмент для тех, кто неустанно пытается загрязнить интернет ложной информацией.

TikTok, гигант социальных сетей с 800 миллионами активных пользователей в месяц, должен придерживаться стандартов защиты данных.

Оставьте комментарий