Учим безопасность на ошибках Android-InsecureBankv2 как учебный полигон

17 Apr, 2024

Репозиторий давно не обновлялся

Последнее обновление было 2 года назад.

1,447
🔱 510
👥 51

Как часто вам приходилось в реальном проекте осознавать: "Если бы мы знали об этой уязвимости раньше..."? Android-InsecureBankv2 — это уникальный проект, который позволяет учиться на чужих (и специально созданных) ошибках безопасности.

Что это за "банк", куда можно вкладывать баги?

Android-InsecureBankv2 — это учебное Android-приложение, намеренно напичканное типичными уязвимостями. Оно создано Dinesh Shetty для безопасного обучения мобильной безопасности. Представьте себе: настоящий банковский интерфейс с функциями входа, переводами и счетами — только все уязвимости здесь не случайны, а тщательно спланированы.

Автор проекта не просто перечислил проблемы, но и снабдил приложение серверной частью на Python, чтобы можно было тестировать комплексные атаки.

Топ-5 причин попробовать этот проект

  1. Реальные уязвимости в одном месте — 25+ известных проблем безопасности в одном приложении:

    • Утечки данных через логи
    • Небезопасные WebView
    • Проблемы с шифрованием
    • Уязвимости Content Provider
    • Backdoor-доступ
  2. Идеальный тренажёр для пентестеров — можно отрабатывать:

    Реклама
    • Анализ защитных механизмов (root/эмулятор detection)
    • Инъекции и манипуляции с данными
    • Восстановление hardcoded-секретов
  3. Готовый лабораторный стенд — серверная часть включена:

# Пример запуска сервера
python server.py --port 8888
  1. Тестовые аккаунты для быстрого старта:

    • dinesh/Dinesh@123$
    • jack/Jack@123$
  2. Постоянно обновляется — автор регулярно добавляет новые типы уязвимостей.

Как это работает под капотом?

Проект состоит из:

  • Android-приложения (Java)
  • Сервера на Python 2 (Flask)
  • Набора преднамеренных уязвимостей разного уровня критичности

Интересный момент — многие уязвимости замаскированы под легитимный функционал, как в реальных приложениях.

Кому особенно пригодится?

  • Мобильным разработчикам, которые хотят понять, как не надо делать
  • Специалистам по безопасности, отрабатывающим пентест
  • Преподавателям курсов по мобильной разработке
  • Студентам, изучающим кибербезопасность

Автор даже выступал с этим проектом на Black Hat — видно, что дело серьёзное.

Личный опыт тестирования

При первом запуске особенно впечатлили:

  1. Возможность перехвата сессии через Broadcast Receiver
  2. Доступ к данным через не защищённый Content Provider
  3. Жёстко зашитые в коде пароли (да, так всё ещё делают!)

Как начать?

  1. Клонируем репозиторий:
git clone https://github.com/dineshshetty/Android-InsecureBankv2.git
  1. Запускаем сервер
  2. Устанавливаем APK на эмулятор или устройство
  3. Пробуем взломать сами себя!

Вывод: ценный учебный ресурс

Android-InsecureBankv2 — это редкий случай, когда ошибки не просто допускают, а тщательно проектируют. Проект особенно ценен своей практической направленностью: здесь можно увидеть, как выглядят реальные уязвимости и какие последствия они несут.

Для мобильных разработчиков это must-have в коллекции учебных проектов. Ведь как говорится: "Предупреждён — значит вооружён".

P.S. Не забудьте, что это учебное приложение — не используйте его для реальных банковских операций!

🍪 Мы используем файлы cookie и сервис аналитики Яндекс.Метрика, чтобы сайт работал лучше. Продолжая пользоваться devtrends.ru, вы соглашаетесь с обработкой данных согласно Политике конфиденциальности.