Технологии взлома защит. Способы атаки на пароль. Обеспечение безопасности пароля. Методы хранения паролей

Назад

ГЛАВА IV

ТЕХНОЛОГИИВЗЛОМАПРОГРАММНЫХ ЗАЩИТ

Препятствование распространению информации об атаках приводит к опасной иллюзии безопасности…

Крис Касперски. Техника и философия хакерских атак.

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

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

Широко известны эксперименты со взломом знаменитого криптографического стандарта США - DES -алгоритма (Data Encryption Standart ). 56-битный ключ DES -алгоритма был невскрываем около двадцати лет. «... он пал 17 июня 1997 г., через 140 дней после начала конкурса (при этом было протестировано около 25% всех возможных ключей и затрачено 450 MIPS -лет » . В 1998 году появилось сообщение о взломе DES -алгоритма за 56 часов .

С резким скачком производительности вычислительной техники сначала столкнулся алгоритм RSA, для вскрытия которого необходимо решать задачу факторизации. В марте 1994 была закончена длившаяся в течение 8 месяцев факторизация числа из 129 цифр (428 бит6). Для этого было задействовано 600 добровольцев и 1600 машин, связанных посредством электронной почты. Затраченное машинное время было эквивалентно примерно 5000 MIPS-лет .

29 января 1997 фирмой RSA Labs был объявлен конкурс на вскрытие симметричного алгоритма RC5. 40-битный ключ был вскрыт через 3.5 часа после начала конкурса! (Для этого даже не потребовалась связывать компьютеры через Интернет - хватило локальной сети из 250 машин в Берклевском университете). Через 313 часов был вскрыт и 48-битный ключ [ 24].

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

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

С связи с резким ростом вычислительных мощностей атаки полным перебором имеют гораздо больше шансов на успех, чем раньше. Если для системы UNIX функция crypt(), которая отвечает за хеширование паролей, была реализована так, что выполнялась почти 1 секунду на машину класса PDP, то за двадцать лет скорость ее вычисления увеличилась в 10000 раз (!). Поэтому если раньше хакеры (и разработчики, которые ограничили длину пароля 8 символами) и представить себе не могли полный перебор, то сегодня такая атака в среднем приведет к успеху за 125 дней .

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

Более того, уже создана специальная аппаратура, выполняющая функции перебора.

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

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

Остановимся еще на разновидности техники полного перебора паролей - так называемой атаке по словарю . Это метод, с помощью которого можно вскрыть осмысленный пароль. Метод основан на том, что пользователь для более легкого запоминания выбирает существующее в некотором языке (словарное) слово. Если учесть, что в любом языке не более 100.000 слов, очевидно, что полный перебор словарных слов произойдет в течение небольшого промежутка времени.

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

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

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

_____________________________

* Защиту паролем следует применять в тех случаях, когда либо атака методом перебора будет неэффективной, либо злоумышленнику заведомо не будут доступны достаточно мощные вычислительные средства для осуществления полного перебора (нельзя забывать о возможности использования сетевых технологий).

* Для усиления парольной защиты следует применять любые оригинальные приемы, уменьшающие скорость перебора паролей.

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

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

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

___________________________________________________________

Подробнее

1. Примеры атак на механизмы защиты - Крис Касперски «Техника и философия хакерских атак» .

2. Генерирование псевдослучайных последовательностей чисел - Ю.С. Харин, В.И. Берник, Г.В. Матвеев «Математические основы криптологии» , стр. 153-188; В. Жельников «Криптография от папируса до компьютера» , стр. 181-207.

Основой любых систем защиты информационных систем являются идентификация и аутентификация, так как все механизмы защиты информации рассчитаны на работу с поименованными субъектами и объектами АС. Напомним, что в качестве субъектов АС могут выступать как пользователи, так и процессы, а в качестве объектов АС – информация и другие информационные ресурсы системы.

Присвоение субъектам и объектам доступа личного идентификатора и сравнение его с заданным перечнем называется идентификацией. Идентификация обеспечивает выполнение следующих функций:

Установление подлинности и определение полномочий субъекта при его допуске в систему,

Контролирование установленных полномочий в процессе сеанса работы;

Регистрация действий и др.

Аутентификацией (установлением подлинности) называется проверка принадлежности субъекту доступа предъявленного им идентификатора и подтверждение его подлинности. Другими словами, аутентификация заключается в проверке: является ли подключающийся субъект тем, за кого он себя выдает.

Общая процедура идентификации и аутентификации пользователя при его доступе в АС представлена на рис. 2.10. Если в процессе аутентификации подлинность субъекта установлена, то система защиты информации должна определить его полномочия (совокупность прав). Это необходимо для последующего контроля и разграничения доступа к ресурсам.

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

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

Рис. 2.10. Классическая процедура идентификации и аутентификации

Обычно методы аутентификации классифицируют по используемым средствам. В этом случае указанные методы делят на четыре группы:

1. Основанные на знании лицом, имеющим право на доступ к ресурсам системы, некоторой секретной информации – пароля.

2. Основанные на использовании уникального предмета: жетона, электронной карточки и др.

3. Основанные на измерении биометрических параметров человека – физиологических или поведенческих атрибутах живого организма.

4. Основанные на информации, ассоциированной с пользователем, например, с его координатами.

Рассмотрим эти группы.

1. Наиболее распространенными простыми и привычными являются методы аутентификации, основанные на паролях – секретных идентификаторах субъектов. Здесь при вводе субъектом своего пароля подсистема аутентификации сравнивает его с паролем, хранящимся в базе эталонных данных в зашифрованном виде. В случае совпадения паролей подсистема аутентификации разрешает доступ к ресурсам АС.

Парольные методы следует классифицировать по степени изменяемости паролей:

Методы, использующие постоянные (многократно используемые) пароли,

Методы, использующие одноразовые (динамично изменяющиеся) пароли.

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

В последнем случае, возможно запустить программу по подбору паролей – «дробилку».

Более надежный способ – использование одноразовых или динамически меняющихся паролей.

Известны следующие методы парольной защиты, основанные на одноразовых паролях:

Методы модификации схемы простых паролей;

Методы «запрос-ответ»;

Функциональные методы.

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

При использовании метода «запрос-ответ» система задает пользователю некоторые вопросы общего характера, правильные ответы на которые известны только конкретному пользователю.

Функциональные методы основаны на использовании специальной функции парольного преобразования . Это позволяет обеспечить возможность изменения (по некоторой формуле) паролей пользователя во времени. Указанная функция должна удовлетворять следующим требованиям:

Для заданного пароля x легко вычислить новый пароль ;

Зная х и y, сложно или невозможно определить функцию .

Наиболее известными примерами функциональных методов являются: метод функционального преобразования и метод «рукопожатия».

Идея метода функционального преобразования состоит в периодическом изменении самой функции . Последнее достигается наличием в функциональном выражении динамически меняющихся параметров, например, функции от некоторой даты и времени. Пользователю сообщается исходный пароль, собственно функция и периодичность смены пароля. Нетрудно видеть, что паролями пользователя на заданных -периодах времени будут следующие: x, f(x), f(f(x)), ..., f(x)n-1.

Метод «рукопожатия» состоит в следующем. Функция парольного преобразования известна только пользователю и системе защиты. При входе в АС подсистема аутентификации генерирует случайную последовательность x, которая передается пользователю. Пользователь вычисляет результат функции y=f(x) и возвращает его в систему. Система сравнивает собственный вычисленный результат с полученным от пользователя. При совпадении указанных результатов подлинность пользователя считается доказанной.

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

В ряде случаев пользователю может оказаться необходимым проверить подлинность другого удаленного пользователя или некоторой АС, к которой он собирается осуществить доступ. Наиболее подходящим здесь является метод «рукопожатия», так как никто из участников информационного обмена не получит никакой конфиденциальной информации.

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

2. В последнее время получили распространение комбинированные методы идентификации, требующие, помимо знания пароля, наличие карточки (token) – специального устройства, подтверждающего подлинность субъекта.

Карточки разделяют на два типа:

Пассивные (карточки с памятью);

Активные (интеллектуальные карточки).

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

Иногда (обычно для физического контроля доступа) карточки применяют сами по себе, без запроса личного идентификационного номера.

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

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

Интеллектуальные карточки кроме памяти имеют собственный микропроцессор. Это позволяет реализовать различные варианты парольных методов защиты: многоразовые пароли, динамически меняющиеся пароли, обычные запрос-ответные методы. Все карточки обеспечивают двухкомпонентную аутентификацию.

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

Перспективным направлением развития карточек является наделение их стандартом расширения портативных систем PCMCIA (PC Card). Такие карточки являются портативными устройствами типа PC Card, которые вставляются в разъем PC Card и не требуют специальных устройств чтения. В настоящее время они достаточно дороги.

3. Методы аутентификации, основанные на измерении биометрических параметров человека (см. таблицу 2.6), обеспечивают почти 100 % идентификацию, решая проблемы утраты паролей и личных идентификаторов. Однако такие методы нельзя использовать при идентификации процессов или данных (объектов данных), так как они только начинают развиваться (имеются проблемы со стандартизацией и распространением), требуют пока сложного и дорогостоящего оборудования. Это обусловливает их использование пока только на особо важных объектах и системах.

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

Таблица 2.6

Примеры методов биометрии

Физиологические методы

Поведенческие методы

Снятие отпечатков пальцев

Сканирование радужной оболочки глаза

Сканирование сетчатки глаза

Геометрия кисти руки

Распознавание черт лица

Анализ клавиатурного почерка

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

Назовем наиболее используемые биометрические атрибуты и соответствующие системы.

· Отпечатки пальцев. Такие сканеры имеют небольшой размер, универсальны, относительно недороги. Биологическая повторяемость отпечатка пальца составляет 10-5 %. В настоящее время пропагандируются правоохранительными органами из-за крупных ассигнований в электронные архивы отпечатков пальцев.

· Геометрия руки. Соответствующие устройства используются, когда из-за грязи или травм трудно применять сканеры пальцев. Биологическая повторяемость геометрии руки около 2 %.

· Радужная оболочка глаза. Данные устройства обладают наивысшей точностью. Теоретическая вероятность совпадения двух радужных оболочек составляет 1 из 1078.

· Термический образ лица . Системы позволяют идентифицировать человека на расстоянии до десятков метров. В комбинации с поиском данных по базе данных такие системы используются для опознания авторизованных сотрудников и отсеивания посторонних. Однако при изменении освещенности сканеры лица имеют относительно высокий процент ошибок.

· Голос. Проверка голоса удобна для использования в телекоммуникационных приложениях. Необходимые для этого 16-разрядная звуковая плата и конденсаторный микрофон стоят менее 25 $. Вероятность ошибки составляет 2 – 5%. Данная технология подходит для верификации по голосу по телефонным каналам связи, она более надежна по сравнению с частотным набором личного номера. Сейчас развиваются направления идентификации личности и его состояния по голосу – возбужден, болен, говорит правду, не в себе и т.д.

· Ввод с клавиатуры. Здесь при вводе, например, пароля отслеживаются скорость и интервалы между нажатиями.

· Подпись. Для контроля рукописной подписи используются дигитайзеры.

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

Аппаратура GPS проста и надежна в использовании и сравнительно недорога. Это позволяет ее использовать в случаях, когда авторизованный удаленный пользователь должен находиться в нужном месте.

Суммируя возможности средств аутентификации, ее можно классифицировать по уровню информационной безопасности на три категории:

1. Статическая аутентификация;

2. Устойчивая аутентификация;

3. Постоянная аутентификация.

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

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

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

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

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

Одной из распространенных схем аутентификации является простая аутентификация, которая основана на применении традиционных многоразовых паролей с одновременным согласованием средств его использования и обработки. Аутентификация на основе многоразовых паролей является простым и наглядным примером использования разделяемой информации. Пока в большинстве защищенных виртуальных сетей VPN (Virtual Private Network) доступ клиента к серверу разрешается по паролю.

Аутентификация на основе многоразовых паролей. Базовый принцип «единого входа» предполагает достаточность одноразового прохождения пользователем процедуры аутентификации для доступа ко всем сетевым ресурсам. Поэтому в современных операционных системах предусматривается централизованная служба аутентификации, которая выполняется одним из серверов сети и использует для своей работы базу данных. В этой базе данных хранятся учетные данные о пользователях сети. В эти учетные данные наряду с другой информацией включены идентификаторы и пароли пользователей.

В схеме простой аутентификации передача пароля и идентификатора пользователя может производиться следующими способами:

· в незашифрованном виде; например, согласно протоколу парольной аутентификации РАР (Password Authentication Protocol) пароли передаются по линии связи в открытой незащищенной форме;

· в защищенном виде; все передаваемые данные (идентификатор и пароль пользователя, случайное число и метки времени) защищены посредством шифрования или однонаправленной функции.

Очевидно, что вариант аутентификации с передачей пароля пользователя в незашифрованном виде не гарантирует даже минимального уровня безопасности, так как подвержен многочисленным атакам и легко компрометируется. Чтобы защитить пароль, его нужно зашифровать перед пересылкой по незащищенному каналу. Для этого в схему включены средства шифрования EK и дешифрования DK, управляемые разделяемым секретным ключом K. Проверка подлинности пользователя основана на сравнении присланного пользователем пароля PA и исходного значения PA", хранящегося на сервере аутентификации. Если значения PA и PA" совпадают, то пароль PA считается подлинным, а пользователь А - законным.

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

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

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

где P - пароль пользователя;ID - идентификатор пользователя;

EP - процедура шифрования, выполняемая с использованием пароля P в качестве ключа.

Такие функции удобны, если длина пароля и ключа одинакова. В этом случае проверка подлинности пользователя А с помощью пароля РА состоит из пересылки серверу аутентификации отображения () A h P и сравнения его с предварительно вычисленным и хранимым в базе данных сервера аутентификации эквивалентом h"(РА) - рис. 2.17. Если отображения h(PA) и h"(РA) равны, то считается, что пользователь успешно прошел аутентификацию.

Рис. 2.17

На практике пароли состоят лишь из нескольких символов, чтобы дать возможность пользователям запомнить их. Короткие пароли уязвимы к атаке полного перебора всех вариантов. Для того чтобы предотвратить такую атаку, функцию h(Р) можно определить иначе, например в следующем виде:

где К и ID - соответственно ключ и идентификатор отправителя.

Различают две формы представления объектов, аутентифицирующих пользователя:

· внешний аутентифицирующий объект, не принадлежащий системе;

· внутренний объект, принадлежащий системе, в который переносится информация из внешнего объекта.

Допустим, что в компьютерной системе зарегистрировано n пользователей. Пусть і-й аутентифицирующий объект і-го пользователя содержит два информационных поля:

· IDi - неизменный идентификатор і-го пользователя, который является аналогом имени и используется для идентификации пользователя;

· Ki - аутентифицирующая информация пользователя, которая может изменяться и используется для аутентификации (например, пароль Pi = Ki).

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

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

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

Известны следующие методы применения одноразовых паролей для аутентификации пользователей:

1) Использование механизма временных меток на основе системы единого времени.

2) Использование списка случайных паролей, общего для легального пользователя и проверяющего, и надежного механизма их синхронизации.

3) Использование генератора псевдослучайных чисел, общего для пользователя и проверяющего, с одним и тем же начальным значением.

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

В качестве примера реализации первого метода рассмотрим технологию аутентификации SecurID на основе одноразовых паролей с использованием аппаратных ключей и механизма временной синхронизации. Эта технология аутентификации разработана компанией Security Dynamics и реализована в коммуникационных серверах ряда компаний, в частности в серверах компании Cisco Systems и др.

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

· при производстве аппаратного ключа точно измеряется отклонение частоты его таймера от номинала. Величина этого отклонения учитывается как параметр алгоритма сервера;

· сервер отслеживает коды, генерируемые конкретным аппаратным ключом, и при необходимости динамически подстраивается под этот ключ.

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

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

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

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

· последовательность преобразуемых одноразовых паролей. В ходе очередной сессии аутентификации пользователь создает и передает пароль именно для данной сессии, зашифрованный на секретном ключе, полученном из пароля предыдущей сессии;

· последовательности паролей, основанные на односторонней функции. Суть данного метода составляет последовательное использование односторонней функции (известная схема Лампорта). Этот метод является более предпочтительным с точки зрения безопасности по сравнению с методом последовательно преобразуемых паролей.

Одним из наиболее распространенных протоколов аутентификации на основе одноразовых паролей является стандартизованный в Интернете протокол S/Key (RFC 1760). Данный протокол реализован во многих системах, требующих проверки подлинности удаленных пользователей, в частности в системе TACACS+ компании Cisco.

Модель системы защиты

При построении систем защиты от угроз нарушения конфиденциальности информации в автоматизированных системах используется комплексный подход. Схема традиционно выстраиваемой эшелонированной защиты приведена на рис. 1.3.1.

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

Остановимся более подробно на каждой из участвующих в реализации защиты подсистем.

1.3.2 Организационные меры и меры обеспечения физической безопасности

Данные механизмы в общем случае предусматривают :

  • развёртывание системы контроля и разграничения физического доступа к элементам автоматизированной системы.
  • создание службы охраны и физической безопасности.
  • организацию механизмов контроля за перемещением сотрудников и посетителей (с использованием систем видеонаблюдения, проксимити-карт и т.д.);
  • разработку и внедрение регламентов, должностных инструкций и тому подобных регулирующих документов;
  • регламентацию порядка работы с носителями, содержащими конфиденциальную информацию.

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

1.3.3. Идентификация и аутентификация

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

Тем самым, задача идентификации – ответить на вопрос «кто это?», а аутентификации - «а он ди это на самом деле?».

Базовая схема идентификации и аутентификации приведена на рис. 1.3.2.

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

Всё множество использующих в настоящее время методов аутентификации можно разделить на 4 большие группы :

  1. Методы, основанные на знании некоторой секретной информации . Классическим примером таких методов является парольная защита , когда в качестве средства аутентификации пользователю предлагается ввести пароль – некоторую последовательность символов. Данные методы аутентификации являются наиболее распространёнными.
  2. Методы, основанные на использовании уникального предмета . В качестве такого предмета могут быть использованы смарт-карта, токен, электронный ключ и т.д.
  3. Методы, основанные на использовании биометрических характеристик человека . На практике чаще всего используются одна или несколько из следующих биометрических характеристик:
    • отпечатки пальцев;
    • рисунок сетчатки или радужной оболочки глаза;
    • тепловой рисунок кисти руки;
    • фотография или тепловой рисунок лица;
    • почерк (роспись);
    • голос.
      Наибольшее распространение получили сканеры отпечатков пальцев и рисунков сетчатки и радужной оболочки глаза.
  4. Методы, основанные на информации, ассоциированной с пользователем . Примером такой информации могут служить координаты пользователя, определяемые при помощи GPS. Данный подход вряд ли может быть использован в качестве единственного механизма аутентификации, однако вполне допустим в качестве одного из нескольких совместно используемых механизмов.

Широко распространена практика совместного использования нескольких из перечисленных выше механизмов – в таких случаях говорят о многофакторной аутентификации .

Особенности парольных систем аутентификации

При всём многообразии существующих механизмов аутентификации, наиболее распространённым из них остаётся парольная защита. Для этого есть несколько причин, из которых мы отметим следующие :

  • Относительная простота реализации . Действительно, реализация механизма парольной защиты обычно не требует привлечения дополнительных аппаратных средств.
  • Традиционность . Механизмы парольной защиты являются привычными для большинства пользователей автоматизированных систем и не вызывают психологического отторжения – в отличие, например, от сканеров рисунка сетчатки глаза.

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

Остановимся более подробно на основных угрозах безопасности парольных систем . В общем случае пароль может быть получен злоумышленником одним из трёх основных способов:

  1. За счёт использования слабостей человеческого фактора . Методы получения паролей здесь могут быть самыми разными: подглядывание, подслушивание, шантаж, угрозы, наконец, использование чужих учётных записей с разрешения их законных владельцев.
  2. Путём подбора . При этом используются следующие методы:
    • Полный перебор . Данный метод позволяет подобрать любой пароль вне зависимости от его сложности, однако для стойкого пароля время, необходимое для данной атаки, должно значительно превышать допустимые временные ресурсы злоумышленника.
    • Подбор по словарю . Значительная часть используемых на практике паролей представляет собой осмысленные слова или выражения. Существуют словари наиболее распространённых паролей, которые во многих случаях позволяют обойтись без полного перебора.
    • Подбор с использованием сведений о пользователе. Данный интеллектуальный метод подбора паролей основывается на том факте, что если политика безопасности системы предусматривает самостоятельное назначение паролей пользователями, то в подавляющем большинстве случаев в качестве пароля будет выбрана некая персональная информация, связанная с пользователем АС. И хотя в качестве такой информации может быть выбрано что угодно, от дня рождения тёщи и до прозвища любимой собачки, наличие информации о пользователе позволяет проверить наиболее распространённые варианты (дни рождения, имена детей и т.д.).
  3. За счёт использования недостатков реализации парольных систем. К таким недостаткам реализации относятся эксплуатируемые уязвимости сетевых сервисов, реализующих те или иные компоненты парольной системы защиты, или же недекларированные возможности соответствующего программного или аппаратного обеспечения.

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

  • Установление минимальной длины пароля . Очевидно, что регламентация минимально допустимой длины пароля затрудняет для злоумышленника реализацию подбора пароля путём полного перебора.
  • Увеличение мощности алфавита паролей . За счёт увеличения мощности (которое достигается, например, путём обязательного использования спецсимволов) также можно усложнить полный перебор.
  • Проверка и отбраковка паролей по словарю . Данный механизм позволяет затруднить подбор паролей по словарю за счёт отбраковки заведомо легко подбираемых паролей.
  • Установка максимального срока действия пароля . Срок действия пароля ограничивает промежуток времени, который злоумышленник может затратить на подбор пароля. Тем самым, сокращение срока действия пароля уменьшает вероятность его успешного подбора.
  • Установка минимального срока действия пароля . Данный механизм предотвращает попытки пользователя незамедлительно сменить новый пароль на предыдущий.
  • Отбраковка по журналу истории паролей . Механизм предотвращает повторное использование паролей – возможно, ранее скомпрометированных.
  • Ограничение числа попыток ввода пароля . Соответствующий механизм затрудняет интерактивный подбор паролей.
  • Принудительная смена пароля при первом входе пользователя в систему . В случае, если первичную генерацию паролей для всех пользователь осуществляет администратор, пользователю может быть предложено сменить первоначальный пароль при первом же входе в систему – в этом случае новый пароль не будет известен администратору.
  • Задержка при вводе неправильного пароля . Механизм препятствует интерактивному подбору паролей.
  • Запрет на выбор пароля пользователем и автоматическая генерация пароля . Данный механизм позволяет гарантировать стойкость сгенерированных паролей – однако не стоит забывать, что в этом случае у пользователей неминуемо возникнут проблемы с запоминанием паролей.

Оценка стойкости парольных систем

Оценим элементарные взаимосвязи между основными параметрами парольных систем . Введём следующие обозначения:

  • A – мощность алфавита паролей;
  • L – длина пароля;
  • S=A L – мощность пространства паролей;
  • V – скорость подбора паролей;
  • T – срок действия пароля;
  • P – вероятность подбора пароля в течение его срока действия.

Очевидно, что справедливо следующее соотношение:

Обычно скорость подбора паролей V и срок действия пароля T можно считать известными. В этом случае, задав допустимое значение вероятности P подбора пароля в течение его срока действия, можно определить требуемую мощность пространства паролей S.

Заметим, что уменьшение скорости подбора паролей V уменьшает вероятность подбора пароля. Из этого, в частности, следует, что если подбор паролей осуществляется путём вычисления хэш-функции и сравнение результата с заданным значением, то большую стойкость парольной системы обеспечит применение медленной хэш-функции.

Методы хранения паролей

В общем случае возможны три механизма хранения паролей в АС :

  1. В открытом виде . Безусловно, данный вариант не является оптимальным, поскольку автоматически создаёт множество каналов утечки парольной информации. Реальная необходимость хранения паролей в открытом виде встречается крайне редко, и обычно подобное решение является следствием некомпетентности разработчика.
  2. В виде хэш-значения . Данный механизм удобен для проверки паролей, поскольку хэш-значения однозначно связаны с паролем, но при этом сами не представляют интереса для злоумышленника.
  3. В зашифрованном виде . Пароли могут быть зашифрованы с использованием некоторого криптографического алгоритма, при этом ключ шифрования может храниться:
    • на одном из постоянных элементов системы;
    • на некотором носителе (электронный ключ, смарт-карта и т.п.), предъявляемом при инициализации системы;
    • ключ может генерироваться из некоторых других параметров безопасности АС – например, из пароля администратора при инициализации системы.

Передача паролей по сети

Наиболее распространены следующие варианты реализации:

  1. Передача паролей в открытом виде . Подход крайне уязвим, поскольку пароли могут быть перехвачены в каналах связи. Несмотря на это, множество используемых на практике сетевых протоколов (например, FTP) предполагают передачу паролей в открытом виде.
  2. Передача паролей в виде хэш-значений иногда встречается на практике, однако обычно не имеет смысла – хэши паролей могут быть перехвачены и повторно переданы злоумышленником по каналу связи.
  3. Передача паролей в зашифрованном виде в большинстве является наиболее разумным и оправданным вариантом.

1.3.4. Разграничение доступа

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

Дискреционным называется разграничение доступа между поименованными субъектами и поименованными объектами. На практике дискреционное разграничение доступа может быть реализовано, например, с использованием матрицы доступа (рис. 1.3.4).

Как видно из рисунка, матрица доступа определяет права доступа для каждого пользователя по отношению к каждому ресурсу.

Очевидно, что вместо матрицы доступа можно использовать списки полномочий: например, каждому пользователю может быть сопоставлен список доступных ему ресурсов с соответствующими правами, или же каждому ресурсу может быть сопоставлен список пользователей с указанием их прав на доступ к данному ресурсу.

Мандатное разграничение доступа обычно реализуется как разграничение доступа по уровням секретности. Полномочия каждого пользователя задаются в соответствии с максимальным уровнем секретности, к которому он допущен. При этом все ресурсы АС должны быть классифицированы по уровням секретности.

Принципиальное различие между дискреционным и мандатным разграничением доступа состоит в следующем: если в случае дискреционного разграничения доступа права на доступ к ресурсу для пользователей определяет его владелец, то в случае мандатного разграничения доступа уровни секретности задаются извне, и владелец ресурса не может оказать на них влияния. Сам термин «мандатное» является неудачным переводом слова mandatory – «обязательный». Тем самым, мандатное разграничение доступа следует понимать как принудительное.

1.3.5. Криптографические методы обеспечения конфиденциальности информации

В целях обеспечения конфиденциальности информации используются следующие криптографические примитивы :


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

1.3.6. Методы защиты внешнего периметра

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

Межсетевое экранирование

Межсетевой экран (МЭ) выполняет функции разграничения информационных потоков на границе защищаемой автоматизированной системы. Это позволяет:

  • повысить безопасность объектов внутренней среды за счёт игнорирования неавторизованных запросов из внешней среды;
  • контролировать информационные потоки во внешнюю среду;
  • обеспечить регистрацию процессов информационного обмена.

Контроль информационных потоков производится посредством фильтрации информации , т.е. анализа её по совокупности критериев и принятия решения о распространении в АС или из АС.

В зависимости от принципов функционирования, выделяют несколько классов межсетевых экранов . Основным классификационным признаком является уровень модели ISO/OSI, на котором функционирует МЭ.


Большинство используемых в настоящее время межсетевых экранов относятся к категории экспертных. Наиболее известные и распространённые МЭ – CISCO PIX и CheckPoint FireWall-1.

Системы обнаружения вторжений

Обнаружение вторжений представляет собой процесс выявления несанкционированного доступа (или попыток несанкционированного доступа) к ресурсам автоматизированной системы. Система обнаружения вторжений (Intrusion Detection System, IDS) в общем случае представляет собой программно-аппаратный комплекс, решающий данную задачу.

Общая структура IDS приведена на рис. 1.3.6.2:

Алгоритм функционирования системы IDS приведён на рис. 1.3.6.3:

Как видно из рисунков, функционирование систем IDS во многом аналогично межсетевым экранам: сенсоры получают сетевой трафик, а ядро путём сравнения полученного трафика с записями имеющейся базы сигнатур атак пытается выявить следы попыток несанкционированного доступа. Модуль ответного реагирования представляет собой опциональный компонент, который может быть использован для оперативного блокирования угрозы: например, может быть сформировано правило для межсетевого экрана, блокирующее источник нападения.

Существуют две основных категории систем IDS :

  1. IDS уровня сети .
    В таких системах сенсор функционирует на выделенном для этих целей хосте в защищаемом сегменте сети. Обычно сетевой адаптер данного хоста функционирует в режиме прослушивания (promiscuous mode), что позволяет анализировать весь проходящий в сегменте сетевой трафик.
  2. IDS уровня хоста .
    В случае, если сенсор функционирует на уровне хоста, для анализа может быть использована следующая информация:
    • записи стандартных средств протоколирования операционной системы;
    • информация об используемых ресурсах;
    • профили ожидаемого поведения пользователей.

Каждый из типов IDS имеет свои достоинства и недостатки. IDS уровня сети не снижают общую производительность системы, однако IDS уровня хоста более эффективно выявляют атаки и позволяют анализировать активность, связанную с отдельным хостом. На практике целесообразно использовать системы, совмещающие оба описанных подхода.

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

1.3.7. Протоколирование и аудит

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

Системы обнаружения вторжений уровня хоста можно рассматривать как системы активного аудита.

Назначение механизма регистрации и аудита:

  • обеспечение подотчётности пользователей и администраторов;
  • обеспечение возможности реконструкции последовательности событий (что бывает необходимо, например, при расследовании инцидентов, связанных с информационной безопасностью);
  • обнаружение попыток нарушения информационной безопасности;
  • предоставление информации для выявления и анализа технических проблем, не связанных с безопасностью.

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

Типовая запись регистрационного журнала выглядит следующим образом (рис. 1.3.7.1).

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

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

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

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

Защита информации с помощью пароля

На сегодняшний день пароль является наиболее приемлемым и потому наиболее часто используемым средством установления подлинности, основанным на знаниях субъектов доступа.

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

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

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

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

Однако вернемся на несколько лет назад, когда вычислительной мощности для полного перебора всех паролей не хватало. Тем не менее, хакерами был придуман остроумный метод, основанный на том, что в качестве пароля человеком выбирается существующее слово или какая-либо информация о себе или своих знакомых (имя, дата рождения и т.п.). Ну, а поскольку в любом языке не более 100000 слов, то их перебор займет весьма небольшое время, и от 40 до 80% существующих паролей может быть угадано с помощью простой схемы, называемой “атакой по словарю”. Кстати, до 80% этих паролей может быть угадано с использованием словаря размером всего 1000 слов!

Пусть сегодня пользователи уже понимают, что выбирать такие пароли нельзя, но, видимо, никогда эксперты по компьютерной безопасности не дождутся использования таких простых и радующих душу паролей, как 34jХs5U@bТа!6;). Поэтому даже искушенный пользователь хитрит и выбирает такие пароли, как hоре1, user1997, рАsSwOrD, toor, roottoor, раго1, gfhjkm, asхz. Видно, что все они, как правило, базируются на осмысленном слове и некотором простом правиле его преобразования: прибавить цифру, прибавить год, перевести через букву в другой регистр, записать слово наоборот, прибавить записанное наоборот слово, записать русское слово латинскими буквами, набрать русское слово на клавиатуре с латинской раскладкой, составить пароль из рядом расположенных на клавиатуре клавиш и т.п.

Поэтому не надо удивляться, если такой “хитрый” пароль будет вскрыт хакерами - они не глупее самих пользователей, и уже вставили в свои программы те правила, по которым может идти преобразование слов. В самых "продвинутых" программах (John The Ripper, Password Cracking library) эти правила могут быть программируемыми и задаваться с помощью специального языка самим хакером.

Приведем пример эффективности такой стратегии перебора. Во многих книгах по безопасности предлагается выбирать в качестве надежного пароля два осмысленных слова, разделенных некоторым знаком (например, good!password). Подсчитаем, за сколько времени в среднем будут сломаны такие пароли, если такое правило включено в набор программы-взломщика (пусть словарь 10000 слов, разделительными знаками могут быть 10 цифр и 32 знака препинания и специальных символа, машина класса Pentium со скоростью 15000 паролей/сек):
10000*(32+10)*10000/15000*2=140000 секунд или менее 1.5 дня!

Чем больше длина пароля, тем большую безопасность будет обеспечивать система, так как потребуются большие усилия для его отгадывания. Это обстоятельство можно представить в терминах ожидаемого времени раскрытия пароля или ожидаемого безопасного времени. Ожидаемое безопасное время (Т б) - половина произведения числа возможных паролей и времени, требуемого для того, чтобы попробовать каждый пароль из последовательности запросов. Представим это в виде формулы:

где t- время, требуемое на попытку введения пароля, равное E/R; E - число символов в передаваемом сообщении при попытке получить доступ (включая пароль и служебные символы); R - скорость передачи (символы/мин) в линии связи; S - длина пароля; А - число символов в алфавите, из которых составляется пароль. Если после каждой неудачной попытки подбора автоматически предусматривается десятисекундная задержка, то безопасное время резко увеличивается.

Поэтому при использовании аутентификации на основе паролей защищенной системой должны соблюдаться следующие правила:

а) не позволяются пароли меньше 6–8 символов;

б) пароли должны проверяться соответствующими контроллерами;

в) символы пароля при их вводе не должны появляться в явном виде;

г) после ввода правильного пароля выдается информация о последнем входе в систему;

д) ограничивается количество попыток ввода пароля;

е) вводится задержка времени при неправильном пароле;

ж) при передаче по каналам связи пароли должны шифроваться;

з) пароли должны храниться в памяти только в зашифрованном виде в файлах, недоступных пользователям;

и) пользователь должен иметь возможность самому менять пароль;

к) администратор не должен знать пароли пользователей, хотя может их менять;

л) пароли должны периодически меняться;

м) устанавливаются сроки действия паролей, по истечении которых надо связаться с администратором.




Top