Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
У. Столлингс ГЛАВА 15 Безопасность.doc
Скачиваний:
66
Добавлен:
11.05.2015
Размер:
795.14 Кб
Скачать

Контроль доступа

Одним из способов предотвращения атаки со взломом пароля является пе­рекрытие доступа к файлу с паролями. Если зашифрованная часть пароля дос­тупна в файле только привилегированным пользователям, то взломщик не смо­жет прочитать этот файл, не зная пароля привилегированного пользователя. В [SPAF92] приведено несколько недостатков такой стратегии.

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

  • Авария в системе защиты может сделать читаемым файл с паролями, дискредитируя таким образом все учетные записи.

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

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

Стратегии выбора паролей

Урок, который можно извлечь из двух описанных выше экспериментов (см. табл. 15.2 и 15.3), заключается в том, что если пользователи при выборе паролей предоставлены самим себе, то у многих из них они будут слишком короткими или такими, которые легко отгадать. Когда же пользователям на­значаются пароли, состоящие из восьми случайным образом выбранных пе­чатаемых символов, эффективный взлом паролей практически невозможен. Однако в этом случае большинство пользователей будут не в состоянии запомнить свои пароли. К счастью, даже если ограничить множество символь­ных строк теми вариантами, которые вполне запоминаемы, количество эле­ментов этого множества будет все еще достаточно велико для того, чтобы их легко можно было отгадать. Таким образом, позволяя пользователям выби­рать запоминающиеся пароли, нужно исключить такие, которые легко отга­дать. Для этого используются четыре основных метода:

  • повышение уровня образования пользователя;

  • пароли, сгенерированные компьютером;

  • реактивная проверка паролей;

  • упреждающая проверка паролей.

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

Использование паролей, сгенерированных с помощью компьютера (computer-generated passwords), также может привести к проблемам. При выборе слишком не­обычных паролей пользователям будет трудно их запомнить, и они будут стараться где-то их записать. Вообще говоря, опыт показывает, что схемы компьютерного ге­нерирования паролей плохо воспринимаются пользователями. В стандарте FIPS PUB 181 представлен автоматический генератор паролей. В этом стандарте имеется не только описание используемого подхода, но и полный листинг исходного кода на С, на котором реализован данный алгоритм. В процессе работы алгоритма генерируют­ся легкие для произношения слоги, которые потом объединяются в слово. При обра­зовании слогов и слов используется генератор случайных чисел, с помощью которого генерируется случайный поток символов.

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

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

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

Первый из них — это простая система с соблюдением определенных правил, например:

  • длина всех паролей должна быть не менее восьми символов;

  • среди первых восьми символов должны присутствовать хотя бы по одному такие, как прописная буква, строчная буква, цифра и символ пунктуации.

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

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

  • Пространство. Чтобы словарь работал эффективно, он должен быть очень большим. Например, словарь, который используется в исследовании университета Purdue [SPAF92], занимает более 30 Мбайт.

  • Время. Поиск в таком большом словаре может продолжаться довольно долго. Кроме того, чтобы проверить возможные перестановки слов из словаря, либо все эти варианты должны быть включены в словарь, что сделает его поистине огромным, либо длительность каждой проверки увеличивается за счет обработки перестановок.