Описание:

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

Типы ошибок:

CWE-79 («Непринятие мер по защите структуры веб-страницы»)
CWE-20 («Недостаточная проверка вводимых данных»)
CWE-89 («Непринятие мер по защите структуры запроса SQL»)
CWE-78 («Непринятие мер по нейтрализации специальных элементов, используемых в команде операционной системы»)
CWE-611 («Неверное ограничение XML-ссылок на внешние объекты»)
CWE-77 («Непринятие мер по чистке данных на управляющем уровне»)
CWE-601 («Переадресация URL на ненадежный сайт («Открытая переадресация»)»)
CWE-80 («Непринятие мер по нейтрализации script-related тэгов HTML на веб-странице (основной XSS)»)
CWE-94 («Неверное управление генерацией кода (Внедрение кода)»)
CWE-434 («Неограниченная загрузка файлов опасного типа»)
CWE-74 («Неверная нейтрализация особых элементов в выходных данных, используемых входящим компонентом («инъекция»)»)
CWE-83 («Непринятие мер по нейтрализации сценария в атрибутах на веб-странице»)
CWE-427 («Неконтролируемый элемент пути поиска»)
CWE-98 («Некорректное управление именем файла для оператора Include/Require в программе PHP (Удаленное включение файла PHP)»)
CWE-626 («Ошибка взаимодействия нулевых байтов (Poison Null Byte)»)
CWE-91 («Внедрение XML (Blind XPath Injection)»)
CWE-96 («Непринятие мер по нейтрализации инструкций в статически сохраненном коде (Внедрение статического кода)»)
CWE-90 («Непринятие мер по нейтрализации специальных элементов в запросе LDAP (Внедрение LDAP)»)
CWE-116 («Некорректное кодирование или сокрытие выходных данных»)
CWE-444 («Передача скрытых HTTP-запросов»)
CWE-22 («Обход пути»)
CWE-35 («Обход пути: …/…//»)

Способы эксплуатации:

Общие
В общем случае уязвимости, связанные с недостаточной проверкой вводимых данных, могут быть использованы нарушителем путем манипулирования входными данными веб-приложения, контролируемыми пользователем

Известные способы эксплуатации для различных типов ошибок CWE:
1) CWE-20:
- выполнение произвольного кода путем отправки специально сформированного запроса;
- выполнение произвольного кода путем отправки специально сформированного сериализованного объекта Java;
- выполнение произвольного кода путем отправки специально сформированного flash-файла (в формате .swf);
- внесение несанкционированных изменений в файловую систему путем загрузки и выполнения вредоносного файла;
- повышение привилегий путем загрузки и выполнения вредоносного файла;
- выполнение произвольных команд путем отправки вредоносных запросов;
2) CWE-22:
- раскрытие защищаемой информации путем отправки специально созданных HTTP-запросов;
- получение содержимого каталога с ограниченным доступом путем отправки специально сформированного HTTP-запроса;
- вызов отказа в обслуживании путем манипулирования параметрами запросов;
3) CWE-78:
- выполнение произвольного кода путем отправки специально сформированного запроса;
4) CWE-79:
- получение несанкционированного доступа к защищаемой информации путем отправки специально сформированного GET-запроса;
- осуществление межсайтовой сценарной атаки путем отправки специально сформированного запроса;
- выполнение произвольного кода или осуществление межсайтовой сценарной атаки путем загрузки на сервер вредоносных файлов с не запрещенным списком расширений (.pht, .php7, .php5, .php3, .php4, .phtml, .pht и др.);
- отправка специально сформированного электронного письма;
5) CWE-89:
- получение содержимого базы данных путем манипулирования параметром GET-запроса;
- выполнение произвольных SQL-запросов, путем отправки специально сформированных HTTP-запросов;
6) CWE-91:
- нарушение конфиденциальности, целостности и доступности защищаемой информации путем отправки специально сформированных TCP и XML запросов;
7) CWE-434:
- выполнение произвольного кода путем загрузки вредоносного файла на сервер;
- выполнение произвольного кода путем загрузки вредоносного файла на сервер при помощи специально сформированного POST-запроса;
8) CWE-611:
- чтение произвольных файлов на сервере путем объявления внешней ссылки;
- вызов отказа в обслуживании путем объявления внешней ссылки

Рекомендации по устранению и предотвращению:

Общие рекомендации
1) Использование фреймворков (программных платформ) с автоматическими проверкой и преобразованием пользовательских данных;
2) Использование проверки входных данных по «белым спискам»;
3) Использование WAF;

Для уязвимостей, связанных с недостаточной защитой структуры веб-страницы (CWE-79)
4) Использование политики защиты содержимого (Content Security Policy, CSP);
5) Анализ ограничений XSS-защиты в зависимости от используемого фреймворка и обеспечение соответствующей обработки возникающих исключительных ситуаций

Для уязвимостей, связанных с недостаточной защитой структуры SQL-запросов (CWE-89)
6) Использование параметризованных SQL-запросов;
7) Реализация экранирования специальных символов для динамических запросов;
8) Использование оператора LIMIT или других элементов управления (для предотвращения утечек данных);

Для уязвимостей, связанных с недостаточной защитой структуры XML (CWE-611, CWE-91)
9) Своевременная установка обновлений для используемых обработчиков XML;
10) Отключение обработки внешних сущностей XML и DTD во всех используемых XML-обработчиках;
11) Проверка входящих XML или XSL файлов с использованием XSD или другим способом
12) Использование вместо XML более простых форматов данных (например, JSON)

Примеры сценариев реализации угроз:

Пример сценария реализации угрозы несанкционированного доступа к автоматизированному рабочему месту пользователя с использованием уязвимости системы управления содержимым сайта, связанной с ошибкой CWE-79

Сбор информации о системах и сетях
1) Сканирование сетевых служб с целью определения уязвимостей, имеющих эксплойты или иные техники использования уязвимостей;

Получение первоначального доступа к компонентам систем и сетей
2) Осуществление межсайтовой сценарной атаки путем отправки специально сформированного запроса (CWE-79);

Внедрение и исполнение вредоносного программного обеспечения в системах и сетях
4) Выполнение кода через различного рода загрузчики («drive-by» атака);

Закрепление (сохранение доступа) в системе или сети
5) Скрытая установка и запуск средств удаленного доступа

Сбор и вывод из системы или сети информации, необходимой для дальнейших действий при реализации угроз безопасности информации или реализации новых угроз
6) Вывод информации через разрешённые на периметровых средствах защиты стандартные tcp/udp-порты (например, tcp/80)

Описание:

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

Типы ошибок:

CWE-284 («Неправильный контроль доступа»)
CWE-264 («Разрешения, привилегии и средства управления доступом»)
CWE-285 («Неправильная авторизация»)
CWE-863 («Неправильная авторизация»)
CWE-269 («Небезопасное управление привилегиями»)
CWE-862 («Отсутствие авторизации»)
CWE-59 («Неверное определение ссылки перед доступом к файлу»)
CWE-276 («Неправильные стандартные разрешения»)
CWE-639 («Обход авторизации посредством использования ключа, контролируемого пользователем»)
CWE-73 («Внешнее управление именем или путем файла»)
CWE-668 («Раскрытие ресурса для ошибочной области»)
CWE-913 («Недостаточный контроль ресурсов кода с динамическим управлением»)
CWE-338 («Использование криптографически слабого генератора псевдослучайных чисел»)
CWE-693 («Нарушение механизма защиты данных»)
CWE-200 («Раскрытие информации»)
CWE-598 («Раскрытие информации посредством строки запросов»)
CWE-319 («Передача секретной информации в виде открытого текста»)
CWE-256 («Хранение пароля в незашифрованном виде»)
CWE-312 («Незашифрованное хранение критичной информации»)
CWE-326 («Слабое шифрование»)
CWE-310 («Проблемы использования криптографии»)
CWE-331 («Недостаточная энтропия»)
CWE-325 («Отсутствие необходимого этапа шифрования»)
CWE-327 («Использование криптографических алгоритмов, содержащих дефекты или риски»)
CWE-311 («Непринятие мер по шифрованию секретных данных»)
CWE-538 («Утечка информации о файлах и каталогах»)
CWE-257 («Хранение паролей в восстанавливаемом формате»)
CWE-12 («Ошибка в конфигурации ASP.NET: отсутствие пользовательской страницы ошибки»)
CWE-16 («Конфигурация»)

Способы эксплуатации:

Общие
В общем случае уязвимости, связанные с недостатками контроля доступа и защиты данных, могут быть использованы нарушителем с помощью специально сформированного запроса или путем перехвата трафика

Известные способы эксплуатации для различных типов ошибок CWE:
1) CWE-12:
- раскрытие защищаемой информации о системе с помощью вызова необработанного исключения путем выполнения запросов с измененными значениями пользовательских переменных;
2) CWE-16:
- раскрытие защищаемой информации с помощью специально созданного запроса;
3) CWE-200:
- получение доступа к защищаемой информации Java Content Repository с помощью специально сформированного запроса;
- получение доступа к защищаемой информации об учетных данных и Cookie путем чтения аутентификационных заголовков;
- раскрытие защищаемой информации с помощью специально сформированных запросов;
- раскрытие защищаемой информации с помощью специально сформированного SNMP-запроса;
- получение информации о внутренней сети путем сканирования портов;
- получение доступа к конфиденциальным данным с помощью отправки специально созданного JSON-сообщения;
4) CWE-264:
- обход существующих ограничений доступа с помощью специально сформированного запроса;
- получение доступа к аутентификационным данным интерфейса REST API с помощью специально сформированных HTTP-запросов;
- получение доступа на изменение, добавление или удаление данных с помощью HTTP-протокола;
- повышение своих привилегий с помощью специально созданного URI-запроса;
- получение полного контроля над приложением с помощью сетевого протокола T3;
5) CWE-284:
- получение доступа к защищаемой информации с помощью специально сформированного HTTP-запроса;
- получение доступа к защищаемой информации о конфигурации устройства с помощью специально сформированных запросов;
- получение несанкционированного доступа к защищаемым данным с помощью протокола HTTP;
- повышение своих привилегий с помощью специально сформированного HTTP-запроса;
- получение доступа на изменение, добавление или удаление данных с помощью HTTP-протокола;
- выполнение произвольных действий на уязвимом устройстве с привилегиями администратора с помощью специально сформированноых HTTP-запросов;
6) CWE-285:
- повышение своих привилегий с помощью специально сформированного HTTP-запроса;
7) CWE-598:
- выполнение произвольного кода с помощью специально сформированого GET-запроса;
8) CWE-639:
- раскрытие информации путем манипулирования параметром;
9) CWE-863:
- повышение привилегий с помощью специально созданного запроса

Рекомендации по устранению и предотвращению:

Общие рекомендации
1) Классификация данных, обрабатываемых, хранимых или передаваемых приложением в целях определения данных, подлежащих защите и последующая реализация разграничения доступа согласно классификации;
2) Хранение паролей с использованием надежных функций хеширования;
3) Запрет доступа к ресурсам в стандартной конфигурации для всех ресурсов, за исключением общедоступных;
4) Контроль доступа к моделям данных путем назначения владельцев записей, а не прав пользователей на создание, просмотр, обновление или удаление записей;
5) Отключение вывода списка каталогов веб-сервера, а также обеспечение отсутствия метаданных файлов (например, .git) и файлов резервных копий в корневых веб-каталогах;
6) Регистрация событий запрета доступа;
7) Ограничение частоты доступа к API и веб-интерфейсу для минимизации возможностей по использованию инструментов автоматизации атак

Примеры сценариев реализации угроз:

Пример сценария реализации угрозы подмены информации, обрабатываемой программным средством для реализации гипертекстовой среды путем эксплуатации уязвимости, связанной с ошибкой CWE-284

Сбор информации о системах и сетях
1) Сканирование сетевых служб с целью определения уязвимостей, имеющих эксплойты или иные техники использования уязвимостей;

Повышение привилегий по доступу компонентам систем и сетей
2) Повышение своих привилегий с помощью специально сформированного HTTP-запроса (CWE-284);

Неправомерный доступ и (или) воздействие на информационные ресурсы или компоненты систем и сетей, приводящее к негативным последствиям
3) Подмена информации

Описание:

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

Типы ошибок:

CWE-119 («Выход операции за границы буфера в памяти»)
CWE-502 («Восстановление в памяти недостоверных данных»)
CWE-787 («Запись за границами буфера»)
CWE-121 («Переполнение буфера в стеке»)
CWE-704 («Неправильное преобразование типов»)
CWE-415 («Повторное освобождение»)
CWE-122 («Переполнение буфера в куче»)
CWE-189 («Ошибки, возникающие при обработке чисел»)
CWE-476 («Разыменование указателя NULL»)
CWE-822 («Ненадежное разыменование указателя»)
CWE-416 («Использование после освобождения»)
CWE-120 («Копирование буфера без проверки размера входных данных (классическое переполнение буфера)»)
CWE-125 («Чтение за границами буфера»)

Способы эксплуатации:

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

Известные способы эксплуатации для различных типов ошибок CWE:
1) CWE-119:
- вызов отказа в обслуживании с помощью специально сформированного RPC-запроса;
- выполнение произвольного кода с повышенными привилегиями с помощью специально сформированной веб-страницы;
- выполнение произвольного кода с помощью специально сформированных запросов;
- вызов отказа в обслуживании с помощью специально сформированных запросов;
- выполнение произвольного кода с помощью специально сформированных файлов формата Advanced Recording Format (ARF) или Webex Recording Format (WRF);
2) CWE-120:
- выполнить произвольный код с помощью специально сформированного сообщения RPC;
3) CWE-189:
- вызов отказа в обслуживании с помощью специально сформированного RPC-запроса;
4) CWE-415:
- перезагрузка устройства с помощью специально сформированных HTTP-запросов;
- отказ в обслуживании с помощью специально сформированных HTTP-запросов;
5) CWE-502:
- выполнение произвольного кода с помощью специально сформированных данных;
- манипулирование файлами в целевой системе с помощью специально сформированных данных;
- выполнение произвольного кода с помощью специально созданного запроса;
- выполнение произвольного кода, путем отправки специально сформированного сериализованного объекта Java;
6) CWE-787:
- выполнение произвольного кода в целевой системе с помощью специально созданных вредоносных файлов формата MCR;
- выполнение произвольного кода в целевой системе с помощью специально сформированной веб-страницы

Рекомендации по устранению и предотвращению:

Общие рекомендации
1) Запуск кода с минимальными привилегиями;
2) Использование WAF;

Для уязвимостей, связанных с небезопасной десериализацией (CWE-502)
3) Проверка целостности сериализованных объектов, например, с помощью цифровых подписей, для предотвращения создания вредоносных объектов или подмены данных;
4) Ввод строгих ограничений типов при десериализации перед созданием объекта;
5) Отслеживание десериализации с предупреждением о фактах продолжительной десериализации

Примеры сценариев реализации угроз:

Пример сценария реализации угрозы переведения в состояние «отказ в обслуживании» маршрутизатора путем эксплуатации уязвимости, связанной с ошибкой CWE-119

Сбор информации о системах и сетях
1) Сканирование сетевых служб с целью определения уязвимостей, имеющих эксплойты или иные техники использования уязвимостей;

Неправомерный доступ и (или) воздействие на информационные ресурсы или компоненты систем и сетей, приводящее к негативным последствиям
2) Вызов отказа в обслуживании с помощью специально сформированных запросов (CWE-119)

Описание:

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

Типы ошибок:

CWE-352 («Межсайтовая фальсификация запросов»)
CWE-287 («Неправильная аутентификация»)
CWE-918 («Серверная фальсификация запросов»)
CWE-306 («Отсутствие аутентификации для критичной функции»)
CWE-798 («Жесткое кодирование регистрационных данных»)
CWE-384 («Фиксация сеанса»)
CWE-307 («Недостаточное ограничение попыток аутентификации»)
CWE-295 («Неправильное подтверждение подлинности сертификата»)
CWE-613 («Неверный срок действия сеанса»)
CWE-255 («Управление регистрационными данными»)
CWE-522 («Недостаточная защита регистрационных данных»)
CWE-288 («Обход аутентификации посредством использования альтернативного пути или канала»)
CWE-640 («Слабый механизм восстановления забытых паролей»)
CWE-305 («Обход аутентификации в силу исходной ошибки»)
CWE-494 («Загрузка кода без проверки целостности»)
CWE-521 («Слабые требования к паролям»)
CWE-345 («Недостаточная проверка подлинности данных»)
CWE-308 («Применение однофакторной аутентификации»)
CWE-354 («Неправильное подтверждение значения проверки целостности»)

Способы эксплуатации:

Общие
В общем случае уязвимости, связанные с недостатками проверки подлинности, могут быть использованы нарушителем путем подделки или раскрытия идентификационной или аутентификационной информации субъекта доступа

Известные способы эксплуатации для различных типов ошибок CWE:
1) CWE-287:
- выполнить произвольный код с помощью специально созданных запросов;
- выполнить произвольный код с помощью специально сформированнного URI;
- получение несанкционированного доступа к защищаемой информации с использованием метода полного перебора;
- выполнение произвольных действий на уязвимом устройстве с помощью отправки специально сформированного HTTP-запроса;
2) CWE-295:
- выполнение произвольного кода с помощью специально созданной веб-страницы;
3) CWE-306:
- раскрытие защищаемой информации с помощью специально созданного HTTP-запроса;
- получение несанкционированного доступа к защищаемой информации путем отправки специально созданного запроса и использования утилиты сетевого анализа Tcpdump;
4) CWE-352:
- получение доступа к аутентификационным данным произвольных пользователей с помощью запросов, изменяющих настройки;
- выполнение произвольных действий на уязвимом устройстве с помощью специально сформированной ссылки;
- выполнение произвольных действий на устройстве с привилегиями пользователя, включая изменение конфигурации устройства, с помощью специально созданной ссылки;
- выполнение произвольного кода с помощью специально сформированной ссылки;
5) CWE-494:
- получение полного контроля над приложением с помощью HTTP протокола;
6) CWE-798
- повышение своих привилегий с помощью статического ключа шифрования;
7) CWE-918:
- осуществление управления приложением с помощью специально сформированных запросов;
- оказание воздействия на целостность защищаемой информации с помощью специально созданного HTTP-запроса

Рекомендации по устранению и предотвращению:

Общие рекомендации
1) Реализация многофакторной аутентификации для предотвращения автоматизированных атак, в том числе, атак методом подбора, а также повторного использования украденных учетных данных;
2) Запрет на использование предустановленных (стандартных) учетных данных.
3) Проверка надежности вновь создаваемых или изменяемых паролей;
4) Обеспечение защиты процедур регистрации, восстановления учетных данных, а также соответствующего API от атак методом полного перебора за счет использования одинаковых ответов сервера;
5) Ограничение количества возможных попыток входа или значительное увеличение интервала между ними.

Примеры сценариев реализации угроз:

Пример сценария реализации угрозы нарушения функционирования средства защиты информации с использованием уязвимости, связанной с ошибкой CWE-352


Сбор информации о системах и сетях
1) Сканирование сетевых служб с целью определения уязвимостей, имеющих эксплойты или иные техники использования уязвимостей;

Получение первоначального доступа к компонентам систем и сетей
2) Использование методов социальной инженерии

Неправомерный доступ и (или) воздействие на информационные ресурсы или компоненты систем и сетей, приводящее к негативным последствиям
3) Выполнение произвольных действий на уязвимом устройстве с помощью специально сформированной ссылки (CWE-352);

Описание:

Уязвимости данного типа связаны с некорректным управлением ресурсами, доступными веб-приложению. Эксплуатация уязвимостей данного типа приводит, преимущественно, к отказу в обслуживании веб-приложения или узла, под управлением которого оно функционирует

Типы ошибок:

CWE-399 («Ошибки управления ресурсом»)
CWE-400 («Неконтролируемый расход ресурса («Истощение ресурса»)»)
CWE-770 («Неограниченное распределение ресурсов или дросселирование»)

Способы эксплуатации:

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

Известные способы эксплуатации для различных типов ошибок CWE:
1) CWE-399:
- вызов отказа в обслуживании путем задания определенного имени файла;
- вызов отказа в обслуживании путем отправки специально сформированных запросов;
- перезаписать файлы в файловой системе уязвимого устройства с помощью специально созданного файла
2) CWE-400:
- вызвать отказ в обслуживании с помощью специально сформированного HTTP-запроса

Рекомендации по устранению и предотвращению:

Общие рекомендации
1) Использование проверки типов и допустимых значений входных данных;
2) Использование фреймворков (программных платформ) с автоматическими проверкой и преобразованием пользовательских данных;
3) Использование проверки входных данных по «белым спискам»;
4) Использование WAF

Примеры сценариев реализации угроз:

Пример сценария реализации угрозы несанкционированного доступа к СУБД путем переведения в состояние «отказ в обслуживании» программное обеспечение управления событиями и политиками безопасности сетевых устройств путем эксплуатации уязвимости, связанной с ошибкой CWE-399

Сбор информации о системах и сетях
1) Сканирование сетевых служб с целью определения уязвимостей, имеющих эксплойты или иные техники использования уязвимостей;

Неправомерный доступ и (или) воздействие на информационные ресурсы или компоненты систем и сетей, приводящее к негативным последствиям
2) Вызов отказа в обслуживании с помощью специально сформированных запросов (CWE-399)

Получение доступа (распространение доступа) к другим компонентам систем и сетей или смежным системам и сетям
3) Использование средств и интерфейсов удаленного управления