Огромная подборка для исследования безопасности Android-приложений

Большая подборка инструментов, статей, книг и всего, что может пригодиться исследователю безопасности Android.

Инструменты

Онлайн-анализаторы

  1. AndroTotal — простой бесплатный сканер apk.
  2. Tracedroid — бесплатный динамический анализ apk.
  3. AVC UnDroid —бесплатный статический анализ apk.
  4. Mobile Malware Sandbox — бесплатный сервис, который анализирует подозрительные apk на предмет подозрительной активности.
  5. NVISO ApkScan — бесплатно проверяет apk на наличие вредоносов.
  6. Virustotal — анализ файлов на наличие угроз. Максимальный размер файла — 128 МБ.
  7. AppCritique — загрузите apk-файл и получите бесплатную подробную оценку безопасности приложения.
  8. Платные инструменты:
    • Appknox;
    • Fraunhofer App-ray;
    • IBM Security AppScan Mobile Analyzer;
    • NowSecure Lab Automated — инструмент для тестирования безопасности Android- и iOS-приложений. Lab Automated предоставляет возможность провести статический и динамический анализ на реальных устройствах в облаке и вернуть результат за считанные минуты. Платно.

Сканеры уязвимостей приложения

  1. QARK — сканер уязвимостей от LinkedIn.
  2. AndroBugs — фреймворк для поиска уязвимостей.
  3. Nogotofail — инструмент для тестирования сетевой безопасности приложения.
  4. Devknox — автоматически исправляет проблемы безопасности так же просто, как IDE проверяет орфографию.
  5. JAADAS — инструмент внутрипроцедурного и межпроцедурного анализа для поиска уязвимостей в Android-приложениях, написан на Soot и Scala.

Настольные инструменты для статического анализа

  1. Androwarn — определяет потенциально вредоносное поведение приложения и уведомляет о нём пользователя.
  2. ApkAnalyser — инструмент для виртуального статического анализа приложений.
  3. APKInspector — GUI-инструмент для анализа apk.
  4. Инструменты от университета штата Пенсильвания.
  5. Генератор Smali CFG.
  6. FlowDroid — высокоточный статический анализатор.
  7. Droid Intent Data Flow Analysis for Information Leakage — совмещает в себе FlowDroid и Epicc для обнаружения потенциальных проблем в безопасности приложения.
  8. Android Decompiler — платный декомпилятор Dalvik, MIPS, ARM и x86.
  9. PSCout — инструмент, который извлекает спецификацию разрешений из исходного кода Android, используя статический анализ.
  10. Amandroid — фреймворк для статического анализа.
  11. SmaliSCA — статический анализ Smali-файлов.
  12. CFGScanDroid — сканирует CFG приложения и сравнивает его с CFG вредоносных приложений.
  13. Madrolyzer — извлекает из малвари разные полезные данные вроде C&C.
  14. SPARTA — проверяет уровень безопасности приложения. Построен на фреймворке Checker.
  15. RiskInDroid — инструмент для рискового анализа Anrdoid-приложений на основе их разрешений.
  16. SUPER — анализатор приложений, написанный на Rust.
  17. StaCoAn — инструмент для статического анализа кода с большим упором на юзабилити и пользовательский интерфейс.

Настольные инструменты для динамического анализа

  1. Androl4b —  виртуальная машина для оценки безопасности Android-приложений, реверс-инжиниринга и анализа потенциальных вредоносов.
  2. Android Malware Analysis Toolkit — известный Linux-дистрибутив, который раньше был представлен в виде онлайн-анализатора.
  3. Mobile-Security-Framework MobSF — open source фреймворк для автоматизированного пентестинга мобильных (Android/iOS) приложений. Может выполнять статический и динамический анализ, а также тестирование веб-API.
  4. AppUse — виртуальная машина для пентестинга.
  5. Cobradroid – сборка Android, предназначенная для анализа малвари.
  6. Droidbox — инструмент для динамического анализа, который выдаёт подробный отчёт после завершения работы.
  7. Drozer — фреймворк для оценки безопасности приложения.
  8. Inspeckage — динамический анализ с помощью API-хуков (модуль Xposed).
  9. Android Hooker — автоматизированный динамический анализ Android-приложений. Для работы требуется фреймворк Substrate.
  10. ProbeDroid — предоставляет API для создания собственных инструментов, которые позволяют проводить трассировку, профилировать и изменять поведение запущенного приложения.
  11. Android Tamer — платформа для специалистов в безопасности Android. Эта платформа позволяет работать с большим количеством задач, связанных с безопасностью Android, от анализа вредоносов и пентестинга до реверс-инжиниринга.
  12. DECAF — фреймворк для динамического анализа, основанный на QEMU.
  13. CuckooDroid — Android-расширение для песочницы Cuckoo.
  14. Mem — анализ памяти Android (требуется рут).
  15. Appie — программное обеспечение для пентестинга. Полностью портативен, можно загрузить на флешку или смартфон. Пакет содержит в себе все необходимые инструменты для оценки безопасности приложения и служит прекрасной альтернативой существующим виртуальным машинам.
  16. Vezir Project — виртуальная машина для пентестинга мобильных приложений и анализа вредоносов.
  17. MARA — фреймворк для реверс-инжиниринга и анализа мобильных приложений.

Реверс-инжиниринг

  1. Smali/Baksmali — декомпилятор apk.
  2. Подсветка синтаксиса для smali-файлов в Emacs.
  3. Подсветка синтаксиса для smali-файлов в Vim.
  4. AndBug — Android-дебаггер.
  5. Androguard — мощный инструмент для реверс-инжинирнга Android-приложений, полностью написанный на Python.
  6. Apktool — полезный инструмент для компиляции/декомпиляции (использует Smali).
  7. Android Framework for Exploitation — фреймворк для взлома Android-устройств и приложений.
  8. Обход подписи и проверки доступа для IPC.
  9. Android OpenDebug — позволяет проводить отладку любого приложения.
  10. Конвертеры:
    • Dare — из dex в class;
    • Dex2Jar — из dex в jar;
    • Enjarify — из dex в jar от Google.
  11. Dedexer — dex-дизассемблер.
  12. Frida — внедряйте JavaScript-код в приложения для их исследования. Есть GUI-инструмент.
  13. Indroid — инструмент для удалённых инъекций вредоносного кода в приложения.
  14. Introspy — инструмент для анализа действий работающего приложения и выявления потенциальных проблем безопасности.
  15. Java-декомпиляторы:
  16. Redexer — всевозможные манипуляции с apk.
  17. Simplify — деобфускатор приложений.
  18. Bytecode Viewer — инструмент с обширными возможностями для реверс-инжиниринга.
  19. Radare2 — фреймворк для реверс-инжиниринга.

Фаззинг

  1. IntentFuzzer — фаззер для поиска багов и уязвимостей.
  2. Android-порт фаззера Radamsa.
  3. Honggfuzz — простой в использовании фаззер с множеством опций.
  4. Android-порт ELF-фаззера melkor.
  5. Media Fuzzing Framework for Android — фреймворк для фаззинга, написанный на Python.

Обнаружение перепакованных приложений

  1. FSquaDRA — инструмент для обнаружения перепакованных приложений путём сравнения хешей ресурсов приложения.

Сканеры магазина приложений

  1. Сканер Google play (Java).
  2. Сканер Google play (Python).
  3. Сканер Google play (Node) — даёт подробную информацию о приложении и предоставляет возможность скачать его.
  4. Aptoide-загрузчик (Node) — загрузка приложений из альтернативного магазина приложений Aptoide.
  5. Appland-загрузчик (Node) — загрузка приложений из альтернативного магазина приложений Appland.
  6. Apkpure — онлайн-загрузка apk. Есть собственное приложение для загрузки.

Прочие инструменты

  1. AXMLPrinter2 — преобразование XML-файлов в читабельный вид.
  2. adb-автодополнение.
  3. Опкоды Dalvik.
  4. ExploitMe Android Labs — лаборатории для практики эксплойта.
  5. GoatDroid — тренировочное окружение для практики эксплойта.
  6. mitmproxy — HTTP-прокси для пентестеров.
  7. dockerfile/androguard — Docker-файл для установки зависимостей androguard.
  8. Android Vulnerability Test Suite — сканирует устройство на предмет наличия известных уязвимостей.
  9. AppMon — автоматизированная система для мониторинга и изменения API-вызовов нативных приложений на macOS, iOS и Android. Основана на Frida.

Чтение по теме: Большая подборка ресурсов для изучения Android-разработки

Доклады/статьи/книги

Доклады-исследования

  1. Exploit Database — отчёты об эксплойтах.
  2. Презентации, связанные с безопасностью Android.
  3. Хорошая подборка статей о статическом анализе.

Книги

  1. SEI CERT Android Secure Coding Standard.

Прочее

  1. OWASP Mobile Security Testing Guide Manual — руководство OWASP по ИБ тестированию мобильных приложений.
  2. Android Reverse Engineering 101 by Daniele Altomare — серия статей о реверс-инжиниринге Android-приложений.
  3. doridori/Android-Security-Reference — справочник по безопасности.
  4. android app security checklist — чеклист для проверки безопасности приложения.
  5. Mobile App Pentest Cheat Sheet — шпаргалка по мобильному пентестингу.
  6. Mobile Security Reading Room — список для чтения, который содержит литературу и другие материалы о мобильном пентестинге, вредоносах, форензике и остальных вещах, связанных с мобильной безопасностью.

Эксплойты/уязвимости/баги

Списки

  1. Бюллетени по безопасности Android.
  2. Известные уязвимости Android.
  3. Состояние исправления уязвимостей устройств.
  4. Багтрекер Android.
  5. Exploit Database — огромная база данных разных эксплойтов.
  6. Google-таблица со списком уязвимостей.
  7. Классификация потенциально вредоносных приложений от Google Android Security Team.

Малварь

  1. androguard — open source база данных Android-малвари.
  2. Репозиторий с образцами Android-малвари.
  3. Admire — система, позволяющая анализировать разные магазины приложений Android в поиске потенциально вредоносных приложений.
  4. Drebin — база данных с огромным множеством (более 5000) образцов малвари.

Bounty-программы

  1. Android Security Reward Program — заработайте до 200,000 $ за нахождение уязвимостей.

Как сообщить об уязвимости

  1. Android — reporting security issues — официальная инструкция по уведомлению о наличии уязвимости.
  2. Android Reports and Resources — список раскрытых отчётов Hackerone и других ресурсов.

Чтение по теме: Подборка лучших Android-приложений для взлома и тестирования безопасности

Источник: android-security-awesome

Ещё интересное для вас:
Тест: какой язык программирования вам стоит выбрать для изучения?
Тест: как хорошо вы разбираетесь в Data Science?
Соревнования и бесплатная онлайн-школа для программистов

Вакансии в тему:

Wheely
IT Project Manager
IT Project Manager
Wheely, Москва, 160 000 ₽
«Банк Точка»
Android developer
Android developer
Банк Точка, Екатеринбург, 130 000 ₽