3. На что надо обращать внимание при тестировании безопасностиПри тестировании безопасности следует обращать внимание на следующие аспекты:
Аутентификация и авторизация. Проверяйте, что система правильно идентифицирует пользователей и контролирует доступ к ресурсам. Например:
- проверьте, что только авторизованные пользователи могут получить доступ к защищенным ресурсам.
- попробуйте получить доступ к защищенному ресурсу (например, к странице профиля пользователя) без аутентификации. Убедитесь, что система перенаправляет на страницу входа или возвращает ошибку "403 Forbidden"
Управление сеансами. Убедитесь, что сеансы пользователей защищены от захвата. Например:
- проверьте, что сеанс пользователя завершается после выхода. Войдите в систему, затем выйдите.
- попробуйте получить доступ к защищенному ресурсу, используя старый сеансовый идентификатор. Убедитесь, что доступ запрещен
Шифрование данных. Проверяйте, что данные, передаваемые и хранящиеся в системе, защищены с помощью шифрования. Например:
- перехватите трафик с использованием инструментов типа Wireshark и убедитесь, что данные передаются по HTTPS
Управление уязвимостями: Регулярно сканируйте систему на наличие уязвимостей и применяйте патчи и обновления. Например:
- проверьте, что система не содержит известных уязвимостей
- используйте сканер уязвимостей (например, OWASP ZAP) для сканирования системы на наличие известных уязвимостей
Защита от атак: Проверяйте систему на устойчивость к распространённым атакам, таким как SQL-инъекции, XSS, CSRF, атаки методом грубой силы и т.д. Например:
- проверьте, что система защищена от SQL-инъекций
- попробуйте выполнить SQL-инъекцию в поле ввода. Убедитесь, что система правильно обрабатывает ввод и не позволяет выполнять произвольные SQL-запросы
Логи и мониторинг: Убедитесь, что система ведет подробные логи и что они регулярно анализируются на предмет подозрительной активности. Например:
- проверьте, что система ведет логи и регистрирует подозрительные действия
- попробуйте выполнить несколько неудачных попыток входа. Убедитесь, что система регистрирует эти попытки в логах.
Управление ошибками: Убедитесь, что система правильно обрабатывает ошибки и не раскрывает лишнюю информацию злоумышленникам. Например:
- проверьте, что система корректно обрабатывает ошибки и не раскрывает лишнюю информацию
- вызовите ошибку (например, попробуйте получить доступ к несуществующей странице) и убедитесь, что сообщение об ошибке не раскрывает информацию о внутренней структуре системы.