Учебник хакера


Пример 2. Меняйте пароли чаще!


"В случае однократной регистрации ... от пользователей необходимо потребовать, чтобы они регулярно меняли свои пароли" [2].

Опять Novell Netware. Известно, что все пароли пользователей хранятся в ней на сервере в виде 128-битных значений, получаемых в результате применения хэш-функции к паролю. Знание этого хэш-значения злоумышленником автоматически приводит к возможности зарегистрироваться на сервере под именем того пользователя, чье хэш-значение он знает. (Это может быть сделано с помощью специальной слегка подправленной программы login, а также путем генерации "псевдопароля" из известного хэш-значения. Здесь используется тот факт, что хэш-функция, применяемая во всех версиях этой системы, является очень нестойкой и допускает

очень быстрое вычисление коллизий (т.е. последовательностей, которые будет на выходе давать одно и то же хэш-значение) [3]).

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

Но на помощь кракеру может прийти другое мощное средство повышения безопасности системы Novell Netware (имеющееся, впрочем, почти во всех ОС, претендующих на защищенность), а именно "заставлять периодически менять пароль" (force periodic password changes). Зная, что администратор системы "повысил" ее защищенность путем периодической обязательной смены паролей, злоумышленнику остается только дождаться момента плановой смены паролей, и золотой ключик, т.е. хэш-значение супервизора у него в кармане. Этот пример я считаю весьма показательным.




Начало  Назад  Вперед