CWE-306: Отсутствие аутентификации для критической функции

Характеристика уязвимости

Распространенность уязвимости Общая Последствия Обход защиты
Стоимость восстановления От низкого до высокого Простота обнаружения Умеренная
Частота атаки Иногда Осведомлённость атакующего Высокая

 

Описание ошибки: ПО не проводит аутентификации для выполнения функций, которые требуют подтверждения личности пользователя или потребляют большое количество ресурсов.

 

Возможность возникновения ошибки:

  • При проектировании и разработке структуры ПО

Используемые платформы:

Языки – все

 

Общие последствия

Получение привилегий / подделка личности; другие

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

 

Вероятность возникновения – от средней к высокой

 

Способы обнаружения

Ручной анализ

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

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

 

Автоматический статический анализ

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

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

Эффективность: ограниченная