<<
>>

Пароли

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

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

Несмотря на более свежие исследования, классический труд по вопросу безопасности паролей был написан аж в 1979 году на основе исследований систем 1Ж1Х [90].

Авторы скомпилировали список вероятных паролей: имена и фамилии, названия улиц, городов, слова из словарей среднего размера (в частности, написанные задом наперед), автомобильные номера и короткие строки случайных символов. Затем они сравнили свой полученный таким образом список с системным файлом паролей, чтобы посмотреть, есть ли совпадения. Как выяснилось, более 86 % от общего количества паролей в файле оказались в их списке.

Если бы все пароли состояли из 7 символов, случайным образом выбранных из 95 печатных символов набора АБСП, их количество было бы равно 957, что примерно равно 7 х 1013. Если выполнять 2000 операций шифрования в секунду, на построение списка для сверки пароля потребуется около 2000 лет.

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

Даже для случая, когда по политическим причинам невозможно заставить пользователей выбирать разумные пароли, в [90] описана технология, делающая предлагаемый авторами метод атаки (заранее зашифровать большое число паролей) практически бесполезным. Идея состоит в том, чтобы ассоциировать с каждым паролем ^-разрядное случайное число. Это случайное число меняется при каждом изменении пароля. Оно хранится в файле паролей в незашифрованном виде, и каждый может его видеть. Пароль же сначала объединяется со случайным числом, а только затем шифруется и записывается в файл.

Рассмотрим, к каким последствиям приведет эта техника для злоумышленника, пытающегося составить список вероятных паролей, зашифровать их и сохранить в отсортированном виде в файле f, где их затем легко будет найти. Если злоумышленник считает, что слово Marilyn может быть паролем, ему теперь недостаточно закодировать только это слово и записать его в f. Он должен зашифровать и записать 2п строк, MarilynOOOO, MarilynOOOl, Marilyn0002 и т. д. Благодаря этой технике, называемой добавлением соли в файл паролей, размер файла f увеличивается в 2п раз. В UNIX применяется значение п, равное 12. В некоторых версиях UNIX сам файл паролей сделан недоступным для чтения, а для работы с ним предоставлена программа, которая просматривает запрошенные записи, внося дополнительную задержку, достаточную, чтобы сильно замедлить атаку.

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

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

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

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

♦ Как зовут сестру Марджолин?

♦ На какой улице расположена ваша начальная школа?

♦ Что преподавала мисс Воробьофф?

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

Другой вариант называется запрос-отзыв. Он работает следующим образом. Пользователь выбирает алгоритм, например я2, идентифицирующий его как пользователя. Когда пользователь входит в систему, сервер посылает ему некое случайное число, например 7. В ответ пользователь отправляет серверу число 49. Алгоритм может отличаться утром и вечером, в различные дни недели, для различных терминалов и т. д.

<< | >>
Источник: Э. ТАНЕНБАУМ, А. ВУДХАЛЛ. ОПЕРАЦИОННЫЕ СИСТЕМЫ Разработка и реализация 3-е издание. 2007

Еще по теме Пароли:

  1. Надо выдернуть кабель, который «подводит интернет» в ваш компьютер.
  2. Советы
  3. Социальные сети
  4. КАК ИЗЛЕЧИТЬСЯ ОТ ГРИППА ЗА ОДИН ДЕНЬ
  5. Глава 9 Создание экспертной базы данных
  6. Упражнение для рассмотрения природы целительства
  7. ТРАНЗИТ ЮПИТЕРА ЧЕРЕЗ III ПОЛЕ ГОРОСКОПА
  8. 5. Распоряжение счетом.
  9. Как воздействовать на других?
  10. §29. ДОГОВОР БАНКОВСКОГО СЧЕТА
  11. 1. Права и обязанности сторон договора банковского счета
  12. Особенности осмотра помещения
  13. Осмотр средств вычислительной техники