SlideShare a Scribd company logo
Сравнение эффективности средств обнаружения уязвимостей SQLi Петухов Андрей, Валиев Карим  Лаборатория вычислительных комплексов Факультет ВМиК МГУ имени М.В. Ломоносова
Эффективное снижение издержек
“ А можно получше, но подешевле? ” Огромное количество сканеров: платных и бесплатных, общего назначения и специализированных free: W3AF, skipfish, wapiti, arachni, Grendel-scan, secubat cпециализированные: sqlMap, XSS Rays, SQLiX $$: Acunetix, IBM AppScan, HP WebInspect, NTOSpider, Cenzic Hailstorm, и много других Какова область эффективного применения сканеров SQLi? хочется очертить класс уязвимостей SQLi, для которых применение автоматических средств будет давать приемлемый результат  межмодульные уязвимости не рассматриваем сэкономленное время специалисты потратят на поиск более  “ тонких ”  уязвимостей  Действительно ли коммерческие сканеры эффективнее бесплатных?  даже если это так, может существует суперпозиция бесплатных сканеров, которые дают такой же результат? Для поиска ответов на эти вопросы мы решили создать среду для benchmark ’ а сканеров SQLi
Результаты тестирования Что: sqlMap-0.8, skipfish (Michal Zalewski & Google), wapiti, Acunetix На чем: LAMP Ответы на вопросы: Acunetix не победил в части обнаружения уязвимостей SQLi в веб-приложениях, работающих с MySQL, Acunetix не продемонстрировал лучший результат ни в одном классе тестов Область эффективного применения: веб-приложение выводит ошибки СУБД и/или СУБД предоставляет возможность замедлить выполнение  SQL-запроса (sleep) Лучшая комбинация из протестированных средств skipfish + wapiti даже в лучшей комбинации не удается с хорошими показателями  (> 50% тестов) обнаруживать уязвимости некоторых классов  Почти неразрешимая проблема для протестированных сканеров - найти SQLi при условиях: ошибки СУБД не выводятся в HTTP-ответ в СУБД отсутствуют или запрещены функций типа sleep HTTP-ответ не стабилен (см. рекламные баннеры)
Методика тестирования Тестовое покрытие Задача - смоделировать как можно больше различных вариантов уязвимости SQLi и не забыть про тестирование ложных срабатываний! Мы зафиксировали шаги, которые выполняет типичное  веб-приложение, работающее с СУБД получение пользовательских данных из HTTP-запроса обработка пользовательских данных на корректность формирование и выполнение SQL-запроса получение результата SQL-запроса / обработка исключительной ситуации формирование HTTP-ответа Для каждого шага мы провели классификацию возможных способов его реализации критерии классификации выбирались из соображений наличия специфики при обнаружении уязвимости SQLi в образующихся классах например, имеет смысл классифицировать по типу запроса (INSERT/SELECT) и не имеет смысл классифицировать по типу используемых триггеров (ON INSERT/ON DELETE) Результирующий тестовый набор состоит из всех возможных комбинаций вариантов реализации каждого шага
Среда для проведения испытаний состоит из следующих элементов: окружение LAMP генератор тестов  можно легко расширить тестовое покрытие! обертки для запуска сканеров и анализа их результатов планировщик запуска сканеров анализатор результатов  Этапы benchmark ’ а: генерация тестов результатом является набор уязвимых и неуязвимых php-сценариев сейчас генерируется 27680 тестов многопоточный планировщик запускает экземпляры сканеров и контролирует их работу анализатор результатов генерирует итоговый отчет, в котором проставлены метрики эффективности средств по каждому классу тестового набора интересующие суперклассы, по которым анализатор осуществляет суммирование, задаются в конфигурационном файле Методика тестирования Проведение испытаний
Дальнейшие планы Протестировать: W3AF, SQLiX, IBM AppScan, HP WebInspect Связаться с разработчиками сканеров и доложить им о результатах испытаний Сделать публично доступной образ виртуальной машины, на которой развернута среда для тестирования сканеров Получить и обработать поступивший feedback Расширить тестовую среду наборами для тестирования возможностей сканеров по работе с другими версиями СУБД: SQL Server, Postgres, Oracle, SQLite В светлом будущем: реализовать аналогичную среду для тестирования возможностей обнаружения XSS
Контактная информация Петухов Андрей email:  [email_address] blog:  http://andrepetukhov.wordpress.com / Карим Валиев email:  [email_address] Лаборатория вычислительных комплексов Москва, 119899, Ленинские горы вл. 1/52, факультет ВМК МГУ имени М.В. Ломоносова, комната 764
Related work Web Application Vulnerability Scanners – a Benchmark . Andreas Wiegenstein, Frederik Weidemann, Dr. Markus Schumacher, Sebastian Schinzel. Октябрь 2006.  Analyzing the Effectiveness and Coverage of Web Application Security Scanners . Larry Suto. Октябрь 2007. И ответы на него от  Ory Segal  (IBM) и  Jeff Forristal  (HP).  Web Application Scanners Comparison . Anantasec. Январь 2007. Analyzing the Accuracy and Time Costs of Web Application Security Scanners . Larry Suto. Февраль 2010. И ответы на него от  Acunetix ,  NT Objectives ,  Jeremiah Grossman  и  HP .  State of the Art: Automated Black-Box Web Application Vulnerability Testing . Jason Bau, Elie Bursztein, Divij Gupta, John Mitchell. Май 2010. Why Johnny Can ’ t Pentest: An Analysis of Black-box Web Vulnerability Scanners . Adam Doupe, Marco Cova, and Giovanni Vigna. Июль 2010. Web Application Scanners Accuracy Assessment . Shay Chen. Декабрь 2010.
Спасибо за внимание! Вопросы?

More Related Content

PPT
Agile Java Development компания JazzTeam - Техническая презентация Xml2Selenium
PPTX
Эволюция автотестирования на Selenium
PPT
Solit 2013, Разбор конкретного примера – продукта XML2Selenium, Горячко Дмитрий
PPTX
Расширяемая платформа для создания и управления автоматизированными тестами н...
PPTX
В поисках магической кнопки, или как воспитать SoapUI
PPTX
Автоматизация тестирования веб-сервисов посредством SOAP UI
PPTX
Фреймворк автотестирования веб-сервисов своими силами
PPTX
Sql инъекции в тестировании
Agile Java Development компания JazzTeam - Техническая презентация Xml2Selenium
Эволюция автотестирования на Selenium
Solit 2013, Разбор конкретного примера – продукта XML2Selenium, Горячко Дмитрий
Расширяемая платформа для создания и управления автоматизированными тестами н...
В поисках магической кнопки, или как воспитать SoapUI
Автоматизация тестирования веб-сервисов посредством SOAP UI
Фреймворк автотестирования веб-сервисов своими силами
Sql инъекции в тестировании

What's hot (18)

PPTX
Лилия Горбачик, Тестирование Web Services
PPTX
Azure - облачные сервисы и приложения
PPT
Ломаем (и строим) вместе
PPTX
Mikhail Chub: Web Services Testing
PPTX
AB-тестирование: на что следует обратить внимание / Артур Маликов (Яндекс)
PDF
Как начать тестировать безопасность уже сегодня
PPTX
Azure - введение
PPTX
Оптимизация производительности и нагрузочное тестирование в среде Visual Stud...
PDF
Плюсы и минусы автоматизации, пример из жизни
PPTX
Тестирование весна 2014 смешанное занятие 3
PPT
ASP.NET MVC: new era?
PPT
Использование игровой модели для выполнения сложных сценарных тестов
PPTX
Reporting error
PPTX
тестирование защищенности веб приложений
PPTX
Azure - обзор DevOps
PPTX
Svyatoslav Login
PDF
Azure DevOps сборка, развертывание и тестирование
PPTX
Автоматизированное тестирование WEB сервисов
Лилия Горбачик, Тестирование Web Services
Azure - облачные сервисы и приложения
Ломаем (и строим) вместе
Mikhail Chub: Web Services Testing
AB-тестирование: на что следует обратить внимание / Артур Маликов (Яндекс)
Как начать тестировать безопасность уже сегодня
Azure - введение
Оптимизация производительности и нагрузочное тестирование в среде Visual Stud...
Плюсы и минусы автоматизации, пример из жизни
Тестирование весна 2014 смешанное занятие 3
ASP.NET MVC: new era?
Использование игровой модели для выполнения сложных сценарных тестов
Reporting error
тестирование защищенности веб приложений
Azure - обзор DevOps
Svyatoslav Login
Azure DevOps сборка, развертывание и тестирование
Автоматизированное тестирование WEB сервисов
Ad

Similar to Benchmark сканеров SQL injection (20)

PPT
5 колчинская
PPT
Анализ защищенности Web-приложений, выявление уязвимостей в реальных условиях
PPTX
"Опыт создания системы управления сборкой и тестированием" (полная)
PPTX
Secure development
PPT
Simonova sql server-enginetesting
PDF
Как мы тестируем анализатор кода
PPTX
Katerina Simonova CSEDays
PPTX
Simonova CSEDays
PPTX
Katerina Simonova CSEDays
PPT
Unit Testing
PDF
Виртуальные среды тестирования (ADD2010)
PDF
ВІТАЛІЙ ГОНЧАРУК «За допомогою чого пишуться серйозні веб додатки на .NET» O...
PPTX
Костянтин Чаус — Monitoring of huge Drupal site. Tools and tips
PPTX
Разработка и сопровождении авто-тестов (Selenium)
PPT
Simonova sql server-enginetesting
PPT
автоматизация тестирования веб приложений павел липский
PPTX
Алексей Баранцев -- Какое дело тестировщикам до исходного кода?
KEY
Web application framework
PPTX
Visual Studio Connect() Russia Инструменты управления жизненным циклом Micros...
5 колчинская
Анализ защищенности Web-приложений, выявление уязвимостей в реальных условиях
"Опыт создания системы управления сборкой и тестированием" (полная)
Secure development
Simonova sql server-enginetesting
Как мы тестируем анализатор кода
Katerina Simonova CSEDays
Simonova CSEDays
Katerina Simonova CSEDays
Unit Testing
Виртуальные среды тестирования (ADD2010)
ВІТАЛІЙ ГОНЧАРУК «За допомогою чого пишуться серйозні веб додатки на .NET» O...
Костянтин Чаус — Monitoring of huge Drupal site. Tools and tips
Разработка и сопровождении авто-тестов (Selenium)
Simonova sql server-enginetesting
автоматизация тестирования веб приложений павел липский
Алексей Баранцев -- Какое дело тестировщикам до исходного кода?
Web application framework
Visual Studio Connect() Russia Инструменты управления жизненным циклом Micros...
Ad

More from Andrew Petukhov (10)

PDF
Армия освобождения домохозяек: структура, состав вооружений, методы коммуникации
PPTX
You Can Be Anything You Want to Be: Breaking Through Certified Crypto in Bank...
PDF
Обнаружение уязвимостей логики приложений методом статического анализа. Где п...
KEY
No locked doors, no windows barred: hacking OpenAM infrastructure
KEY
Безопасность веб-приложений: starter edition
KEY
Обеспечение безопасности расширений в корпоративных информационных системах
PDF
Detecting Insufficient Access Control in Web Applications
PDF
Обнаружение уязвимостей в механизме авторизации веб-приложении
PPT
Access Control Rules Tester
PPT
Detecting Security Vulnerabilities in Web Applications Using Dynamic Analysis...
Армия освобождения домохозяек: структура, состав вооружений, методы коммуникации
You Can Be Anything You Want to Be: Breaking Through Certified Crypto in Bank...
Обнаружение уязвимостей логики приложений методом статического анализа. Где п...
No locked doors, no windows barred: hacking OpenAM infrastructure
Безопасность веб-приложений: starter edition
Обеспечение безопасности расширений в корпоративных информационных системах
Detecting Insufficient Access Control in Web Applications
Обнаружение уязвимостей в механизме авторизации веб-приложении
Access Control Rules Tester
Detecting Security Vulnerabilities in Web Applications Using Dynamic Analysis...

Benchmark сканеров SQL injection

  • 1. Сравнение эффективности средств обнаружения уязвимостей SQLi Петухов Андрей, Валиев Карим Лаборатория вычислительных комплексов Факультет ВМиК МГУ имени М.В. Ломоносова
  • 3. “ А можно получше, но подешевле? ” Огромное количество сканеров: платных и бесплатных, общего назначения и специализированных free: W3AF, skipfish, wapiti, arachni, Grendel-scan, secubat cпециализированные: sqlMap, XSS Rays, SQLiX $$: Acunetix, IBM AppScan, HP WebInspect, NTOSpider, Cenzic Hailstorm, и много других Какова область эффективного применения сканеров SQLi? хочется очертить класс уязвимостей SQLi, для которых применение автоматических средств будет давать приемлемый результат межмодульные уязвимости не рассматриваем сэкономленное время специалисты потратят на поиск более “ тонких ” уязвимостей Действительно ли коммерческие сканеры эффективнее бесплатных? даже если это так, может существует суперпозиция бесплатных сканеров, которые дают такой же результат? Для поиска ответов на эти вопросы мы решили создать среду для benchmark ’ а сканеров SQLi
  • 4. Результаты тестирования Что: sqlMap-0.8, skipfish (Michal Zalewski & Google), wapiti, Acunetix На чем: LAMP Ответы на вопросы: Acunetix не победил в части обнаружения уязвимостей SQLi в веб-приложениях, работающих с MySQL, Acunetix не продемонстрировал лучший результат ни в одном классе тестов Область эффективного применения: веб-приложение выводит ошибки СУБД и/или СУБД предоставляет возможность замедлить выполнение SQL-запроса (sleep) Лучшая комбинация из протестированных средств skipfish + wapiti даже в лучшей комбинации не удается с хорошими показателями (> 50% тестов) обнаруживать уязвимости некоторых классов Почти неразрешимая проблема для протестированных сканеров - найти SQLi при условиях: ошибки СУБД не выводятся в HTTP-ответ в СУБД отсутствуют или запрещены функций типа sleep HTTP-ответ не стабилен (см. рекламные баннеры)
  • 5. Методика тестирования Тестовое покрытие Задача - смоделировать как можно больше различных вариантов уязвимости SQLi и не забыть про тестирование ложных срабатываний! Мы зафиксировали шаги, которые выполняет типичное веб-приложение, работающее с СУБД получение пользовательских данных из HTTP-запроса обработка пользовательских данных на корректность формирование и выполнение SQL-запроса получение результата SQL-запроса / обработка исключительной ситуации формирование HTTP-ответа Для каждого шага мы провели классификацию возможных способов его реализации критерии классификации выбирались из соображений наличия специфики при обнаружении уязвимости SQLi в образующихся классах например, имеет смысл классифицировать по типу запроса (INSERT/SELECT) и не имеет смысл классифицировать по типу используемых триггеров (ON INSERT/ON DELETE) Результирующий тестовый набор состоит из всех возможных комбинаций вариантов реализации каждого шага
  • 6. Среда для проведения испытаний состоит из следующих элементов: окружение LAMP генератор тестов можно легко расширить тестовое покрытие! обертки для запуска сканеров и анализа их результатов планировщик запуска сканеров анализатор результатов Этапы benchmark ’ а: генерация тестов результатом является набор уязвимых и неуязвимых php-сценариев сейчас генерируется 27680 тестов многопоточный планировщик запускает экземпляры сканеров и контролирует их работу анализатор результатов генерирует итоговый отчет, в котором проставлены метрики эффективности средств по каждому классу тестового набора интересующие суперклассы, по которым анализатор осуществляет суммирование, задаются в конфигурационном файле Методика тестирования Проведение испытаний
  • 7. Дальнейшие планы Протестировать: W3AF, SQLiX, IBM AppScan, HP WebInspect Связаться с разработчиками сканеров и доложить им о результатах испытаний Сделать публично доступной образ виртуальной машины, на которой развернута среда для тестирования сканеров Получить и обработать поступивший feedback Расширить тестовую среду наборами для тестирования возможностей сканеров по работе с другими версиями СУБД: SQL Server, Postgres, Oracle, SQLite В светлом будущем: реализовать аналогичную среду для тестирования возможностей обнаружения XSS
  • 8. Контактная информация Петухов Андрей email: [email_address] blog: http://andrepetukhov.wordpress.com / Карим Валиев email: [email_address] Лаборатория вычислительных комплексов Москва, 119899, Ленинские горы вл. 1/52, факультет ВМК МГУ имени М.В. Ломоносова, комната 764
  • 9. Related work Web Application Vulnerability Scanners – a Benchmark . Andreas Wiegenstein, Frederik Weidemann, Dr. Markus Schumacher, Sebastian Schinzel. Октябрь 2006. Analyzing the Effectiveness and Coverage of Web Application Security Scanners . Larry Suto. Октябрь 2007. И ответы на него от Ory Segal (IBM) и Jeff Forristal (HP). Web Application Scanners Comparison . Anantasec. Январь 2007. Analyzing the Accuracy and Time Costs of Web Application Security Scanners . Larry Suto. Февраль 2010. И ответы на него от Acunetix , NT Objectives , Jeremiah Grossman и HP . State of the Art: Automated Black-Box Web Application Vulnerability Testing . Jason Bau, Elie Bursztein, Divij Gupta, John Mitchell. Май 2010. Why Johnny Can ’ t Pentest: An Analysis of Black-box Web Vulnerability Scanners . Adam Doupe, Marco Cova, and Giovanni Vigna. Июль 2010. Web Application Scanners Accuracy Assessment . Shay Chen. Декабрь 2010.

Editor's Notes

  • #3: Известно, что в некоторых компаниях, занимающихся анализом безопасности программного обеспечения, которым удалось-таки минимизировать свои операционные затраты, на самом деле нет никаких хакерских команд, а есть специально обученные monkey crew, которые с утра до ночи занимаются фаззингом, стуча по клавиатуре. Компаниям, не достигшим такого уровня просветления не остается ничего иного, кроме как автоматизировать решения своих рутинных задач. Это актуально, в частности, для анализа безопасности веб-приложений методом черного ящика. В веб-приложениях есть ошибки, которые можно обнаружить просто, а есть такие - для обнаружения которых нужен исключительно эксперт с мировым именем. Логично, что оценка безопасности начинается с поиска более простых ошибок и далее идет по нарастанию сложности. Соответственно, чем меньше ресурсов компания затратит на обнаружение простых ошибок, тем больше ресурсов останется на обнаружение хитрых ошибок. Повышение полноты анализа. Конкурентное преимущество. За последнее время появилось большое количество сканеров веб-приложений, как коммерческих, так бесплатных, как специализированных, так и общего назначения. В контексте проведенного рассуждения, логично задаться вопросом, а какие средства нужно применять для того, чтобы по максимуму собрать тех самых простых ошибок, освободив время эксперта для поиска более сложных?