Курс
Анализ безопасности мобильных приложений (Mobile Application Security Analysis)

Цели модуля: познакомить слушателей с ОС Android и IOS. Учащиеся, научатся писать простые приложения Android и iOS, изучать и анализировать данные в запущенных приложениях, проводить реверс-инжиниринг пакетов поставки приложений .apk и .ipa а также искать и эксплуатировать типовые уязвимости мобильных приложений. В качестве артефакта у участников модуля останутся разработанное мобильное приложение Android и отчет по анализу защищенности мобильного приложения.

Записаться на обучение

Код курса

R-220

Аудитория курса:

Аудиторы

ИБ инженеры

IT специалисты

Специалисты по мониторингу ИБ

Что узнают слушатели:

Типовые уязвимости мобильных приложений

Изучат устройства системы Android OS и iOS, а также инструменты для работы с ними и ключевые технологии защиты окружения от взлома

Как анализировать зловредные пакеты приложений Android и iOS

Технологии защиты от перехвата трафика, и инструменты для обхода этих технологий

Средства автоматизации тестирования уязвимостей Android приложений и использование их на практике

Ознакомление с окружением iOS. Работа с MacOS, Xcode и iOS приложениями

Отличия процессов работы, BugBounty и как участвовать в CTF турнирах в области анализа защищенности мобильных приложений

Чему научатся слушатели:

Учащиеся, не имеющие опыта разработки мобильных приложений, научатся писать простые приложения Android

Проводить реверс-инжиниринг мобильных приложений Android и iOS, пакетов поставки приложений .apk и .ipa

Динамический анализ уязвимостей приложений iOS

Обнаруживать и эксплуатировать типовые уязвимости мобильных приложений

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

Программа обучения

15 занятий

60 ак. часов

Введение в ОС Android

Изучение устройства системы Android OS и инструментов для работы с ней


Содержание:

  • Подготовка к занятию
  • Устройство системы Android
  • Работа с Android через adb
  • Root привилегии
  • Получение привилегий Root на устройстве
  • Андроид приложения (Java, Kotlin)
  • Виртуальная машина Dalvik и ART
  • Получение APK из Android OS
  • Структура APK
  • Декомпиляция DEX в Java
  • Эмуляция Android OS

Упражнения:

  • Установка и настройка Android Studio, Adb и AVD
  • Эскалация привилегий root
Работа с Android OS и пакетами APK

Практическая работа с Android окружением, пакетам APK и извлечением исходного кода


Содержание:

  • Настройка среды Android через AVD
  • Запуск эмулятора Android OS
  • Подключение к эмулятору через adb
  • Получение привилегий root на эмуляторе
  • Изучение структуры файлов OS и конкретного приложения
  • Исследование кода приложения
Разработка Android приложения

Разработка приложения с несколькими экранами и элементами управления


Содержание:

  • Цикл жизни Android приложения
  • Обработка событий
  • Разработка визуальных элементов
  • Параметры элементов
  • XML представление элементов
  • Ресурсы программы
  • Связывание элементов представления с функциями и событиями
  • Создание функций
  • Activities & Intents
  • Подпись приложения
  • Обфускация кода

Упражнения:

  • Создать свое собственное приложение с нуля по инструкции
Реверс-инжиниринг Android приложений

Реверс-инжиниринг APK приложений с изменением логики через патчинг кода приложения


Содержание:

  • Реверс-инжиниринг
  • Java & Smali
  • Декомпиляция в Smali
  • Apktool и распаковка
  • Ресурсы
  • Патчинг
  • Сборка измененного приложения
  • Отладка Android приложения

Упражнения:

  • Декомпиляция кода и изучение исходных кодов приложения
Типовые уязвимости мобильных приложений Android

Разбор типовых уязвимостей мобильных приложений и поиск их в приложении diva-beta.apk


Содержание:

  • Проект OWASP Mobile
  • Уязвимости мобильных приложений
  • Системы оценки защищенности приложения
  • Поиск уязвимостей и работы по анализу защищенности
  • Практика поиска уязвимостей приложений

Упражнения:

  • П/з 1: Insecure Logging
  • П/з 2: Hardcoding Issues – Part 1
  • П/з 3: Insecure Data Storage – Part 1
  • П/з 4: Insecure Data Storage – Part 2
  • П/з 5: Insecure Data Storage – Part 3
  • П/з 6: Insecure Data Storage – Part 4
  • П/з 7: Input Validation Issues – Part 1
  • П/з 8: Input Validation Issues – Part 2
  • П/з 9: Access Control Issues – Part 1
  • П/з 10: Access Control Issues – Part 2
  • П/з 11: Access Control Issues – Part 3
  • П/з 12: Hardcoding Issues – Part 2
  • П/з 13: Input Validation Issues – Part 3
Типовые уязвимости мобильных приложений Android 2

Поиск уязвимостей в приложении интернет банкинга и анализ защищенности серверной части приложения


Содержание:

  • Практическое занятие по поиску уязвимостей в приложении банкинга

Упражнения:

  • П/з: Hardcoded secrets
  • П/з: Developer Backdoors
  • П/з: Insecure HTTP connections
  • П/з: Insecure SDCard storage
  • П/з: Weak Authorization mechanism
  • П/з: Local Encryption issues
  • П/з: Vulnerable Activity Components
  • П/з: Insecure Logging mechanism
  • П/з: Android Backup vulnerability
  • П/з: Sensitive Information in Memory
  • П/з: Insecure Webview implementation
  • П/з: Insecure Content Provider access
  • П/з: Application Patching
  • П/з: Android Pasteboard vulnerability
  • П/з: Application Debuggable
  • П/з: Android keyboard cache issues
  • П/з: Runtime Manipulation
  • П/з: Root Detection and Bypass
  • П/з: Intent Sniffing and Injection
  • П/з: Parameter Manipulation
  • П/з: Weak change password implementation
  • П/з: Flawed Broadcast Receivers
SSL-pinning и Frida-tools

Технологии защиты от перехвата трафика, и инструменты для обхода этих технологий


Содержание:

  • SSL-pinning
  • Certificate-pinning
  • Public-key-pinning
  • SSL Цепочка сертификатов и проверка цепочки
  • Перехват трафика при SSL-pinning
  • Методы имплементации SSL-pinning
  • Обход TrustManager
  • Работа с Frida
  • Frida скрипты
  • Frida Hooking, Tracking, Patching в рантайме
  • Objection

Упражнения:

  • Обход SSL проверки приложения из Google Play Store входящей в программу BugBounty HackerOne
Инструменты автоматизации анализа

Средства автоматизации тестирования уязвимостей Android приложений и использование их на практике


Содержание:

  • Методы анализа защищенности
  • Mobile Security Framework (MobSF)
  • Приложение-агент Drozer
  • Установка и настройка Docker Community Edition

Упражнения:

  • Работа с модулями приложения Drozer для оценки защищенности приложения Android.
Проведение работ по анализу защищенности мобильного приложения Android

Обсуждение процессов и деталей проведения работ по анализу защищенности мобильного приложения Android


Содержание:

  • Услуги анализа защищенности мобильных приложений
  • Процесс подготовки к работам
  • Сбор и согласование скоупа работ
  • Проведение работ и подготовка результатов
  • Проведение анализа по уровню L-1, L-2, R
  • Подготовка и формирование отчетной документации по завершению работ
  • Ключевые риски связанные с атаками на мобильные приложения и их клиентов

Упражнения:

  • Формирование отчетной документации по проведению работ по анализу защищенности мобильного приложения InsecureBankv2.apk
Введение в iOS

Ознакомление с окружением iOS. Работа с MacOS, Xcode и iOS приложениями


Содержание:

  • Apples OSs
  • iOS vs Android
  • Hackintosh
  • Virtual Env. Patching
  • Установка MacOS
  • Разработка приложений iOS
  • IDE Xcode
  • iOS Emulation
  • Файловая структура
  • MacOS package management
  • Инструменты iOS vs Android
  • Настройка Proxy
  • Настройка сертификата SSL для Proxy
Архитектура безопасности iOS

Ознакомление с архитектурой безопасности iOS и ключевыми технологиями защиты окружения от взлома


Содержание:

  • iOS Архитектура безопасности
  • Безопасность Hardware
  • Secure Boot
  • Code Signing
  • Шифрование и защита данных
  • Sandbox
  • Механизмы защиты от эксплойтов
  • Разработка ПО под iOS
  • Приложения в iOS
  • IPA Payloads — A Closer Look
  • App Structure on the iOS File System
  • The Installation Process
  • App Permissions
  • iOS Application Attack surface
Jailbreaking iOS

Получение доступа наивысших привилегий в iOS для проведения анализа защищенности приложений


Содержание:

  • Jailbreaking iOS
  • Alternative Installation (Impactor)
  • Application Trust
  • Cydia
  • OpenSSH
  • iPhone Management
  • iMazing
  • MobSF and IPA files
  • Encrypted Applications and Clutch
Динамический анализ приложений iOS

Динамический анализ уязвимостей приложений iOS


Содержание:

  • iOS Security
  • Data Storage
  • Keychain Dumping
  • Plist Dumping
  • Runtime Manipulation
  • Cycript
  • Process Injection
  • Исполнение кода
  • Дампинг классов
  • Frida for iOS
Типовые уязвимости приложений iOS

Работа с типовыми уязвимостями приложений iOS и изучение возможностей их эксплуатации


Содержание:

  • Тестирование пользовательских схем URL.
  • Тестирование web-view iOS
  • Определение того, предоставляются ли собственные методы через веб-представления
  • Тестирование каналов связи
  • Сетевое API iOS
  • Хранение данных на iOS
  • Защита от reverse-engineering iOS
BugBounty, CTF, Проектная деятельность

Отличия процессов работы, BugBounty и участия в CTF турнирах в области анализа защищенности мобильных приложений


Содержание:

  • Процесс проведения и согласования работ по анализу защищенности мобильных приложений с заказчиком работ
  • Исследование приложений из BugBounty программ
  • CTF турниры по анализу мобильных приложений

Упражнения:

  • Тестирование по пройденному материалу (IOS)
Записаться на обучение

Как проходит обучение

  • Иммерсивный подход
  • Фокус на практике. Более 70% времени обучения вы уделите развитию практических навыков.

  • Никаких записей с прошлых потоков
  • Обновляем контент перед каждым запуском курса, снимая актуальные запросы с рынка и ориентируемся на них, создавая программы обучения.

  • Эксперты — реальные практики
  • Наши преподаватели проходят тестирование на соответствие требованиям CyberEd. Мы приглашаем лучших экспертов — практиков, которые каждый день сталкиваются с реальными задачами и решают их.

  • Требования к слушателям курса:
    • Знать основы сетевого взаимодействия между узлами сети
    • Уметь работать с ОС Linux или ОС Windows на уровне администратора
    • Уметь работать с консолью PowerShell, Bash
    • Знать базовые операторы языка Python
    • Уметь программировать на Java
    • Уметь работать с системами виртуализации (VirtualBox, VMWare)
    01   / 05

    Записаться на обучение

    !
    !

    FAQ — ответы на частозадаваемые вопросы

    Требования к программному обеспечению?

    Рекомендуемые технические требования

    для комфортного прохождения модуля и сохранения всех полученных материалов:

    • Не менее 8 ГБ DDR3 оперативной памяти
    • Процессор не менее четырех ядер с частотой не менее 2.3 Ггц
    • Жесткий диск SSD со свободным местом не менее 256 ГБ
    • Поддержка аппаратной виртуализации (Intel VT-x, AMD-V)
    • Дополнительный — второй монитор (Диагональ от 17 дюймов, разрешением от 1280×720p c частотой обновления от 60 Гц)
    • Современная операционная система (Минимально: Windows 10 x64, Linux, MacOS 10.13.6)

    Все ответы

    Получить консультацию
    !
    !

    Спасибо,
    менеджер свяжеться с вами в ближайшее время

    Спасибо,
    за регистрацию на вебинар

    Заказать обратный звонок

    !
    Заполните это поле
    !
    Заполните это поле