Приложение 2. Список обнаруживаемых уязвимостей
Все уязвимости, обнаруживаемые во время сканирований, относятся к какому-либо из требований стандартов информационной безопасности, на соответствие которым проверяется приложение. На каждую выявленную уязвимость в системе заводится дефект. С требованием соотносятся определенные типы дефектов, при нахождении которых в приложении требование будет считаться не выполненным. Работа с выявленными уязвимостями в системе проводится на странице с результатами сканирования на вкладке Дефекты, см. подробности в разделе «Результаты сканирований».
Полный список обнаруживаемых системой уязвимостей и уровень критичности соответствующих им дефектов выглядит так:
Общие рекомендации
Рекомендации для Android
Небезопасное хранение ключевой информации
-
Доступное на чтение хранилище ключей со слабым паролем, содержащее закрытые ключи
-
Доступное на чтение хранилище ключей со слабым паролем, содержащее открытые ключи
-
Доступное на чтение хранилище ключей с приватными ключами, защищёнными слабым паролем
-
Хранилище ключей со слабым паролем, содержащее закрытые ключи
-
Хранилище ключей со слабым паролем, содержащее открытые ключи
-
Хранилище ключей с приватными ключами, защищёнными слабым паролем
Передача sensitive-информации в Activity
Передача sensitive-информации в Service
-
Небезопасная передача sensitive-информации во внешний Service
-
Небезопасная передача sensitive-информации во внутренний Service
Передача sensitive-информации по сети
Хранение sensitive-информации
-
Хранение sensitive-информации в общедоступном файле вне директории приложения
-
Хранение sensitive-информации в общедоступном файле внутри директории приложения
-
Хранение sensitive-информации в приватном файле вне директории приложения
-
Хранение sensitive-информации в приватном файле внутри директории приложения
-
Хранение sensitive-информации в общедоступной защищённой базе данных
-
Хранение чувствительной информации в незащищённой базе данных
-
Хранение sensitive-информации в общедоступной незащищённой базе данных
-
Хранение или использование ранее найденной sensitive-информации
Хранение ключей/сертификатов
-
Хранение приватного ключа/сертификата, не защищенного паролем, в директории/ресурсах приложения
-
Хранение публичного ключа/сертификата в директории/ресурсах приложения
-
Хранение приватного ключа/сертификата, защищенного паролем, в директории/ресурсах приложения
Анализ разрешений
Прочие
-
Потенциальное выполнение произвольного кода в контексте приложения
-
Небезопасные настройки в AndroidManifest.xml. Флаг android:hasFragileUserData
-
Небезопасные настройки в AndroidManifest.xml. Флаг android:requestLegacyExternalStorage
-
Возможность получения доступа к произвольному ContentProvider
-
Возможность доступа к произвольному файлу через ContentProvider
-
Потенциально чувствительная информация, найденная энтропийным анализом
-
Возможность перезаписи файлов в приватной директории приложения при работе с zip-архивами
-
Возможна атака на цепочку поставок через атаку MavenGate (домен обновлен)
Рекомендации для iOS
Хранение ключей/сертификатов
-
Хранение приватного ключа/сертификата, защищенного паролем, в директории/ресурсах приложения
-
Хранение публичного ключа/сертификата в директории/ресурсах приложения
-
Хранение приватного ключа/сертификата, не защищенного паролем, в директории/ресурсах приложения
Небезопасное хранение ключевой информации
-
Доступное на чтение хранилище ключей со слабым паролем, содержащее закрытые ключи
-
Доступное на чтение хранилище ключей со слабым паролем, содержащее открытые ключи
-
Доступное на чтение хранилище ключей с приватными ключами, защищёнными слабым паролем
-
Хранилище ключей со слабым паролем, содержащее закрытые ключи
-
Хранилище ключей со слабым паролем, содержащее открытые ключи
-
Хранилище ключей с приватными ключами, защищёнными слабым паролем