09.09.2008

Международная статистика уязвимостей WEB

image

В статистику вошли два набора данных: результаты автоматического тестирования и результаты работ по оценки защищенности с использованием методов BlackBox и WhiteBox.

Цель

Проект WASC Web Application Security Statistics Project 2007 является совместной инициативой лидеров индустрии защиты Web-приложений, направленной на лучшее понимание природы уязвимостей Web-приложений. Основными целями проекта является:

  1. Идентификация распространенности и вероятности обнаружения уязвимостей различных классов.
  2. Сравнение различных подходов к анализу с целью выявления их сильных и слабых сторон.

Методика

Исходные данные были получены по результатам работ по оценке защищенности Web-приложений проводимых в 2007 году следующими компаниями, с использованием автоматизированных инструментов (в алфавитном порядке):

Booz Allen Hamilton

BT

Cenzic c Hailstorm

dblogic.it

HP Application Security Center c WebInspect

Positive Technologies c MaxPatrol

Veracode

WhiteHat Security c WhiteHat Sentinel

В статистику вошли два набора данных: результаты автоматического тестирования и результаты работ по оценки защищенности с использованием методов BlackBox и WhiteBox.

Данные автоматического сканирования содержат информацию по сканированию без предварительной настройки (со стандартным профилем) сайтов хостинг-провайдера. При анализе этой информации следует учитывать, что далеко не все сайты используют интерактивные элементы. Кроме того, дополнительная экспертная настройка сканера под конкретное приложение позволяет существенно повысить эффективность обнаружения уязвимостей.

Стоит также учитывать ошибки 1-го и 2-го рода при автоматическом сканировании, когда сканер безопасности может пропустить уязвимость или наоборот предположить о наличии уязвимости там, где она на самом деле отсутствует. Экспертная оценка позволяет практически устранить ошибки второго рода и минимизировать ошибки первого рода, но не исключает их.

Статистика по оценке защищенности методом BlackBox и WhiteBox содержит результаты работ по ручному и автоматизированному анализу Web-приложений. Как правило, такие работы включают сканирование с предварительными настройками и ручным анализом результатов, ручной поиск уязвимостей недоступных автоматическим сканерам и анализ исходных кодов.

В результате было получено 3 набора данных:

  • суммарная статистика по всем видам работ
  • статистика по автоматическому сканированию
  • статистика по оценке защищенности методом «черного» и «белого» ящика

Всего в статистику включены данные по 32717 сайтам, в которых было обнаружено 69476 уязвимостей различной степени риска.

Детальная информация приведена на сайте WASC (http://www.webappsec.org/projects/statistics/).

Анализ данных

Анализ полученных данных показывает, что более 7% всех проанализированных сайтов может быть скомпрометирована полностью автоматически. Около 7,72% приложений содержат уязвимости высокой степени риска, обнаруженные при автоматическом сканировании систем (Рис. 1). Однако при детальной ручной и автоматизированной оценке методами черного и белого ящика вероятность обнаружения уязвимости высокой степени риска достигает 96,85%.

В значительной степени это связанно с тем, что при детальном анализе оценка риска более адекватна и учитывает не только тип уязвимости, но и реальные последствия её эксплуатации с учетом архитектуры и реализации приложения. Кроме того, важным фактором является тот факт, что в автоматическом сканировании участвовали сайты хостинг-провайдера, в некоторых случаях не содержащие активного контента, в то время как работы по оценке защищенности, как правило, проводятся для приложений содержащих сложную бизнес-логику. Т.е. результаты автоматизированных сканирований можно интерпретировать как данные для среднего Интернет-сайта, в то время как «BlackBox» и «WhiteBox» больше относятся к интерактивным корпоративным Web-приложениям.

Рис. 1 Вероятность обнаружения уязвимостей различной степени риска

Наиболее распространенными уязвимостями являются Cross-Site Scripting, Information Leakage, SQL Injection и Predictable Resource Location (Рис. 2). Как правило, уязвимости типа Cross-Site Scripting и SQL Injection возникают по причине ошибок в разработке систем, в то время как Information Leakage и Predictable Resource Location зачастую связаны с недостаточно эффективным администрированием (например, разграничением доступа) в системах.

Рис. 2 Наиболее распространенные уязвимости

Рис. 3 Процент уязвимостей от общего числа

При детальном анализе систем методами BlackBox и WhiteBox ощутимый процент сайтов оказались уязвимы также для Content Spoofing, Insufficient Authorization и Insufficient Authentication (Рис. 4). Причем вероятность обнаружения уязвимостей типа SQL Injection при таком подходе к анализу защищенности достигает 25%.

Рис. 4 Наиболее распространенные уязвимости (BlackBox & WhiteBox)

Рис. 5 Процент уязвимостей от общего числа (BlackBox & WhiteBox)

Если рассматривать вероятность обнаружения уязвимости с точки зрения классов Web Application Consortium Threat Classification version 1 (см. Табл. 1 и Рис. 6), то наиболее распространенны классы Client-side Attacks, Information Disclosure и Command Execution. Детальный анализ кроме того подтверждает распространенность классов Authentication

и Authorization (см. Рис. 7).

Табл. 1 Распределение вероятности обнаружения уязвимости по классам WASC TCv1

% ALL

% Scans

% Black & WhiteBox

Authentication

1,17%

0,02%

20,82%

Authorization

1,28%

0,07%

19,01%

Client-side Attacks

33,13%

31,17%

69,37%

Command Execution

8,15%

7,32%

27,85%

Information Disclosure

31,78%

30,42%

56,54%

Logical Attacks

0,90%

0,20%

13,92%

Рис. 6 Распределение вероятности обнаружения уязвимости по классам WASC TCv1

Рис. 7 Распределение вероятности обнаружения уязвимости по классам WASC TCv1 (BlackBox & WhiteBox)

Сравнение методов анализа защищенности

Если провести сравнение полностью автоматических сканирований с детальной оценкой методами BlackBox и WhiteBox, то явно видно отставание автоматического сканирования при обнаружении уязвимостей Authorization и Authentication, логических ошибок.

Threat Classification

Scans vs Black & WhiteBox

Content Spoofing

18,30%

Insufficient Authorization

14,15%

Insufficient Authentication

12,95%

SQL Injection

8,68%

Brute Force

7,98%

Abuse of Functionality

7,97%

HTTP Response Splitting

7,18%

Рис. 8 Разница в вероятности обнаружения уязвимостей различными методами

Как уже говорилось ранее (см. Рис. 1), вероятность обнаружения уязвимости высокой степени риска при детальном анализе в 12,5 раз выше, чем при полностью автоматическом сканировании.

Если рассматривать такой показатель, как количество обнаруженных уязвимостей на один сайт (см. Табл. 10 и Рис. 10), то детальный анализ позволяет в среднем идентифицировать до 9 уязвимостей высокой степени риска на одно приложение, в то время как автоматизированное сканирование – только 2,3.

Рис. 9 Количество уязвимостей на сайт

All

Scans

Black&WhiteBox

Low

3,15

2,96

1,11

Med

2,35

2,04

2,65

High

4,22

2,33

8,91

All

2,12

1,61

13,11

Рис. 10 Количество уязвимостей на сайт

Дополнительные замечания

В рамках данного исследования использовалась классификация Web Application Security Consortium Threat Classification version 1. В связи с этим, некоторые типы уязвимостей не вошли в суммарные результаты. В будущем планируется применять более современную классификацию WASC TC version 2.

Наиболее широко распространенная уязвимость Cross-Site Request Forgery в рамках данной статистики занимает далеко не первое место. Это связано с двумя моментами: достоверное обнаружение данной уязвимости автоматическими методами затруднено и кроме того, в связи с распространенностью уязвимости её присутствие воспринимается как должное многими экспертами.

В результаты не вошли уязвимости, связанные с используемой платформой (например, переполнение буфера в Apache).

Участники

Консорциум Web Application Security Consortium выражает благодарность следующим экспертам и компаниям, внесшим свой вклад в развитие проекта:

Sergey Gordeychik*

Jeremiah Grossman

Michael Sutton

Mandeep Khera

Peter Ahearn

Brian Martin

Simone Onofri

Matt Latinga

Chris Wysopal

*Лидер проекта

или введите имя

CAPTCHA
уязвимости типа Cross-Site Scripting и SQL Injection возникают по причине ошибок в разработке системобе по причине низкой квалификации программистов за sql-injection в продакшене вобще следует немедленно увольнять не только программиста, но и начальника разработки
0 |
13-09-2008 18:49:29
Согласен
0 |