Усилить пароли: проверка по словарям и базам утекших данных
В 2021 году злоумышленники выложили в открытый доступ файл с более чем 8 млрд паролей, чем потенциально очень облегчили жизнь хакерам, промышляющим брутфорсом. Что не так с паролем как средством аутентификации и как можно обезопасить данные с помощью проверки паролей по словарям и базам утекших данных, рассказывает директор по сервисам компании RooX Егор Леднев.
Пароль – дешево, массово, небезопасно.
Пароль относится к факторам знания. Чтобы его применять, пароль нужно, во-первых, придумать, а во-вторых, помнить. Современный пользователь, окруженный десятками сервисов, в которые нужно аутентифицироваться, стремится оптимизировать и то, и другое. Как следствие, он придумывает простые пароли, а также использует одинаковые или мало отличающиеся пароли для нескольких сервисов.
То, что просто придумать, просто и взломать. Из популярных и банальных комбинаций символов (password, qwerty, 12345 и так далее) составляются базы «словарных паролей». С помощью таких баз хакер простым перебором ищет среди пользователей того или иного сервиса тех, кто поленился придумать надежный пароль. Стандартные средства защиты от перебора (капча или автоматическая блокировка после нескольких неверных попыток ввода) могут не сработать, так как в таких случаях идет не перебор разных паролей для одного логина, а разных логинов для одного пароля.
Использование пользователем одинаковых паролей для разных сервисов также упрощает работу хакеров: они берут известные в результате утечки данные пользователя с одного сервиса (логин и пароль) и применяют такую же комбинацию на других сервисах. В части случаев эти попытки будут успешными.
Для борьбы с такими взломами можно применить три принципиально разных подхода:
- использовать вместо паролей что-то другое (и мир движется к беспарольному входу, но это не тема этой статьи);
- добавить к паролям что-то такое же удобное для пользователя, но дающее в сумме кардинально более высокий уровень безопасности (и здесь мы рекомендуем всем нашим клиентам использовать двух и более факторную аутентификацию, но это тоже не тема этой статьи);
- каким-то образом вынудить пользователя придумывать более надежные пароли, и тут как раз поможет функциональность проверки паролей по словарям и базам утекших данных.
Технология проверки по словарям и базам утекших паролей
Проверки по словарям и базам утекших паролей реализуются системами управления доступом. На российском рынке для таких систем превалируют аббревиатуры IDM/IAM (Identity management/Identity and Access Management), на международном рынке уже прижилось понятие IGA (Identity Governance and Administration). Если мы говорим о внешних пользователях – клиентах, партнерах, поставщиках, – то обычно используют аббревиатуру CIAМ (Customer Identity and Access Management).
Эти системы в числе прочего обеспечивают выполнение сценариев регистрации, аутентификации и авторизации пользователей. Проверку паролей базово можно встроить в следующие точки этих сценариев:
- установка, восстановление, смена пароля;
- вход в систему;
- выполнение действия, для которого требуется дополнительная авторизация.
Реакция системы на обнаружение пароля в указанных базах может лежать в диапазоне от простого информирования пользователя до запрета на выполняемое действие, пока пароль не будет сменен на безопасный. Насколько жесткой будет реакция в той или иной точке сценария, настраивается по требованию заказчика.
Также необходимо предусмотреть возможность проверки не только в момент каких-то действий пользователя, но и из-за внешних обстоятельств. Например, если становится известно о массовой утечке данных из другого сервиса, целесообразно проверить всю вашу базу логинов на совпадения с утекшими. И в случае совпадения (помним, что люди используют одни и те же комбинации на разных сервисах) предупредить пользователя о возможной компрометации пароля или даже заставить его сменить.
В некоторых случаях компании запускают такие проверки просто по расписанию. В любом случае нельзя ограничиваться проверками только в точках заведения, смены и восстановления паролей. На момент, когда пользователь придумывает пароль, он может быть достаточно безопасным, но утечки случаются с неприятным постоянством. Сегодня пароль хороший, а завтра уже скомпрометирован.
При всех своих недостатках аутентификация по паролю все еще является одним из самых понятных пользователям способом входа, поэтому важно обеспечить пароли дополнительной защитой.