Парольная защита. Методы безопасного хранения паролей

Парольная защита. Методы безопасного хранения паролей

изображение: recraft

Пароли окружают нас повсюду: на телефоне, на рабочем компьютере, в банковском приложении, на видеокамере, при входе в дом и так далее. Однако, по нашим данным, около 30% корпоративных пользователей в России продолжает использовать слабые пароли, не говоря уже об обычных юзерах. О том, в чем опасность применения нестойких паролей и как улучшить ситуацию с защитой аккаунтов, в этой статье расскажет Геннадий Перминов, ведущий консультант по кибербезопасности в RTM Group.

«Нет абсолютно надежных паролей. Есть те, которые взламываются слишком долго»

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

Уже на основе этих данных мы уже можем сделать выводы о том, как правильно составлять пароли. Стойкий — это такой, который нужно подбирать хотя бы миллион лет. Потому что по статистике 88% паролей, использованных в успешных атаках, состояли из 12 символов или меньше.

Тогда правило генерации паролей очевидно:

— Используйте пароли от 14 символов, включая числа, буквы в нижнем и верхнем регистрах, спецсимволы

— Если не хочется возиться с цифрами, регистрами и спецсимволами – то пароль должен содержать хотя бы 18 символов

Помимо длины и сложности парей существуют дополнительные рекомендации:

— Возможно, в вашей организации будет оправдано назначение рабочих паролей сотрудникам вместо того, чтобы позволить им выбирать свои собственные. Это гарантирует использование стойких паролей, но несет дополнительные риски при их централизованной генерации и передаче пользователю.

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

Атаки на пароли

Чтобы понять, почему мы сформулировали такие требования, разберемся, как происходит взлом паролей. Существует несколько основных способов атак в зависимости от контекста. Среди них:

1) Брутфорс (англ. brute-force – грубая сила) – атака полным перебором. Самый очевидный и самый неэффективный способ, который мы и рассмотрели в таблице выше.

Например, если злоумышленник имеет доступ только к панели авторизации, на которой после каждых трех неудачных попыток установлен таймер в пять минут, усложняющий перебор, то в таком случае полный перебор пароля из 12 символов, состоящего из строчных и заглавных букв латинского алфавита и цифр, займет время, сопоставимое с возрастом веленной. Достаточно надежная защита?

Если злоумышленнику известна какая-то информация о пароле, например, его длина, или то, что последний символ – цифра, а первый – заглавная буква, то он может предпринять атаку по маске. И задать эти ограничения с помощью этой самой маски и значительно сократить время перебора. Лишь около пяти процентов паролей оканчиваются цифрой. Делайте так, и злоумышленнику будет сложнее найти вашу секретную комбинацию символов.

К сожалению, люди часто (независимо друг от друга) придумывают одни и те же слова в качестве секретной комбинации. Есть даже специальные словари с самыми часто встречающимися паролями. Самый известный из них – rockyou.txt, содержащий около 10 миллиардов уникальных паролей. И нужно понимать, что в открытом доступе полно таких списков. Также существуют генераторы пользовательских русских словарей, основанные на обратном транслите. Вот один из них.

2) Радужные таблицы. Возможна ситуация, когда злоумышленник получил доступ не просто к странице аутентификации, а к сетевому трафику, и смог перехватить пакеты какого-либо протокола аутентификации (например, «рукопожатие» Wi-Fi) или завладел базой данных какого-то веб-приложения.

Обычно пароли хранятся и передаются в таких протоколах не в открытом виде, а в виде значений хэш-функций, или хэшей. Можно заранее просчитать хэши для всех возможных вариантов секретных комбинаций и хранить их в базе, а не перебирать для каждого пароля в отдельности. Эта концепция реализована в радужных таблицах. Как радуга в своем составе имеет все возможные цвета, так и эти таблицы обладают разнообразными комбинациями паролей.

3) Онлайн-сервисы. В интернете можно найти как готовые радужные таблицы для паролей до 10 символов размером 600-700 гигабайт, так и онлайн-сервисы (платные и бесплатные), предлагающие не скачивать сотни гигабайт информации, а сразу получить готовый пароль по значению хэша. Также существуют онлайн-сервисы, предоставляющие доступ к подобным базам. Один из самых популярных — CrackStation.

Проведем эксперимент. Допустим, возьмем пароль «vladimir». Он есть практически во всех словарях, о которых мы ранее говорили. Часто для хранения паролей используется хэш-функция MD5. Для нашего пароля «vladimir» с помощью сервиса https://md5-online.ru/ получим значение MD5: 5ae21533f62bc2015c2092cff7304b92 и попробуем взломать его с помощью сервиса https://crackstation.net/.

Рисунок 1. Успешный поиск пароля «vladimir»

Как видим, пароль успешно найден практически мгновенно.

Если придумать пароль, отсутствующий в словарях, например «virlimad» (переставили буквы в исходном пароле) со значением хэша MD5: fde483ef665d7dadcccff8dcb4eb4cb1, то такой пароль будет отсутствовать в словарях, как видно на рисунке.

Рисунок 2. Результат поиска пароля «virlimad»

Сложность пароля не изменилась, его длина та же. Спецсимволы и цифры также не используются. Но отсутствие пароля в словарях уже исключило риск его мгновенного раскрытия, в конечном счете повысив трудоемкость получения его злоумышленником.

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

В результате даже если два пользователя выбирают одинаковый пароль, их хеши будут совершенно разными, потому что соль будет отличаться. Это делает радужные таблицы бессмысленными, так как они могут быть использованы только для конкретной соли, а не для всех паролей в целом. При этом применение соли совершенно прозрачно для пользователя и не требует от него никаких дополнительных действий.

Правила безопасности, или чего делать не стоит

Из сказанного видно, что помимо непосредственной стойкости используемых паролей также важно, как мы с ними обращаемся. Вот некоторые правила, которые помогут избежать инцидентов:

Не передавайте пароли в открытом виде. Статистика говорит, что 52,9% людей сообщали свой секретный код коллегами, друзьями, членами семьи. А 44% опрошенных сотрудников заявили, что они делились конфиденциальной информацией и паролями от профессиональных учетных записей во время удаленной работы.

Раз уж вам приходится передавать секретные данные, делайте это так, чтобы никто не мог их перехватить – при личной встрече, в специальных чатах (например, в Телеграм), с использованием средств шифрования.

Не храните пароли в открытом виде и в браузерах. В том числе секретные комбинации могут стать легкой добычей стиллеров — это вредоносное ПО предназначено для кражи личной информации, чаще всего — логинов и паролей. Оно может распространяться через фишинговые письма, заражённые веб-сайты, вредоносные приложения, зараженные флэш-накопители и так далее.

Остерегайтесь всего подозрительного: фишинговых писем и сообщений, сайтов, ссылок, ПО.

Регулярно обновляйте антивирусные базы.

Не используйте один пароль для разных учетных записей. Компрометация пароля может произойти на самом незащищенном и забытом сервисе, но это может повлечь тяжелые последствия, в том числе финансовые и профессиональные.

Как важно пароли хранить…

Надежная система хранения паролей позволяет регулярно обновлять их и использовать большое количество уникальных стойких комбинаций для различных учетных записей. Где и как можно спрятать секретную комбинацию, чтобы никто не получил к ней доступ?

1. В своей голове — можно придумать множество мнемонических правил, позволяющих запоминать сложные пароли. Например, использовать «обратный транслит», то есть написание русских слов на английской раскладке. На такие секретные комбинации приходится всего 1,28% от всех паролей, вместе взятых.

2. В файле на компьютере, но лучше всего в зашифрованном виде или на зашифрованных флэш-накопителях.

3. В менеджере паролей. Это самый эффективный и надежный способ хранения. Такие решения обладают функциями автоматической генерации паролей, обеспечивают безопасные зашифрованные хранилища для обмена и хранения. Главное – использовать надежный мастер-пароль (пароль для шифрования базы ваших паролей). Для того, чтобы избежать уязвимостей, важно его регулярно обновлять, как и любое другое ПО.

…и как их необходимо менять

Согласно рекомендациям различных организаций по информационной безопасности, таких как ФСТЭК России, NIST (National Institute of Standards and Technology) и ISO (International Organization for Standardization), важно балансировать частоту смены паролей с другими мерами безопасности. Ранее было рекомендовано менять пароли регулярно (каждые 30-90 дней), но сейчас NIST отошёл от этого подхода. Почему? Частая смена паролей может привести к негативным последствиям, таким как использование слабых паролей или неправильное их хранение.

Основные рекомендации NIST по смене паролей:

— не требовать регулярной смены паролей, если только нет явных признаков, что пароль был скомпрометирован;

— смена пароля должна происходить только в случае компрометации (например, если пользователь узнал, что его учетные данные были украдены или потенциально подверглись утечке).

ISO/IEC 27001:2013 (Стандарт по управлению безопасностью информации) рекомендует:

— разработать политику безопасности, которая включает меры защиты паролей;

— обеспечить, чтобы пароли были достаточно сложными и использовались многофакторная аутентификация (о ней поговорим далее), когда это возможно;

— в случае компрометации учетных данных или утечек — необходимо немедленно сменить пароль.

ФСТЭК рекомендует:

— использовать пароли длиной не менее 6–8 символов;

— обязательно применять сложные пароли;

— срок действия пароля: не более 180 дней;

— нельзя использовать старые пароли при их смене;

— пароли должны храниться в зашифрованном виде (например, с использованием «соли»).

А здесь мы собрали рекомендации специалистов компании RTM Group по смене паролей:

Критичность приложения Рекомендация по смене пароля Обязательно
Критичные(банковские аккаунты, корпоративные системы с доступом к конфиденциальным данным, системы управления безопасностью) Раз в 3-6 месяцев, используя сложные пароли и многофакторную аутентификацию (2FA) Немедленная блокировка при подозрении на компрометацию учетной записи; Не использовать одинаковые пароли для разных сервисов; Не использовать старые (не повторять) пароли при их смене.
Менее критичные(социальные сети, форумы, не очень важные рабочие сервисы) Раз в 6-9 месяцев, используя сложные пароли и многофакторную аутентификацию (2FA)
Малозначимые или временные (учетные записи для получения скидок, регистрации на сайтах для разового использования) Частая смена пароля не требуется

И не забудем про второй фактор

Многофакторная аутентификация (англ. multi-factor authentication, MFA) — метод контроля доступа к чему-либо, в котором пользователю для получения доступа необходимо предъявить более одного «доказательства» механизму аутентификации. Такой подход может обезопасить систему даже в случае компрометации пароля.

Согласно отчету Duo Labs State of the Auth за 2021 год, в котором были опрошены пользователи в США и Великобритании, 78% респондентов использовали 2FA. Эта цифра подскочила с 53% всего за два года до этого. Наиболее распространенным типом использования была SMS-аутентификация (85,2%). Между тем, только 8,1% полагались на аппаратный токен. Однако, уже в 2020 году стали очевидны уязвимости СМС-аутентификации, такие как перехват сообщений через SIM-свопинг или атаки на SS7-протокол. Начали появляться более безопасные методы, такие как приложения для генерации одноразовых паролей (TOTP, например, Google Authenticator) и push-уведомления.

Ниже приведены популярные типы многофакторной проверки подлинности:

Push-уведомление: установить приложение для проверки подлинности на смартфон и подтверждать вход, нажав кнопку «разрешить» на экране телефона.

Одноразовый пароль (TOTP): обычно это шестизначный код, сгенерированный через приложение. Может быть создан при входе в систему, или приложение постоянно меняет новые коды синхронно с внутренними часами сервера. Эти приложения работают в автономном режиме и быстро настраиваются. Единственным недостатком является то, что вам нужно вводить код вручную.

Отправка одноразового кода на электронную почту/SMS: иногда сообщение электронной почты может содержать ссылку для входа в систему одним щелчком мыши без ввода имени пользователя и пароля. Электронная почта, как метод аутентификации, постепенно теряет популярность, поскольку ее легко взломать.

Двухфакторный аппаратный токен: это физическое устройство работает полностью в автономном режиме, и это один из самых безопасных методов многофакторной аутентификации, поскольку хакеру нужно украсть его у своей цели, чтобы получить доступ. Токены могут генерировать одноразовые пароли или работать как USB-ключи, которые разблокируют доступ к аккаунту при подключении к компьютеру.

Биометрия: Этот метод является относительно новым и пока имеет ограниченное применение. Включает в себя отпечатки пальцев, распознавание голоса и лица, и они считаются самыми сложными для взлома. Настройка биометрической верификации — это длительный процесс, включающий дополнительные приложения и сканирование, прежде чем они смогут его использовать. Кроме того, использование биометрии создает дополнительные сложности, связанные с соблюдением законодательства в сфере защиты персональных данных. Однако, технологии развиваются и со временем применение этого фактора

Вывод

Эффективная парольная политика — один из ключевых элементов защиты информационных систем. Использование сложных, уникальных паролей, многофакторной аутентификации и современных методов управления доступом значительно снижает риски компрометации учетных записей.

Однако безопасность паролей — это не только технологии, но и культура безопасности. Регулярное обучение сотрудников, мониторинг возможных утечек и автоматизация процессов управления паролями помогают минимизировать человеческий фактор.

В итоге сильная парольная политика — это баланс между удобством и надежностью. Организациям необходимо внедрять современные механизмы защиты, адаптируясь к новым угрозам, чтобы оставаться на шаг впереди злоумышленников.

RTM Group
Автор: RTM Group
RTM Group — ведущая консалтинговая компания в области информационной безопасности, судебной экспертизы и ИТ-права.
Комментарии: