Автоматизированный тест на OWASP A1-A10
Мне интересно, из топ-10 OWASP (A1-A10) все это можно автоматизировать. Можно ли автоматизировать их тестирование с помощью Selenium, если нет, какой инструмент можно использовать для их автоматизации? Также есть какие-либо документы или руководящие принципы или любые примеры, которые могут быть использованы или переданы.
Заранее спасибо.
2 ответа
Я бы сказал:
- Инъекция: автоматизация довольно эффективна
- Auth / Session mgmt: инструменты помогают, но ручное тестирование действительно необходимо
- XSS: автоматизация довольно эффективна
- IDOR: инструменты помогают, но ручное тестирование действительно необходимо
- Сек неверная конфигурация: то же самое
- Доступ к данным: может быть в значительной степени автоматизирован путем ручной проверки.
- Отсутствует AC: элементы могут быть автоматизированы, но def требует значительного ручного участия
- CSRF: автоматизация довольно эффективна
- Компенсация с помощью vulns: автоматизация может быть эффективной, но вам понадобится проб статическое + динамическое сканирование
- Fwds и redir: автоматизация довольно эффективна
Найти уязвимости в безопасности сложно, автоматизация должна рассматриваться как способ сократить время и усилия, затрачиваемые на ручное тестирование, а не заменять его. Одним из преимуществ автоматизированного тестирования является то, что вы можете сделать это в любое время (например, как часть CI/CD), а не ждать до конца и вводить пентестеров.
Во всех случаях важна ручная проверка любых потенциальных уязвимостей, обнаруженных с помощью автоматизации.
Взгляните на https://www.owasp.org/index.php/ZAPpingTheTop10 который ориентирован на ZAP. Автоматизация определенно является фокусом для ZAP (и одним из ключевых способов, которым мы используем его в Mozilla), и неудивительно, что это то, что я рекомендую использовать (я руководитель проекта ZAP;)
Есть много инструментов, которые делают это автоматически.
Если вы спрашиваете об этом, либо у вас недостаточно опыта в области безопасности, либо у вас недостаточно опыта в области автоматизации.
Одно дело знать безопасность, а другое - писать эффективные автоматизированные сценарии. То, что вы могли бы сделать, это автоматизировать некоторые конкретные сценарии, приведшие к регрессии.
В целях безопасности используйте имеющиеся инструменты для поиска уязвимостей + ручное тестирование и анализ.
В заключение: да, как сказал @psiinon, вы можете автоматизировать, и лучше иметь автоматическое сканирование, но с точки зрения внедрения вручную это потребует много усилий, чтобы сделать это эффективным способом с хорошим охватом.
Убедитесь, что вы полностью понимаете, что вы пытаетесь автоматизировать, составьте план и проведите дальнейшее расследование, чтобы узнать, какие есть варианты. Также проверьте, если у вас есть какие-либо связанные библиотеки безопасности для использования на основе используемого языка программирования.