Пароль.

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

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

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

При использовании NTLMv2 хэши паролей достаточно надежны. Многим известна слабость хэшей паролей системы LanManager(LM), что привело к популярности, в частности средства L0phtcrack. NTLM позволяет делать устойчивее хэши паролей, так как это средство использует более длинный хэш и позволяет различать символы нижнего и верхнего регистров. NTLMv2 является еще более совершенным средством, в нем применяется 128-битный ключ, для конфиденциальности и целостности используются отдельные ключи. Для более высокой целостности используется алгоритм HMAC-MD5. Только вот Windows 2000 как и раньше пересылает зачастую по сети хэши LM и NTLM, а NTLMv2 остается уязвимым к атакам типа replay (при передаче). Так как в реестре все также хранятся хэши паролей LM и NTLM, то уязвимость атак на SAM сохраняется. Необходимо подождать еще какое-то время, пока мы избавимся от ограничений LanManager, пока же стоит надеяться на надежность хэшей паролей.

Наилучший пароль имеет вид Gfh%w3M@x. Общепринятый миф гласит, что наилучший пароль – это тот, который получен с помощью специального генератора. Однако это не совсем правда. Дело в том, что хотя такие пароли и могут быть довольно устойчивыми, однако они крайне сложны для запоминания пользователями, медленно вводятся, к тому же и уязвимы к специальным атакам на алгоритм генерации паролей. Устойчивые для взлома пароли создавать легко, но тогда сразу же встает проблема с их запоминаемостью. Попробуем рассмотреть несколько простых приемов. К примеру рассмотрим пароль Kendo23@mail.com. Этот e-mail защищен от роботов-спамеров. Чтобы его увидеть в нашем браузере следует включить поддержку java-script. В этом пароле используются буквы в верхнем и нижнем регистре, две цифры и два символа. Длина такого пароля составляет целых 16 символов, однако запомнить его совсем несложно. Да и набирать такой пароль достаточно легко. Можно подобрать такие слова, чтобы при их наборе чередовались движения пальцев правой и левой руки, это придаст набору скорости и уменьшит вероятность того, что кто-либо подсмотрит пароль на основе наблюдений за движениями пальцев. Существуют даже специальные списки из английских слов, которые набираются чередованием клавиш под правую и левую руку. Поэтому использование структур, которые легки к запоминанию является наилучшей техникой для создания сложных паролей, которые, к тому же, будут легко запоминаться. В ходе использования таких структур в пароль легко можно внести знаки препинания, например в адресе e-mail, как в примере выше. Другими такими структурами могут стать телефонные номера, адреса, пусти к файлам, URL и так далее. Следует обратить внимание на некоторые элементы, позволяющие упрощение запоминания. Таковыми может стать использование рифм, юмора, повторений и шаблонов, а также грубых и даже матерных слов. В результате на выходе появится пароль, забыть который будет крайне сложно.

Оптимальная длина пароля – 14 символов. В LM хэши паролей делятся на два семи-символьных хэша. Фактически такой подход делает пароли более уязвимыми, так как brute-force атака (или атака грубой силы) может быть применена одновременно к каждой половине пароля. 9 символьный же пароль также будет делиться на две части – 7 символьный хэш и двухсимвольный. Нетрудно догадаться, что взлом двухсимвольного хэша займет немного времени, а вот семисимвольная займет побольше времени, однако и оно характеризуется часами. Зачастую короткая часть может существенно облегчить взлом длинного кусочка. Именно по этой причине многие профессионалы и рекомендуют иметь пароль с оптимальной длиной в 7 или 14 символов, что будет соответствовать уже двум 7-символьным хэшам. В NTLM ситуация улучшена за счет использования всех 14 символов для сохранения хэшей паролей. Это действительно облегчает жизнь, только вот диалоговое окно NT ограничивает пароль 14 символами, тем самым система "намекает", что именно такая длина пароля будет оптимальной для безопасности. В более новых версиях Windows дела обстоят иначе, в Windows 2000 и XP пароли уже могут быть длиной до 127 символов, никаких ограничений в 14 символов уже не существует. Более того, открылось следующее обстоятельство – если длина пароля более 14 символов, то Windows даже не сохраняет правильно LanMan хэши. В качестве LM хэша сохраняется некая константа, которая эквивалента нулевому паролю. Так как пароль, естественно не нулевой, то и взломать данный хэш не удастся. С учетом этого использование паролей с длиной от 14 символов было бы хорошим решением. Только вот реализовать это с помощью шаблонов безопасности или политики групп невозможно, так как никто не позволит установить минимальную длину пароля в 15 символов.

Хорошим паролем является комбинация типа M1chael99. По требованиям к сложности пароля, выдвигаемыми Windows 2000, такая комбинация подходит, хотя на самом деле она совсем не сложна. Сегодня программы для взлома паролей перебирают в секунду миллионы комбинаций, им ничего не стоит заменить букву "i" на цифру "1" и обратно или добавить к концу слова пару цифр. Некоторые программы даже проверяют такие наборы методов, используемые пользователями, подбирая длинные и кажущиеся надежными пароли. Поэтому следует быть более непредсказуемыми. Вместо замены "о" на "0" можно попытаться использовать двух скобок "()", вместо "1" можно попробовать использовать символ "l". Не стоит также забывать и о том, что устойчивость конечно же увеличится с удлинением пароля.

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

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

Свой пароль категорически запрещается записывать куда-либо. Хотя и совету этому многие стараются следовать, иногда все же приходится свои пароли записывать. В таком случае пользователи чувствуют себя более комфортно при создании сложного пароля, ведь они будут уверены в том, что даже если и забудут его, то смогут в надежном месте прочитать его. Следует уделить вниманию и тому, как правильно записывать пароли. Конечно же глупо записывать пароль на наклейку на мониторе, а вот хранить бумагу с паролем в сейфе или хотя бы запирающемся ящике может быть достаточной мерой. Не стоит пренебрегать безопасностью при избавлении от бумаги со старым паролем, многие взломы как раз и происходили из-за того, что хакеры тщательно просматривали мусор организации в поисках записанных старых паролей. Часто пользователи прибегают к идее сохранения своих паролей в специализированных программных утилитах. В таких продуктах возможно сохранение множества паролей, которые защищены главным мастер-паролем. Однако его утеря чревата тем, что злоумышленник получит доступ сразу ко всему списку паролей. Поэтому перед тем, как разрешить пользователям сохранять пароли с использованием таких средств, следует предусмотреть следующие нюансы. Во-первых, это программный метод, следовательно, он уязвим для атаки, во-вторых, сам мастер-пароль может стать единственной причиной провала всех паролей пользователей сразу. Зачастую мастер-пароль к тому же делают довольно простым. Лучше всего будет совместить физическую безопасность, политику компании и применение технологий. Иногда пароли просто-таки необходимо документировать. Бывает, что системный администратор заболел или уволился. А ведь зачастую это единственный человек, знающий администраторские пароли на доступ, в том числе, к серверам. Часто даже приходится одобрять записывание паролей, конечно этот шаг должен быть предельно продуманным и использоваться в крайних случаях.

В пароле не должно быть пробелов. Несмотря на то, что пользователями это мало востребовано, Windows XP и Windows 2000 разрешают использовать в паролях и пробелы. Фактически, если такой символ есть в Windows, то его можно использовать и в пароле. Таким образом пробел является совершенно приемлемым символом для пароля. Однако некоторые приложения пробелы обрезают, поэтому лучше в самом начале и самом конце пароля пробел не использовать. С помощью пробелов, кстати, пользователи могут создавать более сложные пароли. Так как этот символ может использоваться между словами, то с ним можно придумывать пароли из нескольких слов. С пробелом вообще сложилась интересная ситуация, так как он не подпадает ни под одну из категорий сложности пароля в Windows. Ведь это и не буква, и не цифра, да и символом он в общем-то не считается. Таким образом, если есть желание сделать пароль более сложным, то пробел ничем не хуже любого другого символа, его использование в большинстве случаев сложности пароля не уменьшает. Однако нельзя не упомянуть об одном значимом недостатке, который возникает при использовании пробела. Клавиша его при нажатии создает уникальный звук, который мало с чем можно спутать. Поэтому использование в пароле пробела выдается уникальным звуком. Поэтому использовать пробелы в общем можно, только не стоит этим злоупотреблять.

Следует пользоваться библиотекой Passfilt.dll. Эта библиотека вынуждает пользователей создавать устойчивые пароли. В Windows XP и 2000 это происходит с помощью системной политики, которая определяет требования сложности для него. Хотя эта политика довольно неплоха, многие пользователи расстраиваются, когда оказывается, что их пароли не подходят, так как недостаточно сложные. Бывает, что даже опытные администраторы не сразу могут ввести пароль, пока тот не пройдет требования сложности. Неудивительно, что пользователям такая мера не понравится, едва ли они поддержат политику безопасности пароли. В такой ситуации лучшим выходом будет требование длинных паролей вместо этой политики. Если заняться подсчетами, то окажется, что 9-символьный пароль, в котором буквы находятся в нижнем регистре по сложности примерно таков же, как и 7-символьный, в котором используются буквы обоих регистров и цифры. Разница лишь в том, как программы для взлома паролей обрабатывают различные подмножества. Некоторые из таких средств в началае перебирают все комбинаций букв в нижнем регистре и только после этого начинают рассматривать варианты с использованием цифр и других символов. Можно также использовать Platform SDK sample, изменив его так, чтобы он был более снисходителен в вопросе выбора пароля. Немаловажным шагом в данном направлении будет организация работы с пользователями, обучение их усложнению паролей, предоставление им необходимых идей.

Для наиболее устойчивого пароля следует использовать ALT+255. Для развенчания данного мифа рассмотрим использование символов с большим ASCII-кодом, это должно усложнить пароль. На клавиатуре их естественным образом набрать нельзя, однако с помощью удержания ALT и набора кода символа на клавиатуре, возможен его ввод. Иногда такой метод и может быть полезным, однако сразу же обратимся к его недостаткам. Прежде всего удержание клавиши ALT и последующий ввод цифр может быть без труда замечен окружающими, во-вторых, создание одного такого символа потребует нажатия сразу пяти клавиш. Может быть стоило бы просто сделать пароль длиннее на это число символов, чем каждый раз вводить с помощью замысловатой комбинации по сути один символ. Так, пароль из 5 символов, которые введены с помощью большого ASCII-кодов потребует 25 нажатий. Общее число комбинаций для такой длины составит очевидно 255^5, а вот для 25 символьного пароля созданного только из букв нижнего регистра число комбинаций 26^25, что несоизмеримо больше. Так что лучше использовать длинные пароли. Также немаловажно помнить и о том, что в некоторых портативных компьютерах клавиатуры не всегда позволяют ввести код с цифровой клавиатуры, да и не все утилиты командной строки поддерживают пароли с использованием ASCII-кодов. К примеру ALT+0127 в Windows можно использовать, но в командной строке набрать его не удастся. И наоборот, коды некоторых символов можно будет набрать в командной строке, а вот в диалоговых окнах Windows их использовать не удастся (ALT+0009, ALT+0010 и т.д.). В редких случаях такие разногласия могут быть весьма неудобными. Однако использование расширенных символьных кодов зачастую полезно и оправданно. К примеру, в случае с использованием учетной записи сервиса или локального администратора, которые редко используются, использование расширенных символов заслуживает лишнего нажатия нескольких клавиш. Такой подход может стать достаточной гарантией от взлома, так как на обработку расширенных символов настроено мало взламывателей паролей. В таких случаях не стоит останавливаться на большом коде ASCII. Оказывается, в действительности можно пользоваться полным набором Unicode, в котором 65535 символов. Однако не следует забывать, что символ ALT+64113 будет все равно не столь устойчивым как равное количество нажатий клавиш с обычными символами. В конце-концов обратим внимание на использование неразрывного пробела с кодом ALT+0160. Этот символ отображается как обычный пробел и может обмануть того, кто случайно увидел Ваш пароль. К примеру при использовании логгера клавиатуры неразрывный пароль в лог-файле будет выглядеть как обычный пробел. Если взломщик не посмотрит действительный ASCII-код и ничего не знает о неразрывном пробеле, то полученный пароль ничего не даст.

Популярные мифы.

Популярные факты.

Популярные советы.

Популярные сленг.