Выполнение тестов статического анализа безопасности для приложений Android в облаке с помощью MobSF и AWS

В этой статье мы рассмотрим шаги по настройке инструмента MobSF Scan на машине AWS EC2 с помощью Docker, чтобы вы могли легко запускать тесты статического анализа для приложений Android.

В рамках Droidcon Berlin в этом году я рассказал о DevSecOps для Android и о том, как тестирование безопасности может быть включено в конвейер CI/CD и Mobile DevOps.

В презентации я упомянул различные автоматизированные инструменты тестирования безопасности, которые мы можем использовать в Android. Одним из таких инструментов является MobSF — это инструмент статического анализа с открытым исходным кодом, который может найти небезопасные шаблоны кода в исходном коде Android и iOS, поддерживает Java, Kotlin, Swift и Objective C.

Существует живая версия инструмента, и вы можете загрузить свой APK и просканировать его — но что, если вам нужна собственная версия, установленная на вашем собственном сервере или машине?

Поэтому в этой статье я продемонстрирую, как запустить Docker-контейнер MobSF на машине AWS EC2 и использовать API для загрузки Android APK на сервер, чтобы начать процесс сканирования.

Звучит интересно? Давайте приступим.

Необходимые условия
Для этой демонстрации необходимы следующие предварительные условия:

  • [Бесплатная учетная запись AWS (https://portal.aws.amazon.com/billing/signup)
  • Бесплатная учетная запись GitHub
  • Приложение для Android, вы можете форкнуть приложение Insecure Shop с GitHub и использовать его в качестве демо, если у вас нет приложения для Android.

Теперь давайте создадим наше решение.

1- Войдите в консоль управления AWS и выберите службу EC2.

2- Нажмите на Instance, чтобы запустить новый экземпляр Amazon Linux, и убедитесь, что он находится в категории free tier.

3- Затем выберите тип экземпляра, пару ключей и группу безопасности и убедитесь, что вы разрешили HTTP или HTTPS для доступа к машине через браузер, а не через SSH.


4- Нажмите Запустить экземпляр и подождите, пока он будет готов к доступу.

5- У вас есть машина с публичным IP, а также вы можете назначить ей доменное имя, если хотите.

6- Теперь виртуальная машина готова, и вы можете получить к ней доступ, нажав на кнопку подключения. Вы можете выбирать между различными клиентами, но я в этом демо-ролике использую клиент по умолчанию — EC2 Instance Connect.

7- Теперь мы внутри машины и можем начать использовать оболочку для выполнения команд, например: sudo yum update для установки обновлений.

8- Теперь нам нужно установить Docker, чтобы иметь возможность загрузить и запустить контейнер MobSF Docker следующей командой:

sudo yum install docker

9- Добавьте членство в группе для пользователя по умолчанию ec2-user, чтобы вы могли запускать все команды Docker без использования команды sudo:

sudo usermod -a -G docker ec2-user

id ec2-user

newgrp docker
Войти в полноэкранный режим Выйти из полноэкранного режима

10- Включите службу Docker во время загрузки AMI:

sudo systemctl start docker.service
11- Получите статус службы Docker на вашем экземпляре AMI, запустите:

sudo systemctl status docker.service

12- Узнайте версию Docker:

docker version

13- В документации MobSF вы можете найти, как установить предварительно собранный образ Docker с помощью следующей команды:

docker pull opensecurity/mobile-security-framework-mobsf

docker run -it --rm -p 8000:8000 opensecurity/mobile-security-framework-mobsf:latest
Войти в полноэкранный режим Выйти из полноэкранного режима

Теперь Docker начнет извлекать образ и собирать контейнер, и он будет привязан к порту 8000.

Поэтому нам нужно обновить группу безопасности для этого экземпляра, чтобы добавить этот порт для доступа к нему путем редактирования правил входящих соединений.

14- Теперь вы можете попытаться получить доступ к виртуальной машине через браузер, и результат должен быть похож на следующее изображение:

Поздравляем, вы успешно установили инструмент MobSF на свою машину.

Теперь вы можете загрузить APK вручную, если хотите их просканировать, или использовать MobSF API из мобильной CI/CD платформы, такой как Bitrise, чтобы загрузить APK после сборки приложения и отправить его на сервер MobSF, размещенный на машине AWS.

Удачного тестирования!

Оцените статью
devanswers.ru
Добавить комментарий