Безопасность и защита сайтов


Безопасность и защита сайтов — задача, с которой рано или поздно приходится сталкиваться владельцу любого хоть сколь-нибудь ценного ресурса. Вопрос безопасности можно решить максимально плотно уже на этапе разработки веб-сайта, либо насильно вернуться к нему в случае возникших на этапе функционирования проблем. Основная задача защиты сайтов — разработка ресурса, предельно удовлетворяющего требованиям безопасности, либо приведение уже имеющегося сайта к этим требованиям путем анализа использующихся и потенциально опасных уязвимостей с последующем выполнением ряда работ для их устранения и отсутствия в перспективе. Надо учитывать, что безопасность сайта подразумевает не только безопасность кода и используемого ПО, но и безопасность его администрирования, сохранность паролей, защиту от перегрузок, а также решение ряда организационных и технических вопросов с провайдером.
 Услуги по защите сайтов и Web-проектов +7 (495) 231-4831
 версия для печати   
  Статистика

Cтатистика уязвимостей Web-приложений

Для лучшего понимания природы уязвимостей Web-приложений члены Web Application Security Consortium создали проект Web Application Security Statistics Project.

В статистику вошли два набора данных: результаты автоматического тестирования и результаты работ по оценки защищенности с использованием методов черного и белого ящика (BlackBox и WhiteBox). Данные автоматического сканирования содержат информацию по сканированию без предварительной настройки (со стандартным профилем) сайтов хостинг-провайдера. При анализе этой информации следует учитывать, что далеко не все сайты используют интерактивные элементы. Кроме того, дополнительная экспертная настройка сканера под конкретное приложение позволяет существенно повысить эффективность обнаружения уязвимостей. Статистика по оценке защищенности методом BlackBox и WhiteBox содержит результаты работ по ручному и автоматизированному анализу Web-приложений. Как правило, такие работы включают сканирование с предварительными настройками и ручным анализом результатов, ручной поиск уязвимостей недоступных автоматическим сканерам и анализ исходных кодов. Всего в статистику включены данные по 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. Наиболее распространенные уязвимости
Рис. 5. Процент уязвимостей от общего числа

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

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

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

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

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

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

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

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

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

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

Наиболее широко распространенная уязвимость 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
  • Wysopal

Раздел подготовлен с использованием материалов,
опубликованных на сайте Security Lab
  © 2008-2009, ProtectMe  +7 (495) 231-4831  
  «Лаборатория защиты» E-mail: info@protectme.ru