Microsoft обнаружила в TikTok для Android критическую уязвимость, которая позволяет красть аккаунты

Microsoft обнаружила в TikTok для Android критическую уязвимость, которая позволяет красть аккаунты

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 предлагает следующие методы безопасного кодирования:

  • использовать браузер по умолчанию, чтобы открывать URL-адреса, не принадлежащие к одобренному списку приложения;

  • поддерживать список включённых доменов;

  • избегать использования методов частичного сравнения строк для сравнения и проверки URL-адреса с утверждённым списком доверенных доменов;

  • не добавлять домены сцены или внутренней сети в одобренный список, так как злоумышленник может подделать их для захвата WebView.

Пользователям рекомендуется:

  • не переходить по ссылкам из ненадёжных источников;

  • всегда обновлять устройство и установленные приложения;

  • никогда не устанавливать приложения из ненадёжных источников;

  • немедленно сообщать поставщику о любом странном поведении приложения, например об изменении настроек без вмешательства пользователя.

В июне издание BuzzFeed опубликовало расследование, в котором утверждается, что сотрудники TikTok в Китае имели доступ к личным данным американских пользователей. Соцсеть заявила, что её работники могут получить доступ к определённой информации, но для этого они должны пройти ряд внутренних протоколов безопасности.

Комиссар Федеральной комиссии по связи США Брендан Карр обратился к главам Apple Тиму Куку и Alphabet Сундару Пичаи с требованием удалить TikTok из магазинов приложений их компаний. По словам Карра, китайское приложение не отвечает правилам App Store и Google Play, поскольку собирает много конфиденциальных данных.

В августе американская Oracle начала проверять алгоритмы TikTok и модели модерации контента, чтобы убедиться, что китайские власти не манипулируют ими.