Найти тему

OWASP Top 10. Ошибки идентификации и аутентификации (А07:2021)

Оглавление

Категория, ранее известная как «Сбои аутентификации» в новом рейтинге OWASP, покинула ТОП-3 и сместилась со второго места на седьмое. Несмотря на явное снижение количества атак по данной категории, она все же остается в десятке наиболее критичных.

Признаки проблемы

В актуальной редакции рейтинга OWASP вектор атаки А07:2021 соединил в себе сразу несколько уязвимостей, в том числе связанных с:

  • фиксацией сеансов (CWЕ-284);
  • некорректной аутентификацией (CWE-287);
  • некорректной сверкой сертификатов (CWE-297).

Чтобы обезопасить ИТ-инфраструктуру от таких атак , важно корректно подтверждать личности (производить аутентификацию) пользователей и управлять их сеансами.

Атаки по вектору А07:2021 возникают, если приложение:

  • допускает некорректное аннулирование идентификаторов сеансов, в том числе после периода бездействия или при выходе пользователя из системы;
  • позволяет еще раз воспользоваться идентификатором после того, как пользователь уже успешно аутентифицировал себя в системе;
  • допускает предоставление идентификатора в URL;
  • не имеет многофакторную аутентификацию вообще или ее эффективность слишком низкая;
  • хранит пароли в текстовом формате, с использованием устаревших криптоалгоритмов или не достаточной длиной ключа хэширования (пересечение с вектором А02:2021);
  • использует малоэффективные, с точки зрения безопасности, схемы, которые пользователи применяют, чтобы восстановить пароль и учетные данные;
  • допускает использование слабых паролей («123456», «Qwerty1», «Parol» и т.д.);
  • не защищено от автоматизированных атак, в том числе атак подстановкой, если в распоряжении злоумышленника есть перечень реальных имен и паролей.

Чаще всего атаки по рассматриваемой категории оказываются успешными, если пароль используется как единственный фактор аутентификации. Из-за слишком частых ротаций, предусмотренных политикой информационной безопасности многих компаний, пользователи предпочитают создавать слабые пароли, простые для восприятия и запоминания. Согласно рекомендаций NIST 800-63 такая практика устарела, вместо постоянной ротации намного эффективнее будет предусмотреть многофакторную аутентификацию.

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

Как управлять исправлениями и снизить риск атаки

Основной способ повысить защищенность и не допустить успешных атак по вектору «Ошибки идентификации» - внедрить многоуровневую аутентификацию. Такой подход обеспечивает предотвращение автоввода учетных данных, атаки с повторным применением похищенных данных, атаки перебором (брутфорс).

Что еще можно предпринять для повышения уровня информационной безопасности по вектору А07:2021:

  1. Использовать встроенный в приложение безопасный менеджер сеансов. Он должен работать на стороне сервера, и, после каждого входа в систему обеспечивать генерацию случайного идентификатора.
  2. Обеспечить регистрацию сбоев, передачу информации, если обнаружена подозрительная активность или попытки атаковать инфраструктуру.
  3. Ограничить количество попыток войти в систему. Здесь следует проявлять осторожность, так как есть риск создать сценарий отказа в обслуживании.
  4. Убедиться в том, что обеспечена защита путей API, а зарегистрироваться и восстановить учетную запись путем перебора невозможно. Проанализировать требования к паролям. В том числе к количеству символов, уровню сложности и периодичности замены. При актуализации политики следует принять во внимание рекомендации NIST 800-63b (раздел 5.1.1.).
  5. Предусмотреть процедуру тестирования для вновь созданных или измененных паролей. Для выявления слабых паролей кроме проверки соответствия парольной политике можно сравнивать их со списками часто используемых паролей.
  6. Не допускать использование учетных данных «по умолчанию». Это особенно важно, когда речь идет о тех пользователях, которые обладают правами администратора.