- PVSM.RU - https://www.pvsm.ru -

Как перехватывают зашифрованный HTTS-трафик на мобильном устройстве

Как перехватывают зашифрованный HTTS-трафик на мобильном устройстве - 1

Реверс-инжиниринг VPN-сервиса Onavo Protect [1] под Android позволил определить методы, которые можно использовать для перехвата зашифрованного HTTPS-трафика на мобильном устройстве. Если вкратце, злоумышленник должен поставить на телефон собственное приложение и сертификат УЦ (удостоверяющего центра).

Например, в РФ вступил в действие закон [2], который требует с 2025 года обязательной предустановки на все смартфоны конкретных приложений. Теоретически, при наличии уязвимостей это может угрожать безопасности многих пользователей.

Пример перехвата зашифрованного трафика показывает технический анализ [1] работы мобильного приложения Facebook на устройствах с установленным приложением Onavo Protect (защитная программа, которая работает по принципу VPN).

Предыстория

Из судебных документов [3] следует, что проект слежки внутри компании назывался Project Ghostbusters. Он был частью программы In-App Action Panel (IAPP), в рамках которой использовалась методика «перехвата и расшифровки» зашифрованного трафика приложений от пользователей Snapchat, а затем и от пользователей YouTube и Amazon. Изначально это проводилось с целью сбора аналитики, то есть слежки за действиями пользователей.

Для этого разработчики использовали программу Onavo Protect, которую Facebook купил в 2013 году. В 2019 году сервис был закрыт [4] после расследования о его неправомерном использовании [5], а разработчики оштрафованы [6].

Технический анализ

В данном случае имел место перехват HTTPS-трафика посредством MITM-атаки. Сами разработчики называли эту технику 'ssl bump', по одноимённой функции [7] из кэширующего прокси Squid [8]. Алгоритм атаки схематично изображён на КДПВ.

Перехват производился с помощью мобильного приложения Onavo Protect [9], которое предлагало пользователю установить сертификат УЦ в доверенное хранилище на устройстве. Кроме того, функция требовала нескольких разрешений на телефоне, которое приложение просило якобы «для отображения статистики трафика»:

Как перехватывают зашифрованный HTTS-трафик на мобильном устройстве - 2

Хотя в судебных документах говорится, что сертификаты «генерируются на сервере и отправляются на устройство», но некоторые старые версии программы содержат сертификаты непосредственно в составе приложения как встроенные активы old_ca.cer и new_ca.cer:

Как перехватывают зашифрованный HTTS-трафик на мобильном устройстве - 3

Сертификаты лежат в папке assets:

Как перехватывают зашифрованный HTTS-трафик на мобильном устройстве - 4

Один из сертификатов действителен до 2027 года. В коде приложения был найден метод KeyChain.createInstallIntent(), который производил установку сертификата:

Как перехватывают зашифрованный HTTS-трафик на мобильном устройстве - 5

Есть также процедура с проверкой, установлен сертификат или нет:

Как перехватывают зашифрованный HTTS-трафик на мобильном устройстве - 6

Этот метод использовался только в ранних версиях программы, с версии Android 7 пользователь должен был устанавливать сертификаты вручную.

Затем весь трафик устройства шёл через VPN в инфраструктуру, контролируемую злоумышленником. Трафик перенаправляется на кэширующий прокси-сервер Squid, настроенный как прозрачный прокси с функцией ssl bump.

Копия электронного письма с описанием техники из судебных документов:

Как перехватывают зашифрованный HTTS-трафик на мобильном устройстве - 7

Помимо основной функции сбора аналитики из других приложений путём злоупотребления разрешением от пользователя, в Onavo есть функции для получения других конфиденциальных данных, таких как IMSI [10] абонента:

Как перехватывают зашифрованный HTTS-трафик на мобильном устройстве - 8

Хотя история случилась несколько лет назад, с технической точки зрения интересно посмотреть, как далеко могут зайти разработчики приложений, злоупотребляя разрешениями на мобильных телефонах (сейчас против компании-разработчика подан судебный иск [3]). Интерес представляет также запуск процедуры установки УЦ и как добавлялись сертификаты в операционную систему.

Вскоре после описанной истории в 2020 году вышла новая версия Android 11, в которой практически невозможно установить свой сертификат УЦ, действующий для всех приложений, так что на новых смартфонах разработчики предлагают [11] использовать другие техники, например, Accessibility API [12].

Автор: GlobalSign_admin

Источник [13]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/vpn/398625

Ссылки в тексте:

[1] Реверс-инжиниринг VPN-сервиса Onavo Protect: https://doubleagent.net/onavo-facebook-ssl-mitm-technical-analysis/

[2] вступил в действие закон: https://habr.com/ru/news/831666/

[3] судебных документов: https://www.documentcloud.org/documents/24520332-merged-fb

[4] был закрыт: https://techcrunch.com/2019/02/21/facebook-removes-onavo/

[5] расследования о его неправомерном использовании: https://techcrunch.com/2019/01/29/facebook-project-atlas/

[6] оштрафованы: https://www.accc.gov.au/media-release/20m-penalty-for-meta-companies-for-conduct-liable-to-mislead-consumers-about-use-of-their-data

[7] одноимённой функции: https://www.squid-cache.org/Doc/config/ssl_bump/

[8] Squid: https://www.squid-cache.org/

[9] Onavo Protect: https://apkpure.com/onavo-protect-from-facebook/com.onavo.spaceship

[10] IMSI: https://en.wikipedia.org/wiki/International_mobile_subscriber_identity

[11] предлагают: https://doubleagent.net/content/images/2024/04/image-14.png

[12] Accessibility API: https://support.google.com/googleplay/android-developer/answer/10964491?hl=en

[13] Источник: https://habr.com/ru/companies/globalsign/articles/848632/?utm_campaign=848632&utm_source=habrahabr&utm_medium=rss