Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Аутентификация на основе паролей, методы подбора паролей




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

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

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

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

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

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

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

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

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

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

Для обеспечения надежной защиты от кражи паролей подсистема защиты операционной системы должна удовлетворять следующим требо­ваниям:

- пароль, вводимый пользователем, не отображается на экране компьютера;

- ввод пароля из командной строки недопустим.

Кроме того, пользователи операционной системы должны быть проинструктированы о:

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

- необходимости немедленной смены пароля после его компрометации;

- необходимости регулярной смены пароля;

- недопустимости записи пароля на бумагу или в файл.

Что же касается подбора паролей, прежде чем перейти к описанию средств защиты от этой угрозы, следует более подробно рассмотреть ме­тоды подбора паролей.

3.2.1. Методы подбора паролей

Существуют следующие методы подбора паролей пользователей.

1. Тотальный перебор. В этом случае злоумышленник последова­тельно опробует все возможные варианты пароля. Если пароль длиннее четырех - шести символов, данный метод абсолютно неэффективен.

2. Тотальный перебор, оптимизированный по статистике встре­чаемости символов. Разные символы встречаются в паролях пользовате­лей с разной вероятностью. Например, вероятность того, что в пароле пользователя встретится буква "а", гораздо выше вероятности того, что в пароле присутствует символ "А". Согласно различным исследованиям ста­тистика встречаемости символов в алфавите паролей близка к статистике встречаемости символов в естественном языке.

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

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

3. Тотальный перебор, оптимизированный с помощью словарей. В большинстве случаев пароли пользователей представляют собой слова английского или русского языка. Поскольку пользователю гораздо легче запомнить осмысленное слово, чем бессмысленную последовательность символов, пользователи предпочитают применять в качестве паролей ос­мысленные слова. При этом количество возможных вариантов пароля рез­ко сокращается. Действительно, английский язык содержит всего около 100 000 слов (не считая научных, технических, медицинских и других тер­минов), что в 6,5 раз меньше количества всех комбинаций из четырех анг­лийских букв.

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

Обычно данный метод используется в комбинации с предыдущим.

4. Подбор пароля с использованием знаний о пользователе. Выше уже говорилось, что пользователи стараются использовать легко запоминаемые пароли. Многие пользователи, чтобы не забыть пароль, выбирают в качестве пароля свое имя, фамилию, дату рождения, номер телефона, номер автомобиля и т.д. В этом случае, если злоумышленник хорошо зна­ет пользователя, ему, как правило, достаточно провести всего 10-20 оп­робований.

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

3.2.2. Защита от компрометации паролей

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

1. Ограничение срока действия пароля. При применении данного метода каждый пользователь операционной системы обязан менять па­роль через определенные интервалы времени. Максимальный срок дейст­вия пароля целесообразно ограничить 30-60 днями. Менее сильные ог­раничения не дают желаемого эффекта, а при использовании более силь­ных ограничений резко повышается вероятность того, что пользователь забудет свой пароль. После того как срок действия пароля истек, пользо­ватель должен сменить свой пароль в течение некоторого времени (обыч­но 1-2 дня) после первого входа в систему по истечении этого срока. Ес­ли пользователь не сменил пароль за отведенное время, операционная система запрещает ему входить в систему до тех пор, пока это явно не разрешит администратор системы.

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

Также целесообразно проверять при каждой смене пароля уникаль­ность нового пароля. Для этого операционная система должна хранить не только образ текущего пароля пользователя, но и образы последних 5-10 паролей, им применявшихся.

2. Ограничения на содержание пароля. Данный метод заключается в том, что пользователь может выбрать себе в качестве пароля не произ­вольную строку символов, а только строку, удовлетворяющую определенным условиям. Обычно используются следующие условия:

– длина пароля не должна быть меньше некоторого количества си­мволов; в литературе по компьютерной безопасности и в документации по операционным системам обычно рекомендуется запрещать исполь­зование паролей короче 6-8 символов, но с учетом быстрого прогресса вычислительной техники, в настоящее время целесообразно ограничивать длину паролей уже 10-14 символами;

– в пароль должно входить по крайней мере 5-7 различных символов;

– в пароль должны входить как строчные, так и заглавные буквы;

– пароль пользователя не должен совпадать с его именем;

– пароль не должен присутствовать в списке "плохих" паролей, хранимом в системе.

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

При выборе ограничений на пароли следует учитывать, что, если ограничения на пароли слишком сильны, пользователям будет трудно за­поминать свои пароли.

3. Блокировка терминала. При использовании данного метода, ес­ли пользователь несколько раз подряд ошибся при вводе имени и пароля, терминал, с которого пользователь входит в систему, блокируется, и поль­зователь не может продолжать дальнейшие попытки входа в систему. Па­раметрами данного метода являются:

– максимально допустимое количество неудачных попыток входа в си­стему с одного терминала;

– интервал времени, после которого счетчик неудачных попыток входа обнуляется;

– длительность блокировки терминала (может быть сделана неограниченной в этом случае блокировка терминала может быть снята только администратором системы).

4. Блокировка пользователя. Этот метод отличается от предыду­щего только тем, что блокируется не терминал, с которого пользователь входит в систему, а учетная запись пользователя.

5. Генерация паролей операционной системой. В этом случае пользователи не могут самостоятельно придумывать себе пароли - это за них делает операционная система. Когда пользователю нужно сменить пароль, он вводит соответствующую команду и получает новый пароль от операционной системы. Если предложенный вариант пароля пользователя не устраивает, он может потребовать у операционной системы другой ва­риант. Основным преимуществом данного метода является то, что опера­ционная система генерирует пароли случайным образом, и подобрать та­кие пароли практически невозможно. С другой стороны, такие пароли обычно трудны для запоминания, что вынуждает пользователей записы­вать их на бумаге. Если это не является угрозой безопасности системы (например, если пользователь входит в систему только через Internet со своего домашнего компьютера), данная модель аутентификации близка к идеальной. В противном случае применять ее нецелесообразно.

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

7. Разовый пароль. В этом случае пароль пользователя автомати­чески меняется после каждого успешного входа в систему. Эта схема ау­тентификации надежно защищает от подбора паролей, поскольку, даже если злоумышленник и подобрал некоторый пароль, он сможет им вос­пользоваться только один раз. Кроме того, пользователь, пароль которого скомпрометирован, не сможет войти в систему в следующий раз, так как он будет пытаться вводить предыдущий пароль, уже использованный зло­умышленником. Недостатком этой схемы является то, что запомнить мно­жество постоянно меняющихся паролей практически невозможно. Кроме того, пользователи часто "сбиваются со счета", пытаясь при входе в сис­тему вводить пароль, который уже устарел или еще не начал действовать. Из-за этих и некоторых других недостатков на практике данная схема прак­тически не применяется.

Некоторые из перечисленных методов могут применяться в сово­купности.




Поделиться с друзьями:


Дата добавления: 2014-01-07; Просмотров: 6395; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.007 сек.