Тестирование безопасности – это обязательный этап тестирования мобильных и веб-приложений. Оно позволяет выявить различные виды уязвимостей системы, которые могут использованы злоумышленниками для доступа к конфиденциальным данным пользователей. Для поиска таких уязвимостей применяются ручные тесты, статистический анализ кода, а также инструменты автоматизации.
К основным целям данного вида тестирования относят: защита от несанкционированного доступа к ресурсам системы, снижение риска потери данных или вывода системы из строя, повышение защищенности системы в случае различных атак.
Тестирование защищенности мобильных и веб приложений включает:
- Оценку безопасности,
- Поиск и оценку различных видов уязвимостей
- Выполнение тестов на незаконное проникновение в систему.
Модели тестирования безопасности:
Метод «чёрного ящика»
Данная модель основана на изучении внешнего поведения системы без внедрения во внутреннее устройство. Другими словами, метод «черного ящика» предполагает тестирование через пользовательский интерфейс, но без доступа к системному коду. Тестировщик задает и анализирует входные и выходные данные, на базе чего он определяет корректность работы программного обеспечения.
Метод «белого ящика»
Используя данный подход, специалист обращается к внутренней структуре программы. В данном случае, тестировщик анализирует данные, полученные с помощью
оценки логики приложения. Можно сказать, что методом «белого ящика» можно проверить корректность работы программного обеспечения с технической точки зрения. Данный принцип выявляют более сложные логические ошибки, которые невозможно идентифицировать с помощью метода «черного ящика». Как правило, данная модель реализуется на двух уровнях: функциональном и модульном.
Метод «серого ящика»
Это своего рода симбиоз двух вышеперечисленных методов. На практике он выглядит следующим образом: внешнее устройство оценивается методом «черного ящика», а внутренняя составляющая тестируется с доступом к коду. Такая модель часто используется для тестирования веб-приложений нежели мобильный приложений android и ios.
Несмотря на то, что комплексное тестирование нацелено на максимально полную оценку безопасности системы, выявить абсолютно все виды уязвимостей и атак практически невозможно. Тем не менее, с помощью такого тестирования можно удостовериться, что риск проникновения сведен к минимуму.