Новость из категории: Информация

Баги в приложениях для Android: пара слов о безопасности и инструменты для анализа

Содержание:
1. Введение;
2. Пара слов о безопасности и инструменты для анализа (Вы читаете данный раздел);
3. Динамический анализ;
4. Какие бывают уязвимости;
5. SQLite-inj в приложении.
Пара слов о безопасности

Баги в приложениях для Android:  пара слов о безопасности и инструменты для анализа

Безопасность ОС Android находится на довольно высоком уровне. Как уже было сказано ранее, у каждого приложения есть файл AndroidManifest.xml, в котором прописываются все необходимые приложению разрешения (их выставляет пользователь, когда устанавливает приложение). Если приложению не разрешить отправлять SMS, то оно не сможет это делать. Такие разрешения контролируются на уровне ОС и регулиру-ются как раз с помощью этого файла. По этой причине вредоносное приложение можно определить по наличию странных прав, например, эксплойт Gingerbreak не сработает, если у приложения нет прав на монтирование/ размонтирование SD-карты. Согласись, странно, если новая версия любимых Angry Birds потребует такого.



Помимо этого, у каждого приложения есть свой уникальный ID и GID, а файлы самого приложения доступны только этому приложению (другими словами, имеют права -rw-rw----).

Баги в приложениях для Android:  пара слов о безопасности и инструменты для анализа

Пытаемся провести инжект и вызываем ошибку SQL

При старте каждого приложения запускается своя VM (Java & Dalvik), но для эксплуатации многих уязвимостей, о которых речь пойдет далее, дополнительные права не требуются. Часто достаточно разрешения на работу с интернетом, и тогда злоумышленник сможет в режиме реального времени получать все данные. А если у него деструктивные наклонности, то и этого не надо. К примеру, достаточно установить «живые» обои, не требующие никаких прав, зато удаляющие все твои заметки через SQL-инъекцию.

Да, c iOS подобный тюк не пройдет, так что Вы можете быть спокойны за безопасность своего устройства и, к примеру, приобрести чехлы для iphone 5s (http://sintos.ru/shop/group/iphone_5_5s), который станет дополнительным залогом уже физического состояния телефона!

Инструменты для анализа

Как и в обычном реверсинге, программы-помощники разделяются на две категории: для статического и динамического анализа.

Статический анализ
Основной утилитой является dex2jar, которая входит в состав многих утилит, — о ней уже не раз упоминалось на страницах журнала, поэтому опустим подробности. Да и навыков особых она не требует, небольшой алгоритм декомпилирования приложения мы описали в предыдущей главе. Некоторое время назад в Сети появилась компания со своим мегапродуктом, который «шифровал» твое приложение. На самом деле он использовал ошибку в утилите dex2jar, которую довольно оперативно исправили. Далее, получив обычный Java-код, воспользуемся любым Java-декомпилятором. Я предпочитаю два: JD-GUI и jad, графический и консольный. У графического есть небольшая проблема: некоторые куски кода он оставляет в виде байт-кода, поэтому приходится какие-то классы декомпилировать еще раз уже с помощью jad. Если такой алгоритм не сработал, придется работать на уровне smali/backsmali-кода с помощью одноименных утилит. Ну и конечно, пригодится IDA: начиная с версии 6.1, у нее появилась поддержка ARM-архитектуры и работает распаковка APK-файлов. Стоит отметить, плагин Androguard для редактора Sublime Text (bit.ly/W5e0n2) заменяет многие утилиты, описанные выше. В его арсенале имеются встроенные декомпиляторы как Java-, так и smali-кода, конвертор XML-файлов, например AndroidManifest.xml, в обычный текстовый и многое другое.

Помимо программ для реверсинга, в Сети есть утилита для сканирования приложения на наличие уязвимостей — ScanDroid. Последняя представляет собой небольшой скрипт на Ruby, который является оберткой для утилит-декомпиляторов, а правила задаются в текстовом файле, поэтому без проблем всегда можно написать свои. Есть подробная статья по работе с ней и перевод: bit.ly/VdAEtu.

Рейтинг статьи

Оценка
0/5
голосов: 0
Ваша оценка статье по пятибальной шкале:
 
 
   

Поделиться

Похожие новости

Комментарии

^ Наверх