"Дырявый" интернет: рейтинг уязвимостей
Дата: 20:52 05-02-2007
Тема:


По оценкам экспертов, до 70% всех "дырок" в ПО приходится на веб-приложения. Причем результаты последних исследований свидетельствуют о резком росте их числа. Среди браузеров "печальным лидером" является Internet Explorer, а по типам уязвимости лидирует межсайтовое выполнение сценариев.

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

Распределение числа атак на веб-браузеры в мире, 2006

 Распределение числа атак на Веб-браузеры в мире

Источник: Symantec Corporation, 2006

Пока все еще не существует ресурса, который бы описывал уязвимости в веб-приложениях достаточно полно. Информация о новых фактах нарушений безопасности собирается и анализируется различными группами, регулярно публикующими свои бюллетени. Среди них надо назвать MITRE Corporation, Web Application Security Consortium, Symantec Internet Security и др. Основная цель данных исследований состоит в том, чтобы выявить тенденции этих явлений, сделать их достоянием общественности и понять, как с ними бороться.

В 2006 году в первую по "популярности" пятерку уязвимостей приходилось 57% всех существующих. На первом месте среди веб-уязвимостей, как в 2005, так и в 2006 годах был межсайтовый скриптинг (Cross Site Scripting, XSS) - возможность "инъекции" кода HTML в дефективную страницу. Возможность такой атаки возникает в результате отсутствия фильтрации значений переменных, полученных от пользователя, на наличие скриптов (JavaScript, VBScript) или лишних HTML-тегов. На втором месте по частоте – "SQL-инъекция" (SQL Injection), нападение на базу данных в обход межсетевой защиты. На третьем – "включения удаленного файла PHP". То есть, когда веб-приложение неправильно обрабатывает динамически подключаемые файлы или пути к файлам, возникает возможность выполнить произвольную команду или получить содержимое произвольного файла.

Существует несколько причин такого увеличения числа веб-уязвимостей: легкость манипуляций с ними, все увеличивающееся число нового ПО, в том числе бесплатного. Но даже крупные приложения, от известнейших производителей, могут иметь недостатки. Например, нестандартное поведение браузера, который старается "исправить" неправильный HTML.

Классификация веб-уязвимостей

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

Создание классификации угроз безопасности веб-приложений давно назрело в среде разработчиков приложений, специалистов в области ИБ, производителей ПО и других сторон, занимающихся интернет-безопасностью. Существует CVE (Common Vulnerabilities and Exposures) — единый тезаурус всех известных уязвимостей, определяющий единые правила их именования, существующий уже более пяти лет. Но CVE не является классификацией уязвимостей как таковой.

Классификация уязвимостей в веб-приложениях, 2006

Класс уязвимости Подклассы
Аутентификация (Authentication) Подбор (Brute Force)
Недостаточная аутентификация (Insufficient Authentication)
Небезопасное восстановление паролей (Weak Password Recovery Validation)
Авторизация (Authorization) Предсказуемое значение идентификатора сессии (Credential/Session Prediction)
Недостаточная авторизация (Insufficient Authorization)
Отсутствие таймаута сессии (Insufficient Session Expiration)
Фиксация сессии (Session Fixation)
Атаки на клиентов (Client-side Attacks) Подмена содержимого (Content Spoofing)
Межсайтовое выполнение сценариев (Cross-site Scripting, XSS)
Расщепление HTTP-запроса (HTTP Response Splitting)
Выполнение кода (Command Execution) Переполнение буфера (Buffer Overflow)
Атака на функции форматирования строк (Format String Attack)
Внедрение операторов LDAP (LDAP Injection)
Выполнение команд ОС (OS Commanding)
Внедрение операторов SQL (SQL Injection)
Внедрение серверных расширений (SSI Injection)
Внедрение операторов XPath (XPath Injection)
Недостаточная защита информации (Information Disclosure) Индексирование директорий (Directory Indexing)
Идентификация приложений (Веб Server/Application Fingerprinting)
Утечка информации (Information Leakage)
Обратный путь в директориях (Path Traversal)
Предсказуемое расположение ресурсов (Predictable Resource Location)
Логические атаки (Logical Attacks) Злоупотребление функциональными возможностями (Abuse of Functionality)
Отказ в обслуживании (Denial of Service)
Недостаточное противодействие автоматизации (Insufficient Anti-automation)
Недостаточная проверка процесса (Insufficient Process Validation)

Источник: Web Application Security Consortium, 2006

Группа Web Application Security Consortium предлагает классификацию угроз безопасности веб-приложений, содержащую квинтэссенцию известных классов атак, которые возникали в прошлом или сейчас. Каждому классу атак присвоено название, описаны его ключевые особенности и поделен на подклассы.

Рейтинг уязвимостей

В России существуют компании, которые совместно с хостинг-провайдерами проводят постоянное сканирование серверов, размещенных на интернет-площадках. Сканирование проводится в автоматическом режиме с помощью сканера уязвимостей XSpider 7.5. В случае обнаружения недочетов информация об обнаруженных уязвимостях и рекомендации по устранению отправляется владельцам сервера. Так например исследователями в 2006 году было проведено 111 тыс. 936 сканирований, в ходе которых было обнаружено 129 тыс. 197 различных уязвимостей высокого и среднего уровня риска. Уязвимыми оказались 31 тыс. 113 сайтов. Работы проводились с использованием как ручных, так и автоматизированных средств. Всего в статистику вошли данные по различным веб-приложениям, таким как системы клиент-банк, электронные торговые площадки, внешние корпоративные сайты и т.д.

Топ-10 веб-уязвимостей различных классов, Россия, 2006

Место в рейтинге Вид уязвимости Число уязвимых cайтов Уязвимости, обнаруженные с помощью ручных средств Уязвимости, обнаруженные с помощью автоматизированных средств
1 Межсайтовое выполнение сценариев 83% 44,8% 81%
2 Утечка информации 80% 21,2% 85%
3 Предсказуемое расположение ресурсов 34% 5,4% 95%
4 Внедрение операторов SQL 31% 10,1% 78%
5 Расщепление HTTP-запроса 29% 3,5% 92%
6 Недостаточная авторизация 20% 3,3% 8%
7 Индексирование директорий 20% 3,0% 100%
8 Недостаточное противодействие автоматизации 17% 1,6% 0%
9 Обратный путь в директориях 11% 1,4% 100%
10 Недостаточная аутентификация 11% 1,1% 0%

Источник: Positive Technologies, 2006

Наиболее распространен класс "межсайтовое выполнение сценариев" (Cross-Site Scripting, XSS). В среднем каждый сайт содержит 4 уязвимости данного класса. На втором и третьем местах находятся разнообразные уязвимости, приводящие к утечке важной информации. Неаккуратное разграничение доступа к веб-ресурсам, хранение в общедоступных, но "скрытых" папках конфиденциальных данных, резервные копии сценариев являются наиболее типичными примерами подобных ошибок. С помощью четвертой по популярности уязвимость класса "внедрение операторов SQL" злоумышленники получают возможность читать и модифицировать информацию в базе данных. В некоторых случаях эксплуатация SQL Injection может привести к получению полного контроля над сервером. По этой причине данный тип классифицируется как имеющий высокую степень риска.

Распределение уязвимостей по степени риска, Россия, 2006

 Распределение уязвимостей по степени риска

Источник: Positive Technologies, 2006

Как видно, более половины (54%) из всех обнаруженных недочетов приходится на уязвимости средней степени риска. Изрядную лепту в этот результат вносит межсайтовое выполнение сценариев. На уязвимости низкой и высокой степени риска приходится 27% и 18% соответственно.

По результатам проведенных исследований аналитическая группа MITRE Corporation сделала определенные выводы. Уязвимости, особенно XSS, чаще появляются в лицензионных приложениях чем в программах с открытым кодом. Похоже, что вендорам приложений open source проще сделать свои творения более надежными. Опасность форматирования строки чаще появляется в приложениях из открытых источников. Уязвимости переполнения буфера примерно равны для обоих типов ПО.

Многие веб-уязвимости трудно классифицировать по причине многоаспектности, то есть они состоят из различных ошибок, недостатков, и / или конструктивных ограничений. Примерно 30% уязвимостей не могут быть описаны с использованием действующей классификации. Еще 15% ошибок происходят по непонятным причинам. Таким образом, очевидна необходимость объединения усилий исследователей, широкомасштабное изучение этих проблем уязвимости веб-приложений, глобальное объединение знаний.


Елена Тимурова / CNews







Это статья из .:Развели.ру:.
https://razveli.ru