У меня проблема с олицетворением, которая появляется в отчете SAST.
Состояния проблемы, как показано ниже:
OW ASP Топ 10 2017: Аутентификация с нарушением A2
PCI DSS v3.2: PCI DSS (3.2) - 6.5.8 - Неправильный контроль доступа
OW ASP Топ 10 2013: Аутентификация с нарушением А2 и управление сеансами
Описание этой проблемы, приведенное в самом отчете: Разрешение приложения. NET запускаться на потенциально повышенных уровнях доступа к базовой операционной и файловой системам может быть опасным и приводить к различным видам атак.
Время внедрения:
- Архитектура и дизайн
- Реализация
- Операция
Потенциальные меры защиты: Запустите приложение с ограниченными правами на базовая операционная и файловая система.
Другие примечания:. NET серверные приложения могут дополнительно выполняться с использованием идентификатора пользователя, аутентифицированного на клиенте. Цель этой функции - обойти проверки подлинности и контроля доступа в коде приложения. NET. Аутентификация выполняется базовым веб-сервером (Microsoft Inte rnet IIS), который передает аутентифицированный токен или анонимный токен без аутентификации в приложение. NET. Используя токен для олицетворения клиента, приложение затем использует параметры в каталогах NTFS и файлы для управления доступом. Олицетворение позволяет приложению на сервере, на котором выполняется приложение. NET, выполнять код и обращаться к ресурсам в контексте аутентифицированного и авторизованного пользователя.
if (DuplicateToken(token, 2, ref tokenDuplicate) != 0)
{
tempWindowsIdentity = new WindowsIdentity(tokenDuplicate);
impersonationContext = tempWindowsIdentity.Impersonate();
}
В коде нет ошибок и приложение работает успешно, но когда я запускаю отчет SAST, я получаю НИЗКУЮ уязвимость для этой проблемы олицетворения. Можете ли вы объяснить, что этот отчет пытается сказать и что исправить в коде?