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

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

Данная публикация содержит обзор статистики уязвимостей Web-приложений, полученной в ходе работ по тестированию на проникновение, аудитов безопасности и др. работ, выполненных экспертами компании Positive Technologies в 2007 году.

Методика
Портрет участников
Статистика уязвимостей
Выводы
Как показывает опыт компании Positive Technologies по проведению тестов на проникновение и аудитов информационной безопасности - уязвимости в Web-приложениях одни из наиболее распространенных недостатков защиты сетевой безопасности. Другие часто встречающиеся проблемы - это низкая осведомленность сотрудников в вопросах ИБ, ошибки в управлении обновлениями ПО, недостаточная защита беспроводных сетей.
Несмотря на то, что уязвимости Web-приложений неоднократно описаны в "научно-популярной" и специализированной литературе, достаточно редко встречаются превентивные или компенсационные защитные механизмы, снижающие риски эксплуатации уязвимостей online-сервисов.
 
Методика
Данная публикация содержит обзор статистики уязвимостей Web-приложений, полученной в ходе работ по тестированию на проникновение, аудитов безопасности и др. работ, выполненных экспертами компании Positive Technologies в 2007 году. Всего в статистике участвуют данные о 61 Web-приложении.
В зависимости от типа работ были задействованы различные методики, от сканирования Web-приложений с помощью сканеров XSpider и MaxPatrol с последующей проверкой результатов до тестирования методом "белого ящика", включающего также частичный анализ исходного кода. Согласно [1] степень покрытия API приложения составляет от 23 до 96%. В статистику вошли только внешние системы, доступные из Интернет. Широко распространенные приложения, такие как Outlook Web Access, Microsoft Sharepoint были исключены из результатов.
Обнаруженные уязвимости классифицировались согласно Web Application Security Consortium Web Security Threat Classification (WASC WSTCv1 [2]) с использование элементов WASC WSTCv2. Данная классификация представляет собой попытку собрать воедино и организовать угрозы безопасности Web-приложений. Члены Web Application Security Consortium создали этот проект для разработки и популяризации стандартной терминологии описания проблем безопасности Web-приложений. Наличие этого документа дает возможность разработчикам приложений, специалистам в области безопасности, производителям программных продуктов и аудиторам использовать единый язык для взаимодействия.
Распространенные уязвимости Web-приложений организованны в структурированный список, состоящий из шести классов:
  1. Аутентификация (Authentication)
  2. Авторизация (Authorization)
  3. Атаки на клиентов (Client-side Attacks)
  4. Выполнение кода (Command Execution)
  5. Разглашение информации (Information Disclosure)
  6. Логические атаки (Logical Attacks).
Для каждого из классов приведено подробное описание входящих в него разновидностей атак. Описания содержат примеры уязвимостей, приводящих к возможности реализации атаки, а так же ссылки на дополнительные материалы.
Вторая версия Web Security Threat Classification значительно расширена, и содержит семь классов и тридцать два типа угроз (в отличии от шести классов и двадцати четырех типов в первой версии).
В приводимой статистике учитываются только уязвимости Web-приложений. Такие распространенные недостатки, как отсутствие актуальных обновлений безопасности ОС и неверная настройка Web-сервера не рассматриваются.
Критичность уязвимости, оцениваемая согласно Common Vulnerability Scoring System version 2 [3, 4] приводилась к классической "светофорной" оценке путем деления на 3.
 
Портрет участников
Распределение приложений в зависимости от сферы деятельности владельца приведено в Табл. 1 и на Рис. 1.
Таблица 1. Распределение владельцев по отраслям.
Сектор экономики  Доля, % 
Финансовый сектор 18
Разработчики/Online 25
Коммерческие структуры 18
Телекоммуникации 25
Государственные структуры 9
Нефтегазовый комплекс 5

Рисунок 1. Распределение владельцев по отраслям.
 
Работы по оценке защищенности Web-приложений пользуются наибольшей популярностью среди компаний разрабатывающих и эксплуатирующих Online-приложения, а также среди операторов телекоммуникационных услуг. На эти две группы приходится 50% всех протестированных сайтов. Заинтересованность этих отраслей в безопасности Web-приложений понятна. У разработчиков существует необходимость в качестве продуктов, в то время как телекоммуникационные компании все шире используют различные Online-сервисы, зачастую связанные с системой биллинга.
По 18% приходится на коммерческие структуры, банки и финансовый сектор. Здесь основными типами Web-приложений являются репрезентативные Web-сайты, различные системы обратной связи с клиентами (системы заказов, анкет и т.д.), а также финансовые приложения, такие как системы Интернет-трейдинга, приложения Клиент-банк и т.д. Замыкают список государственные структуры и предприятия нефтегазового комплекса.
 
Статистика уязвимостей
Всего в представленную статистику вошли данные по 61 Web-приложению. Суммарно во всех приложениях было обнаружено 519 ошибок различной степени риска.
Распределение обнаруженных уязвимостей по различным классам, а также процент ошибок найденных с помощью автоматических средств представлен в Табл. 2 и на Рис. 2.
Таблица 2. Статистика уязвимостей Web-приложений.
Класс уязвимости % Уязвимостей % Автоматически % Сайтов
Cross-Site Scripting 43,4 77 74
Information Leakage 21 71 90
Predictable Resource Location 6,9 81 31
SQL injection 9,8 76 31
HTTP Response Splitting 3,9 80 21
Insufficient Authorization 2,7 14 15
Directory Indexing 2,7 79 15
Insufficient Anti-automation 1,8 10 15
Path Traversal 1,5 75 8
Insufficient Authentication 1,0 0 8
Insufficient Process Validation 1,0 20 8
Bruteforce 1,7 44 15
SSI Injection 1,0 100 5
Content Spoofing 0,6 100 3
OS Commanding 0,2 100 3
LDAP Injection 0,2 0 2
Weak Password Recovery Validation 0,6 33 5
Итого (обнаружено автоматически)   71  

Рисунок 3. Статистика уязвимостей Web-приложений.
 
Наиболее распространенной уязвимостью является "Межасайтовое выполнение сценариев" (Cross-Site Scripting, XSS), на долю которой приходится 43% всех ошибок. Данная ошибка встречалась в 74% всех проанализированных приложений. То есть практически три четверти всех сайтов содержит подобную ошибку.
В Таблице 2 также приведен процент уязвимостей каждого типа, обнаруженных с помощью автоматизированных утилит. В целом, с учетом настройки под конкретные задачи сканером было обнаружено 71% всех уязвимостей. Однако ряд критичных ошибок связанных с бизнес-логикой и системой разграничения доступа был идентифицирован только при ручном анализе.
В данный отчет не вошла еще одна распространенная уязвимость Web-приложений - "Подделка HTTP-запросов" (Cross-Site Request Forgery, CSRF) [5]. Это ошибка в том или ином виде встречалась во всех проанализированных приложениях.
Если рассматривать уязвимости с точки зрения распространенности, то наиболее часто встречающейся проблемой являются различные утечки информации (см. Рис. 3). Ошибки в разграничении доступа к Web-ресурсам, хранение в общедоступных, но "скрытых" папках конфиденциальных данных, резервные копии сценариев являются наиболее типичными примерами подобных ошибок. Степень риска, связанная с этими уязвимостями варьируется в зависимости от конкретной ситуации. В некоторых случаях аудиторам удавалось получить доступ к критичной системной или бизнес информации (например, базам учетных записей, журналам транкзаций) используя только механизм "Forced Browsing", т.е. подбора имен файлов, доступных для загрузки из Интернет.

Рисунок 3. Распределение уязвимостей по сайтам.
 
При анализе количества уязвимостей по степени риска (Рис. 4) видно, что наиболее распространенными являются недочеты средней степени критичности. Серьезный вклад сюда вносят уязвимости типа "Межсайтовое выполнение сценариев" и "Утечка информации".

Рисунок 4. Количество уязвимостей по степени риска.
 
Если анализировать распространенность уязвимостей высокой степени риска (Рис. 5), то здесь наиболее часто встречаются ошибки типа "Внедрение операторов SQL" (SQL Injection). Возможность несанкционированного доступа к базе данных была обнаружена в 31% случаев. Также широко распространены ошибки в реализации и настройке системы авторизации и аутентификации. Суммарно эти ошибки встречаются в 23% всех проанализированных приложений.

Рисунок 5. Количество сайтов с уязвимостями высокой степени риска.
 
Если рассматривать суммарную вероятность обнаружения уязвимостей различной степени риска при глубоком анализе Web-приложений, то получаем картину, приведенную на Рисунке 6.

Рисунок 6. Вероятность обнаружения уязвимостей различной степени риска.
 
То есть в 63% сайтов были обнаружены критичные уязвимости, и в 93 случаев из ста в программном обеспечении Web-приложения содержатся уязвимости средней степени риска.
 
Выводы
На основании полученных данных можно сделать следующие выводы:
  • наиболее распространенными уязвимостями являются "Межсайтовое выполнение сценариев", "Внедрение операторов SQL" и различные варианты утечки информации;
  • вероятность обнаружения критичной ошибки в динамическом Web-приложении при ручном анализе составляет 63%;
  • корректное применение автоматизированных средств анализа уязвимостей позволяет идентифицировать более 70% всех недочетов;
  • ряд критичных уязвимостей не может быть обнаружен с помощью автоматизированных средств и требует ручного анализа;
  • ситуация с защитой Web-приложений в 2007 году практически не отличается от предыдущего года [6].
 
Об авторе
Сергей Гордейчик системный архитектор компании Positive Technologies. Специализируется в вопросах аудита и контроля соответствия политикам безопасности, является ведущим разработчиком курсов "Безопасность беспроводных сетей", "Анализ и оценка защищенности Web-приложений" Учебного центра "Информзащита". Опубликовал несколько десятков статей в различных изданиях, автор книги "Безопасность беспроводных сетей". Участвует в проектах Web Application Security Consortium (WASC). Имеет профессиональные звания и сертификаты (MCSE, MCP, MVP Windows:Security, CWNA, CISSP).
 
О компании
"Позитив Текнолоджиз" (Positive Technologies) - лидирующая компания на рынке информационной безопасности.
Основные направления деятельности компании:
  • разработка систем комплексного мониторинга информационной безопасности (XSpider, MaxPatrol);
  • оказание консалтинговых услуг в области ИБ;
  • предоставление сервисных услуг в области ИБ;
  • развитие ведущего российского портала по ИБ Securitylab.ru.
Компания "Позитив Текнолоджиз" (Positive Technologies) - это команда квалифицированных разработчиков и консультантов. Эксперты компании имеют большой практический опыт, являются членами международных организаций, активно участвуют в развитии отрасли.
 
Ссылки
[1] A Fortify Research Report, "Taking the blinders off black box security testing"
http://www.bitpipe.com/detail/RES/1164731890_782.html?src=econsult
 
[2] Web Application Security Consortium, "Web Security Threat Classification"
http://webappsec.org/projects/threat/
 
[3] Common Vulnerability Scoring System
http://www.first.org/cvss/
 
[4] Сергей Гордейчик, "Насколько "дыра" широка?"
http://www.osp.ru/win2000/2006/02/1156304/
 
[5] Сергей Гордейчик, Cross-Site Request Forgery - много шума из-за ничего
http://www.securitylab.ru/analytics/292473.php
 
[6] Positive Technologies, "Статистика уязвимостей WEB-приложений в 2006 году"
http://www.ptsecurity.ru/webstat2006.asp

Большой брат следит за вами, но мы знаем, как остановить его

Подпишитесь на наш канал!