Аудит безопасности мобильного приложения: проверка APK по OWASP MASVS
Проверка приложения на уязвимости без пентеста: загрузите Android APK, и за пару минут анализ APK покажет отладку в релизе, открытый HTTP, доступные снаружи компоненты, зашитые ключи, SDK и трекеры, параметры подписи. Отчёт сопоставлен с OWASP MASVS и честно показывает, что статикой не проверить.
Черновик. Тексты согласия и дисклеймеров проходят вычитку юристом. Результат — быстрый статический осмотр сборки, а не пентест.
Разбираем APK…
Безопасная сдача приложения
Как устроен аудит APK
50 правил в девяти группах. Правила публичные и одинаковые для любой сборки, включая приложения, которые разрабатывает YuSMP.
Что такое OWASP MASVS
MASVS (Mobile Application Security Verification Standard) — открытый стандарт безопасности мобильных приложений от OWASP. В версии 2 в нём 24 контроля в восьми группах: хранение данных, криптография, аутентификация, сеть, платформа, код, устойчивость и приватность. Каждой находке мы ставим в соответствие контроль и даём ссылку на его описание.
По одной сборке без запуска приложения полностью проверяются только 4 контроля из 24, частично — 11, по косвенным признакам — 4. Остальные 5 требуют ручного тестирования. Таблица покрытия есть в каждом отчёте.
Как читать серьёзность
Критично — ключ или секрет, дающий доступ к инфраструктуре или подписи. Серьёзно — условие, которым можно воспользоваться без особых условий. Умеренно — нужно сочетание условий или проверка на месте. Низко — гигиена. Справочно — не проблема, а информация о сборке.
Пометка «проверьте вручную» означает индикатор: в коде есть вызов или строка, но по сборке не видно, как она используется. Общего балла нет: честное «не проверено» полезнее красивой цифры.
Почему «нет находок» не значит «безопасно»
Статический осмотр видит настройки сборки, строки и библиотеки. Он не видит, как приложение хранит данные во время работы, как сервер проверяет права, что происходит в нативном коде и на стороне API. Это задачи пентеста и аудита кода.
Приватность: файл остаётся у вас
Разбор идёт в фоновом потоке браузера, который не может отправлять запросы в сеть. На сервер не уходят ни файл, ни имя пакета, ни строки из него. Если вы запросите отчёт на почту, отправится сам отчёт с замаскированными ключами, а в заявку — только количество находок.
Нейтральность
YuSMP разрабатывает мобильные приложения. Поэтому правила публичные и одинаковы для любой сборки, включая нашу. Предложение услуг стоит отдельным блоком после результата и не влияет на находки.