6033

Мессенджер MAX безопасен, но... смотря для каких задач!6

Дисклеймер: если вы являетесь активным сторонником мессенджера МАКС, рекомендую воздержаться от дальнейшего просмотра/чтения во избежание возможного дискомфорта, когнитивного напряжения или иных негативных эмоциональных реакций. Автор не несёт ответственности за возможные последствия восприятия материала.


Дисклеймер 2: в целях безопасности и по этическим причинам я не публикую конкретные уязвимости, способы эксплуатации и технические детали, которые могут быть использованы во вред. Ниже будут описаны только общие проблемы и наблюдения, достаточные для понимания рисков рядовым пользователем «Макса» и, теоретически, для внимания со стороны разработчиков (ага, конечно) — владельцев мессенджера, "бывшего TamTam".


Я часто слышу, что MAX небезопасен. Но что это значит для обычного человека? Ничего сверхъестественного в статье не будет. Всё в открытом доступе.

Взял эмулятор Android и стандартный набор инструментов для аудита мобильных приложений:

- jadx (декомпилятор) -- https://github.com/skylot/jadx

- apktool (разборка APK) -- https://github.com/iBotPeaches/Apktool

- mitmproxy (перехват трафика) -- https://mitmproxy.org/

- Frida (динамический анализ) -- https://frida.re/

Провёл вечер с мессенджером.


1. MAX -- это TamTam. Буквально.

Первое, что бросается в глаза при декомпиляции: в коде повсюду пакеты ru.ok.tamtam. База данных называется OneMeRoomDatabase, артефакт сборки -- tamtam-app_release. В пользовательских настройках хранится okToken -- токен Одноклассников.

MAX -- это не «новый безопасный мессенджер». Это ребрендинг TamTam, мессенджера из экосистемы Одноклассников/Mail.ru.

Вся инфраструктура -- серверы .oneme.ru, CDN mycdn.me и okcdn.ru, аналитика vk-analytics.ru -- принадлежит VK Group. Это не хорошо и не плохо само по себе, но важно понимать, с кем вы делитесь данными.

В прочем, это тоже не новости.


2. Сквозного шифрования нет. Вообще.

Главное: MAX не реализует сквозное шифрование (E2E). Это не баг -- это архитектура.

В декомпилированном коде нет ни Signal Protocol, ни Double Ratchet, ни какого-либо другого E2E-протокола. Нет генерации клиентских ключей, нет обмена ключами между собеседниками. Ничего.

Есть транспортное шифрование -- TLS с поддержкой ГОСТ через CryptoPro. Данные защищены в пути от вашего телефона до сервера. Но на самом сервере все сообщения лежат в открытом виде.

Для понимания: так же работает обычный Telegram вне секретных чатов. Разница в том, что Telegram хотя бы предлагает «секретные чаты» с E2E. MAX -- нет.

Почему это важно: VK Group технически может читать любое сообщение любого пользователя. А по закону Яровой (ФЗ-374) обязана хранить содержимое сообщений 6 месяцев и предоставлять по запросу.

Закон Яровой -- https://ru.wikipedia.org/wiki/Закон_Яровой


3. Сообщения на телефоне -- в открытом виде

А вот это уже проблема не государственного масштаба, а личного.

Все ваши сообщения хранятся на устройстве в обычной SQLite-базе cache.db, таблица messages, колонка text -- без какого-либо шифрования. Plaintext. Как есть. Удобно.

Для сравнения: Signal использует SQLCipher (https://www.zetetic.net/sqlcipher/) для шифрования локальной базы. Даже если кто-то получит доступ к файлам приложения -- без ключа шифрования данные бесполезны. В MAX такой защиты нет.

Там же, в SharedPreferences (auth.prefs), лежит токен авторизации -- тоже plaintext. Кто получит этот файл -- получит полный доступ к аккаунту: чтение переписки, отправка сообщений от вашего имени, доступ к контактам.

Кому это угрожает: не «хакерам из кино», а вполне бытовым сценариям:

- Ревнивый партнёр с доступом к разблокированному телефону.

- Вредоносное приложение, получившее root-привилегии через уязвимости ядра Android (такие публикуются каждый месяц -- https://source.android.com/docs/security/bulletin).

- «Ремонтник» телефона, который видит всё содержимое.

- Утерянный или украденный телефон с включённой USB-отладкой.


4. Что MAX знает о вас и отправляет «домой»

При запуске приложение подключается к 32 различным серверам за 2 минуты. Для мессенджера это, мягко говоря, много -- Signal обходится двумя-тремя.

Вот что происходит:

Определение вашего IP через 4 сервиса одновременно: ip.mail.ru, ifconfig.me, checkip.amazonaws.com, ipv4-internet.yandex.net. Зачем мессенджеру знать ваш IP через четыре разных провайдера? Даже один -- уже избыточно. Или это неуверенность? Или мультичек на VPN?

MyTracker (VK Analytics) -- полноценная система аналитики, отправляющая данные на tracker-api.vk-analytics.ru. Из декомпилированного кода класса MyTrackerParams видно, что SDK умеет собирать: номера телефонов, email-адреса, VK/OK/ICQ ID, пол, возраст, произвольные параметры. Это публичная документация MyTracker, не секрет -- https://tracker.my.com/docs/sdk/android/methods/configuratio...

Ежедневная синхронизация контактной книги. Класс DailyAnalyticsWorker запускается каждые 24 часа через WorkManager. Ваши контакты (имена + номера телефонов) регулярно отправляются на серверы VK Group. Даже контакты людей, которые не пользуются MAX и не давали на это согласия.

Crash-репорты отправляются на sdk-api.apptracer.ru с детальной информацией об устройстве и стек-трейсами, которые могут содержать фрагменты пользовательских данных.


5. Чем это опасно на практике (не для параноиков)

Забудьте про ФСБ и «большого брата» -- это, возможно, не ваша модель угроз. Вот реальные сценарии.

Мошенники и социальная инженерия. Утечки баз данных из крупных компаний -- регулярная реальность (https://haveibeenpwned.com/). Если база MAX утекает (а серверы видят всё), мошенники получают не просто номера телефонов, а содержимое переписок. Кажется... мы уже проходили через подобные сливы.

«Привет, ты вчера писал Маше про перевод 50 тысяч -- вот реквизиты, перешли сюда» -- такая атака работает в разы лучше обычного спама.

Вредоносные приложения. Android-малварь, получающая root через публичные эксплойты (CVE-2024-53104 -- свежий пример из ядра Linux/Android, https://nvd.nist.gov/vuln/detail/CVE-2024-53104), мгновенно получает доступ ко всей переписке MAX. В Signal ей пришлось бы ещё ломать SQLCipher. В MAX -- просто SELECT FROM messages.

Захват аккаунта. Один файл auth.prefs = полный контроль. Не нужен пароль, не нужна СМС-верификация. Токен не привязан к устройству -- работает откуда угодно.

Об этом классе уязвимостей подробно написано в OWASP Mobile Security Testing Guide, раздел «Testing Local Storage for Sensitive Data» -- https://mas.owasp.org/MASTG/tests/android/MASVS-STORAGE/MAST...

Перехват в публичных Wi-Fi. В конфигурации приложения (network_security_config.xml) явно разрешён HTTP-трафик (без шифрования) к доменам .voskhod.ru и .gov.ru.

Это значит, что в кафе или аэропорту часть трафика MAX может идти открытым текстом. Проблема Cleartext Traffic документирована Google -- https://developer.android.com/privacy-and-security/security-...


6. Что известно публично и без моего скромного исследования?

Это не «открытие Америки». Всё перечисленное -- известные классы проблем.

- Отсутствие E2E. MAX открыто не заявляет о сквозном шифровании (https://help.max.ru). Они и не обязаны. Но пользователи часто путают «защищённое соединение» (TLS) с «защищённой перепиской» (E2E) -- это принципиально разные вещи.

- Plaintext-хранилище. Описано в OWASP MSTG как M9 -- Insecure Data Storage (https://mas.owasp.org/MASTG/). Одна из самых распространённых уязвимостей мобильных приложений.

- Избыточная телеметрия. MyTracker SDK (https://tracker.my.com/docs/) -- публичный продукт VK Group. Его возможности задокументированы: сбор телефонов, email, VK/OK ID. Вопрос не в том, что SDK может это делать, а в том, что конкретно передаёт MAX.

- Синхронизация контактов. Стандартная практика мессенджеров, но обычно с хешированием номеров, как в Signal (https://signal.org/blog/private-contact-discovery/). Проверить, хеширует ли MAX номера перед отправкой, не удалось из-за certificate pinning -- но в коде классы хеширования при синхронизации не обнаружены.


7. Что ещё я нашёл, но не расскажу в деталях

В ходе аудита обнаружены дополнительные особенности, которые могут расширить поверхность атаки. Мы намеренно не описываем конкретные механизмы эксплуатации, но обозначим направления:

- Существуют способы получить полный доступ к аккаунту, имея лишь кратковременный физический доступ к разблокированному устройству. Время -- менее минуты. Серьёзно.

- Отсутствие определённых защитных механизмов позволяет вредоносному ПО с повышенными привилегиями скрытно извлекать данные без ведома пользователя.

- Некоторые данные авторизации открывают доступ не только к MAX, но и к другим сервисам экосистемы VK Group.

- Геолокация пользователя может управляться удалённо через серверную конфигурацию аналитического SDK -- без уведомления.

Если вы разработчик MAX и читаете это -- вы знаете, о чём речь. Я 100% уверен. Иначе, извините, вы слепые и... ладно, я буду мягок.

Базовые рекомендации: SQLCipher для локальной БД, Android Keystore для токенов, опциональный E2E хотя бы для «секретных чатов».


8. Так что, не пользоваться MAX?

Нет. Пользуйтесь. Для бытового общения -- «привет, как дела, во сколько встречаемся» -- MAX работает нормально. Стикеры красивые, звонки работают, интерфейс удобный. Госуслуги только, крайне нерекомедую, привязывать.

Но не питайте иллюзий о безопасности. MAX -- это далеко не копия Telegram с секретными чатами. Это мессенджер, в котором оператор (VK Group) видит всё, данные на устройстве лежат открыто, а аналитика собирает больше, чем вы думаете.

Простые правила:

- Не давайте MAX доступ к контактам и геолокации, если не хотите делиться ими с VK.

- Не публикуйте invite-ссылки MAX -- в них зашит ваш трекинг-токен.

- Выключите USB-отладку на телефоне. Ну, если у вас ROOT включён -- земля пухом.

- Периодически проверяйте список активных сессий в настройках аккаунта.


Исследование проведено в образовательных целях с использованием стандартных инструментов аудита безопасности (jadx, apktool, mitmproxy, Frida, Wireshark). Все данные получены из публично доступного APK-файла и открытых логов на тестовом устройстве. Ни один сервер не был атакован/вскрыт/сканирован.

89
Автор поста оценил этот комментарий

Собственно, в последнее время, эта информация кусками и выплывала, то тут, то на хабре. Смотри, только, ТС, чтобы тебе потом за риверс инжиниринг не прилетело от разрабов через суд.

раскрыть ветку (1)
181
Аватар пользователя DELETED
DELETED
Автор поста оценил этот комментарий

Мои цели вполне законные – изучение для обучения, совместимости, исследования безопасности (поиск уязвимостей).


Противозаконным должно быть продвижение продукта, не прошедшего надлежащий пентест и ИБ, под видом государственного мессенджера.

показать ответы
3236
Аватар пользователя DELETED
DELETED
Автор поста оценил этот комментарий
ответный пост

Продолжение: а как можно сделать МАКС безопаснее? Можно ведь?


(мем смешной, ситуация страшная, но в целом можно лечить)

(мем смешной, ситуация страшная, но в целом можно лечить)

Все обнаруженные уязвимости и критичные технические детали были направлены команде MAX через официальную программу Bug Bounty на платформе Standoff 365 https://bugbounty.standoff365.com/programs/max. В статье намеренно опущены конкретные уязвимости и критические проблемы. Всё серьёзное — у разработчиков.

*** *** ***

После первого поста многим зашло, но некоторые написали примерно следующее: «Ну ты покритиковал, а что предлагаешь?».

Я посидел и подумал, а что я могу предложить? Можно ли сделать MAX реально безопасным для обычных людей, не ломая при этом то, что нужно государству?

Ответ: ДА можно.

Где-то это просто — буквально один компонент подключить. Где-то наивно и упирается в политику. Не хочу наговаривать на команды разработки современного РФ IT бизнеса, сделать можно... быстрее, а не за 2-3 года. Ладно, это отдельная тема для разговора.

Задача: МАКС должен быть безопасным, но при этом госорганы должны иметь доступ?


1. Зашифровать данные на устройстве

Решение существует и называется sqlcipher-android — https://github.com/sqlcipher/sqlcipher-android

Это шифрование базы данных, которое используется в индустрии уже много лет. Даже если кто-то скопирует файл базы, без этого конкретного телефона он бесполезен.

Мешает ли это госорганам? Нет. Сообщения на сервере остаются как были. СОРМ работает на серверной стороне, а не лезет в ваш телефон. Это защита от воров и мошенников, не от государства.

То же самое касается токенов авторизации и номера телефона, которые сейчас лежат в файлах без шифрования. Современный подход — Jetpack DataStore с шифрованием через Google Tink и хранением ключей в том же аппаратном модуле. Старый вариант (EncryptedSharedPreferences) уже признан устаревшим, но суть та же — данные на диске должны быть зашифрованы.

Я уверен, что разработчики MAX и сами это знают. Это не вопрос компетенции — скорее приоритетов. Но вот именно это стоило бы поднять в приоритете, потому что защищает от самых массовых угроз — вредоносных приложений (кражу телефона упоминать не стану, но тоже стоит, хотя кейс более редкий). Если мы конечно не хотим опять услышать очередную новость о СЛИВЕ данных в ближайшем будущем. (+ постараюсь не привязывать сюда политику - если вы понимаете о чём я).


2. Дать пользователю выбор: секретные чаты

Telegram сделал элегантный компромисс: обычные чаты доступны серверу (и, соответственно, по запросу — государству), а «секретные чаты» защищены сквозным шифрованием. Это по факту так работает. Тут можно бесконечно рассуждать "Телеграм точно сливает!" -- сливает? Не сливает? Доказано? Не доказано? По факту прямых пруфов нет. (именно речь про сквозняк).

MAX мог бы сделать так же. Обычные чаты — как сейчас, с транспортным шифрованием. Плюс опциональный режим «секретного чата» для тех, кому нужно обсудить что-то действительно приватное — медицинские вопросы, коммерческую тайну, личные переживания. -- ЭТО ДЕЙСТВИТЕЛЬНО станет достойным аргументом для внедрения MAX как государственного мессенджера на все уровни общества.

И тут самое интересное: MAX мог бы сделать свой протокол сквозного шифрования — полностью на российской криптографии. Вот, накидываю:

VKO ГОСТ Р 34.10 (RFC 7836) — для согласования общего секрета между собеседниками (протокол Диффи-Хеллмана на отечественных эллиптических кривых).

«Кузнечик» ГОСТ Р 34.12-2015 в режиме MGM — для шифрования сообщений с аутентификацией (256 бит, режим обеспечивает и конфиденциальность, и целостность).

«Стрибог» ГОСТ Р 34.11-2012 — для выработки ключей из общего секрета (KDF) и контроля целостности.

(простите, что длинно, но будет полезно для общего понимания)

Логика: при создании «секретного чата» телефоны собеседников генерируют эфемерные пары ключей, через VKO согласовывают общий секрет, из него через «Стрибог» выводят сессионные ключи, и дальше каждое сообщение шифруется «Кузнечиком» в режиме MGM. Для каждого сообщения — новый эфемерный ключ, чтобы компрометация одного ключа не раскрывала прошлые сообщения (так называемая «прямая секретность»). Плюс верификация собеседника через QR-код или числовой отпечаток — чтобы сервер не мог подменить ключи. В целом, можно сделать проще, без излишних усложнений и фантазий. Я не могу быть экспертом во всём.

Это не тривиальная задача — нужна грамотная криптографическая архитектура. Но все примитивы для этого существуют и сертифицированы. CryptoPro поддерживает все нужные алгоритмы. Полностью российское решение, соответствующее национальным стандартам. Безопасно? Да. Отечественное импортозамещение? Да.

Мешает ли это госорганам? Частично — но только для секретных чатов, которые пользователь явно выбирает. 99% переписок останутся в обычных чатах и будут доступны по закону. Зато пользователь получает выбор — и доверие к платформе. (Как бы я не был противником идеи, что государство не должно лезть в мои переписки, поэтому я сейчас пишу в реалиях 2026-го года. Пожалуйста, не хейтите меня за это).

Я понимаю, что это самый наивный пункт в списке. E2E в государственном мессенджере — это вопрос не технический, а политический.


3. Перестать собирать лишнее

В предыдущем посте я писал про MyTracker — встроенную аналитику от VK. Она умеет собирать номера телефонов, email, списки приложений, данные сенсоров, рекламные идентификаторы.

Вопрос не в том, собирает ли MAX всё это прямо сейчас. Вопрос в том, что SDK для этого уже встроен и может собирать что угодно по команде с сервера. Пользователь об этом не узнает и не может отказаться. ЭТО ВООБЩЕ ЗАКОННО? К слову, многие компании уже понесли тонны штрафов за это, даже имя согласия. РКН, вы это видели? Вы об этом в курсе?

Я отдаю себе отчёт, что MyTracker — это продукт VK Group, и его интеграция в MAX скорее всего не решение команды мессенджера, а корпоративная политика. Убрать его — значит пойти против компании. Но пользователь имеет право знать, что происходит, и иметь выбор. Давайте быть цивилизованным обществом.

Что предлагается:

Сделать аналитику opt-in. Спросить пользователя: «Хотите помочь улучшить MAX? Мы будем собирать анонимную статистику использования». Кто хочет — включит. Кто не хочет — его право. База.

Убрать определение IP через четыре сервиса. Один — понятно, для геолокации серверов. Четыре (ip.mail.ru, ifconfig.me, checkip.amazonaws.com, ipv4-internet.yandex.net) — перебор и жесть.

Не передавать номера телефонов в открытом виде при синхронизации контактов. Как минимум — хеширование с солью на стороне клиента. Это не идеал (пространство номеров невелико, и при утечке соли хеши обратимы), но уже лучше чем plaintext. В перспективе — криптографические протоколы Private Set Intersection или изолированные вычисления на стороне сервера. Это сложнее, но именно так работают мессенджеры, которые заявляют о приватности.

Снова вопрос: мешает ли это госорганам? Нет. Аналитика не имеет отношения к СОРМ. Контакты пользователя доступны через его аккаунт. Определение IP для оперативных нужд делается на уровне провайдера, а не через ifconfig.me.


4. Закрыть двери для чужих приложений

В ходе аудита обнаружилось несколько мест, где сторонние приложения на том же телефоне могут взаимодействовать с MAX без должной проверки. Это стандартные проблемы Android-разработки, описанные в OWASP Mobile Top 10 (~2024). https://owasp.org/www-project-mobile-top-10/ -- не знаю, насколько устарела информация, кажется, ещё довольно актуальна.

Вот что стоит сделать:

Ограничить доступ к внутренним компонентам приложения из внешних Intent. Сейчас некоторые экраны можно вызвать извне!

Добавить защиту от overlay-атак (tapjacking). Это когда мошенническое приложение рисует прозрачное окно поверх MAX и перехватывает нажатия. Начиная с Android 12, система частично блокирует такие наложения, но для критичных экранов (ввод PIN, подтверждение отправки) нужна дополнительная защита на уровне приложения. (явный открытый риск)

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

Снова вопрос! Мешает ли это госорганам? Нет. Это защита от мошенников и вредоносных приложений.

Вот это — тот пункт, где я уверен на 100%, что разработчики согласятся. Стандартная работа над качеством.


5. Обновить криптографию

MAX использует CryptoPro для ГОСТ-шифрования — это правильно для государственного мессенджера. Но в конфигурации обнаружена поддержка TLS 1.0 и TLS 1.1 — версий протокола, которые признаны устаревшими в 2021 году (RFC 8996) и уязвимы к известным атакам.

Решение простое: оставить только TLS 1.2 и TLS 1.3. Тем более что ГОСТ-шифр. стандартизированы для обеих версий — RFC 9189 для TLS 1.2 и RFC 9367 для TLS 1.3. CryptoPro поддерживает оба варианта. TLS 1.0/1.1 в 2026 году не просто «устарели» — их уже не принимают крупнейшие облачные провайдеры и CDN.

Также стоит перенести токены авторизации из HTTP-параметров (где они попадают в логи серверов) в заголовки запросов. А для привязки к устройству есть стандарт DPoP (RFC 9449) — токен криптографически привязывается к ключу в том же аппаратном модуле, о котором мы говорили выше. Украденный токен без этого ключа бесполезен. Вообще, идеально шифровать каждый критический элемент отдельно, с привязкой к сессии, но тут долгая дискуссия, не стану сейчас тратить на это время.

Этот вопрос ещё несколько раз встретиться ниже НАМЕРЕННО! Мешает ли это госорганам? Нет. Гигиена безопасности.

TLS 1.0/1.1 — это скорее всего наследие от CryptoPro, и тут MAX зависит от сторонней библиотеки. Но привязка токена к устройству и перенос из параметров в заголовки — это точно в их силах.


6. Открыть протокол для аудита

Telegram опубликовал спецификацию MTProto. Множество мессенджеров открыли исходный код. Это не ослабило их — наоборот, тысячи независимых исследователей проверяют код и находят ошибки до того, как их найдут злоумышленники. Почему мы не можем сделать также? Можем ведь.

MAX использует проприетарный бинарный протокол, который невозможно проверить извне. Это подход «security through obscurity» — безопасность через сокрытие — который в криптографии считается слабым решением.

Необязательно открывать весь код. Достаточно опубликовать спецификацию протокола и заказать независимый аудит у специализированной компании — как делают ведущие мессенджеры у NCC Group, Cure53, Trail of Bits. Для отечественного контекста — компании с лицензиями ФСТЭК/ФСБ на деятельность в области защиты информации: Positive Technologies, BI.ZONE, Solar Security и другие. Главное — чтобы аудит был независимым и результаты публичными.

А что ГОСОРГАНЫ? Открытый протокол не мешает серверному доступу. HTTPS тоже открытый протокол — и его используют все банки.

Будем реалистами: открытие протокола скорее всего не произойдёт — это затрагивает всю экосистему VK/OK. Но независимый аудит под NDA — вполне рабочий компромисс, который повысит доверие без раскрытия деталей. Летс-гоу дальше...


7. А что делать пользователям прямо сейчас?

Пока разработчики думают, вот что можете сделать вы сами.

Если у вас обычный телефон (без root):

- Геолокация и контакты -- на свой страх и риск.

- ВЫКЛЮЧИТЬ USB отладку. Настройки — Система — Для разработчиков — Отладка по USB. Если вы не разработчик, она вам не нужна. А с ней можно извлечь данные с телефона, просто подключив кабель.

- Не подключайтесь к чужим зарядкам и Wi-Fi без необходимости. Часть трафика MAX может идти без шифрования — мы это показали в первом посте.

- Не публикуйте invite-ссылки MAX в открытых источниках.

- Проверяйте активные сессии в настройках аккаунта.


8. Итого: что получится, если разработчики послушают

Если реализовать всё вышеперечисленное, MAX станет мессенджером, который:

а) Защищает данные на устройстве от малвари, кражи, ремонтников — шифрованием.

б) Даёт пользователю выбор между обычными и секретными чатами.

в) Уважает приватность — не собирает лишнее, спрашивает согласие.

г) Устойчив к атакам сторонних приложений — overlay, intent injection, WebView.

д) Использует современную криптографию — без дыр из 2010 года.

е) Может быть проверен независимо — открытый протокол и внешний аудит.

При этом:

- Обычные чаты остаются доступными для СОРМ.

- Серверная инфраструктура не меняется.

- Закон Яровой выполняется в полном объёме.

- Государство сохраняет доступ к данным в рамках действующего законодательства.

- Безопасность для граждан и доступ для государства — не взаимоисключающие вещи. Нужно просто разделить: что защищаем от мошенников (данные на устройстве) и что остаётся доступным по закону (данные на сервере).


P.S. Ребята из VK/MAX. Пользователи заслуживают безопасный мессенджер. У вас есть хорошая основа. Осталось доделать (реально можно, и не ГОДАМИ).


P.S.S.Технические детали уязвимостей направлены / будут направлены команде MAX через Bug Bounty на Standoff 365. (что-то уже было опубликовано, я ДАЛЕКО не первый).


P.S.S.S. Можете задавать прямые вопросы -- отвечу.



UPD 2.0 (Я забыл добавить кое-что интересное...)

MAX на самом деле сильно зависит от "западных решений".

Сервисные зависимости — реальная проблема:

Google Firebase (FCM) — push-уведомления. Каждый раз, когда вам приходит уведомление о новом сообщении, оно идёт через серверы Google в США. Google может отключить этот сервис для российских приложений в любой момент — как уже делали с другими сервисами под санкциями. Нет Firebase — нет пушей.

checkip.amazonaws.com — один из четырёх сервисов определения IP, о которых я писал выше.

Google Advertising ID и Google App Set ID — встроены через MyTracker. Идентификаторы устройств, которые генерирует и контролирует Google.

Библиотечные зависимости — менее критично, но стоит знать:

Facebook Fresco — open-source библиотека обработки изображений, изначально разработанная в Meta Platforms Inc. (деятельность компании признана экстремистской на территории РФ, решение Тверского суда г. Москвы от 21.03.2022). Сама библиотека — открытый код под лицензией Apache 2.0, работает локально, никуда данные не отправляет. Но для государственного мессенджера происхождение компонентов имеет значение.

Ирония ситуации: MAX создан как альтернатива Telegram, который «контролируется из-за рубежа». Но внутри MAX — Google и Amazon на уровне сервисов. А Telegram, к слову, имеет собственный fallback для push-уведомлений и может работать без Firebase.

Не то чтобы это дискредитирует MAX. Это нормальный технический долг, который накопился от TamTam. Но если MAX хочет быть по-настоящему суверенным — начать стоит с того, чтобы push-уведомления не шли через "Маунтин-Вью".

Такие дела.

Показать полностью 1
комментарии (344)
15
Автор поста оценил этот комментарий

Хотелось бы увидеть еще разбор безопасности веб-версии.
Сценарий, человек регистрируется с телефона в максе с использованием шелтера и далее выключает приложение на телефоне и отключает шелтер. далее пользуется только веб-версией (пока не вылетит из сессии).

раскрыть ветку (1)
13
Аватар пользователя DELETED
DELETED
Автор поста оценил этот комментарий

Чуть позже постараюсь сделать разбор. Это надо делать в отдельной песочнице.

показать ответы
2
Автор поста оценил этот комментарий

А порекомендуете, пжлст, песочницу! Для андроид. Для среднего пользователя, попроще какую. Рано или поздно придется ставить мах, рабочие моменты обязывают общаться...

раскрыть ветку (1)
6
Аватар пользователя DELETED
DELETED
Автор поста оценил этот комментарий

1. LDPlayer — быстрый, root из коробки, хорош для пентеста

2. Genymotion — профессиональный эмулятор с кастомными образами

3. Android Studio AVD — официальный от Google, чистые образы без мусора, хорош для отладки

4. NoxPlayer — простой, root в один клик, но много рекламы

5. Bluestacks — самый популярный для обычных пользователей, тяжёлый но стабильный

Лично я остановился на LDPlayer и Студии. блюстакс - кал, но я так... для вариантов накинул. Для такого потребуются доп. ресурсы. У меня в целом есть такой кейс по жизни -- запускаю LDPlayer чтобы что-то разово сделать и закрыть.

показать ответы
Автор поста оценил этот комментарий

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


Забыл рассмотреть возможности правоохранительных органов в борьбе с преступниками, по сравнению с телеграмом.


Какое-то однобокое исследование, не находишь @Komandirpetuhov ?

раскрыть ветку (1)
6
Аватар пользователя DELETED
DELETED
Автор поста оценил этот комментарий

Привязка госуслуг к MAX — это отдельная тема. Если MAX хранит данные в plaintext, а цифровой ID/госуслуги работают через WebView внутри MAX — то доступ к этим данным определяется тем же уровнем защиты (или отсутствием), что описан в посте. Конкретно: WebView для digital-id max ru мы обнаружили в данных приложения (IndexedDB, cookies — без шифрования). Но для полноценного аудита нужно отдельное исследование.

Могу чуть позже организовать, если интересно.

показать ответы
19
Автор поста оценил этот комментарий

Случайно включить опцию в скрытом по умолчанию меню разработчика – это тоже ещё постараться надо.

раскрыть ветку (1)
17
Аватар пользователя DELETED
DELETED
Автор поста оценил этот комментарий

Какая-нибудь тупенькая нейронка вполне может посоветовать такое пользователю. А пользователь ещё и предупреждения все проигнорирует в духе "Вижу цель -- не вижу препятствий".

показать ответы
Автор поста оценил этот комментарий

Вопрос: вы выложили эти данные в открытый доступ намекнув, что есть еще более критичные уязвимости. Подстегнув интерес сидящей здесь разведки вражеской коалиции. Зачем?


Второй вопрос: вы, зная все это, и даже больше, надеюсь, уже вытрахали мозги всем причастным к разработке? Если да - молодцы. Если нет - а какого хуя это публикуете, см п. 1, в открытых критически важных с точки разведсообществ, источниках?

раскрыть ветку (1)
5
Аватар пользователя DELETED
DELETED
Автор поста оценил этот комментарий

Они и так уже всё знают. Я ничего нового не опубликовал, все это уже где-то «было».

показать ответы
1
Автор поста оценил этот комментарий

Вот еще одно наблюдение. Андроид. После установки макс заметил такое, листаю пикабу в браузере, открыл/закрыл макс, снова листаю пикабу и тут вылазит реклама. Смотрю - AdGuard выключился. Так-то он у меня включен постоянно уже несколько лет. До установки макса такого не было. Может макс вырубить AdGuard?

раскрыть ветку (1)
2
Аватар пользователя DELETED
DELETED
Автор поста оценил этот комментарий

Крайне маловероятно. Я конечно, не лез настолько в дебри Макса. Скажу так — все возможно при желании, наличии рута и «подозрительных доступов». Я в общем, даю 0.5% что это случилось по вине Макса.

0
Автор поста оценил этот комментарий

Ну если ты образованный не сообщаешь об этом разработчикам. Мне тем более это не под силу.

раскрыть ветку (1)
1
Аватар пользователя DELETED
DELETED
Автор поста оценил этот комментарий

Пока что выглядит так, как будто ты статью/пост не читал.

показать ответы
0
Автор поста оценил этот комментарий

Тут уже писали что об уязвимостях нужно не сюда, а разрабам макса? Или я буду первым?

раскрыть ветку (1)
1
Аватар пользователя DELETED
DELETED
Автор поста оценил этот комментарий

Будешь первым. Почему?

1. Описаны общие проблемы, которые должны быть освещены публично.

2. Конкретных уязвимостей в статье нет, а самих дыр — ~40+ штук, из них 7 критических. О них сообщать попросту нельзя по нескольким объективным причинам.

показать ответы
0
Автор поста оценил этот комментарий

Интересно... я в андроиде ничего не понимаю, но там же линукс под капотом? Значит, есть файл .hosts. А если эти туда-сюда домены прописать на 127.0.0.1, вся эта шпионская мишура не отвалится?

раскрыть ветку (1)
1
Аватар пользователя DELETED
DELETED
Автор поста оценил этот комментарий

Всё так, Android === Linux, hosts-файл есть (/etc/hosts, нужен root). Но с максом это не поможет полностью: приложение стучит на ~10 разных доменов (api.ok.ru, sdk-api.apptracer.ru, tracker-api.vk-analytics.ru, max.ru, api.odnoklassniki.ru и др.), и если заблокировать трекинговые — отвалится и сам мессенджер, потому что API и шпионаж идут через одни и те же серверы VK Group. Плюс приложение использует dns.google.com для резолва через DNS-over-HTTPS, то есть может обойти локальный hosts вообще.


Короче: hosts заблокирует часть слежки, но сломает приложение целиком, а некоторые запросы обойдут hosts через DoH.


Смысле нет. Я думаю самый крутой вариант — патчить к хуям Макс, но это риск… явное нарушение закона. Пропатченные максы использовать не советую — кто знает, что туда зашил патчер.

2
Автор поста оценил этот комментарий

не не , с пересылаемыми данными понятно , что все могут видеть всё.

вопрос изолирует ли второе пространство мах от остального содержимого смартфона хотя бы примерно также как отдельный аппарат под мах ? то есть безопасно ли иметь мах на телефоне , но во втором пространстве (без лишних разрешений для него )

раскрыть ветку (1)
1
Аватар пользователя DELETED
DELETED
Автор поста оценил этот комментарий

Чем меньше разрешений, тем лучше, но 100% гарантии не могу дать. Надо де-обфусцировать код и прочее (это незаконно если что).

0
Автор поста оценил этот комментарий

@Komandirpetuhov что скажете? Второе пространство безопасно?

раскрыть ветку (1)
1
Аватар пользователя DELETED
DELETED
Автор поста оценил этот комментарий

Как говорится, use your brain. Безопасность — смотря что отправляете, куда и кому. Безопасность данных определяется тем, насколько эти данные могут нанести вред вам или окружающим. Второй телефон без банков и госуслуг — разумный подход, вы изолируете риски. Котиков пересылать — пожалуйста. Скан паспорта или пароли — ни в одном мессенджере без E2E в принципе (даже телеграмм без секретного чата -- опенсорс клиенты-оболочки).

показать ответы
Автор поста оценил этот комментарий

Ну и еще, чтоб сделать исследование более полным. Говорят много мер безопасности копируют из WeChat а не из телеграма. А WeChat в Китае как раз национальный мессенджер с кучей привязок к местным госуслугам.

Интересно что там сделали, и как обеспечивали безопасность, включая безопасность от злоумышленников-иностранцев, которые сделали аккаунт в WeChat и пытаются нахлобучить китайцев через национальный мессенджер.


И что из этого макс копирует себе.

раскрыть ветку (1)
1
Аватар пользователя DELETED
DELETED
Автор поста оценил этот комментарий

Там несколько багов уровня P1 и P2 (в MAX). Некоторые уже зарепортил, часть ещё надо подтвердить. Поверхностные проблемы решил осветить на Пикабу.

0
level: 999
Автор поста оценил этот комментарий

ну вот есть же норм разрабы, шарят как должно быть и тп, как так получается, что в нашей ненаглядной стране, нет конкуренции в этой сфере мессенджеров? почему не одна крупная контора кроме вк не лезет в это???

раскрыть ветку (1)
0
Аватар пользователя DELETED
DELETED
Автор поста оценил этот комментарий

Все дело в законах и ответственности. Я бы сделал мессенджер с шифрованием — это заняло бы месяц на разработку и тестирование, плюс развертывание — еще неделя, и на отладку. Но есть тонна нюансов. Ты обязан хранить данные в РФ 3 года в открытом виде — это уже компрометирует пользователя. Не говоря уже о тонне законов, из-за которых ты можешь понести ответственность и штрафы, плюс ПДн (персональные данные) и прочее. По этой причине софт часто разворачивают в странах, где с этим попроще. По этой причине Дуров продолжил деятельность в Дубае. Казалось бы: ну открой ты мессенджер в другой стране? Да — отличная идея, но у нас РКН его тут же запретит. И это далеко не все подводные камни.

показать ответы
Автор поста оценил этот комментарий

Ну т.е. не исследовал. Ясно. Однобокое исследование получилось.


А ведь там привязка к устройству, которое так просто не восстановить даже хозяину аккаунта. Хотелось бы посмотреть на сравнение с телеграмом.


Кроме этого не рассматривается вопрос того, что макс "белых списках". Т.е. он работает в телефонах, когда вообще почти ничего не работает.


Не рассматриваются критерии попадания приложения в белые списки. И не рассматривается как сочетается право быть в белых списках с, например, E2E шифрованием. А там ведь выбор прост - или тебе E2E шифрование (которым в телеграме никто не пользуется, кроме наркоманов и хохломарионеток) или у тебя работает мессенджер во время отключений интернета (функция которая очень выручает всех)

раскрыть ветку (1)
0
Аватар пользователя DELETED
DELETED
Автор поста оценил этот комментарий

Однобокое исследование получилось.

В целом, не особо старался. Подсветил поверхностные проблемы уровня джуна.

показать ответы
Автор поста оценил этот комментарий
(вот. Вот думаете бесплатно минусят? За всё деньги плочены! Аренда ботов знаете сколько стоит??? А чтобы хвалили - ещё дороже! (на это уже денег нет). А за те крохи, что остались - даже индусы кодить не будут! Так что давайте МАХ как есть и радуйтесь - он национальный 100%, таки то, что нация немного нег'узская - это детали)
раскрыть ветку (1)
0
Аватар пользователя DELETED
DELETED
Автор поста оценил этот комментарий

Аренда ботов в MAX? Что за боты? Что за аренда ботов?

показать ответы
0
Автор поста оценил этот комментарий

Вроде было больше текста, статью чуть урезали?

раскрыть ветку (1)
Аватар пользователя DELETED
DELETED
Автор поста оценил этот комментарий

Не урезал. Если только пикабу свои руки не приложил. Я не сравнивал с сохранённым оригиналом (у меня есть).

Автор поста оценил этот комментарий

Забавно, что на ваш комментарий никто не ответил, даже автор). Я вот ему где-то выше или ниже предлагал отправить репорт и денег получить, раз он тут нашёл столько уязвимостей, но вот только мне тоже не ответили))) к чему бы это?))

раскрыть ветку (1)
Аватар пользователя DELETED
DELETED
Автор поста оценил этот комментарий

Ты клоун? Я инструменты и процесс описал. Вперёд и с песней. Можешь написать пост-опровержение. Я жду. Хотя твой аккаунт больше похож на расчехлённый ради этого комментария.


к чему бы это?)))))))))))0000000000

Иллюстрация к комментарию
показать ответы
0
Автор поста оценил этот комментарий
@Komandirpetuhov,
привет. Ты, скорее всего, за потоком комментариев в своих постах мой и не увидишь, но если увидишь - у меня к тебе просьба.
Сможешь так же/подобно разобрать мессенджер eXpress? Тоже штука нашей разработки, интересно узнать чего там под капотом.
раскрыть ветку (1)
Аватар пользователя DELETED
DELETED
Автор поста оценил этот комментарий

Могу, но по срокам не обещаю. Можете прислать временную ссылку для скачивания файлов и инструкции. Могу взять APK Android-приложения — среда сейчас настроена и под рукой.

показать ответы
Автор поста оценил этот комментарий

Если вам не нравится Макс, Госуслуги, АвтоВАЗ, РКН и прочие нововведения, зачем вы по сто постов в день пишите???

Заходишь на пикабу и лента про месенджер макс на по часа и остальные по кругу.

Видимо такие посты не дорого стоят, раз их сотнями пишут с одинаковым смыслом.

раскрыть ветку (1)
Аватар пользователя DELETED
DELETED
Автор поста оценил этот комментарий

Ничего не стоит. Сделано бесплатно. Для здравомыслящих сограждан страны России, гражданином которой я являюсь. Если тебе не нравится — существуют теги, которые ты можешь игнорировать. В начале поста было предупреждение, которое ты почему-то проигнорировал. Почему ты проигнорировал предупреждение, user8884885?

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества