Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

А.Ю.Щеглов Учебное пособие

.pdf
Скачиваний:
83
Добавлен:
21.03.2016
Размер:
2.27 Mб
Скачать

Угрозы преодоления парольной защиты

Явные

 

Скрытые

 

 

 

 

 

Физические

 

 

Технические

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Хищение

 

 

Визуальный

 

 

 

Подбор пароля

 

Съем пароля на

носителя

 

 

съем пароля

 

 

 

 

 

 

 

защищаемом

 

 

 

 

при вводе

 

 

 

 

 

 

 

 

объекте

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Автоматиpованный

 

 

Автоматический

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Технический

 

 

Отключение механизма

 

 

Модификация

 

 

съем пароля при

 

защиты идентификации

 

 

учетных данных на

 

 

 

вводе

 

 

 

и аутентификации

 

 

защищаемом

 

 

 

 

 

 

 

 

 

 

 

 

 

объекте

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Снифер

 

 

Снифер

 

 

 

 

 

 

 

 

 

 

клавиатуры

 

 

канала

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Замена учетных

 

 

Сброс пароля

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

данных

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис.3.3. Обобщенная классификация угроз преодоления парольной защиты

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

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

81

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

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

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

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

Способы ввода пароля

Консольный (ввод

 

С внешнего носителя

 

С использованием

с клавиатуры)

 

 

 

биометрических

 

 

 

 

характеристик

 

 

 

 

пользователя

 

 

 

 

 

Комбинированный

Рис.3.4. Способы ввода пароля

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

82

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

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

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

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

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

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

83

Способы усиления пароля

 

Посредством задания дополнительных

 

 

 

 

 

 

 

Посредством включения

 

 

 

 

 

 

 

 

 

требований к параметрам пароля

 

 

ограничений на процедуру

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

аутентификации

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Увеличение

 

Увеличение

 

Увеличение

 

 

 

 

длины

 

алфавита

 

алфавита

 

 

 

 

пароля

 

набором

 

набором

 

 

 

 

(числа

 

символов

 

типов

 

 

 

символов в

 

одного типа

 

символов

 

 

 

пароле)

 

для задания

 

для задания

 

 

 

 

 

 

пароля

 

пароля

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ограничение

 

Ограничение

 

Ограничение

 

Ограничение

 

Ограничение на

на число

 

на число

 

на

 

на

 

периодичность

неверно

 

типов

 

повторяемость

 

возможность

 

смены пароля

введенных

 

символов в

 

пароля

 

задания

 

пользователем

значений

 

пароле

 

(история

 

простых

 

 

пароля

 

 

 

паролей)

 

паролей

 

 

 

 

 

 

 

 

 

 

 

Рис.3.5. Способы усиления пароля

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

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

R = f (А,L).

Обозначим вероятность подбора злоумышленником пароля с одной попытки P1 (в предположении, что все парольные комбинации равновероятны: P1 = 1/R). Если для подбора пароля злоумышленником

84

совершается n попыток в единицу времени t, то за интервал времени T (число единиц времени), вероятность подбора пароля злоумышленником:

P = F (A,L,P1,n(t),T).

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

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

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

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

P = F (A,L,P1,N).

Данное ограничение можно рассматривать как альтернативу применению способов усиления пароля, по средством задания дополнительных требований к параметрам пароля в соответствии с зависимостью R = f (А,L), т.е. уменьшая параметр N, тем самым, можно снижать требования к параметру L, что, как отмечали ранее, крайне важно при использовании механизма парольной защиты, предполагающего ввод пароля с клавиатуры. Очевидно, что без использования данного ограничения, с учетом больших темпов роста производительности компьютеров, приводящего к заметному увеличению параметра n(t), без применения данного ограничения соответственно возрастают требования к параметрам А,L.

85

Как отмечалось, в основе проектирования системы защиты должен лежать системный подход, в частности, учитывающий при проектировании механизмов парольной защиты наличие других механизмов в системе защиты. Так, если в системе защиты обеспечена замкнутость программной среды, которая не позволит пользователю запустить программу подбора паролей, т.е. реализовать автоматический способ подбора, то не столь актуальным становится и реализация ограничения на число неверно введенных значений пароля. Действительно, в этом случае параметр n(t) уже имеет значение: 1 попытка за 5-15 с. (определяется скоростью ручного ввода пароля пользователем), что не позволит сколько-нибудь эффективно противодействовать парольной защите.

В системах парольной защиты, может использоваться ограничение на периодичность смены пароля пользователем, которое призвано ограничить возможность использования одного и того же значения пароля в течение сколько-нибудь продолжительного времени (например, более месяца). Как отмечалось, в случае, если не используется ограничение на число неверно введенных значений пароля, вероятность подбора пароля зависит не только от параметра n(t), но и от параметра T. Данное ограничение устанавливается на параметр T, позволяя снизить суммарное число попыток подбора для одного установленного значения пароля.

Вывод. Задача идентификации субъекта доступа «пользователь» при входе в систему решается отдельным механизмом парольной защиты доступа в систему.

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

2.2.1.1.2. Идентификация и аутентификации пользователя при доступе к ресурсам

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

86

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

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

Рис.3.6. Укрупненный алгоритм идентификации и аутентификации при запросе доступа к ресурсу

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

87

Определим основополагающее правило, задающее в общем случае условие корректности олицетворения, при этом учтем, что атаки на сервисы олицетворения предполагают несанкционированное повышение привилегий (прав) при доступе к ресурсам.. Для этого обозначим: Ixy — олицетворение потока с исходным идентификатором доступа x и олицетворяющим идентификатором доступа y. Представим Ixy в виде матрицы олицетворения I, отображающей варианты заимствования прав. Введем следующие обозначения. Пусть множество C = {C1…Cn} — линейно упорядоченное множество субъектов доступа. В качестве субъекта доступа Сk, k = 1…n рассматривается как отдельный субъект, так и группа субъектов, обладающих одинаковыми правами доступа. Введем следующую иерархию субъектов доступа: чем меньше порядковый номер (идентификатор) k субъекта, тем большими полномочиями он обладает. Обозначим Xk — исходный идентификатор субъекта доступа Ck, Yk — олицетворяющий идентификатор субъекта доступа Ck.

При данных обозначениях, модель управления олицетворением контекстов защиты формально может быть описана следующим образом: элемент (Iij) матрицы олицетворения I назначается следующим образом: Iij = 1, если i j ; Iij = 0, если i j ; где i – порядковый номер исходного

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

Таким образом, основное правило корректности олицетворения состоит в следующем: Смена идентификатора доступа считается корректной, если субъект доступа, описываемый исходным идентификатором доступа, обладает большими или равными полномочиями по отношению к субъекту доступа, описываемому олицетворяющим (целевым) идентификатором доступа (Ixy, x y ).

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

88

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

Вывод. Задача идентификации субъекта доступа «пользователь» при доступе к ресурсам решается отдельным механизмом защиты – механизмом контроля сервисов олицетворения.

3.2.1.2. Идентификация и аутентификации субъекта доступа «процесс»

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

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

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

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

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

89

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

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

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

3.2.2. Идентификация и аутентификация объектов доступа

3.2.2.1. Идентификация и аутентификация устройств

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

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

Так же ни о чем и заявление о не использовании внешних накопителей.

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

90