Недавно появившейся в мессенджер «Макс», наделал много шума. Он является достаточно спорным приложением и мне пришла в голову мысль изучить приложение и посмотреть, а настолько ли опасно оно, как о нем говорят.
Как можно познакомиться с приложением ближе, чем через его код? Тем более, что для исследования android-приложений нам не понадобятся сложные инструменты на подобии IDA или Ghidra, как это бывает с анализом исполняемых файлов.
Для анализа я использовал стандартный, для подобной задачи, набор инструментов: JADX, APKtool, VSCode ну и конечно же Android Studio, куда без него в анализе APK файлов.
Но, прежде чем лезть под капот «Макса» я установил его на эмулятор устройства и посмотрел его функционал и требуемые им разрешения. После того, как я ввел номер телефона и подтвердил его, «Макс» попросил доступ к моим контактам (Рисунок 1). Достаточно стандартное поведение для мессенджера, позволяет находить контакты из списка, зарегистрированных в «Максе»

После этого, «Макс» снова запросил доступ к контактам (рисунок 2).

Заполнив сведения о контакте, а именно имя пользователя, я решил выполнить звонок, и мессенджер сразу запросил разрешение для записи аудио (рисунок 3).

Пощупал остальной функционал, были запрошены доступ к камере, демонстрации и записи экрана (демонстрация экрана в звонке есть, а вот функционала записи я не увидел).

На первый взгляд, «Макс» представляет из себя обычный мессенджер со стандартными для такого приложения набором функций и разрешений. Но все ли так на самом деле. Давайте разбираться, пора посмотреть под капот этого приложения.
Итак, я «разобрал» приложение и приступил к его анализу. Как исследователей, нас в первую очередь интересует файл AndroidManifest.
AndroidManifest.xml — один из самых важных и интересных для исследователя файлов. Он содержит много информации, по которой можно составить представление о приложении, и даже сформировать поверхность атаки. В архиве он представлен в закодированном виде.

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

· SYSTEM_ALERT_WINDOW - может показывать окна поверх других приложений

RECEIVE_BOOT_COMPLETED - автозапуск при старте системы

DISABLE_KEYGUARD - отключение блокировки экрана

USE_FULL_SCREEN_INTENT - полноэкранные уведомления

Доступ к личным данным:
READ_CONTACTS, WRITE_CONTACTS - полный доступ к контактам

ACCESS_FINE_LOCATION - точная геолокация. Постоянное отслеживание точного местоположения пользователя в реальном времени.

CAMERA - доступ к камере

RECORD_AUDIO - запись аудио

READ_EXTERNAL_STORAGE, WRITE_EXTERNAL_STORAGE - доступ к файловой системе

READ_MEDIA_IMAGES, READ_MEDIA_VIDEO - доступ к медиафайлам

READ_PHONE_NUMBERS - доступ к телефонным номерам

GET_ACCOUNTS, AUTHENTICATE_ACCOUNTS, MANAGE_ACCOUNTS, USE_CREDENTIALS - полный доступ к аккаунтам. Может получить список всех аккаунтов (Google, соцсети, почта) на устройстве и манипулировать ими.

USE_FINGERPRINT - доступ к биометрии

Сетевые разрешения:
INTERNET - полный доступ в интернет

ACCESS_WIFI_STATE, ACCESS_NETWORK_STATE - мониторинг сети
Bluetooth разрешения - полный контроль Bluetooth
CHANGE_WIFI_STATE - изменение состояния Wi-Fi. Могут мешать работе сети, перехватывать трафик.

Подозрительные сервисы
Сервис для звонков с доступом к камере и микрофону

Сервис медиа-проекции (может записывать экран)

Опасные компоненты
LinkInterceptorActivity с возможностью перехвата deeplinks:
android:exported="true" (Критическая уязвимость). Эта активность может быть запущена извне — другим приложением на устройстве или даже из браузера по специальной ссылке.
android:excludeFromRecents="true" (Тактика скрытности). После того как пользователь завершит работу с этой активностью, она не появится в списке последних приложений (который вызывается кнопкой "Недавние").

CallNotifierFixActivity с возможностью показа на экране блокировки

Трекинг и аналитика
com.google.android.gms.permission.AD_ID - доступ к рекламному ID. Нужен для создания уникального профиля пользователя для таргетированной рекламы и трекинга между разными приложениями.

Отключено резервное копирование (allowBackup="false"). Обычные приложения разрешают бэкап, чтобы пользователь мог восстановить данные. Вредоносное приложение отключает эту функцию, чтобы усложнить исследование своего поведения и извлечение украденных данных при помощи инструментов анализа.
Включен нативный код (extractNativeLibs="false"). Указывает системе не распаковывать нативные библиотеки (.so файлы) из APK. Это может использоваться для затруднения статического анализа кода антивирусами и исследователями, так как часть логики спрятана в скомпилированных бинарниках.

Дополнительные опасные функции
DOWNLOAD_WITHOUT_NOTIFICATION - скрытые загрузки. Позволяет скачивать файлы без уведомления пользователя.
FOREGROUND_SERVICE_DATA_SYNC - фоновая синхронизация данных. Позволяет запустить foreground-сервис для "синхронизации данных". Это механизм для длительной фоновой работы под видом полезной деятельности, чтобы постоянно собирать данные.

Автозапуск: Receiver для автозапуска при включении устройства. Ресивер BootCompletedReceiver с тремя разными действиями (BOOT_COMPLETED, QUICKBOOT_POWERON) — это гарантирует, что запуск выполниться автоматически при любой возможности сразу после включения телефона, даже до его разблокировки.

Проведенный технический анализ мессенджера выявил тревожный дисбаланс между заявленным функционалом и запрашиваемым уровнем доступа к устройству и данным пользователя.
Безусловно, часть разрешений, такие как доступ к микрофону для голосовых сообщений или к камере для съемки фото, объективно необходимы для работы любого современного коммуникационного приложения. Однако нашлось и множество «спорных» возможностей, которые выходят далеко за рамки обычных возможностей мессенджера:
Возможность постоянного отслеживания точной геолокации, записи экрана (mediaProjection) и доступа к аккаунтам устройства не являются критичными для обмена сообщениями и вызывают серьезные вопросы о реальных намерениях разработчика.
Автозапуск при загрузке, скрытые загрузки, отключение резервного копирования и сложность анализа кода (extractNativeLibs="false") — это приемы, которые чаще ассоциируются с вредоносным ПО, стремящимся закрепиться в системе и скрыть свою деятельность.
В итоге, перед нами не просто мессенджер, а многофункциональный комплекс с широчайшими полномочиями. Пользователь, устанавливая это приложение, по сути, добровольно предоставляет ему ключи от всей своей цифровой жизни: от переписки и звонков до местоположения, паролей и возможности наблюдать через камеру.
staffel
Не разбирали ли подобным образом последние версии официальных клиентов WhatsApp и Telegram?
Hopenolis
Зачем? Макс - клон телеграма из которого специально было вырезано шифрование что бы гебня могла следить за людьми. Его можно вообще не проверять, он специально создан для компрометации юзеров.
achekalin
Ой, кажется, Вы не правы!
Честно говоря, сказанное даже было бы хорошо (в смысле копии телеги), но нет, там пож капотом другое поделие.
Kenya-West
Ага, там ТамТам. Причём сам ТамТам вроде бы даже жив до сих пор, судя по его обновлению ServiceWorker на моем смартфоне в виде PWA.
Kupkupich
О, я уже забыл про его существование. Кажется это был один из первых кандидатов на роль "убийцы телеграма". Не взлетел.. )
greenkey
чтобы вы стали интересны "гебне", нужно начать хотя бы наркоту продавать промышленными масштабами. ну или оружием приторговывать, или взрывчаткой.
mih-kopylov
Опасное заблуждение
Fintank-ru
Ну пока что не находим пруфов, что это заблуждение. Все, кого гебня нагибает (по разным свидетельствам из разных источников), занимались как минимум шпионажем, активным участием в качании лодок и революциях, или как сказано выше (но это совсем топовый уровень). Торгаши крупными кусками наркоты и оружием обычно не так наивны, как поджигатели релейных шкафчиков и революционеры.
В целом, признак инфантилизма - рассуждать про гебню и при этом добровольно использовать электронные средства связи, каждая микросхема в котором не исследована тобой до основания и пытаться защитить себя на самом высоком слое абстракции - рассуждая про какие-то там пользовательские приложенечки операционной системы. Это примерно как обеспечение физической безопасности завода установкой на входе таблички "плиз не воруйте и не поджигайте - директор запретил".
Самая прикольная ошибка, конечно, - это думать, что ты уникален и гебня не знает о тебе примерно всё просто по данным, набранным из наблюдений за такими же.
nort1
Пруфы находим. Вы либо не там ищете, либо априори считаете людей с отличными от вас, к примеру, политическими взглядами, преступниками и "раскачивателями лодки". И это не обязательно должна быть политика. С каждым годом растет количество сомнительных законопроектов, с максимально расплывчатыми формулировками, по которым оштрафовать можно если не каждого, то каждого второго. А каждого пятого отправить на зону. Есть статистика - это десятки тысяч дел за посты, лайки и комментарии в соц. сетях.
Теперь тейк про микросхемы, которые "ты сам не смотрел под микроскопом и не реверс инженирил". Начнем с того, что чем ниже слой абстракции, тем банально сложнее и дороже туда встроить нечто структурно сложное, потом это удаленно контролировать, и чтобы было незаметно и не мешало работать всему остальному. А даже если там что-то вдруг есть, все эти микросхемы - зарубежные. И шансы того, что завтра к тебе постучит ЦРУ, или МГБ Китая, и отберёт кошкожену и миску риса - крайне малы. Особенно, если ты проживаешь в селе Нижние залупки Липецкой области.
И, пожалуй, самая прикольная ошибка - считать что ты неуязвим и тебя это никогда не коснется. Что какая-нибудь отечественная нейросеть из центра Э, парсящая через Макс все твои данные, не зацепится за что-то, казалось бы, несущественное, но что-то, что повысит уровень раскрываемости кибер преступлений для товарища майора, который точно не потирает ручки и не ждёт квартальную премию. Ведь ты не какой-то раскачиватель лодки, ты - порядочный гражданин и патриот!
Fintank-ru
Не находим. Иначе бы мы их увидели в ответе хотя-бы. "Политические взгляды" - понятие себя давно девальвировало и "выражением политических взглядов" стали называть любой выданный наружу текст, содержащий токены, классифицируемые как "политота". И тексты с раскачиванием лодок стали называть выражением политических взглядов и вполне годные конструктивные тексты с описанием идей развития страны) Гебне интересны только первые - они ничем не отличаются от "выходим резать <id группы лиц>" - это, конечно же, нужно жёстко давить, беспорядки никому не нужны. Но когда гебня жёстко давит на корню зачатки любых никому не нужных беспорядков, то конечно спасибо ей никто не скажет, зато если задавленный выдал ртом какой-то токен про политоту, гебня будет обвинена в преследовании по политическим мотивам - знаем такую фишечку, ага.
Тейк про микросхемы - а при чём тут "сложнее и дороже"? Никто не говорил, что будет просто. Микросхемы вообще далеко не дауны задёшево делают, а огромные дорогие человекочасы, могут себе "сложно" позволи��ь. Бекдоры в алгоритмы шифрования тоже не просто встраивать и чё, их от этого перестали встраивать туда что-ли. Зарубежные они там или нет - какая разница, учитывая что тебе неизвестно кто там у кого в этой сфере что ворует и перевербовывает туда-сюда и кто на кого там работает. Сделали одни, ломанули и заюзали другие, украли третьи и пользуются, насмехаясь над первыми двумя неудачниками.
Тема про неуязвимость откуда возникла? Кто сказал, что я неуязвим? Да меня банально на улице могут легко зарезать за просто так, какой там центр Э, какий нейросети.
nort1
Вполне понятно, почему не находите. Я бы тоже хотел жить в мирке, где гебня - это добрые дяди Стёпы, четко следующие букве закона, где принимаемые нормативные правовые акты не конфликтуют с Конституцией, и где людей не сажают за конструктивные идеи развития страны (если они собирают аудиторию и идут вразрез с текущей повесткой), в мирке, где под беспорядками обычно понимаются не мирные протестные акции, одиночные пикеты и ленточки на одежде, а настоящие погромы. И где спецслужбы сознательно не провоцируют и не подталкивают людей на определенные действия ради отчетности. Но увы.
При чём тут "сложнее и дороже"? А при том, что никто из крупных игроков не будет тратить миллиарды на задачу без конкретной цели, рискуя всем. Капитализм не так работает. Да и зачем такие усилия, если и так всё, почти у каждого, отправляется в гугл или айклауд? И ты сам это им разрешаешь, акцептируя пользовательское соглашение. Именно поэтому наше правительство и обязало всех операторов хранить пользовательские данные на серверах в РФ, но почти никто на это не согласился. Какая жалость... А данных то хочется, вот и приходится Максы на ходу выдумывать, и по умолчанию на каждое устройство предустанавливать!
Про неуязвимость, возможно, перегнул, но, как минимум, ощущается некая уверенность в защищенности... Вот, чтобы снизить риски быть зарезанным на улице, можно, например, стараться не гулять по ночам и оглядываться. Возможно, переехать из села Нижние залупки в какое-то более безопасное место. Возможно, в верхние...
А чтобы снизить риски, например, быть наказанным за слова или картинки, можно не устанавливать мессенджер Макс. Или поставить на отдельный телефон или в виртуальное пространство, если надо.
Aison
так если законы писаны для простых смердов, то какая разница. эти законы всё равно работают против тебя
Nansch
законы-то работают, но риски их применения к отдельно взятому гражданину разнятся по ситуации. От не попадаться до искать на жопу приключений - диапазон велик. Так что разница таки есть!
Wizard_of_light
Отправить перевод не на тот номер и уехать в дальние края за финансирование терроризма. Перейти не по той ссылке и уехать туда же за поиск экстремистских материалов. Написать пост в соцсеть и отправиться вдогонку за признаки оскорбления/разжигания/дискредитации. Не, простому Васе, который от зарплаты до зарплаты квасит под Шамана, скорее всего боятся нечего, а вот за Васю, у которого бизнес средней руки, уже волнительно. Не приглянется ли этот бизнес кому-нибудь, например.
progmanth
подержите ка мое пиво... взять чемодан в аэропорту не у "того" парня и полететь с этим чемоданам на юга в Тайланд и присесть там на ПЖ за перевозку ххх кг наркоты. Или это другое?
Чистоплотность и разумность во всем должна быть. Нельзя переводить деньги анонимам. Может он детским порно торгует или веществами? Или донат собирает чтобы склепать бомбу и что нибудь взорвать? Хватит уже инфантильно относиться к жизни. Взрослеть надо.
вот прям случайно перешел по ссылке и попал на страницу "поваренная книга анархиста" и присел? Пруфы есть о вынесенных приговорах за случайный клик?
Вы сильно удивитесь кол-ву приговоров в той же Англии за репосты и посты. Для сравнения в 2023м Англия 3300 Россия 400. Может детям пора уже головой думать что за "базар" отвечать надо. ( простите мой кривой французский )
если ваш Вася не нарушает закон и весь в белом и пушистом - он нахрен никому не нужен. Если вы Чичваркина в суе вспомните или Малика Хатажаева ( Леста ) то там грехов на два пожизненных эциха с гвоздями.
Что я хотел сказать то этим: что "детям" ( да и как ни странно многим взрослым ) давно уже пора осознать что они несут ОТВЕСТВЕННОСТЬ за свои действия. Нравится это их нежной душевной натуре или нет.
ЗЫ панамку приготовил - накидывайте.
odmin4eg
А вы погуглите пруфы, есть подробный разбор, что не "приговор", а арест\допрос\повторный допрос.
а если попробовать вбить в гугле "Канские подростки"?
progmanth
а если почитать не желтую прессу а материалы уголовного дела? и мотивировочную часть суда?
там по хорошему у этих "детей" лет на 8 эцих без гвоздей
Old_paranoid
В последнее время понятие "не нарушает закон" очень сильно размылось, и чем крупнее бизнес, тем более размытые границы. "Добровольные взносы в бюджет" и вот это вот все.
progmanth
всегда можно отказаться. и тогда тендер не выиграешь. или проверка найдет не совсем законную оптимизацию налогов.
докопаться до любого бизнеса можно боле-менее крупного.
можно считать что это своего рода дань за то что государство закрывает ( временно ) глаза на шалости бизнеса с оптимизациями.
Old_paranoid
Ну так и речь о том, что для бизнеса даже теоретически невозможно быть белым и пушистым, и чем крупнее (бизнес), тем невозможнее.
Wizard_of_light
А с наркотиками, кстати, совершенно такая же во всех смыслах упоротая тема: найти у подозреваемого пакетик неизвестного порошка - избитая классика.
Как я понимаю, пока нет даже самих дел - закон приняли меньше двух недель назад. Но зато хорошо представляю, как организовать транзитную ссылку, в том числе и через поисковик, и как трудно будет доказать что ты совсем не туда собирался зайти и не собирался ничего сохранять, особенно если ты простой Вася, а против тебя заключение эксперта, которому нет причин не доверять.
Многие взрослые, и даже некоторые дети, уже хорошо понимают - чем тоньше лёд, тем проще жить акулам.
progmanth
ну то что было нормой 40-50 лет назад сейчас представляется в другом свете. Пора взрослеть. Мир изменился и как раньше в старые ламповые времена уже не будет никогда.
Интернет не анонимный. И писать безответственно что угодно больше не получится.
В самолетах нельзя курить, досмотр в аэропортах не отменят.
Возмущаться против этого, все равно что ссать против ветра. Простите мой кривой французский.
Andy_U
Критиковать офицально-опубликованную информацию - безответственно?
Wesha
Критикуйте сколько угодно. У себя на кухне. Не забудьте
анальный зоАлису сперва выключить. Вам же говорят: времена изменились: раньше точно так же критиковали на кухне в узком кругу — а теперь каждый блохер сам себе СМИ. Я не говорю, что «это хорошо» — я говорю, что это дивный новый мир, «объективная реальность, данная нам в ощущениях».progmanth
вы в своей критике рамки закона не переходите и оперируйте фактами а не домыслами. А то и на клевету можно словить статью.
RTFM13
Другими словами, "критикуйте так, чтобы нам нравилось".
Нет,
спасибо.