Внедрить Стингрей в процесс разработки можно как с помощью Command Line Interface (CLI), так и путем встроенных интеграций
Command Line Interface (CLI)
Способ интеграции в Pipeline разработки или в независимые системы CI. Представляет собой удобный интерфейс командной строки (CLI), написанный на языке Python. Поставляется в виде Python-пакета для системы PyPi, в виде Docker образа, либо в виде исходного кода.
Плюсы
- Возможность максимально быстро проводить сканирование приложений сразу же после сборки.
- Возможность автоматически анализировать результаты сканирования и проводить необходимые действия сразу внутри пайплайна.
Встроенные интеграции
В платформе предусмотрена встроенный мониторинг появления новых версий в системах дистрибуции или магазинах приложений. Как только приложение было загружено в систему дистрибуции или в магазин, новая версия автоматически загружается в платформу Стингрей для анализа защищенности.
Плюсы
- Нет необходимости в изменении текущего процесса сборки, все интеграции настраиваются через интерфейс платформы Стингрей и не затрагивают пайплайны разработки.
- Возможность интеграции даже в случае, если приложение разрабатывается вне контура или подрядчиком.
- Контроль продуктивных сборок.
Этапы интеграции Стингрей в процесс
Выявляемые категории уязвимостей
Поиск чувствительной информации
Стингрей определяет чувствительную информацию (пароли, сессионные идентификаторы, номера банковских карт и т. д.) и её производные (md5, sha1, base64, и т. д.), которые хранятся локально или обрабатываются мобильным приложением.
Определяется на всех этапах, включая исходный код, ресурсы, сетевой трафик, межпроцессное взаимодействие, внутренние файлы приложения на устройстве.
Недостатки
конфигурации
Стингрей определяет различные некорректные настройки приложения, отсутствие или слабую обфускацию, недостаточные проверки окружения (root / jailbreak / emulator / Frida / debugger и т. д.), SSL Pinning, недостатки настроек сетевого взаимодействия, слабые пароли для ключевых хранилищ (jks/bks и др.), некорректное применение шифрования и другие.
Недостатки валидации и санитизации
Стингрей определяет доступные входные точки в приложение (AppLink / DeepLink, Activity / Content Provider и другие), взаимодействует с ними, отправляю на вход специальные конструкции и отслеживает движение данных в приложении. При помощи методов taint-анализа определяя, присутствуют ли в приложении недостатки, связанные с валидацией входных данных, которые как правило приводят к наиболее серьёзным уязвимостям.