Обновить

Видит ли MAX ваш VPN при Split Routing, если VPN не установлен на компьютере?

Уровень сложностиСредний
Время на прочтение11 мин
Охват и читатели110K
Всего голосов 66: ↑62 и ↓4+64
Комментарии59

Комментарии 59

Тут стоит уточнить про MachineGuid и порт 61415. Чтение MachineGuid через Cryptography и своего deviceid из .crash_dumps это стандартный путь Chromium crashpad для дедупликации крашей, так же делает любой Electron клиент вроде Teams или Slack. А 127.0.0.1:61415 это локальный rpc канал между MAX.exe и MAX-service.exe для привилегированных действий без UAC, а не внешний слушающий порт. Поэтому сам факт чтения и локального порта еще не доказывает отправку, как вы и пишете, для этого нужен уже разбор TLS или MITM.

какое-то смутное воспоминание про открытые порты на localhost и javascript-клиенты на разных сайтах, умеющие подключаться к этим портам, получая возможности нативного приложения...

Где-то писали про такую схему.

ещё есть вероятность изменения сценария поведения при запуске систем мониторинга :) этакий дизельгейт

Меня что в максе раздражает - это вот этот вот системный сервис. Нахрена он нужен?
Другие мессенджеры нормально в юзерспейсе живут, а этому сервис подавай.
Потому макс только в браузере, а если уж и ставить на железо - то только на ненужное/виртуальное, а точно не в рабочую систему.

Да даже без сервиса, софт с такой репутацией только в виртуалку или контейнер. Ну его нафиг. И в отдельный VLAN обязательно.

Мне пофиг на репутацию и виланы, я неуловимый Джо.
Но даже меня раздражает системный сервис мессенджера.

Другие мессенджеры нормально в юзерспейсе живут,

У WhatsApp тоже что-то в background (вот не знаю, с какими правами) живет. Недавно вот в трее увидел сообщение типа, вам тут, кажется сообщение пришло.

Ну то вполне пуши могут быть, по типу мобильных.

Ну то вполне пуши могут быть, по типу мобильных.

А что, у Windows есть такая функциональность из коробки?

В 11 вроде есть.

Windows не ограничивает / не убивает приложения в фоне. Поэтому сервис для уведомления не нужен.

Если клиент программы запущен, то удивляться наличию уведомлений странно. Потому я решил, что у человека клиент не был запущен. А если клиент не запущен, то только пуши под подозрением.

Именно.

обычно сервис нужен для автозапуска приложения, работы с правами администратора, обновления приложения.

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

Что то странное написали

Зачем отдельная служба для автозапуска? Автозапуск в винде по другому реализован

Зачем мессенджеру права администратора? У меня телеграмм живет в юзерспейсе без каких либо админских прав и неудобств ни каких нет.

Зачем нужна отдельная служба для обновления приложения? Приложения и без дополнительных служб умеют обновлять сами себя.

Написано исходя из собственного опыта использования различных приложений.

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

Права админа для обновления (если установлен в папку Program files), установки доп. программ, типа очистки, антивирус и т.п. Может быть каких-то настроек системы, типа файрволла.

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

  1. Если пользователь так сделал, то это его желание и его право.

  2. Зачем ставить в Program files? Про остальное вообще странно, у мессенджера дело пересылать сообщения

  3. Тоже дело пользователя. Зачем каждый день дергать обновления, если пользователь пользуется приложением раз в месяц? Если пользователь отключил обновление, то это он так хочет.

Пока Вы описали только минусы данного подхода

Поставьте без прав админа, через правку установщика msi. Всё работает.

Я не могу это сделать всем вокруг и делать это для каждой новой версии. Так что кто просит макса - всем "ставлю" веб-версию.

Можно так делать скриптами.

А потом ещё объяснять абстрактной уборщице, как скрипты запускать. Нет уж, пусть лучше в браузере работает.
Но за скрипты спасибо, в хозяйстве могут пригодиться.

"Абстрактной уборщице" можно поставить и с дефолтными настройками.

Ей не надо от царской охранки или гестаповцев скрываться, и через ее аккаунт Мах самое секретное, что пройдет - рецепт наливки на сливах. ))

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

Inno Setup Вам в помощь 👍

Данный вариант довольно так себе...

DEPLOY-MAX.cmd:

SET “TARGET=%LOCALAPPDATA%\Programs\MAX”

SET “TMPDIR=%TARGET%\tmp”

...

MSIEXEC.EXE /a “%SOURCE%%PACKAGE%” /qb TARGETDIR=“%TMPDIR%”

IF NOT EXIST “%TMPDIR%\MAX” ECHO Ошибка извлечения файлов! & CALL :wait 4 & EXIT 1

ROBOCOPY “%TMPDIR%\MAX” “%TARGET%” /MOVE /E /NFL /NDL /NJH /NJS /ETA

RMDIR /S /Q “%TMPDIR%”

Зачем сначала устанавливать во временную папку, а потом копировать в постоянную в том же месте? Может всё же лучше после установки удалить ненужное? Метка :wait в файле отсутствует, так что CALL :wait 4 & EXIT 1 приведёт просто к закрытию окна.

Ну и огромный логотип и синий цвет текста выглядят вырвиглазно.

Не копировать, а перемещать. Разделение данных операций позволяет понять где произошла проблема, при извлечении файлов или их обновлении.

Метка лишняя, но завершению скрипта она не помешает.

Какой мессенджер, такой логотип и цвет, очевидно.

Всегда удаляю эту папку, на работу мессенджера это не влияет, звонки работают, остальное (видео-аудио месседжи) тоже. Устанавливаю (обновляю) макс в рабочей среде на некотором кол-ве компов, централизованно, без интернет, да и без установки вобщем то, просто распаковкой новой сборки без этой папки. Max-service, вероятно, может обновлять десктоп клиента у пользователя без прав администратора. Но, в то же время, с некоторых пор сам макс может быть установлен в любую доступную пользователю папку. В любом случае, это некая надстройка над максом.

Не пытается сегодня, значит будет пытаться завтра.

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

Смысла нет. Это как чайник Рассела, про который всегда можно сказать, что он не виден на орбите, но точно где-то там летает.

Поможет только реверс-инжиниринг, декомпиляция и анализ полученного кода. И то противная сторона скажет - "да, сейчас этого в коде нет, но вот завтра с обновлением этот функционал прилетит 100%".

Поэтому, если кому нужно именно приложение - проще изолировать его (виртуалка, vlan, правила на роутере), чем пытаться разобраться - шпионит оно или нет.

По умолчанию все приложения, которые написали не вы лично - шпионят. ))))

Вполне естественное поведение многих вирусов - не открываться под микроскопом. Заметили исследовательские инструменты - не включаемся и сидим тихо.

Поэтому ваша неделька ничего не изменит. WireShark, ProcMon - самые известные средства. Если Max под подозрением - то он просто не включит спорные функции пока эти микроскопы активны. Хоть час смотри, хоть неделю, хоть год.

В общем, водянистая статья. Подробно описали то, что реально делает каждая вторая программа, и не описали чего-то конкретного по теме статьи.

Для меня это оказался скорее неожиданный итог: заранее ожидаемой сенсации не случилось.

Что же было в вашей Split Routing таблице такого, о чём макс не знал и не проверил?

Никакой Split Routing-таблицы в Windows у меня не было: вся логика маршрутизации находилась на Keenetic. На ПК был обычный Ethernet и обычный шлюз, без VPN-адаптера и OpenConnect-маршрутов. Я проверял не чтение какой-то таблицы, а пытался понять, станет ли MAX косвенно определять альтернативный маршрут. Например, через внешний IP или специальные сетевые проверки. Сам Split Routing я отдельно подтвердил через tcpdump на VPS, а признаков таких проверок со стороны MAX в ходе эксперимента не обнаружил. Проще говоря, я хотел понять, пытается ли MAX отслеживать наличие VPN при сложной схеме маршрутизации, когда сам VPN находится за пределами Windows.

отслеживать наличие VPN при сложной схеме маршрутизации

Понятно, что соединения с backend макса по вашей таблице напраляются в интернет напрямую. Что вы отправляете через VPN в статье не указано. Предположу, что таблица статическая и не очень большая.

Параллельно на Windows Procmon фиксировал только MAX.exe и MAX-service.exe

При том, что в начале, для самого примитивного действия MAX запускал taskkill

Даже если предположить, что MAX будет демонстративно шпионить под надзором Procmon/WireShark - то для него последовательно бы было и доступность тестировать запуская, например, curl/wget - то есть то, что вы заранее отсекли в фильтрах.

Ты говоришь, у тебя нет доказательств, что товарищ майор читает твои чаты в мессенджере „Макс“? Чушь! Отсутствие доказательств слежки — это ещё не доказательство отсутствия слежки! Просто потому, что ты не видишь доказательств присутствия товарища майора в канале, не значит, что у тебя есть доказательства его отсутствия! Есть известные известные — то, что мессенджер при установке запросил доступ ко всем контактам, микрофону и геолокации. Есть известные неизвестные — мы знаем, что логи пишутся, но не знаем, кому на стол ложатся. Но есть ещё и неизвестные неизвестные — вещи, о которых мы даже не догадываемся, что товарищ майор о них уже в курсе! Что? Ты опять сказал „что“?! Скажи ещё раз „что“, твою, я тебя дважды предупреждаю!

Напомнило сильно Джина Рамми, мультсериал «Гетто» (The Boondocks)

Да что мессенджер записывает все чаты и так всем известно. Честно говоря, от государственного мессенджера такое поведение как раз и ожидаешь.

Разговор о том, пытается или не пытается клиент шариться там, где ему не надо, и тырит ли информацию, которую ему не давали.

1) Да 2) Да

Не сегодня, так завтра

Прикол от безопасников - написать в характеристике на человека "в дурных действиях не замечен". то есть вроде и хотели бы, и подозрения есть, но умудрялся не попасться.
Всю статью можно таким подытожить :)

В порочащих его связях был, но не замечен. ©

Стандартный канцелярит. Врачи тоже пишут «отрицает» на всё подряд.

Вы меня извините, но статья очень напоминает статью ради статьи. Или как пример случая, когда статьи писались студентами для зачета в каком-то ВУЗе несколько лет назад на этом сайте.

Методология эксперимента вроде есть, эксперимент тоже есть, а результата нет.

Теперь по сути эксперимента.

1) Исследуемое приложение может получать список запущенных процессов, и при нахождении всяких ProcMon, Wireshark и их аналогов не инициализировать вредоносный функционал.

2) То же самое из п1, только проверка запуска в песочницах виртуальных машин, и/или дебаггерах.

3) Вредоносный функционал может (и должен) запускаться при внешних триггерах или командах с управляющего сервера.

4) К внешним триггерам можно отнести содержимое сообщений пользователя, таких как обсуждение ключевых слов, например, кто лидирует в последней лиге КВН. В каких мессенджерах и на каких популярных видеохостингах можно посмотреть финал этой лиги.

С нетерпением ждем продолжения и новых экспериментов этой увлекательной темы исследования влияния мессенджеров на участников и команды КВН.

Статья делалась не ради статьи, а ради оценки рисков для определённых обстоятельств. Какая цель статьи была : понять насколько опасно использовать MAX мессенджер на рабочем ПК, который используется для работы различных маршрутизаций, которые могут подпадать под различный мониторинг. Есть ситуации когда приходиться использовать МАХ там, где не должно быть третьих глаз наблюдателя. Не от хорошей жизни, а от обстоятельств, которые от Вас не зависят.

Эксперимент показывает что использование программы МАХ на ПК ОС Windows с маршрутизацией Split Routing относительно гораздо более безопасно чем использование этого же МАХ на ПК где более примитивная и убогая схема сети.

Если это кроме меня никому не нужно для оценки рисков и понимания, пусть тогда я её написал для самого себя.

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

Если эксперимент никому ничего не дал, пусть так. Лично для меня он оказался полезным.

понять насколько опасно использовать MAX мессенджер на рабочем ПК, который используется для работы различных маршрутизаций, которые могут подпадать под различный мониторинг

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

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

Я бы хотя бы повесил пустой интерфейс в систему(без маршрута) с которого бы все писал в отдельный дамп. При этом не ставя и не запуская никаких отладчиков и мониторов. Если он туда не суется это уже что-то бы да сказало. Ну и в дополнение можно и маршрут тогда повесить как это делается у всяких там клиентов vpn, но только не по умолчанию а вторым третьим шлюзом. Опять же приложение обычное туда ничего никогда не пошлет если основной шлюз доступен и интернет через него пингуется.

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

И самое главное - не запускать подозрительный функционал сразу после установки.

Первое, что напрашивается - поставить таймер для на три или на неделю. И тогда уже сканировать и проверять.

Кстати, кто-нибудь смотрел устанавливает он какие-нибудь сертификаты?

Зачем вы Макс desktop вообще ставите, если задаётесь вопросом про слежку, а???..

Если уж очень нужен Макс - ну есть замечательная веб-версия, с видеозвонками и пушами. Что вам ещё нужно?

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

Вебверсия этой дряни тоже чересчур много хочет и лезет куда не просят.

Например требует пароль на экран включить.

Вообще не понял статью и зачем она. Раздельное туннелирование на роутере элементарно детектится на примере условного озона, подгружающего логотип ютуба.

Кстати да, в этом случае поможет только раздельное туннелирование приложений. Так как элементарно можно проверить доступ к любому заблокированному ресурсу.

Я пытался намекнуть автору на это, но он не понял.

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

Да, придется потратить 15 минут на настройку, но тут же хабр, а не сайт с кулинарными рецептами :)

потому что приложение, внезапно, вызывает другие приложения

max-service, taskkill - уже в логах. curl/wget по желанию

классика вирусов начала 2000-х - скачивать в интернете файлы через MSIE или Microsoft Office. Поэтому фаерволлы типа Comodo блокировали все IPC, кроме разрешенных. И, блин, настроить матрицу разрешенных IPC это вот нифига не "15 минут"

Заголовок статьи неожиданно вызвал в памяти "Снятся ли андроидам электроовцы?"

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

Так что смотрите ширше.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации