Десять мифов о паролях в Windows
Несмотря на все достижения в технологиях безопасности, один аспект остается неизменным: пароли все еще играют центральную роль в безопасности системы.Проблема заключается в том, что они слишком часто могут служить простейшим механизмом для взлома. Несмотря на то, что существуют технологии и политики для того, чтобы сделать пароли более устойчивыми, до сих пор приходиться бороться с человеческим фактором. Ни для кого не является секретом, что пользователи часто в качестве паролей используют имена друзей, клички животных и т.д.
Главная задача заключается в том, чтобы пользователи составляли надежные пароли. Однако, не всегда ясно, как достичь этого. Проблема состоит в том, что наши действия слишком предсказуемы. Например, в списке совершенно случайных слов, придуманных обычным человеком, непременно проявится некоторая общая закономерность. Выбор надежных паролей требует соответствующего обучения. Эти знания системные администраторы и должны распространить на конечных пользователей. Возможно, данная статья поможет вам разобраться в использовании паролей в Windows 2000 и XP
№1: хэши паролей достаточно надежны при использовании NTLMv2
Многие читатели хорошо знакомы со слабостью хэшей паролей LanManager (LM), что сделало столь популярным L0phtcrack. NTLM делает хэши несколько устойчивее, так как используется более длинный хэш и различаются символы в верхнем и нижнем регистрах. NTLMv2 является более совершенным, при этом вычисляется 128-битный ключ, и используются отдельные ключи для целостности и конфиденциальности. Кроме того, он использует алгоритм HMAC-MD5 для более высокой целостности. Однако Windows 2000 по-прежнему часто пересылает LM и NTLM хэши по сети, а NTLMv2 уязвим к атакам при передаче (также известным как replay). И, поскольку хэши паролей LM и NTLM по-прежнему хранятся в реестре, вы уязвимы и к атакам на SAM.
Должно еще пройти какое-то время до тех пор, когда мы, наконец, освободимся от ограничений LanManager. А до тех пор не стоит надеяться, что хэши ваших паролей надежны.
№2. Dj#wP3M$c – наилучший пароль
Общепринят миф, что полностью случайные пароли, полученные с помощью генератора паролей – наилучшие. Это не совсем так. Хотя они и могут быть действительно устойчивыми, такие пароли обычно сложны для запоминания, медленно набираемы и иногда уязвимы к атакам на алгоритм генерации паролей. Легко создать пароли, которые будут устойчивы к взлому, но труднее создать такие пароли запоминаемыми. Для этого существует несколько простых приемов. Например, рассмотрим пароль " eval(unescape('[removed]('
№3. 14 символов – оптимальная длина пароля
В LM хэши паролей разделены на два 7-символьных хэша. Это фактически делает пароли более уязвимыми, поскольку атака грубой силы (brute-force) может быть применена к каждой половине пароля одновременно. То есть, пароли длиной 9 символов разделены на один 7-символьный хэш и один 2-символьный. Очевидно, что взлом 2-символьного хэша не займет много времени, а 7-символьная часть обычно взламывается за несколько часов. Часто короткая часть может существенно облегчить взлом длинного фрагмента. Из-за этого, многие профессионалы безопасности определили оптимальную длину пароля в 7 или 14 символов, соответствующую двум 7-символьным хэшам.
№4. J0hn99 – Хороший пароль
Хотя пароль "J0hn99" проходит по требованиям сложности Windows 2000, он не столь сложен, как кажется на первый взгляд. Многие программы-взламыватели паролей перебирают миллионы вариантов слов в секунду. Замена буквы “o” на цифру “0” и добавление пары цифр – ерунда для таких программ. Некоторые программы-взламыватели даже проверяют наборы методов, которые обычно используют пользователи, что позволяет им подбирать даже довольно длинные и, на первый взгляд, удачные пароли.

Хотя любой пароль может быть вскрыт несколькими способами (например, через «клавиатурный шпион» или с помощью социотехники), тем не менее, существуют способы создания паролей, которые не могут быть взломаны за приемлемое время. Если пароль достаточно длинный, его взлом займет так много времени, или потребует так много вычислительной мощности, что это, по существу, то же самое, что если бы он был невзламываемым (по крайней мере, для большинства хакеров). Конечно, в конце концов, любой пароль может быть взломан, но это событие может произойти и не в течение нашей жизни, и даже не во время жизни наших правнуков. Таким образом, если, конечно не государственные структуры пытаются вычислить ваш пароль, то его шансы могут быть очень даже высоки. Хотя, возможно, достижения компьютерной технологии могут однажды сделать этот миф реальностью.
№6. Пароли нужно менять каждые 30 дней.
Несмотря на то, что это - хороший совет для некоторых паролей с высокой степенью риска, он не подходит средним пользователям. Требование частой смены пароля зачастую заставляет пользователей создавать предсказуемые модели в своих паролях или использовать другие способы, которые реально значительно снижают их эффективность. Обывателю не нравится постоянно придумывать и запоминать новые пароли каждые 30 дней. Вместо того, чтобы ограничивать возраст пароля, лучше сосредоточиться на более устойчивых паролях и большей компетентности пользователей. Приемлемое время для среднего пользователя – от 90 до 120 дней. Если вы дадите пользователям больше времени, вам будет проще убедить их использовать более сложные пароли.
№7. Никогда не следует записывать свой пароль
Хотя это и хороший совет, иногда просто необходимо записывать свои пароли. Пользователи чувствуют себя гораздо комфортнее при создании сложных паролей, если они уверены, что смогут его прочитать в надежном месте, если вдруг забудут. Однако важно обучить пользователей, как правильно записывать пароли. Наклейка на мониторе – это, бесспорно, глупо, но хранение пароля в сейфе или даже запирающемся ящике может быть достаточным. И не пренебрегайте безопасностью, когда приходит время выбрасывать бумагу со старым паролем: помните, многие крупные взломы произошли именно из-за того, что хакеры не поленились просматривать мусор организации в поисках записанных паролей.
№8. Пароль не может содержать пробелов
Несмотря на то, что большинство пользователей этим не пользуется, Windows 2000 и Windows XP позволяют использование пробелов в паролях. Фактически, если вы можете видеть такой символ в Windows, то вы можете использовать его и в пароле. Следовательно, пробел – совершенно правомерный символ для пароля. Однако, поскольку некоторые приложения обрезают пробелы, лучше не начинать и не заканчивать пароль пробелом.

Passfilt.dll – библиотека, вынуждающая пользователей использовать устойчивые пароли. В Windows 2000 и XP это осуществляется с помощью политики “Пароль должен удовлетворять требованиям сложности”. Хотя зачастую это хорошая политика, некоторые пользователи могут огорчиться, когда их пароли отвергаются как недостаточно сложные. Даже опытным администраторам иногда приходится вводить несколько паролей, пока один из них не пройдет требования сложности. Огорченные пользователи, безусловно, не станут выражать поддержку в адрес вашей политики паролей.
Также можно обучить пользователей тому, как можно усложнить пароли и подсказать им несколько идей для этого.
№10. Используйте ALT+255 для наиболее устойчивого пароля
Рассмотрим использование символов с большим ASCII-кодом для окончательного усложнения пароля. Эти символы не могут быть естественным образом набраны на клавиатуре, но вводятся удержанием кнопки ALT и набором ASCII-кода на цифровой клавиатуре. Например, последовательность ALT-0255 создает символ
Например, 5-символьный пароль, созданный из символов с большим ASCII-кодом потребует 25 нажатий клавиш. Учитывая 255 возможных кодов для каждого символа и всего пять символов, получаем общее количество комбинаций 255^5 (или 1,078,203,909,375). Однако, 25-символьный пароль, созданный только из букв нижнего регистра имеет 26^25 (или 236,773,830,007,968,000,000,000,000,000,000,000) возможных комбинаций. Очевидно, лучше создавать более длинные пароли.
Другой момент, о котором стоит подумать - клавиатуры некоторых портативных компьютеров затрудняют ввод с цифровой клавиатуры и некоторые утилиты командной строки не поддерживают символы с большим ASCII-кодом. Например, вы можете использовать символ ALT+0127 в Windows, но не сможете набрать его в командной строке. И наоборот, коды некоторых символов, таких как Tabs (ALT+0009), LineFeeds (ALT+0010), и ESC (ALT+0027) могут быть использованы при наборе из командной строки, но не могут быть использованы в диалоговых окнах Windows (что может оказаться желательным побочным эффектом в некоторых редких случаях).
Тем не менее, есть несколько случаев, когда полезно использование расширенных символьных кодов. Если у вас есть эккаунты сервиса или локального администратора, которые редко используются, иногда использование расширенных символов заслуживает несколько лишних нажатий клавиш. Поскольку мало взламывателей паролей настроены на обработку расширенных символов, этого может быть вполне достаточно, чтобы сделать пароль крайне сложным для взлома. Но в этом случае не останавливайтесь на большом ASCII-коде: существует малоизвестный факт, состоящий в том, что в действительности вы можете воспользоваться полным набором Unicode символов, который составляет 65,535 возможных символов. Тем не менее, такой символ, как ALT+65206 не столь устойчив, как эквивалентное количество нажатие клавиш с использованием обычных символов.
И, наконец, обратим внимание на использование неразрывного пробела (ALT+0160) в наборе расширенных символов. Этот символ отображается как обычный пробел и зачастую может обмануть тех, кто каким-то образом увидел ваш пароль. К примеру, скажем, что взломщик смог установить логгер клавиатуры в вашу систему. Если вы используете неразрывный пробел в пароле, в лог-файле он будет выглядеть, как обычный пробел. И если взломщик не знает о неразрывном пробеле и не увидит действительный ASCII-код, то его пароль, на который он так надеялся, не даст ему ничего. А ведь многие люди просто не знают о существовании этого символа, хотя, похоже, после прочтения этой статьи уже будут знать.
Заключение
Иногда John99 – это хороший пароль, а иногда пароли приходится менять гораздо чаще, чем один раз в месяц. Некоторые пароли, к примеру, администраторские, нуждаются в гораздо большей защите, чем другие - пользовательские. Чтобы создать политику паролей, которая защитит вас наилучшим образом, следует взять все свои знания и добавить к ним то, что вы нашли полезным из здесь написанного.
Хороший пароль – это больше, чем просто сложный пароль. Хороший пароль – это тот, который крайне трудно угадать или подобрать, но очень легко запомнить. Он должен быть длинным и состоять из букв, цифр и символов, но в то же время должен легко и безошибочно набираться. Он должен содержать случайные элементы, которые может предоставить только компьютер, и в тоже время оставаться родственным тому, что может создать человек.
Но наилучший из всех паролей – тот, который пользователь выбирает, основываясь на научном понимании системы создания паролей. И наилучшая политика паролей – та, что помогает пользователям в создании таких паролей.
Оригинал статьи тут