Приложение 2. Список обнаруживаемых уязвимостей
Все уязвимости, обнаруживаемые во время сканирований, относятся к какому-либо из требований стандартов информационной безопасности, на соответствие которым проверяется приложение. На каждую выявленную уязвимость в системе заводится дефект. С требованием соотносятся определенные типы дефектов, при нахождении которых в приложении требование будет считаться не выполненным. Работа с выявленными уязвимостями в системе проводится на странице с результатами сканирования на вкладке Дефекты, см. подробности в разделе «Результаты сканирований».
Полный список обнаруживаемых системой уязвимостей и уровень критичности соответствующих им дефектов выглядит так:
Рекомендации для Android
Небезопасное хранение ключевой информации
-
Доступное на чтение хранилище ключей со слабым паролем, содержащее закрытые ключи
-
Доступное на чтение хранилище ключей со слабым паролем, содержащее открытые ключи
-
Доступное на чтение хранилище ключей с приватными ключами, защищёнными слабым паролем
-
Хранилище ключей со слабым паролем, содержащее закрытые ключи
-
Хранилище ключей со слабым паролем, содержащее открытые ключи
-
Хранилище ключей с приватными ключами, защищёнными слабым паролем
Передача sensitive-информации в Activity
Передача sensitive-информации в Service
-
Небезопасная передача sensitive-информации во внешний Service
-
Небезопасная передача sensitive-информации во внутренний Service
Передача sensitive-информации по сети
Хранение sensitive-информации
-
Хранение sensitive-информации в общедоступном файле вне директории приложения
-
Хранение sensitive-информации в общедоступном файле внутри директории приложения
-
Хранение sensitive-информации в приватном файле вне директории приложения
-
Хранение sensitive-информации в приватном файле внутри директории приложения
-
Хранение sensitive-информации в общедоступной защищённой базе данных
-
Хранение чувствительной информации в незащищённой базе данных
-
Хранение sensitive-информации в общедоступной незащищённой базе данных
-
Хранение или использование ранее найденной sensitive-информации
Хранение ключей/сертификатов
-
Хранение приватного ключа/сертификата, не защищенного паролем, в директории/ресурсах приложения
-
Хранение публичного ключа/сертификата в директории/ресурсах приложения
-
Хранение приватного ключа/сертификата, защищенного паролем, в директории/ресурсах приложения
Анализ разрешений
Анализ не-нативных компонентов (WebView и сокеты)
-
Опасная комбинация настроек WebView: JavaScript и доступ к локальным файлам
-
Прослушивание всех сетевых интерфейсов через локальный сокет (0.0.0.0)
Межкомпонентное взаимодействие (IPC): Intent, Activity, Service, BroadcastReceiver
-
Возможность посылки произвольного широковещательного сообщения через Intent
-
Доступ к произвольному Composable (Jetpack Compose) через Intent
-
Возможность показа произвольного сообщения через Intent в BroadcastReceiver
-
Возможность доступа к произвольному файлу через getParcelableExtra
ContentProvider
-
Возможность получения доступа к произвольному ContentProvider
-
Возможность доступа к произвольному файлу через ContentProvider
WebView и веб-взаимодействие
Сетевое взаимодействие и домены
Раскрытие чувствительной информации (прочие каналы)
Файлы и Path Traversal
Инъекции и выполнение произвольного кода
Криптография
Android KeyStore
-
Приложение использует, но не проверяет, что AndroidKeyStore HardwareBacked
-
Доступ к ключам из AndroidKeyStore без требования аутентификации
-
Ключи в AndroidKeyStore создаются без требования биометрической инвалидации
Защита приложения и анти-реверс (RASP)
Манифест, подпись и сборка
-
Небезопасные настройки в AndroidManifest.xml. Флаг android:hasFragileUserData
-
Небезопасные настройки в AndroidManifest.xml. Флаг android:requestLegacyExternalStorage
Состав ПО (SCA) и цепочка поставок
Диагностика и сравнение версий
Рекомендации для iOS
Хранение ключей/сертификатов
-
Хранение приватного ключа/сертификата, защищенного паролем, в директории/ресурсах приложения
-
Хранение публичного ключа/сертификата в директории/ресурсах приложения
-
Хранение приватного ключа/сертификата, не защищенного паролем, в директории/ресурсах приложения
Небезопасное хранение ключевой информации
-
Доступное на чтение хранилище ключей со слабым паролем, содержащее закрытые ключи
-
Доступное на чтение хранилище ключей со слабым паролем, содержащее открытые ключи
-
Доступное на чтение хранилище ключей с приватными ключами, защищёнными слабым паролем
-
Хранилище ключей со слабым паролем, содержащее закрытые ключи
-
Хранилище ключей со слабым паролем, содержащее открытые ключи
-
Хранилище ключей с приватными ключами, защищёнными слабым паролем
Прочие
-
Наличие файла со списком сторонних зависимостей в собранном пакете приложения
-
Хранение или использование ранее найденной чувствительной информации
-
Приложение не запрещает использование пользовательских клавиатур
-
Потенциально чувствительная информация, найденная энтропийным анализом
- Обнаружены «внутренние домены», заданные для поиска
- SCA. Список компонентов
- Обнаружены домены из публичного списка malware
- Обнаружены домены из реестров Роскомнадзора
- Уязвимость в OpenSource компоненте (iOS)