Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
493.doc
Скачиваний:
18
Добавлен:
30.04.2022
Размер:
8.68 Mб
Скачать

1.2.2 Подбор паролей в ос unix

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

Ключевая информация необходимая для подбора паролей находится в файле /etc/passwd, это информация обо всех пользователях системы, включая его входное имя, пароль, полное имя и т. п. В 70-х годах, когда создавались первые версии UNIX, его разработчикам было понятно, что пароль пользователя нельзя хранить в открытом виде. Разработчики UNIX создали схему, благодаря которой целенаправленные атаки, направленные на получение пароля другого пользователя, смогли реализоваться только спустя 15 лет. Они не пошли по простому пути шифрования пароля по какому-то секретному алгоритму, т. к. рано или поздно этот алгоритм стал бы известен. Они выбрали путь необратимого преобразования пароля, когда из исходного пароля путем применения к ней специальной однонаправленной функции (называемой функцией хэширования) получалось некое значение, из которого никак нельзя получить исходный пароль. Разработчики взяли математически криптостойкий алгоритм DES и на основе его создали функцию crypt(), преобразующую пароль в строку, расположенную в файле /etc/passwd. В данном файле хэшированная информация и располагается через двоеточие сразу после имени соответствующего пользователя. Например, запись, сделанная в файле passwd относительно пользователя с именем bill, будет выглядеть примерно так:

bill:5fg63fhD3d5g:9406:12:Bill Spencer:/home/fsg/will:/bin/bash

Здесь 5fg63fhD3d5g — это и есть информация о пароле пользователя bill.

Ниже представлен алгоритм, применяемый UNIX для преобразования пароля пользователя. Из исходного пароля берутся первые восемь байт. Также выбирается некоторое 12-битное случайное число (salt), используемое для операции хэширования. Его необходимость следует из того, чтобы одинаковые пароли (возможно, у разных людей) не выглядели одинаково после хэширования. Затем к этим двум параметрам применяется специальная функция шифрования, дающая на выходе 64-битное значение. Сам salt преобразуется в два читабельных ASCII-символа, а хэш - в 11 символов. Функция crypt (passwd8, salt) выдает 13-символьную строчку, которая и записывается в файл /etc/passwd.

При входе пользователя в систему вызывается та же функция crypt() с введенным паролем и salt, полученным из /etc/passwd. Если результат функции оказывается равным тому значению, что хранится в файле, то аутентификация считается состоявшейся.

Файл /etc/passwd дает немало информации о пользователе: его входное имя, имя и фамилию, домашний каталог. Вирус Морриса, при подборе пароля, с успехом пользовался следующими предположениями:

- в качестве пароля берется входное имя пользователя;

- пароль представляет собой двойной повтор имени пользователя;

- то же, но прочитанное справа налево;

- имя или фамилия пользователя;

- то же, но в нижнем регистре.

Если злоумышленник имеет доступ к парольному файлу /etc/passwd операционной системы UNIX, то он может скопировать этот файл на свой компьютер и затем воспользоваться одной из программ для подбора паролей. На рисунке 1.4 наглядно представлен процесс подбора паролей в ОС UNIX методом тотального перебора, оптимизированного с помощью словарей.

Рисунок 1.4 - Процесс подбора паролей в ОС UNIX методом тотального перебора, оптимизированного с помощью словарей

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]