Тип тестирования безопасности в веб-приложении
Ищите Тип тестирования безопасности являются динамическим и статическим анализом частью тестирования безопасности? в качестве тестера QA нам нужно знать знание языка программирования или кодирования для тестирования безопасности? на каком этапе STLC или SDLC мы можем выполнить тестирование безопасности?
1 ответ
Для достижения наилучших результатов автоматизированное тестирование должно выполняться во время написания кода. Программисты должны постоянно тестировать, используя статические и динамические плагины анализатора кода в своих IDE. Если разработчикам будет предоставлено множество результатов непосредственно перед развертыванием, исправление будет проблематичным. Огромный объем ошибок будет пугающим; количество ложных срабатываний и незначительных результатов будет скрывать истинные положительные результаты. Более того, код не будет свежим в сознании команды разработчиков. Многие разработчики пошли дальше; те, кто остается в проекте, могут не знать код, написанный их усопшими коллегами.
Я рекомендую безопасное программирование Chess and West со статическим анализом. См. Также обсуждение в разделе Создание группы, ориентированной на безопасность веб-приложений, и " Эффективность интерактивного тестирования безопасности приложений". Последний аргумент показывает, как интерактивный анализ демонстрирует разработчику, что слабость является реальной угрозой; демонстрация того, как код может быть использован, затрудняет игнорирование результатов, как еще один ложный положительный результат.
Статический анализ тестирования исходного кода программного обеспечения необходим, но не достаточен. Из почти 1000 записей в общем перечислении слабости MITER 40 процентов могут быть представлены на этапе архитектуры и проектирования жизненного цикла разработки. См. CWE-701: Слабые стороны, появившиеся во время проектирования, на https://cwe.mitre.org/data/lists/701.html
По своей природе архитектурные и дизайнерские недостатки трудно обнаружить с помощью статического анализа. Кроме того, исправления архитектурных и проектных ошибок могут быть сложными, могут вводить дополнительные дефекты и могут предупредить противников о существовании этих недостатков. Более того, недостатки дизайна могут скрыть ошибки кодирования, которые статический анализ мог бы обнаружить в других случаях, что демонстрирует уязвимость Heartbleed.
Чем больше вы будете знать о программировании, используемом языке и фреймворках, тем эффективнее вы будете помогать разработчикам предотвращать ошибки. Чем больше вы будете знать о программировании, используемом языке и фреймворках, тем эффективнее вы будете помогать разработчикам предотвращать ошибки.