В. Столлингс - Операционные системы (1114679), страница 148
Текст из файла (страница 148)
Пример такой программы приведен в ~АЬЪ'А90). Допустим, пользователь с низкими привилегиями написал игровую программу и предложил ее сетевому администратору, чтобы тот мог поиграть в свободное время. Однако в программе есть небольшой секрет. Запустив ее, действительно можно играть в игру, но она также содержит код, который на Фоне этого копирует незашифрованный файл с паролями, для доступа к которому нужны привилегии администратора. Поскольку игра запущена администратором и пользуется его привилегиями, то она имеет доступ и к Файлу с паролями. Восьмой из вышеперечисленных видов атак, подключение к линии, связан с физической безопасностью.
Ей можно противостоять с помощью методов шифрования в каналах связи. Теперь обратимся к обсуждению двух основных контрмер: предотвращению и выявлению. Предотвращение является заветной целью специалистов па безопасности. Трудность состоит в том, что защищающемуся нужно противостоять всем видам возможных атак, в то время как взломщик может попытаться найти самое слабое звено в цепи защиты, и обратить все силы на него. Выявление связано с обнаружением атаки либо до того, как она удастся, либо после того.
Защита паролей Система паролей является передовой линией обороны против взломщиков. Почти во всех многопользовательских системах пользователю нужно вводить не только свое имя или идентификатор, но и пароль. Пароль служит для подтверждения идентификатора того человека, который входит в систему, Идентификатор, в свою очередь, обеспечивает безопасность следующим образом.
По идентификатору можно определить, имеет ли пользователь полномочия на доступ к системе. С помощью идентификатора задаются привилегии данного пользователя- Лишь небольшое количество пользователей имеет статус суперпользователя, позволяющий им читать Файлы и выполнять функции, которые находятся под особой защитой операционной системы. В некоторых системах имеются учетные записи гостя или анонимнь1е учетные записи, пользователям которых предоставляется гораздо меньше привилегий, чем другим.
Чаете 7. Безопасность Глава 1о. Безопаеиооть Уязвимость паролей Парола а~ Загрузка нового пароля Файл паролей ИдентиФикатор пользователя аа1с Ел 4гза1С 4 ИдентиФикатор полазоваталя Рис. 75.Б. Схема паролей системы 77Дг7Х Глава 16.' БевойаФйое'гь Идентификаторы используются для так называемого разграничительного контроля доступа (г1тзсгеС1опагу ассеав соп1го1). Например, составив список идентификаторов пользователей, некий пользователь может дать им разре- шение на чтение своих файлов. Чтобы понять природу атак, рассмотрим часто применяющуюся в систеах 111к11Х схему, в которой пароли никогда не хранятся в открытом виде.
место этого используется описанная ниже процедура (рис. 15.5,а). Каждый ользователь выбирает пароль длиной до восьми печатных знаков. который с омощью 7-битового кода АБСП преобразуется в 56-битовое значение. Зто знаение служит входным параметром для функции шифровки под названием гу1зт ~ 3), которая основана на алгоритме РЕЯ. Алгоритм ВЕБ преобразуется с омощью 12-битового значения Ба1г, которое обычно связано со временем выеления пароля пользователю. МодиФицированный алгоритм ЮЕБ выполняется входными данными, состоящими из 64-битового блока нулей, в результате его получается значение, которое используется в качестве входного значения ля второго шифрования.
Всего этот процесс повторяется 25 раз. Затем полуившееся в результате 64-битовое выходное значение преобразуется в последоательность из 11 символов. После этого зашифрованный пароль сохраняется месте с незашифрованным 12-битовым значением эа1с в файле с паролями ля данного идентификатора пользователя. Значение за1~ используется с тремя целями. а Благодаря ему в файле с паролями два одинаковых пароля выглядят поразному.
Даже если два пользователя выберут один и тот же пароль, назначение этих паролей произойдет в разное время. Поэтому "расширенные" одинаковые пароли двух разных пользователей будут отличаться. ° Зто значение эффективно увеличивает длину пароля, но при этом пользователю не нужно помнить еще два дополнительных символа. Таким образом, количество возможных паролей возрастает в 4096 раз, благодаря чему становится труднее отгадать пароль. Зто значение служит для предупреждения аппаратной реализации алгорит- ма 1тЕБ, что могло бы облегчить проведение атаки с отгадыванием "в лоб". При входе в систему УИ1Х пользователь вводит свой идентификатор и паюль.
Операционная система использует идентификатор в качестве указателя для райла с паролями, извлекая из него незашифрованное значение еа1~ и зашифюванный пароль. Введенный пользователем пароль используется в качестве ~ходного значения шифровальной программы, после чего результат ее работы равнивается с извлеченным зашифрованным паролем. Если эти два значения 'овпадают, пароль принимается. П1ифровальная программа устроена так, чтобы воспрепятствовать атакам с ~тгадыванием паролей.
Программные реализации алгоритма РЕЯ работают медгеннее„чем аппаратные версии; кроме того, необходимость 25 итераций увелигивает затрачиваемое время в 25 раз. Однако в этом алгоритме, по сравнению с то первоначальной реализацией, произошли две перемены. Во-первых, в новых реализациях была ускорена работа самого алгоритма. Например, вирус-червь, попавший в систему из 1пйегпей, был в состоянии производить отгадывание не скольких сот паролей в режиме реального времени за довольно короткий срок Зто достигалось за счет более эффективного алгоритма шифрования, чем стандартный, который хранился в системах ШЧ1Х. Во-вторых, производительность компьютерных систем продолжает возрастать благодаря новому аппаратному обеспечению, поэтому все программы работают быстрее.
Таким образом, для схемы паролей системы 1Лк1?Х существуют две угрозы. Вопервых, пользователь может получить доступ к машине с помощью учетной записи Виды паролей Количес гво вариантов Количество совпадений Совпадение паролей, % Имя/регистрационное имя пользователя 130 .004 .02 .03 .09 .22 87 212 449 1260 3035 2917 5772 Последовательности символов 0.2 427 0.1 0.4 0.6 4.0 1.2 1.0 0.9 56 82 548 161 Названия мест Имена собственные Женскас именя М~ жские имена Редко встречзялциеся названия Мифы и легенды Творчество Шекспира Спортивные термины 2239 4280 2866 4955 .42 1.0 13787 140 130 1246 473 238 0.5 0.1 0.2 66 11 32 Глава . Ы, Безопаекооть .тя или каким-нибудь другжи образом, а затем он на этой машине может звлусть программу для отгадывания паролей, которая называется взломщиком парой.
Взломщику нужно суметь проверить сотни или тысячи возможных паролей, пользуя небольшие вычислительные ресурсы, Кроме того, если злоумышленник в стоянии получить копию Файла с паролями, то программу-взломщик можно будет пустить в свободное время на другой машине. Это позволяет перепробовать в тече~е небольшого отрезка времени тысячи и тысячи вариантов паролей. Пример взломщика паролей был опубликован в 1п$егпе$ в августе 1993 года у~1)693). На параллельной вычислительной машине Фирмы ТЬ|пЫщ МасЫпеэ 1грогайоп достигнута производительность, равная 1560 шифрованиям в секунв каждом векторном модуле.
Если в каждом обрабатывающем узле установ.но четыре векторных устройства (стандартная конФигурация), то всего на манне с 128 узлами (современный размер) получается 800000 шифрований в се~иду, а на машине с 1024 узлами — 6.4 миллиона шифрований в секунду. Однако даже такие огромные скорости перебора вариантов не позволяют ~ломщику отработать за разумное время все возможные варианты и отгадать ~роль "в лоб". Поэтому взломщикам паролей остается надеяться, что некоторые зльзователи выберут легко отгадываемые пароли. Когда пользователям разрешено самим выбирать пароли, они стараются исзльзовать пароли покороче.
В табл. 15.2 приведены результаты одного из исследо~нпй, проведенных в университете Ригби. Изучались пароли на 54 машинах, на эторых было представлено около 7000 учетных записей пользователей. Длина 3% пролей не превышала 3 символов. Взломщик мог начать атаку, настойчиво перебипя всевозможные комбинации из 3 или меньшего числа символов. Простейшим эедством повышения безопасности в этом случае является настройка системы, при оторой минимальное количество символов в пароле равно, например, шести. Можо даже потребовать, чтобы все пароли состояли ровно из восьми символов. Больпгнство пользователей не будут недовольны таким ограничением. 'аблица 15.2.
Длина исследованных паролей ~лина Количество Относительное количество Слишком короткие пароли — это лишь часть проблемы. Многие из тех„кому пазрешено выбирать пароли по собственному усмотрению, предпочитают легко звпоиинающиеся варианты, которые так же легко отгадать. Возможными вариантами могУт быть имена пользователей, названия улиц, часто употребляемые слова из слопаря и т.д. Нередко пароль оказывается таким же, как и идентификатор пользовате- ля. Это значительно упрощает задачу тому, кто пытается оттадать пароль. Взломщи ку нужно просто проверить файл с паролями на наличие в нем наиболее вероятных паролей.
Поскольку многие используют легко оптадываемые пароли такая ая стратегия обеспечивает взломщикам успех почти на всех системах Одно из доказательств эффективности такого отгадывания представлено в 1К?.Е1901. Автор собрал из различных источников файлы с паролями, содержа щие около 14000 зашифрованных паролей. Результат, который автор справед ливо называет пугающим, показан в табл. 15.3. Ему удалось разгадать почти четверть всех паролей. При отгадывании использовались такие стратегии. 1. Перебор имен пользователей, их инициалов, регистрационных имен и дру гой подобной информации. На каждого пользователя приходилось по 130 вариантов, отличающихся перестановками символов.