Категория, ранее известная как «Сбои аутентификации» в новом рейтинге OWASP, покинула ТОП-3 и сместилась со второго места на седьмое. Несмотря на явное снижение количества атак по данной категории, она все же остается в десятке наиболее критичных.
Признаки проблемы
В актуальной редакции рейтинга OWASP вектор атаки А07:2021 соединил в себе сразу несколько уязвимостей, в том числе связанных с:
-
- фиксацией сеансов (CWЕ-284)
- некорректной аутентификацией (CWE-287)
- некорректной сверкой сертификатов (CWE-297)
Чтобы обезопасить ИТ-инфраструктуру от таких атак, важно корректно подтверждать личности (производить аутентификацию) пользователей и управлять их сеансами.
Атаки по вектору А07:2021 возникают, если приложение:
-
- допускает некорректное аннулирование идентификаторов сеансов, в том числе после периода бездействия или при выходе пользователя из системы
- позволяет еще раз воспользоваться идентификатором после того, как пользователь уже успешно аутентифицировал себя в системе
- допускает предоставление идентификатора в URL
- не имеет многофакторную аутентификацию вообще или ее эффективность слишком низкая
- хранит пароли в текстовом формате, с использованием устаревших криптоалгоритмов или не достаточной длиной ключа хэширования (пересечение с вектором А02:2021)
- использует малоэффективные, с точки зрения безопасности, схемы, которые пользователи применяют, чтобы восстановить пароль и учетные данные
- допускает использование слабых паролей («123456», «Qwerty1», «Parol» и т.д.)
- не защищено от автоматизированных атак, в том числе атак подстановкой, если в распоряжении злоумышленника есть перечень реальных имен и паролей
Чаще всего атаки по рассматриваемой категории оказываются успешными, если пароль используется как единственный фактор аутентификации. Из-за слишком частых ротаций, предусмотренных политикой информационной безопасности многих компаний, пользователи предпочитают создавать слабые пароли, простые для восприятия и запоминания. Согласно рекомендаций NIST 800-63 такая практика устарела, вместо постоянной ротации намного эффективнее будет предусмотреть многофакторную аутентификацию.
Еще одна распространенная проблема — некорректно установленные тайм-ауты. Пользователь получает доступ к приложению через компьютер или гаджет, находящийся в общем доступе. Проделав необходимые действия, он не «выходит», а просто кликает по кнопке «закрыть» во вкладке. Спустя некоторое время киберпреступник может воспользоваться этой ошибкой, если зайдет в тот же браузер, а сеанс аутентифицированного пользователя окажется незавершенным.
Как управлять исправлениями и снизить риск атаки
Основной способ повысить защищенность и не допустить успешных атак по вектору «Ошибки идентификации» — внедрить многоуровневую аутентификацию. Такой подход к распознаванию пользователей в системе, так как обеспечивает предотвращение автоввода учетных данных, атаки с повторным применением похищенных данных, атаки перебором (брутфорс).
Что еще можно предпринять для повышения уровня информационной безопасности по вектору А07:2021:
-
- Использовать встроенный в приложение безопасный менеджер сеансов. Он должен работать на стороне сервера, и, после каждого входа в систему обеспечивать генерацию случайного идентификатора.
- Обеспечить регистрацию сбоев, передачу информации, если обнаружена подозрительная активность или попытки атаковать инфраструктуру.
- Ограничить количество попыток войти в систему. Здесь следует проявлять осторожность, так как есть риск создать сценарий отказа в обслуживании.
- Убедиться в том, что обеспечена защита путей API, а зарегистрироваться и восстановить учетную запись путем перебора невозможно. Проанализировать требования к паролям. В том числе к количеству символов, уровню сложности и периодичности замены. При актуализации политики следует принять во внимание рекомендации NIST 800-63b (раздел 5.1.1.).
- Предусмотреть процедуру тестирования для вновь созданных или измененных паролей. Для выявления слабых паролей кроме проверки соответствия парольной политике можно сравнивать их со списками часто используемых паролей.
- Не допускать использование учетных данных «по умолчанию». Это особенно важно, когда речь идет о тех пользователях, которые обладают правами администратора.