Web Application классификация угроз

Версия для печатиВерсия для печати

WWW pictЗа последние несколько лет индустрия безопасности web-приложений адаптировала несколько десятков путаных и эзотерических терминов, описывающих уязвимости. Такие названия уязвимостей, как «межсайтовое выполнение сценариев» (Cross-site Scripting), «подделка параметров» (Parameter Tampering), и «отравление печений» (Cookie Poisoning) не точно определяют суть проблемы и возможные последствия атак. К примеру, наличие уязвимости типа межсайтовое выполнение сценариев (Cross-site Scripting) может привести к похищению значений cookie пользователя. Знание значений cookie дает злоумышленнику возможность перехватить сессию пользователя и получить контроль над его учетной записью. Для эксплуатации этой уязвимости используется метод манипуляции параметрами пользовательского ввода и поделка параметров URL.

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

Данная классификация представляет собой совместную попытку собрать воедино и организовать угрозы безопасности Web серверов. Члены Web Application Security Consortium создали данный проект для разработки и популяризации стандартной терминологии описания этих проблем. Это даст возможность разработчикам приложений, специалистам в области безопасности, производителям программных продуктов и аудиторам использовать единый язык для взаимодействия.

Цели

  • Определить все известные классы атак на Web-приложения.
  • Согласовать названия для каждого из классов.
  • Разработать структурированный подход к классификации атак.
  • Разработать документацию, содержащую общее описание каждого из классов.

Возможное использование

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

Классы атак

1 Аутентификация (Authentication)
1.1 Подбор (Brute Force)
1.2 Недостаточная аутентификация (Insufficient Authentication)
1.3 Небезопасное восстановление паролей (Weak Password Recovery Validation)
2 Авторизация (Authorization)
2.1 Предсказуемое значение идентификатора сессии (Credential/Session Prediction)
2.2 Недостаточная авторизация (Insufficient Authorization)
2.3 Отсутствие таймаута сессии (Insufficient Session Expiration).
2.4 Фиксация сессии (Session Fixation)
3 Атаки на клиентов (Client-side Attacks)
3.1 Подмена содержимого (Content Spoofing)
3.2 Межсайтовое выполнение сценариев (Cross-site Scripting, XSS)
3.3 Расщепление HTTP-запроса (HTTP Response Splitting)
HTTP REQUEST SMUGGLING,
4 Выполнение кода (Command Execution)
4.1 Переполнение буфера (Buffer Overflow)
4.2 Атака на функции форматирования строк (Format String Attack)
4.3 Внедрение операторов LDAP (LDAP Injection).
4.4 Выполнение команд ОС (OS Commanding).
4.5 Внедрение операторов SQL (SQL Injection)
4.6 Внедрение серверных расширений (SSI Injection)
4.7 Внедрение операторов XPath (XPath Injection)
5 Разглашение информации (Information Disclosure)
5.1 Индексирование директорий (Directory Indexing)
5.2 Идентификация приложений (Web Server/Application Fingerprinting)
5.3 Утечка информации (Information Leakage)
5.4 Обратный путь в директориях (Path Traversal)
5.5 Предсказуемое расположение ресурсов (Predictable Resource Location)
6 Логические атаки (Logical Attacks)
6.1 Злоупотребление функциональными возможностями (Abuse of Functionality).
6.2 Отказ в обслуживании (Denial of Service).
6.3 Недостаточное противодействие автоматизации (Insufficient Anti-automation)
6.4 Недостаточная проверка процесса (Insufficient Process Validation)

Скачать полностью WASC-TC-v1_0.rus 221182b