Microsoft обнаружила в приложении TikTok для Android серьёзную уязвимость, которая позволяла злоумышленникам взломать учётные записи пользователей одним щелчком мыши. Уязвимость уже была устранена, и никаких доказательств её эксплуатации не выявили.
Для кражи аккаунта было достаточно перехода пользователя по вредоносной ссылке. Затем злоумышленники могли получить доступ к профилю, изменить данные в нём и выгрузить конфиденциальную информацию.
Кража аккаунтов была возможной благодаря тому, что хакеры могли заставить приложение загрузить произвольный URL-адрес в WebView, и это давало доступ к подключённым мостам JavaScript WebView.
Исследователь Microsoft по безопасности уведомил TikTok о проблемах в феврале 2022 года. Компания быстро отреагировала, выпустив исправление для устранения обнаруженной уязвимости, идентифицированной как CVE-2022-28799 с оценкой 8,3.
Эксплуатация уязвимости зависит от реализации в приложении интерфейсов JavaScript, которые предоставляются компонентом операционной системы Android под названием WebView. WebView позволяет приложениям загружать и отображать веб-страницы, а с помощью вызова API addJavascriptInterface также предоставляет функции моста, которые позволяют коду JavaScript на веб-странице вызывать определённые методы Java определённого класса в приложении. Загрузка ненадёжного веб-контента в WebView с объектами уровня приложения, доступными через код JavaScript, делает приложение уязвимым для внедрения интерфейса JavaScript, что может привести к утечке данных, их повреждению или выполнению произвольного кода.
Приведённый ниже код демонстрирует, как используется интерфейс JavaScript. Экземпляр класса JsObject внедряется в WebView (строка 8), и на него ссылается переменная injectObject в коде JavaScript, который загружается с помощью метода API loadUrl (строка 10):
Сама уязвимость связана с обработкой приложением конкретной прямой ссылки. В контексте операционной системы Android диплинк — это специальная гиперссылка, которая ссылается на определённый компонент в мобильном приложении и состоит из схемы и (обычно) хост-части. При нажатии на диплинк менеджер пакетов Android опрашивает все установленные приложения, чтобы узнать, какое из них может обработать её, а затем направляет диплинк компоненту.
В Microsoft рекомендуют сообществу разработчиков принимать дополнительные меры предосторожности для защиты WebView. В тех случаях, когда невозможно избежать использования интерфейсов JavaScript, предлагается использовать утверждённый список доверенных доменов для загрузки в WebView приложения, чтобы предотвратить загрузку вредоносного или ненадежного веб-контента.
Кроме того, Microsoft предлагает следующие методы безопасного кодирования:
Пользователям рекомендуется:
В июне издание BuzzFeed опубликовало расследование, в котором утверждается, что сотрудники TikTok в Китае имели доступ к личным данным американских пользователей. Соцсеть заявила, что её работники могут получить доступ к определённой информации, но для этого они должны пройти ряд внутренних протоколов безопасности.
Комиссар Федеральной комиссии по связи США Брендан Карр обратился к главам Apple Тиму Куку и Alphabet Сундару Пичаи с требованием удалить TikTok из магазинов приложений их компаний. По словам Карра, китайское приложение не отвечает правилам App Store и Google Play, поскольку собирает много конфиденциальных данных.
В августе американская Oracle начала проверять алгоритмы TikTok и модели модерации контента, чтобы убедиться, что китайские власти не манипулируют ими.