Google Play Integrity API научили проверять источник Android-приложений

Google Play Integrity API научили проверять источник Android-приложений

Google Play Integrity API научили проверять источник Android-приложений

В Play Integrity API добавлена возможность верификации установки Android-софта из магазина Google. Вердикт «UNLICENSED» разработчик теперь может использовать для блокировки доступа либо через подсказку настоять на скачивании версии с Google Play.

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

Предотвратить sideloading помогает Play Integrity API — средство предоставления разработчикам информации о надёжности запущенных приложений. Проверки проводятся по различным параметрам, в том числе определяются целостность бинарника, обратившегося к серверу, и наличие на устройстве поддержки Google Play (а теперь и наличие соответствующего аккаунта у текущего пользователя).

Вызов Play Integrity API может происходить на любом этапе выполнения программы. Разработчик также волен выбрать реакцию приложения на результаты проверок.

 

Новую опцию (проверку «подлинности» пользователя) уже освоили некоторые создатели игр для Android. На GitHub опубликован код, демонстрирующий данную функциональность.

Когда Play Integrity API возвращает вердикт «UNLICENSED», пользователю выводится диалоговое окно с предложением установить софт через Google Play. Если последовать этой подсказке, приложение добавится в библиотеку Play Store (нелегитимная версия удаляется вместе со связанными данными) и с этого момента будет получать апдейты из официального источника.

Linux-руткиты поумнели: теперь они прячутся в eBPF и io_uring

Linux-руткиты долго оставались где-то в тени по сравнению с Windows-аналогами, но сейчас ситуация меняется. Причина понятная: Linux всё плотнее сидит в облаках, контейнерах, IoT и корпоративной инфраструктуре, а значит, и интерес злоумышленников к нему растёт. Исследователи из Elastic обратили внимание на новую тенденцию: современные Linux-руткиты всё чаще прячутся не в «экзотике», а во вполне легитимных механизмах ядра — eBPF и io_uring.

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

Защитные меры в Linux-средах стали жёстче: Secure Boot, подпись модулей, режимы lockdown, стандартные средства аудита. В результате старые методы либо быстро выявляются, либо вообще не работают. И вот тут злоумышленники начали использовать то, что уже встроено в систему и изначально создавалось совсем не для атак.

Один из главных инструментов в этой новой волне — eBPF. Изначально он нужен для фильтрации пакетов, трассировки и других полезных низкоуровневых задач. Но проблема в том, что eBPF позволяет выполнять код внутри ядра, не подгружая классический модуль. Для атакующего это почти подарок: можно цепляться к системным вызовам или событиям Linux Security Module и делать это так, что обычные сканеры вроде rkhunter или chkrootkit просто ничего не заметят. Формально модуль ядра не загружался, и искать вроде бы нечего.

 

По сути, это даёт злоумышленнику очень тихий способ вмешиваться в работу системы: скрывать файлы, влиять на процессы, фильтровать сетевой трафик и при этом почти не оставлять привычных следов. Elastic приводит в пример такие проекты, как TripleCross и Boopkit, которые показывают, как eBPF можно использовать для перехвата системных вызовов и даже для скрытого канала управления.

Вторая интересная история — io_uring. Интерфейс io_uring появился в Linux как быстрый способ асинхронного ввода-вывода: он позволяет пачками отправлять операции в ядро через кольцевые буферы общей памяти. Для производительности это отлично. Для атакующего — тоже. Вместо того чтобы вызывать множество отдельных системных вызовов, процесс может передать целую очередь операций сразу. А значит, системам мониторинга, которые привыкли ловить активность по отдельным системным вызовам, становится заметно сложнее увидеть полную картину.

Именно поэтому io_uring всё чаще рассматривают как удобный механизм ухода от EDR и других средств наблюдения. Если упрощать, телеметрии становится меньше, шума тоже, а вредоносная активность растворяется в «нормальной» работе системы. В материале Elastic упоминается, например, экспериментальный руткит RingReaper, который показывает, как через io_uring можно скрытно подменять типовые операции вроде read, write и connect.

RSS: Новости на портале Anti-Malware.ru