OWASP ZAP - как "доказать" ложные срабатывания?
Наш клиент требует, чтобы мы запустили инструмент OWASP ZAP для нашего веб-приложения (ASP.NET 4.5.2, веб-формы), и мы не можем иметь никаких высокоприоритетных выводов в отчете.
Мы провели анализ, и OWASP ZAP сообщает о двух уязвимостях, которые, скорее всего, являются "ложными срабатываниями":
- Удаленное выполнение команд ОС
- SQL-инъекция
Выполнение команд удаленной ОС кажется фальшивым, потому что мы нигде не выполняем никаких команд ОС - так как же любой злоумышленник может заставить наш код выполнить его команду на удаленной машине?
И SQL-инъекция кажется очень фальшивой, так как мы везде используем Entity Framework, который использует правильно параметризованные запросы, которые являются золотым стандартом для любых SQL-инъекций....
Были ли у других людей такие "ложные срабатывания" с OWASP ZAP? Есть ли какие-либо "известные проблемы", документированные где-либо, которые мы могли бы использовать, чтобы доказать, что инструмент неправильный - не наш код?
2 ответа
Я не знаю ни одного автоматического сканера, который бы дал ложные срабатывания бесплатно (несмотря на некоторые маркетинговые заявления;), поэтому я всегда рекомендовал бы вручную проверять любые результаты.
Было бы полезно, если бы вы могли дать нам больше подробностей - ZAP должен дать вам гораздо больше информации, чем просто имя уязвимости. Одна возможность состоит в том, что они синхронизируют атаки, и ваш сервер работает медленно из-за сканирования. Я определенно видел это много раз. В еженедельных версиях ZAP вы можете увеличить используемые значения синхронизации (по умолчанию до 5 секунд), что может помочь уменьшить или устранить такие ложные срабатывания.
Если вы обнаружите ложные срабатывания в сканировании ZAP, сообщите о них через проблемы или группу разработчиков - если вы не сообщите нам о них, мы не сможем их исправить:)
Саймон (руководитель проекта ZAP)
Да, при сканировании ZAP сообщалось о ложном срабатывании. Эта проблема была исправлена в версии 2.4.0. Это покрывает уязвимость выполнения команд удаленной ОС, а не SQL-инъекцию.
Время ложных срабатываний CommandInjectionPlugin #1592