В этом выпуске: Google следит за тобой, новый вектор атак на мобильные устройства, реверс зашифрованных вирусов, анализ исходного кода Android на уязвимости и 47 уязвимостей в Android-устройствах. А также: лучшие онлайн-инструменты разработчика Android, скрытые возможности Kotlin и свежие библиотеки для программистов.
 

Инструменты

  • ARTist — DBI-фреймворк, подобный Frida, но использующий намного более интересный метод модификации приложения: подмену скомпилированного на устройстве OAT-файла приложения на другой; более подробно описан в документе, опубликованном на сайте Black Hat;
  • House — очередная обертка вокруг Frida для новичков;
  • jelbrekTime — джейлбрейк для Apple watch S3 watchOS 4.1;
  • Sirius Obfuscator — обфускатор исходного кода на языке Swift.
 

Почитать

 

Google следит за тобой

Google Data Collection — доклад исследователей из университета Вандербильта, посвященный сервисам компании Google, а точнее тому, как компания использует эти сервисы для сбора информации о пользователях. Общий вывод таков, что от Google не скрыться при всех стараниях, а конкретные данные следующие:

  • смартфон Android в спящем режиме с активированным браузером Google Chrome передает информацию о местоположении 340 раз в сутки. В целом смартфон с установленным Chrome отправляет данные в 50 раз чаще, чем iOS с Safari;
  • неактивное Android-устройство взаимодействует с Google почти в десять раз чаще, чем устройство Apple взаимодействует с серверами Apple;
  • используя рекламные сети, Google может связать анонимные данные с личной информацией пользователя; например, если искать информацию через Google, используя браузер Firefox, Google может определить, что тот, кто ищет, — владелец такого-то телефона;
  • большую часть данных Google собирает в то время, когда пользователь не взаимодействует напрямую с каким-либо из продуктов Google.
Количество данных, отправленных Android и iOS в сутки
Количество данных, отправленных Android и iOS в сутки
 

«Новый» вектор атак: Man-in-the-Disk

Man-in-the-Disk: A New Attack Surface for Android Apps — так называемый новый вектор атак на приложения для Android от компании Check Point. Суть в том, что в Android внешний накопитель, а именно карта памяти (даже если она внутренняя), использует файловую систему без разделения прав доступа, а значит, если одно из приложений сохранит что-то на карту памяти, любое другое приложение сможет это что-то прочитать и/или изменить.

Атака как раз и заключается в том, что злоумышленник создает приложение, которое затирает или подменяет чужие файлы. Например, можно вызвать сбой в Google Translate, Yandex Translate, Google Voice Typing и Google Text-to-Speech. Но, что более интересно, в некоторых случаях можно подменить установленное приложение затрояненным вариантом. Например, если приложение сохраняет файл своего обновления на карту памяти, достаточно подменить его, и в качестве обновления будет установлено совсем не то, что нужно. Так, например, можно сделать с Xiaomi Browser.

Стоит отметить, что это вовсе не новый вектор атак. Об этой проблеме известно с первых версий Android, поэтому Google всегда призывала разработчиков рассматривать карту памяти как склад бесполезного хлама и не хранить на ней ничего важного. Да, ее собственный Google Translate падает при удалении кеша, но что важнее — разгрузить внутреннюю память смартфона или защититься от каких-то непонятных людей, которые захотят уронить твой Google Translate?

 

47 уязвимостей в устройствах Android

DEF CON 2018: Vulnerable Out of the Box — An Evaluation of Android Carrier Devices — исследование компании Kryptowire, посвященное поиску уязвимостей в Android-устройствах различных производителей: Alcatel, ASUS, LG, ZTE, Sony, Nokia, Orbic, Oppo, MXQ и других.

Итог: в общей сложности найдено 47 уязвимостей, включая крах прошивки, очистку всех данных пользователя, скрытое создание скриншотов и скринкастов, получение root, незаметную установку приложений, скрытую отправку SMS и доступ к адресной книге.

Стоит отметить, что все эти уязвимости отсутствуют в чистом Android (том, что установлен на Google Pixel или Essential, например) и выявлены в модифицированных производителем частях прошивки и драйверах.

 

Как реверсят вирусы

Unpacking the Packed Unpacker — интересная презентация девушки из команды Android Security Team и по совместительству разработчика IDAPython о том, как отреверсить приложение, запакованное зашифрованным пакером.

Главный интерес здесь, конечно же, не в уникальности материала, а в его подаче. Несмотря на то что это не статья и не вайтпейпер, а всего лишь набор слайдов, он легко читается и полностью вводит в курс дела: зачем нужны нативные библиотеки, как они используются в приложении, что такое формат JNI, как определить, что библиотека зашифрована (отсутствие JNI-функций и повторяющийся луп в начале), как сделать дешифратор (самый простой вариант: переписать ассемблерный код на Python и использовать IDAPython, чтобы дешифровать код), как вирусы проверяют, что находятся в эмулируемой среде, и как эту проверку обойти.

Например, проверка на запуск приложения под управлением Xposed делается так:

  1. Поиск LIBXPOSED_ART.SO и XPOSEDBRIDGE.JAR в файле /proc/self/maps (этот файл показывает все отображенные в текущий процесс файлы, в том числе библиотеки).
  2. Поиск любого из двух методов de/robv/android/xposed/XC_MethodHook, de/robv/android/xposed/XposedBridge с помощью JNI-метода FindClass().
Как вирусы выполняют проверку на процессор
Как вирусы выполняют проверку на процессор

Продолжение доступно только участникам

Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте

Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее

Вариант 2. Открой один материал

Заинтересовала статья, но нет возможности стать членом клуба «Xakep.ru»? Тогда этот вариант для тебя! Обрати внимание: этот способ подходит только для статей, опубликованных более двух месяцев назад.


Оставить мнение