Существует множество способов взлома паролей, включая методы, описанные в следующих разделах.
Подбор пароля
Как и показывают в кино, хакеры могут подобрать пароль. Если он прост и хакер что-то знает о человеке, он может попытаться подобрать пароль, исходя из его интересов. Хорошо известно, что юзеры часто используют в качестве пароля свое имя, имена своих близких или любимые хобби. Хакер может попытаться подобрать пароль вручную или использовать один из многих инструментов для автоматизации этого процесса. Если автоматический генератор паролей слепо пробует все возможные комбинации, это называется атакой «грубой силы». Если он использует предопределенный набор возможных значений пароля, который часто является набором слов, то такой инструмент называют «словарем». Большинство инструментов подбора паролей используют инструмент, который начинается с набора слов, а затем дополняет текстовые слова различными комбинациями цифр и специальных символов, чтобы подобрать более сложные пароли.
Примечание. Однажды я случайно подобрал пароль пользователя, о котором ничего не знал, с первой попытки. Я как раз закончил смотреть знаменитый фильм Орсона Уэллса «Гражданин Кейн», сюжет которого крутился вокруг словосочетания «бутон розы». Оно и оказалось паролем. Но со мной такое произошло только один раз.
Фишинг
Хакер также может использовать реалистичный, но мошеннический онлайн-запрос (через веб-сайт или электронную почту), чтобы обмануть пользователя и заставить его раскрыть свой пароль. Это называется фишинг. Если попытка фишинга использует то, что ранее было частной или внутренней информацией, это известно как spearphishing. Хакеры также могут использовать телефон или личный контакт, чтобы попытаться обмануть пользователей и узнать их пароли. Это работает гораздо чаще, чем вы думаете.
Кейлоггинг (запись нажатия клавиш)
Если хакер уже имеет повышенный доступ к компьютеру жертвы, он может установить программу под названием кейлоггер, которая фиксирует нажатия клавиш. Кейлоггеры отлично подходят для получения паролей, и им все равно, сложный он или простой, длинный или короткий.
Взлом хэша пароля
Если хакер может получить доступ к базе данных аутентификации жертвы, то может получить доступ к сохраненному паролю или, что более вероятно, к хэшам паролей. Сильные хэши криптографически устойчивы к обратному преобразованию в исходные текстовые формы. Более слабые и даже сильные хэши коротких паролей подвержены взлому. Взломщик хэша, используя методы грубой силы или словаря, пытается ввести все возможные пароли, преобразует их в хэш, а затем сравнивает вновь созданный хэш с украденным. Если они совпадают, то хакер теперь имеет пароль с открытым текстом. «Радужные таблицы» связаны с традиционными хэшами, только в их хэш-таблице хранится промежуточная форма, используемая для сравнения паролей или хэшей, что значительно ускоряет взлом. Есть много бесплатных программ для подбора и взлома паролей, доступных в Интернете. Если это вам интересно, обратитесь к открытому исходному коду John the Ripper (http://www.openwall.com/john/).
Повторное использование учетных данных
Если у хакера есть повышенный доступ, он может украсть хэш пароля пользователя или другое представление учетных данных из памяти компьютера или сохраненной базы данных аутентификации, а затем воспроизвести его на других компьютерах, которые принимают аутентификацию с использованием украденных учетных данных. Этот тип атаки, в частности известный как Pass-the-Hash (или PtH), стал довольно популярным за последнее десятилетие. В традиционном сценарии PtH злоумышленник сначала проникает на один или несколько обычных компьютеров конечных пользователей, находит локальные хэши учетных записей с повышенными привилегиями, а затем использует их для доступа к хранилищу всех учетных данных компьютера или сети, что, по существу, ставит под угрозу всю систему. За последнее время почти каждая организация, подключенная к Интернету, подверглась этому типу атаки.
Взлом сервиса восстановления пароля
Часто самый быстрый способ внедриться в систему – это взлом сервисов восстановления паролей. Многие системы аутентификации, особенно крупные онлайн-системы, позволяющие конечному пользователю ответить на ряд стандартных вопросов, используются для сброса пароля. Хакеры обнаружили, что гораздо легче подобрать или ответ на вопросы сброса пароля конкретной жертвы (например, «Какова девичья фамилия вашей матери?», «В какую начальную школу вы ходили?», «Какой была ваша первая машина?», «Какой ваш любимый цвет?» и так далее), чем подобрать сам пароль. Многие знаменитости были взломаны именно таким способом.
Защита паролей
Существует столько же способов защиты паролей, сколько и способов их взлома.
Сложность и длина
Длинные и сложные пароли значительно усложняют работу инструментов подбора и взлома. Лучше использовать длинные пароли, чем сложные (если вы не можете получить истинную сильную энтропийную сложность). Сегодня большинство экспертов рекомендуют 12-значные или более длинные пароли, и это только для обычных пользователей. Учетные записи привилегированных юзеров должны содержать не менее 16 символов. Длина рекомендуемого минимального размера пароля со временем увеличивается. Однако это не влияет на атаки повторного использования учетных данных, такие как PtH-атаки.
Частые изменения без повторного использования
Для защиты рекомендуют (а в некоторых случаях и требуют) соблюдать сроки, в течение которых может использоваться конкретный пароль (обычно 90 дней или менее) без повторения. Смысл в том, что, как правило, необходимо много времени, чтобы подобрать длинный и сложный пароль, но в итоге это может быть сделано благодаря вычислительной мощности. Периодическое изменение паролей снижает риск того, что хакер добьется успеха, прежде чем будет использован новый пароль.
Примечание. В некоторых недавних документах, посвященных паролям, ставится под сомнение, действительно ли традиционная защита длинным, сложным и меняющимся паролем эффективна. Хотя эти средства защиты могут показаться на первый взгляд хорошими, исследования показывают обратное. Ознакомьтесь с документом Microsoft Research Password Guidance Робина Хикока (https://www.microsoft.com/en-us/research/publication/passwordguidance/) и документами доктора Кормака Херли, о котором мы поговорим в следующей главе, подвергающими сомнению традиционные рекомендации по паролям.
Разные пароли в разных системах
Это одна из лучших защит, но реализовать ее очень трудно (если не невозможно). Пользователи не должны использовать один и тот же пароль в разных системах. Повторное использование учетных данных повышает риск того, что хакер взломает одну из систем, захватит ваши общие учетные данные, а затем использует их для атаки на другую систему.
Блокировка аккаунта
Это распространенная защита от подбора пароля. Там, где хакеры пытаются его подобрать (например, в интерактивном режиме), система аутентификации блокирует или замораживает учетную запись после заданного числа неправильных попыток. Блокировка может быть временной или потребовать, чтобы конечный пользователь позвонил в службу поддержки, чтобы повторно активировать учетную запись или сбросить ее на портале сброса пароля. Эта защитная мера побеждает многих хакеров и инструменты для подбора паролей, но имеет свои риски, поскольку функция блокировки может быть использована хакером для создания широко распространенной атаки с отказом в обслуживании.
Устойчивые хэш-функции
Уязвимые хэш-функции не должны использоваться в системах аутентификации. Многие операционные системы по умолчанию используют устойчивые хэши, однако в целях обратной совместимости могут допускать использование менее стойких алгоритмов. В Windows хэши LM считаются уязвимыми и не должны использоваться. В Linux это хэши MD5 и SHA-1.
Не используйте пароли
Требования к паролям становятся настолько длинными и сложными, что большинству пользователей может быть проще вообще его не использовать. Вместо этого следует прибегнуть к 2FA, биометрическим данным, маркерам безопасности, цифровым сертификатам – чему угодно, только не простому имени пользователя и паролю. Такая рекомендация существовала и раньше, но сейчас это особенно актуально. Если веб-сайт позволяет использовать что-то лучшее, чем пароль, не отказывайтесь.
Примечание.. Работа альянса FIDO (https://fidoalliance.org/) по избавлению от паролей через Интернет набирает обороты в отличие от многих предыдущих безуспешных попыток сделать то же самое. Проверьте сами.
Защита от кражи учетных данных
Поскольку кража учетных данных с помощью таких атак, как PtH, стала настолько популярной в последнее время, многие операционные системы оснащены встроенными средствами защиты. Большинство из них сосредоточено на том, чтобы убедиться, что пароли/хэши недоступны в памяти для легкой кражи, или они не разделяют пароль и хэш через сетевые подключения.
Защита сервисов восстановления пароля
Сервисы восстановления пароля – самые слабые звенья в системе аутентификации. Они должны всегда позволять пользователям создавать собственные уникальные и трудоемкие/исследовательские вопросы и ответы. Если они этого не делают, пользователи должны дать трудоемкие ответы на вопросы и надежно сохранить их для последующего использования. Например, на вопрос «Какая девичья фамилия вашей матери?» ответом может быть giraffedogfish. По сути, вы превращаете ответ на вопрос о сбросе пароля в другой альтернативный пароль.
Глава 22 посвящена доктору Кормаку Херли, чьи исследования паролей бросают вызов общепринятым убеждениям.