И снова, после небольшого перерыва, представляю вам главные новости из мира безопасности мобильных приложений за июнь. Было много интересных материалов - давайте посмотрим на самые важные из них.

Новости
Недавно я несколько раз писал про интересный инструмент radare2. Его и так небедную функциональность легко расширять различными плагинами. Или же наоборот, дополнять его фичами другие инструменты.
Например, одна из таких интересных интеграций может быть с не менее популярным инструментом Ghidra. Благодаря такой связке процесс реверса может стать чуточку проще.
Более подробно об этом плагине и примерах использования автор рассказал на r2con2019.
Новое ограничение Android 13 для Accessibility APIs
Очень часто различные зловреды на Android использует сервисы Accessibility API для того, чтобы получить данные пользователя. Вот один из примеров: натянуть оверлей поверх всего экрана и считывать нажатия или получить события нажатия любых кнопок в приложении.
Как я писал в статье про развитие механизмов безопасности Android, если в первых версиях Google фокусировался на усилении безопасности самой системы и борьбе с фрагментацией, то в последних версиях что Google, что Apple устроили гонку по защите приватности пользователей. Тут тебе и ограничения на использование сенсоров, и доступ к геолокации и к различным идентификаторам, которые помогали идентифицировать устройство пользователя.
Теперь изменения пошли немного дальше и коснулись Accessibility API. Одно из главных состоит в том, что доступ к этим службам не смогут получить приложения, которые были установлены не из магазина Google Play.
Об остальных нововведениях (а также об истории и возможностях этой службы) читайте в статье.
Уязвимость утечки данных в процессорах Apple Silicon
Уязвимость (или даже вектор атаки) в новых процессорах Apple с интересным названием "Augury" представила группа исследователей.
По сути, эта атака представляет собой использование особенности микроархитектурной оптимизации Data Memory-DependentPrefetcher (DMP).
Насколько это серьезно? По словам авторов, пока все не так страшно, поскольку нет ни одного эксплойта, который бы использовал подобную технику. Да и получить можно только указатели.
Но хотелось бы верить, что все небольшие уязвимости и векторы атак сложатся в пазл и в итоге приведут наконец-то к jailbreak для 15 iOS.
На этот раз героем статьи оказалось вирусное приложение в виде QR-сканера (странно, что не калькулятор) с более чем 10 тысяч загрузок.
Не знаю почему, но эта статья мне приглянулась. Там не очень много подробностей, показан основной принцип работы 90% подобных вирусов и есть примеры общения с С&C-сервером, а полезную нагрузку он закачивал с Github.
Но тем не менее, почему-то я ее с интересом прочитал. Наверное, чтобы убедиться, что перехват смс и скрытие их от пользователей по-прежнему работает так же, как и 10 лет назад.
Можно еще и блог этой компании полистать - найдете немало достаточно интересных статей.
Определение «зловредности» приложения.
Попался на глаза интересный репозиторий, который, используя специально обученную ML-модель, определяет, является ли Android-приложение malware и с какой вероятностью.
Сеть натренирована на репозитории, в которых представлена куча всяких зловредов под Android (около 300 штук) на любой вкус. Можно самому посмотреть, как какой из них работает.
Интересно загрузить в него свои приложения и посмотреть, какие из них он посчитает вредоносными.
Уязвимости в предустановленных приложениях
А ещё и во фреймворке компании “mce Systems” исследователями Майкрософт были найдены уязвимости (их research-команда как-то мимо меня прошла, не знал, что они анализируют что-то кроме себя самих).
Вообще статья достаточно неплоха, и баги интересные (выполнение кода, инъекции JS, повышение привилегий через десериализацию). Описано все тоже с умом, иногда даже с советами, как можно избежать проблем.
В общем, интересно почитать. Если вам на проверку придет приложение с похожей библиотекой или если вы ее используете, вспомните про этот пост и проверьте, нужная ли версия используется.
Полезный Frida-tool для iOS/Android
Достаточно интересный репозиторий для анализа iOS-приложений, который представляет собой обвязку над несколькими функциями фриды и умеет делать еще несколько полезных вещей:
дамп расшифрованного ipa
логи с устройства
отключение проверки на jailbreak/pinning
получение дампа памяти с приложения
И ещё много интересной функциональности, которой можно управлять из единого места. Написано на Python, так что без труда можно модифицировать под себя.
Рядом лежит второй похожий репо этого же автора, только для Android. Тот же самый функционал с набором разных скриптов под frida. Можно что-то интересное подсмотреть.
И последний репозиторий от этого же автора, с большим количеством видео и примерами по использованию, включая перехват зашифрованного трафика для некоторых приложений, которые дополнительно делают что-то с данными при передаче их на сервер.
Кстати, видео-уроки/демо по работе с этими инструментами есть у автора на Youtube, так что можно вживую посмотреть, как эти инструменты работают.
Хорошая статья, правда, не про приложения, а про мобильные устройства и их хардварную часть.
Уязвимость в чипсете UNISOC, которая позволяет, по факту, полностью отключить человека от мобильной сети.
Статья интересна техническим описанием протоколов и различными схемами коммуникации, многочисленными отсылками к документации и спецификациям. В общем, для лучшего понимания, как наши устройства работают, - самое то!
Реверс iOS-приложений для начинающих
Отличная статья по реверсу и модификации iOS-приложений для начинающих!
Никаких больших и тяжелых софтин, вроде IDA, дизассемблеров и прочего, только классика - otool, cycript и lldb.
Очень рекомендую всем, кто желает попробовать свои силы и начать погружаться в тему безопасности iOS. В качестве тренировки автором написано простое приложение, на котором и предлагается проверить себя. Также может подойти в дальнейшем для какого-то простенького CTF или задачки на собеседовании.
Malware под iOS, мимикрирующая под криптокошельки
Прочитал интересную статью, посвященную разбору и анализу вредоноса под iOS, целью которого являются различные криптокошельки пользователей.
Если говорить про Android, то тут всё достаточно просто, - различного вида и модификаций зловредов там огромное количество, чего не скажешь про iOS. Основной проблемой последнего является сложность установки приложений не из магазина и полная зависимость от Apple в этом плане.
Как же действовали в этом конкретном случае? Насколько я понял, брали оригинальное приложение, модифицировали его, добавляли библиотеку .dylib, паковали, подписывали своим Apple provisioning profile и выкладывали на фейковые домены, которые мимикрировали под оригинальные сайты криптобирж и кошельков.
Ну а далее - заманивали людей на сайты, они скачивали приложение, нажимали «доверять» и пошло поехало!
В статье описаны технические подробности всего вышеперечисленного, с детальным описанием.
Начало цикла статей по Android Internals
Достаточно познавательная статья о внутреннем устройстве Android. Название многообещающее: “Android Internals for Reverse Engineers”.
В первой (и пока что единственной главе) описываются базовые понятие из мира Android, что такое Dalvik Bytecode, как он выполняется, из чего состоит и т.д.
Вообще, автор анонсировал дальнейшее продолжение и я его жду, потому что материал, его подача и контент воспринимаются достаточно легко, понятно и информативно. Пока ничего особо нового, но освежить знания никогда не поздно.
Отличная заметка по реверсу и замене функции на свою в рантайме
Первая из статей, про подмену функций в рантайме, анализ логики, работа со смещениями, lldb и другим не менее интересным инструментом для дизассемблирования ARMv8 инструкций в runtime - armadillo.
Важно, что это статья от нашего соотечественника на родном, русском языке! Отличный материал, очень подробное повествование с примерами и результатом в виде готового проекта - hijack-shared-library-function.
И ещё серия статей от автора предыдущей статьи, но уже про Android Auto.
На самом деле я никогда даже не задумывался, как это всё работает под капотом, как реализована интеграция и какие протоколы используются при подключении телефона к машине. А ведь это целый новый дивный мир!
Хотел бы представить вашему внимаю две крайне интересные статьи:
Android Auto on Real Android - статья про андроид авто, его эмуляцию, работу с ним по USB и много-много других классных вещей
TLS 1.2 brief insight - материал, описывающий принцип работы tls, очень качественно и подробно, а также способ дампа ключей, использующихся при установке соединения, а также репозиторий для расшифровки этого трафика и логирования ключей
Заключение
По традиции, напоминаю, что много интересных материалов по теме публикуется в Telegram-канале про мобильную безопасность Mobile Appsec World. Также они добавляются в репозитории, где всегда можно найти интересующие темы по безопасности:
Хотите что-то добавить? Жду вас в личных сообщениях, комментариях под постами, а может быть даже и в Pull Request.
Всем спасибо!

