- PVSM.RU - https://www.pvsm.ru -
Привет!
Ну вот вы ставите Яндекс Go, жмёте «Разрешить» на всё подряд — микрофон, контакты, местоположение. Такси же, надо. А потом выясняется, что приложение лезет в буфер обмена. 16 раз в разных местах кода. Зачем такси буфер обмена — я так и не понял.
Короче, я взял семь популярных Android-приложений и разобрал их по косточкам. SAST, реверс-инжиниринг, декомпиляция DEX, разбор манифестов, ковыряние в нативных библиотеках. Под раздачу попали: Яндекс Go, Карты, Музыка, Пэй, Телемост, Mir Pay и мессенджер МАКС (бывший ICQ New / VK Messenger).
Спойлер: один мессенджер умеет распознавать ключевые слова прямо в аудиопотоке звонков. Не метаданные, не «кто кому звонил» — а именно слова.
Каждый APK декомпилировался, дальше — статический анализ DEX-кода, ресурсов, манифеста. Что искал: захардкоженные ключи, незащищённые компоненты (экспортированные Activity, BroadcastReceiver, ContentProvider), слабую криптографию, cleartext-трафик. Отдельно — слежка: трекеры, VPN-детекция, fingerprinting, скрытый сбор данных (буфер обмена, контакты, журнал звонков, AudioRecord). За основу взял OWASP MASTG.
Полные листинги CWE и CVSS-скоринг — в PDF-отчётах, ссылки внизу. Тут — выжимка.
93 уязвимости на семёрку. 5 критических, 31 высокая, 42 средних. Но уязвимости — это полбеды. Гораздо интереснее, что приложения делают с вашими данными в штатном режиме, без всяких эксплойтов.
Четыре приложения получили 100/100 по риску слежки. Ещё одно — 95. Относительно тихий только Mir Pay (34/100).
ru.yandex.taxi [1] | 111.8 МБ | Target SDK 35
Про буфер обмена я уже сказал. 16 обращений в коде. Контакты — 13. Журнал звонков — 2. SMS — тоже дёргает. Для такси-приложения набор, мягко говоря, избыточный.
Трекеров шесть: AppMetrica (5759 ссылок в коде — нет, это не опечатка), Adjust, Firebase Analytics + Crashlytics, Amplitude, Yandex Streaming Telemetry, RuStore Stats.
VPN-детекция — шесть механизмов. Самый мерзкий — утечка через WebRTC ICE Candidate (879 ссылок в коде). Даже с включённым VPN приложение может вытащить ваш настоящий IP. Кроме того: проверка интерфейсов tun0/ppp0, перечисление NetworkInterface, прямая проверка VPN-состояния (152 ссылки).
Fingerprinting: getDeviceId (42 вызова), AdvertisingIdClient (16), OAID (8), IMEI (3), BSSID (3), оператор сети и SIM. Идентифицируют по всему, до чего могут дотянуться.
18 уязвимостей, 7 высоких. Cleartext HTTP, JavaScript Bridge через addJavascriptInterface, захардкоженные API-ключи в DEX, экспортированная EsiaBindActivity (привязка к Госуслугам — и она экспортирована, CWE-862).
Риск слежки: 100/100.
ru.yandex [2].yandexmaps | 335.2 МБ | Target SDK 35
335 мегабайт навигатор. Ладно, там карты оффлайн, 3D-здания, панорамы. Но посмотрим, что ещё в комплекте.
25 экспортированных Activity — рекорд среди всех семи приложений. Каждая доступна другим приложениям на устройстве (CWE-926). Сверху — 30 экспортированных BroadcastReceiver.
Трекеров семь. YandexAds SDK — 5709 ссылок. AppsFlyer — 600. Это не «аналитика для улучшения продукта», это рекламная атрибуция в полный рост.
Фоновая геолокация: ACCESS_BACKGROUND_LOCATION + ACTIVITY_RECOGNITION + 173 ссылки на geofence. Карты знают, где вы находитесь, даже когда свёрнуты.
12 cleartext HTTP URL, включённый setAllowFileAccessFromFileURLs, 213 строк с потенциальными секретами.
Риск слежки: 100/100.
ru.yandex.music [3] | 59.6 МБ | Target SDK 35
В манифесте стоит usesCleartextTraffic=true. Приложение разрешает отправку данных по голому HTTP. На дворе 2026 год. CVSS 8.1 — единственная «критичка» среди яндексовских приложений.
При этом OpenTelemetry endpoint тоже работает по HTTP. Телеметрию о вас гоняют открытым текстом.
5 трекеров. VPN-детекция — пять механизмов, один из них читает /proc/net/tcp напрямую. 9 обращений к AudioRecord, 14 — к буферу обмена.
Риск слежки: 95/100.
com.yandex.bank [4] | 60.3 МБ | Target SDK 36
Финансовое приложение. Работает с деньгами. Network Security Config — отсутствует. Для банковского ПО это CVSS 8.5.
Но вот что по-настоящему удивило: разрешение READ_CALL_LOG. Платёжное приложение хочет знать, кому вы звонили. Рядом — QUERY_ALL_PACKAGES: сканирует все установленные приложения на устройстве. Вместе это складывается в неплохой инструмент для профилирования.
925 ссылок на слабую криптографию (DES, ECB, SHA1) — в приложении, через которое проходят платежи. 322 захардкоженных IP-адреса — рекорд среди всех семи.
4 трекера, AppMetrica доминирует (3569 ссылок).
Риск слежки: 87/100.
ru.yandex [2].telemost | 229.3 МБ | Target SDK 35
Видеозвонки — тут WebRTC нужен по делу. Но 358 ссылок на ICE Candidate leak и 119 на IceCandidate — это за гранью «просто звонков».
Сценарий: вы под VPN, заходите в звонок. WebRTC устанавливает peer-to-peer соединение и опрашивает все сетевые интерфейсы устройства. VPN-туннель «протекает», ваш настоящий IP утекает.
Ещё — разрешение WRITE_CONTACTS. Телемост может записывать в адресную книгу, а не только читать.
В коде класс DeviceFingerprint и захардкоженные адреса Яндекс DNS (77.88.8.8 / 77.88.8.1) — приложение может обходить ваши DNS-настройки.
Риск слежки: 100/100.
ru.oneme.app [5] | 127 МБ | Target SDK 35
Про остальные приложения можно спорить — мол, трекеры везде, ну и что. Но МАКС — это другой уровень.
В коде лежит класс KeywordSpotterManager. Система распознавания ключевых слов в аудиопотоке звонков. Не «кто кому звонил», не «сколько длился вызов». Анализ того, что вы говорите. CVSS 9.0, CWE-359.
Я перепроверил. Класс на месте, ссылки в коде есть, связка с аудиоподсистемой прослеживается. Это три критические уязвимости из трёх — все связаны с аудио.
В APK лежит нативная библиотека libtracernative.so [6]. Нативный код на C/C++ работает ниже Java-слоя, его сложнее анализировать и сложнее контролировать средствами ОС. CVSS 8.5.
6 трекеров: MyTracker (VK/Mail.ru [7]), OneLog, Adjust, AppTracer + DPS/TraceFlow, CallAnalyticsSender, Amplitude.
CallAnalyticsSender отправляет телеметрию звонков через api.ok.ru [8]. Да, сервер Одноклассников получает данные о ваших звонках в МАКСе.
VPN-детекция — 7 механизмов, 625 ссылок на WebRTC leak. Больше, чем у кого-либо ещё.
15 уязвимостей, 3 критические, 7 высоких. Лидер по критическим.
Риск слежки: 100/100.
ru.nspk.mirpay | 68.5 МБ | Target SDK 35
На фоне остальных — чуть ли не образец. Один трекер (AppMetrica, 2350 ссылок). VPN не детектит. Fingerprinting минимальный.
Но с безопасностью не всё гладко. Network Security Config отсутствует — для платёжного приложения НСПК это странно. Шифрование — RSA/ECB/PKCS1Padding, подверженное Padding Oracle. Внутри 5 whitebox-реализаций криптографии с тяжёлой обфускацией — видимо, защищают токены. Подход нормальный, но ECB-режим его подрывает.
И вишенка: AdMob SDK в платёжном приложении НСПК. Зачем платёжке рекламный фреймворк — отдельный вопрос.
Риск слежки: 34/100.
|
# |
Приложение |
Трекеры |
VPN-детекция |
Скрытый сбор |
Риск |
|---|---|---|---|---|---|
|
1 |
Яндекс Go |
6 |
Высокий |
clipboard, contacts, call_log |
100/100 |
|
2 |
Яндекс Карты |
7 |
Средний |
clipboard, contacts, audio |
100/100 |
|
3 |
Телемост |
5 |
Высокий |
clipboard, contacts, audio |
100/100 |
|
4 |
МАКС |
6 |
Высокий |
clipboard, contacts, audio, KWS |
100/100 |
|
5 |
Музыка |
5 |
Средний |
clipboard, contacts, audio |
95/100 |
|
6 |
Пэй |
4 |
Низкий |
clipboard, contacts, call_log |
87/100 |
|
7 |
Mir Pay |
1 |
Нет |
running_processes |
34/100 |
Отказаться от Яндекс Go или Карт мало кто готов, да и не надо. Но ущерб можно снизить.
DNS-фильтрация. AdGuard или NextDNS. Блокируют домены трекеров на уровне DNS — дёшево, быстро, настраивается за пять минут. Трекеров в этих приложениях суммарно за двадцать.
Рабочий профиль. Shelter или Island на Android 14/15 создают изолированный профиль. Приложение внутри него не видит ваших контактов, буфер обмена и файлы из личного профиля.
Разрешения. Отзывайте микрофон, контакты и геолокацию, когда приложение не нужно. Фоновый доступ к местоположению используют 5 из 7 приложений — его стоит убрать первым.
WebRTC. Если через VPN — отключайте WebRTC. В браузере это делается расширением, в приложениях сложнее, но VPN с TURN relay уменьшает утечку.
МАКС и KWS. Тут каждый решает сам. Функционал распознавания ключевых слов в аудио — серьёзный аргумент в пользу альтернативных клиентов или модов.
Полные PDF с таблицами уязвимостей, CWE-кодами, CVSS-скорингом и разбором механизмов слежки:
Пользовательский отчёт [9]— сводка, основные выводы
Технический аудит [10]— SAST-данные, детальные таблицы, скоринг
Методология: OWASP MASTG + SAST + Reverse Engineering.
Автор: JohNick [11]
Автор: johnick1234
Источник [12]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/vpn/450562
Ссылки в тексте:
[1] ru.yandex.taxi: http://ru.yandex.taxi
[2] ru.yandex: http://ru.yandex
[3] ru.yandex.music: http://ru.yandex.music
[4] com.yandex.bank: http://com.yandex.bank
[5] ru.oneme.app: http://ru.oneme.app
[6] libtracernative.so: http://libtracernative.so
[7] Mail.ru: http://Mail.ru
[8] api.ok.ru: http://api.ok.ru
[9] Пользовательский отчёт : https://jottacloud.com/s/4544beb89600e7544679713c4f13f510830
[10] Технический аудит : https://jottacloud.com/s/4542506a327be254cca90194f2482be269c
[11] JohNick: https://4pda.to/forum/index.php?showuser=7213498
[12] Источник: https://habr.com/ru/articles/1029004/?utm_source=habrahabr&utm_medium=rss&utm_campaign=1029004
Нажмите здесь для печати.