- PVSM.RU - https://www.pvsm.ru -
[1]Сканеры информационной безопасности (сканеры уязвимостей) — это средства мониторинга и контроля, с помощью которых можно проверять компьютерные сети, отдельные компьютеры и установленные на них приложения на наличие проблем защищенности. Большинство сканеров позволяют детектировать уязвимости, описанные классификатором WASC Threat Classifcation [2]. В сегодняшнем хабратопике мы рассмотрим некоторые вопросы, связанные с тестирование сканеров информационной безопасности веб-приложений как программных продуктов.
Современный сканер веб-приложений — это многофункциональный и весьма сложный продукт. Поэтому его тестирование и сравнение с аналогичными решениями имеет целый ряд особенностей.
В статье «Building a Test Suite for Web Application Scanners [3]» изложены общие принципы тестирования сканеров, на которые мы будем опираться далее. Одним из таких принципов является Тестовая процедура для сравнения работы различных сканеров веб-приложений. В немного модифицированном виде эта процедура выглядит следующим образом:
Изменения после каждой итерации необходимо заносить в сводную таблицу результатов детектирования объектов. Выглядеть это должно приблизительно так:
Очевидно, что далеко не все сканеры веб-приложений обладают одинаковым набором сканирующих модулей, однако такую таблицу все равно можно использовать, уменьшая рейтинг сканера при отсутствии тех или иных модулей, той или иной функциональности.
Подготовить тестовое приложение с точно известным заранее числом уязвимостей определенного типа невозможно. Поэтому при составлении подобной таблицы мы неминуемо столкнемся с трудностями определения количества реальных объектов для поиска. Решить эту проблему можно следующим образом.
Конфигурировать тестовое приложение и управлять им, устанавливая требуемый уровень защиты, можно, к примеру, с помощью инструмента OWASP Site Generator [6], конфигурацию которого можно хранить и редактировать в обычном XML-файле. К сожалению, на данный момент этот инструмент считается устаревшим и для эмуляции современных уязвимостей рекомендуется создавать приложения собственной разработки.
Типы уязвимостей для реализации в тестовом контенте для проверки сканера можно взять из классификатора WASC Threat Classification [2].
Ожидаемое число запусков тестовой процедуры для всех возможных комбинаций установленных приложений будет очень и очень велико, что и неудивительно. Уменьшить это число можно благодаря использованию техники тестирования pairwise analysis [7].
По результатам сканирования получаем числовые векторы вида
(уровень защиты, кол-во обнаруженных объектов, False Positive, False Negative, всего объектов, время сканирования)
Затем необходимо ввести метрику качества сканирования, которою можно будет использовать для сравнения показателей и сканеров между собой. В качестве подобной метрики достаточно использовать простейшую евклидову метрику.
Еще одна статья, на которую можно опираться при тестировании сканеров веб-приложений, называется «Analyzing the Accuracy and Time Costs of Web Application Security Scanners [8]». В этом материале описывается проведение испытаний различных сканеров (BurpSuitePro, Qualys, WebInspect, NTOSpider, Appscan, Hailstorm, Acunetix) и для каждого конкретного инструмента предлагается проводить четыре типа испытаний:
Режим PaS — это запуск сканирования со стандартными параметрами сканера. Проходит по схеме «установка цели — сканирование — получение результата».
Обучение — включает в себя любые конфигурации настроек, изменение скриптов, связь с поставщиками сканера и т. п.
Для определения количества времени, которое специалистам необходимо затратить для получения качественного результата, в статье предлагается пользоваться простой формулой:
Общее время = Время обучения + #False Positive * 15 мин. + #False Negative * 15 мин.
В ходе каждого испытания нужно применять тестовую процедуру, которую мы описывали выше.
В еще одной полезной статье «Top 10: The Web Application Vulnerability Scanners Benchmark [9]» авторы предлагают общий поход к сравнению характеристик сканеров, а также набор таких характеристик с примерами. Оценку возможностей сканеров веб-приложений в этой статье предлагается задавать в табличном виде, используя следующие критерии:
Некоторые из перечисленных пунктов входят в сводную таблицу детектирования объектов. Кроме того, можно заметить, что для большинства критериев требуются экспертные оценки, а это затрудняет автоматизированное тестирование и сравнение сканеров. В результате предложенные критерии оценок можно использовать, к примеру, в качестве разделов для более общего отчета по исследованию характеристик сканера, в котором содержатся все итоги тестирования и сравнения конкретного сканера с конкурентами.
Опираясь на материалы представленных выше статей, мы разработали классификацию типов тестов, которые можно использовать в тестовой процедуре.
Использовать описанную в топике тестовую процедуру можно для любых сканеров безопасности веб-приложений, а применяя метрику качества сканирования, мы получаем инструмент для качественного сравнения сканеров через сопоставление их метрик. В развитие этой идеи можно использовать нечеткие показатели, шкалы и метрики — для упрощения работ по сравнению сканеров.
Спасибо за внимание, будем рады ответить на вопросы в комментариях.
Автор: Тимур Гильмуллин, группа автоматизированного тестирования Positive Technologies.
Автор: ptsecurity
Источник [24]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/testirovanie/39381
Ссылки в тексте:
[1] Image: http://habrahabr.ru/company/pt/blog/187636/
[2] WASC Threat Classifcation: http://projects.webappsec.org/w/page/13246978/Threat%20Classification
[3] Building a Test Suite for Web Application Scanners: http://www.computer.org/csdl/proceedings/hicss/2008/3075/00/30750478.pdf
[4] example.com/page.php?id=blabla: http://example.com/page.php?id=blabla
[5] example.com/page.php?a=1&id=bla&b=2: http://example.com/page.php?a=1&id=bla&b=2
[6] OWASP Site Generator: https://www.owasp.org/index.php/Category:OWASP_Application_Security_Tool_Benchmarking_Environment_and_Site_Generator_Refresh_Project
[7] pairwise analysis: http://en.wikipedia.org/wiki/All-pairs_testing
[8] Analyzing the Accuracy and Time Costs of Web Application Security Scanners: http://ha.ckers.org/files/Accuracy_and_Time_Costs_of_Web_App_Scanners.pdf
[9] Top 10: The Web Application Vulnerability Scanners Benchmark: http://sectooladdict.blogspot.ru/2012/07/2012-web-application-scanner-benchmark.html
[10] сводной таблице: http://www.sectoolmarket.com/price-and-feature-comparison-of-web-application-scanners-unified-list.html
[11] сводной таблице: http://www.sectoolmarket.com/input-vector-support-unified-list.html
[12] сводной таблице: http://sectoolmarket.com/audit-features-comparison-unified-list.html
[13] сводной таблице: http://sectoolmarket.com/reflected-cross-site-scripting-detection-accuracy-unified-list.html
[14] сводной таблице: http://sectoolmarket.com/sql-injection-detection-accuracy-unified-list.html
[15] сводной таблице: http://sectoolmarket.com/path-traversal-local-file-inclusion-detection-accuracy-unified-list.html
[16] сводной таблице: http://sectoolmarket.com/remote-file-inclusion-detection-accuracy-unified-list.html
[17] схеме: http://3.bp.blogspot.com/-n2y0rxzPJbs/UAAzH30wJ8I/AAAAAAAAAFE/oRactm8VSSg/s640/Remote+File+Inclusion+Tests.png
[18] сводной таблице: http://sectoolmarket.com/wivet-score-unified-list.html
[19] сводной таблице: http://C:UserstgilmullinAppDataLocalMicrosoftWindowsTemporary Internet FilesContent.OutlookQROBVT5B1. http:sectoolmarket.comcoverage-features-comparison-unified-list.html
[20] сводной таблице: http://sectoolmarket.com/authentication-features-comparison-unified-list.html
[21] в сводной таблице: http://sectoolmarket.com/complimentary-features-comparison-unified-list.html
[22] сводной таблице: http://sectoolmarket.com/general-features-comparison-unified-list.html
[23] сводной таблице: http://sectoolmarket.com/list-of-tested-web-application-scanners-unified-list.html
[24] Источник: http://habrahabr.ru/post/187636/
Нажмите здесь для печати.