![](https://habrastorage.org/getpro/habr/upload_files/6ff/957/012/6ff9570126dbb9cfae3949710a00ee44.jpg)
В феврале вышло исследование компании DLBI по самым популярным паролям в России. Аналитики собрали учётные записи (электронная почта — пароль), утёкшие в 2023 году, выделили из них уникальные. Всего получилось 44 млн записей. На основе этой базы исследователи составили топ самых популярных паролей.
Самые популярные пароли 2023 года:
123456
123456789
1000000
12345678
12345
123123
1234567890
123123qwe
qwerty
Qwerty123
Этот список заставляет задуматься: мы точно живём в XXI веке? Удивительно, что, несмотря на обилие статей о правилах создания безопасных паролей, люди до сих пор пользуются вариантами типа «12345». Но проблема не только в пользователях – ведь разработчики тоже не ограничивают возможность использования таких сочетаний.
Даже если сервис требует в качестве пароля комбинацию заглавных и строчных буквы, цифр и спецсимволов, пользователи выбирают сочетания соседних кнопок клавиатуры — «1qaz@WSX», «!QAZ2wsx» и тому подобные.
Если пароли так ненадежны, не пора ли их забыть? Я – Василий Огнев, руководитель направления многофакторной аутентификации компании МТС RED, расскажу, почему это сложно сделать.
Первые компьютерные пароли
Создание компьютеров потребовало масштабируемой системы паролей, чтобы каждый пользователь мог получить свой. Только о безопасности тогда мало кто задумывался. Один из первых известных паролей применялся для разграничения совместного доступа к компьютеру IBM в MIT в 1960-х. Это был огромный мейнфрейм, время на котором стоило дорого. Фернандо Корбато придумал вводить пароли, чтобы каждый пользователь имел доступ только к своим данным и получал к ним доступ в положенное ему время. Однако один из учёных — Алан Шер — просто распечатал файл с паролями и использовал чужие учётные данные, чтобы получить больше компьютерного времени. Признался он в этом спустя десятилетия, поэтому вопрос защищенности паролей стал актуален после другого случая.
![Фернандо Корбато на фоне компьютера IBM, для которого написал систему разделения времени с паролями для пользователей © MIT Museum Фернандо Корбато на фоне компьютера IBM, для которого написал систему разделения времени с паролями для пользователей © MIT Museum](https://habrastorage.org/getpro/habr/upload_files/a71/03e/325/a7103e325f2168b40a4202bd61a35688.jpg)
В 1988 году студент Корнельского университета Роберт Моррис запустил в сети ARPANet (предшественник Интернета) программу, которая по замыслу должна была просто распространяться по компьютерам сети, используя уязвимости почтового протокола и подбирая пароли по словарю. Сработало даже слишком хорошо — из-за недостатков кода программа могла запускаться несколько раз на одном и том же компьютере, а поиски других вычислительных систем перегрузили сеть. В результате софт назвали «червем Морриса» и, хотя он не содержал деструктивной части, фактически стал прародителем нового класса вредоносного ПО.
Анализ червя Морриса показал, насколько легкомысленно пользователи относятся к паролям. Ведь программа подбирала их, исходя из имени-фамилии пользователя и словарика на 24 000 слов. И атака была успешной — по разным оценкам было «заражено» до 10% сети. А она тогда насчитывала 60 000 компьютеров, далеко не каждый пользователь мог в неё попасть и поведение её участников чаще всего было «приличным» с точки зрения информационной безопасности. Тот же Моррис сам сдался властям, когда понял, что наделал. В итоге его приговорили к трём годам условно, 10 тысячам долларов штрафа и 400 часам общественных работ. Это было не самым плохим исходом: изначально Моррису грозил и больший срок, и больший штраф.
Как берегли и ломали пароли
Чтобы не хранить пароли в открытом виде, было применено решение, известное ещё до изобретения компьютеров — хэш. Сейчас подавляющее большинство компаний хранят пароли пользователей не в открытом виде, а в виде хэшей. Но злоумышленники привыкли использовать самое слабое звено — человека.
Например, в 70-e Unix стал одной из первых операционных систем, хранящих вместо паролей хэши. Однако хакеры брали самые популярные пароли (теперь вы понимаете, что пароль 123456 как минимум банальный и не отражает уникальности человека), вычисляли их хэш и после этого крали базы хэшей пользователей. Если вычисленный хэш совпадал с пользовательским, значит сотрудник использовал соответствующих популярный пароль. Позднее эта атака на пароли эволюционировала до создания огромных радужных таблиц. Поэтому если происходит утечка логинов и хэшей паролей пользователей, хакеры могут восстановить большую часть исходных значений пароля за несколько минут.
Оставшуюся часть просто брутфорсят — даже правильный сложный пароль можно взломать с помощью атаки методом перебора. Предположим, пароль содержит 8 символов, включает буквы разного регистра, а также цифры и спецсимволы — такие рекомендации были распространены у интернет-сервисов лет 5—10 назад и даже удовлетворяли рекомендациям NIST (Национального института стандартов и технологий) 2017 года. Все возможные пароли из 8 символов — это порядка квадриллиона (миллион миллиардов) комбинаций. Когда-то для того, чтобы вычислить хэш каждой из них и сравнить с базой понадобилось бы или много времени, или много денег. Но сейчас это вопрос 5 минут и 6 долларов: компания Hive Systems провела исследование и узнала, что в 2023 году 8-значный пароль слишком уж легко ломается. Брутфорс-атака на арендованном облачном «железе» (те самые 6 долларов) и с возможностью распределённых вычислений будет очень быстрой.
![Таблица Hive Таблица Hive](https://habrastorage.org/getpro/habr/upload_files/12c/e2a/eae/12ce2aeaec18be0a280b9b37a605fa62.png)
Далее создатели Unix модифицировали систему, чтобы пользователи не могли задавать простой пароль, а при первом вычислении хэша к исходной комбинации добавляли случайное число — соль. Пароль вместе с солью давали новое значение хэша и хакеры не могли вычислять простые пароли с помощью радужных таблиц. Но так как соли хранились с хэшами в одной базе, то хакеры научились подбирать и это комбо.
Так почему пароли устарели?
Исследование Hive вовсе не значит, что любой пароль теперь можно взломать за минуты, максимум часы и дни. Во-первых, доступ к хэшу пароля пользователя ещё надо получить, особенно когда идёт охота на конкретный аккаунт, а не происходит массовый подбор паролей. Кроме того, в исследовании взламывался алгоритм хэширования MD5, а есть более устойчивые к атаке брутфорсом варианты – например, алгоритмы семейств SHA-2 и SHA-3.
Обратная сторона ситуации: вычислительные мощности продолжают дешеветь. В обозримом будущем весьма вероятно появление доступных квантовых вычислений, которые позволят подобрать любую пару пароль-хэш за несколько секунд. И, главное, что даже без всех этих высокотехнологичных наворотов пароли крадут с помощью гораздо более простых атак. Их ввод может быть отслежен троянской программой на устройстве пользователя, к логинам-паролям в облачной базе данных могут забыть закрыть доступ. Даже менеджеры паролей, которые составляют правильные пароли и надёжно хэшируют их, иногда взламывают — так информация пользователей оказывается скомпрометированной.
Но отказаться от паролей в большинстве случаев пока не получается.
Заменить нельзя оставить
Пожалуй, самая важная причина продолжения использования привычной пары «логин-пароль» — legacy. Пользователи накопили огромный опыт и просто привыкли к парольной защите, а для разработчиков создан богатый выбор инструментов для использования паролей в сервисах. В таких условиях выглядит разумным оставить привычную систему доступа, но подстраховаться — дополнить её ещё одним надёжным способом защиты информации.
Раз пароль трудно заменить, его дополняют вторым и третьим фактором аутентификации. Первый фактор аутентификации — это «фактор знания». Обычно это традиционные логин и пароль, хотя в некоторых случаях в этой роли может выступать кодовое слово, информация о последних платежах и другие данные, которыми теоретически должен располагать только пользователь.
Далее у пользователя запрашивают «фактор владения» — информацию, которую должен иметь или получить только этот пользователь. Это может быть физический токен с генератором одноразовых паролей (OTP) или приложение, в котором пользователь сначала получает вектор инициализации, а потом может генерировать одноразовые пароли как по времени (TOTP), так и по событию (HOTP). В дальнейшем сервис MFA узнаёт пользователей по их логинам и знает, какое значение в тот или иной момент пользователь должен предъявить. Также можно высылать индивидуальный одноразовый код — через SMS, на почту или, например, в Telegram, но надежнее, когда одноразовый код генерируется в приложении по времени (TOTP).
В отличие от традиционного пароля «фактор владения» практически невозможно подобрать брутфорсом. Хакер за пару попыток (обычно их количество настраивается в сервисе MFA) должен угадать 4-5-6-значное число, то есть шансы на успех — доли процента. В случае нескольких ошибок при вводе одноразового кода система блокирует доступ на некоторое время. В результате атаку подбором невозможно завершить за разумное время. И, если система MFA настроена правильно, никакое подключение вычислительных мощностей хакерам не поможет.
Третьим фактором может быть биометрия, если есть ещё и другие. По сути она служит для идентификации пользователя и сейчас часто используется при доступе к приложению, где генерируется одноразовое значение для аутентификации (OTP), чтобы аутентификация была более надёжной и комфортной для пользователя. Использование биометрии совместно с другими факторами — это рекомендация не только российского ГОСТ, но и всего экспертного сообщества. Пароль может заменить тот же OTP (и в некоторых случаях OTP даже безопаснее, чем слабые пароли), но это справедливо только для систем, не обрабатывающих критичные данные и не связанных с финансовыми рисками.
Идея многофакторной аутентификации (MFA) кажется очевидной. В рекомендации NIST она вошла в 2017 году, однако условия для быстрого роста этого рынка сложились только сейчас. MFA становится стандартом, особенно в сервисах, где защита учетной записи имеет критически важное значение. Например, с 1 октября 2023 года вход в Госуслуги возможен только с двухфакторной аутентификацией. Это лишь начало тенденции: по оценке аналитиков МТС RED российский рынок MFA вырастет к 2027 году на 80% — до 5,6 млрд рублей.
Новая альтернатива – это Passkey, решение на базе стандарта FIDO2: сертификаты-ключи доступа хранятся на телефоне, биометрия используется как доступ к ним. Пока FIDO2 начал использоваться преимущественно в вебе (соцсети, доступ к сайтам), но в будущем может прийти в корпоративный сегмент.
Подождите со светлым будущим
Исследование Microsoft показывает, что надёжность MFA при использовании длинных паролей и одноразовых кодов превышает 99,9%. Оставшиеся доли процента — на совести хакеров, которые не опускают руки и придумывают способы, как обойти схему применения дополнительной аутентификации. В любом случае MFA существенно усложняет им задачу и поэтому прочно входит в топ советов практических всех экспертов по безопасности. А задача наладить надёжную систему MFA без очевидных недостатков — вполне решаемая на сегодняшний день. Если вам интересно, какие уязвимости хакеры находят в MFA и как с ними борются разработчики, расскажем об этом в следующей статье.