Пароли: слабое звено в сетевой безопасности

Опубликовано: 14 Апреля, 2023

Для получения дополнительной информации о политиках паролей и связанных с ними аспектах сетевой безопасности см. главу 7 моей книги «Сцена киберпреступления» (Syngress Publishing).


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


Таким образом, пароль действует как ключ к замку; любой, у кого он есть, может получить его. Это означает, что пароль может легко стать слабым звеном в плане сетевой безопасности компании, поскольку пароли могут быть «взломаны», угаданы, украдены или преднамеренно переданы. Для отдельных пользователей важно защищать свои пароли, а для организаций важно обучать пользователей передовым методам работы с паролями и разрабатывать политики, требующие соблюдения таких методов.


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


Как работают пароли


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


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


Однако, даже если вы усердно относитесь к этому, существует множество способов взлома системы аутентификации по паролю.


Уязвимости паролей


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




  • Предоставление того, что они знают (пароль)


  • Предоставление того, что у них есть (например, карты)


  • Предоставление того, чем они являются (физиологическая характеристика, такая как отпечаток пальца)


  • Предоставление того, что они делают (например, разговор для анализа голосового паттерна)

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




  • Эксплуатация слабых паролей. Предоставленные самим себе, пользователи часто выбирают «простые» пароли, которые они могут запомнить без особых проблем. Это означает, что они используют слово, фразу или число, которое имеет для них особое значение, например, имя супруга, день рождения или номер социального страхования. Злоумышленник, который что-то знает о пользователе, может угадать пароль. Использование любого слова, которое есть в словаре, создает уязвимость, потому что методы «грубой силы» (перебор одного пароля за другим, пока вы не нажмете правильный) и «словарные» атаки могут взломать их.


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


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

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


Создание безопасных паролей


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


В целом, при создании паролей следует придерживаться следующих правил:




  • Сделайте пароль достаточно длинным, чтобы его было трудно угадать, но достаточно коротким, чтобы владелец мог его запомнить (8-10 символов для обычных пользователей, более длинные пароли для пользователей с правами администратора).


  • Не используйте слова, которые есть в словаре.


  • Смешайте в пароле прописные и строчные буквы, цифры и символы.


  • Не используйте один и тот же пароль или одни и те же два или три пароля снова и снова, когда пришло время сменить пароль.

Примечание: вы можете проверить генератор паролей http://www.winguides.com/security/password.php


Защита паролей


Создание надежных паролей — это только первый шаг. Должны быть введены политики для контроля поведения пользователей; то есть запрет на совместное использование паролей с кем-либо еще, обязательную регулярную смену паролей и т. д. Как и в случае со всеми политиками, крайне важно, чтобы политики не только были изложены в письменном виде, но и чтобы они были распространены среди всех тех, кто будет использовать сеть, и что пользователи должны подписать форму, подтверждающую, что они получили и прочитали политики, и что политики применяются.


Административные политики против пользовательских политик


Некоторые из разработанных вами политик можно применять с помощью операционной системы или стороннего программного обеспечения. Например, в сети Windows 2000 можно настроить групповую политику (в редакторе групповой политики для объекта групповой политики выберите Конфигурация компьютера | Параметры Windows | Параметры безопасности | заставить операционную систему запомнить историю паролей пользователя и не разрешать установку пароля, который использовался в недавнем прошлом. Это означает, что вам не нужно полагаться на то, что пользователи соблюдают правила — если они попытаются установить пароль, который не соответствует вашим требованиям, система отклонит его.


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


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


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


Альтернативные и дополнительные методы аутентификации


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


поддерживается Windows 2000/XP по умолчанию и обеспечивает дополнительный уровень безопасности, поскольку пользователь не только должен предоставить что-то, что он знает, для входа в систему (в данном случае личный идентификационный номер или PIN-код), но и также необходимо предоставить физический объект – саму карту. Смарт-карта представляет собой пластиковую карту размером с кредитную карту со встроенным чипом, который может содержать цифровой сертификат, поэтому аутентификация пользователя выполняется с помощью инфраструктуры открытого ключа. Требуется считыватель смарт-карт (аппаратное устройство), через которое проводится считывание карты.


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


Резюме


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