Навигация по странице:Аутентификация, авторизации, аудит Понятие аутентификацииАутентификация пользователя — это процедура доказательства пользователем тога, что он есть тот, за кого себя выдает.Многие пользователи пренебрегают угрозами, которые несут в себе легко угадываемые пароли. Так, червь Mumu, поразивший компьютерные сети в 2003 году, искал свои жертвы, подбирая паролиАутентификация, в процессе которой используются методы шифрования, а аутентификационная информация не передается по сети, называетсяСтрогая аутентификация на основе многоразового пароля в протоколе CHAPChallengeАутентификация на основе одноразового пароля
|
Учебник для вузов в. Олифер Н. Олифер Компьютерные Принципы, технологии, протоколы
856 Глава 24. Сетевая безопасность сообщение, потом дополняет его тем же известным ему секретным ключом и применяет к полученным данным одностороннюю функцию. Результат вычислений сравнивается с полученным по сети дайджестом. Помимо обеспечения целостности сообщений, дайджест может быть использован в каче стве электронной подписи для аутентификации передаваемого документа. Построение односторонних функций является трудной задачей. Такого рода функции должны удовлетворять двум условиям: □ по дайджесту, вычисленному с помощью данной функции, должно быть невозможно каким-либо образом вычислить исходное сообщение; □ должна отсутствовать возможность вычисления двух разных сообщений, для которых с помощью данной функции могли быть вычислены одинаковые дайджесты. Наиболее популярной в системах безопасности в настоящее время является серия хэш- функций MD2, MD4, MD5. Все они генерируют дайджесты фиксированной длины 16 байт. Адаптированным вариантом MD4 является американский стандарт SHA, длина дайдже ста в котором составляет 20 байт. Компания IBM поддерживает односторонние функции MDC2 и MDC4, основанные на алгоритме шифрования DES. Аутентификация, авторизации, аудит Понятие аутентификации Аутентификация наряду с авторизацией (о которой рассказывается далее) представляет собой фундаментальный атрибут информационной безопасности. Термин «аутентификация» (authentication) происходит от латинского слова authenticus, ко торое означает подлинный, достоверный, соответствующий самому себе. Аутентификация, или, другими словами, процедура установления подлинности, может быть применима как к людям, так и другим объектам, в частности к программам, устройствам, документам. Аутентификация пользователя — это процедура доказательства пользователем тога, что он есть тот, за кого себя выдает. В частности, при выполнении логического входа в защищенную систему пользователь должен пройти процедуру аутентификации, то есть доказать, что именно ему принадлежит введенный им идентификатор (имя пользователя). Аутентификация предотвращает доступ к сети нежелательных лиц и разрешает вход для легальных пользователей. В процедуре аутентификации участвуют две стороны: одна сторона доказывает свою аутен тичность, предъявляя некоторые доказательства, другая сторона — аутентификатор — про веряет эти доказательства и принимает решение. В качестве доказательства аутентичности применяются самые разнообразные приемы: □ аутентифицируемвГЙ может продемонстрировать знание некоего общего для обеих сторон секрета: слова (пароля) или факта (даты и места события, прозвища человека и т. п.); □ аутентифицируемый может продемонстрировать, что он владеет неким уникальным предметом (физическим ключом), в качестве которого может выступать, например, электронная магнитная карта; Аутентификация, авторизации, аудит 857□ аутентифицируемый может доказать свою идентичность, используя собственные био характеристики: рисунок радужной оболочки глаза или отпечатки пальцев, которые предварительно были занесены в базу данных аутентификатора. Сетевые службы аутентификации строятся на основе всех этих приемов, но чаще всего для доказательства идентичности пользователя применяют пароли. Простота и логическая ясность механизмов аутентификации на основе паролей в какой-то степени компенсиру ет известные слабости паролей. Это, во-первых, возможность раскрытия и разгадывания паролей, во-вторых, возможность «подслушивания» пароля путем анализа сетевого трафи ка. Для снижения уровня угрозы раскрытия паролей администраторы сети, как правило, применяют встроенные программные средства, служащие для формирования политики назначения и использования паролей: задание максимального и минимального сроков действия пароля, хранение списка уже использованных паролей, управление поведением системы после нескольких неудачных попыток логического входа и т. п. П Р И М Е Ч А Н И Е --------------------------------------------------------------------------------------------------------------- Многие пользователи пренебрегают угрозами, которые несут в себе легко угадываемые пароли. Так, червь Mumu, поразивший компьютерные сети в 2003 году, искал свои жертвы, подбирая пароли из очень короткого списка: password, passwd, admin, pass, 123, 1234, 12345, 123456 и пустая строка. Такая на удивление примитивная стратегия дала прекрасные (с точки зрения атакующей стороны) результаты — множество компьютеров было взломано.Легальность пользователя может устанавливаться по отношению к различным системам. Так, работая в сети, пользователь может проходить процедуру аутентификации и как ло кальный пользователь, который претендует на ресурсы только данного компьютера, и как пользователь сети, желающий получить доступ ко всем сетевым ресурсам. При локальной аутентификации пользователь вводит свои идентификатор и пароль, которые автономно обрабатываются операционной системой, установленной на данном компьютере. При логическом входе в сеть данные о пользователе (идентификатор и пароль) передаются на сервер, который хранит учетные записи всех пользователей сети. Однако такая упро щенная схема имеет большой изъян — при передаче пароля с клиентского компьютера на сервер, выполняющий процедуру аутентификации, этот пароль может быть перехвачен злоумышленником. Поэтому применяются разные приемы, чтобы избежать передачи пароля по сети в незащищенном виде. Аутентификация, в процессе которой используются методы шифрования, а аутентификационнаяинформация не передается по сети, называется строгой. Многие приложения имеют собственные средства определения, является ли пользователь законным. И тогда пользователю приходится проходить дополнительные этапы проверки. Как уже отмечалось, в качестве объектов, требующих аутентификации, могут выступать не только пользователи, но и различные приложения, устройства, текстовая и другая информация. Так, пользователь, обращающийся с запросом к корпоративному веб-серверу, должен доказать ему свою легальность, но он также должен убедиться сам, что ведет диалог дей ствительно с веб-сервером своего предприятия. Другими словами, сервер и клиент должны пройти процедуру взаимной аутентификации. Здесь,мы имеем дело с аутентификацией на товне приложений. 858Глава 24. Сетевая безопасность При установлении сеанса связи между двумя устройствами также часто предусматривают ся процедуры взаимной аутентификации устройствна более низком, канальном, уровне (см. далее раздел «Строгая аутентификация на основе многоразового пароля в протоколе CHAP»). Аутентификация данныхозначает доказательство целостности этих данных, а также то, что они поступили именно от того человека, который объявил об этом. Для этого используется механизм электронной подписи. Ранее мы уже узнали, как используется для аутентифи кации данных несимметричное шифрование. Авторизация доступаТермин авторизация (authorization) происходит от латинского слова auctoritas, показы вающее уровень престижа человека в Древнем Риме и соответствующие этому уровню привилегии. Авторизация — это процедура контроля доступа легальных Пользователей к ресурсам системы и предоставление каждому ид них именно тех прав; которые ему были определены администра тором. В отличие от аутентификации, которая позволяет распознать легальных и нелегальных пользователей, авторизация имеет дело только с легальнымипользователями, успешно прошедшими процедуру аутентификации. Помимо предоставления пользователям прав доступа к каталогам, файлам и принтерам, средства авторизации могут контролировать возможность выполнения пользователями различных системных функций, таких как локальный доступ к серверу, установка системного времени, создание резервных копий данных, выключение сервера и т. п. Средства авторизации наделяют пользователя сети правами выполнять определенные дей ствия по отношению к определенным ресурсам. Для этого могут применяться различные формы предоставления правил доступа, которые часто делят на два класса: □ Избирательный доступ наиболее широко используется в компьютерных сетях. При этом подходе определенные операции с определенным ресурсом разрешаются или запрещаются пользователям или группам пользователей, явно указанным своими идентификаторами, например: «пользователю User_T разрешено читать и записывать в файл Filel». □ Мандатный подход к определению прав доступа заключается в том, что вся информа ция делится на уровни в зависимости от степени секретности, а все пользователи сети также делятся на группы, образующие иерархию в соответствии с уровнем допуска к этой информации. Такой подход позволяет классифицировать данные на информацию для служебного пользования, а также секретную и совершенно секретную информа цию. Пользователи этой информации в зависимости от определенного для них статуса получают разные с^ормы допуска: первую, вторую или третью. В отличие от систем с избирательными правами доступа, в системах с мандатным Подходом пользователи в принципе не имеют возможности изменить уровень доступности информации. На пример, пользователь более высокого уровня не может разрешить читать данные из своего файла пользователю, относящемуся к более низкому уровню. Отсюда видно, что мандатный подход является более строгим. Аутентификация, авторизации, аудит 859Процедуры авторизации часто совмещаются с процедурами аутентификации и реализу ются одними и теми же программными средствами, которые могут встраиваться в опера ционную систему или приложение, а также поставляться в виде отдельных программных продуктов. При этом программные системы аутентификации и авторизации могут стро иться на базе двух схем: □ Централизованная схема, базирующаяся на сервере.В этой схеме сервер управляет процессом предоставления ресурсов сети пользователю. Главная цель таких систем — реализовать «принцип единого входа». В соответствии с централизованной схемой пользователь один раз логически входит в сеть и получает на все время работы не который набор разрешений по доступу к различным ресурсам сети. Система Kerberos1 с ее сервером безопасности и архитектурой клиент-сервер, а также более современная система Shibboleth, построенная в той же архитектуре, являются наиболее известными системами этого типа. Системы TACACS и RADIUS, часто применяемые совместно с системами удаленного доступа, также реализуют этот подход. □ Децентрализованная схема, базирующаяся на рабочих станциях.При этом подходе средства авторизации работают на каждой машине. Администратор должен отслежи вать работу механизмов безопасности каждого отдельного приложения — электронной почты, справочной службы, локальных баз данных и т. п. Подчеркнем, что системы аутентификации и авторизации совместно решают одну зада чу — обеспечение контроля доступа, поэтому к ним необходимо предъявлять одинаковый уровень требований. Ненадежность одного звена здесь не может быть компенсирована надежностью другого. АудитАудит (auditing) — это набор процедур мониторинга и учета всех событий, представляющих по тенциальную угрозу для безопасности системы. Аудит позволяет «шпионить» за выбранными объектами и выдавать сообщения тревоги, когда, например, какой-либо рядовой пользователь попытается прочитать или модифици ровать системный файл. Если кто-то пытается выполнить действия, выбранные системой безопасности для мониторинга, то система аудита пишет сообщение в журнал регистрации, идентифицируя пользователя. Системный менеджер может готовить отчеты безопасности, которые содержат информацию из журнала регистрации. Для «сверхбезопасных» систем предусматриваются аудио- и видеосигналы тревоги, устанавливаемые на машинах адми нистраторов, отвечающих за безопасность. Поскольку никакая система безопасности не гарантирует защиту на уровне 100 %, по следним рубежом в борьбе с нарушениями оказывается система аудита. Действительно, после того как злоумышленнику удалось провести успешную атаку, пострадавшей стороне не остается ничего другогб,*Как обратиться к службе аудита. Если при настройке службы аудита были правильно заданы события, которые требуется отслеживать, то подробный анализ записей в журнале может дать много полезной информации. Эта информация, возможно, позволит найти злоумышленника или, по крайней мере, предотвратить повто 1 Детали о системе Kerberos см. в книге авторов «Сетевые операционные системы». 860 Глава 24. Сетевая безопасность рение подобных атак путем устранения уязвимых мест в системе защиты. Функции аудита встраиваются в различные средства обеспечения безопасности: сетевые экраны, системы обнаружения вторжений, антивирусные системы, сетевые мониторы. Строгая аутентификация на основе многоразового пароля в протоколе CHAP Протокол аутентификации по квитированию вызова (Challenge Handshake Authentication Protocol, CHAP) входит в семейство протоколов РРР В этом протоколе предусмотрено 4 типа сообщений: Success (успех), Challenge (вызов), Response (ответ), Failure (ошибка). Этот протокол используется, например, при аутентификации удаленных пользователей, подключенных к Интернету по коммутируемому каналу Здесь аутентификатором явля ется сервер провайдера, а аутентифицируемым — клиентский компьютер (рис. 24.14). При заключении договора клиент получает от провайдера пароль (пусть, например, это будет слово parol). Этот пароль хранится в базе данных провайдера в виде дайджеста Z = rf(parol), полученного путем применения к паролю односторонней хэш-функции MD5. Узел- Аутентифицируемый аутентификатор Разделяемый секрет — parol Узел d(parol) <--------- Сервер Компьютер провайдера клиента Paris Moscow <ґ 1 Запрос на установление соединения, Moscow (jT) (Т) Пакет типа Challenge : (ID, Challenge), Paris i % 1 Пакет типа Response Y » d{(ID, challenge, d(parol)}, Moscow (IT) ® Сервер вычисляет локально d{(ID, challenge, d(parol)} и сравнивает с полученным от клиента значением У (J) Значения совпали, пакет типа Success \ Рйе. 24.14. Аутентификация по протоколу CHAP Аутентификация выполняется в следующей последовательности. 1. Пользователь-клиент активизирует программу (например, программу дозвона) уда ленного доступа к серверу провайдера, вводя имя и назначенный ему пароль. Имя (на рисунке это «Moscow») передается по сети провайдеру в составе запроса на соединение,
Аутентификация, авторизации, аудит 861но пароль не передается в сеть ни в каком виде. То есть здесь мы имеем дело со строгой аутентификацией. 2. Сервер провайдера, получив запрос от клиента, генерирует псевдослучайное слово- вызов (пусть это будет слово «challenge») и передает его клиенту вместе со значением, идентифицирующем сообщение в рамках данного сеанса (ID), и собственным именем (здесь «Paris»). Это сообщение типа Challenge. (Для защиты от перехвата ответа аутен тификатор должен использовать разные значения слова-вызова при каждой процедуре аутентификации.) 3. Программа клиента, получив этот пакет, извлекает из него слово-вызов, добавляет к нему идентификатор и вычисленный локально дайджест Z = J(parol), а затем вычисля ет с помощью все той же функции MD5 дайджест Y = d{(ID, challenge, d(parol)} от всех этих трех значений. Результат клиент посылает серверу провайдера в пакете Response. 4. Сервер провайдера сравнивает полученный по сети дайджест Y с тем значением, которое он получил, локально применив ту же хэш-функцию к набору аналогичных компонен тов, хранящихся в его памяти. 5. Если результаты совпадают, то аутентификация считается успешной и аутентификатор посылает партнеру пакет Success.Аналогичный алгоритм аутентификации применяется в семействе ОС Windows. Там многоразовые пароли пользователей также хранятся в базе данных сервера в виде дайд жестов, а по сети в открытом виде передается только слово-вызов. Кажется, что такой способ хранения паролей надежно защищает их от злоумышленника, даже если он сможет получить к ним доступ. Действительно, ведь даже теоретически нельзя восстановить ис ходное значение по дайджесту. Однако создатель первого червя Роберт Моррис решил эту проблему. Он разработал довольно простую программу, которая генерировала возможные варианты паролей, как используя слова из словаря, так и путем последовательного пере бора символов. Для каждого сгенерированного слова вычислялся дайджест и сравнивался с дайджестами из файла паролей. Удивительно, но такая стратегия оказалась весьма эф фективной, и хакеру удалось завладеть несколькими паролями. Аутентификация на основе одноразового пароляАлгоритмы аутентификации, основанные на многоразовых паролях, не очень надежны. Пароли можно подсмотреть, разгадать или просто украсть. Более надежными оказыва ются схемы с одноразовыми паролями. К тому же одноразовые пароли намного дешевле и проще биометрических систем аутентификации, таких как сканеры сетчатки глаза или отпечатков пальцев. Все это делает системы, основанные на одноразовых паролях, очень перспективными. ‘Следует иметь в виду, что, как правило, системы аутентификации на основе одноразовых паролей рассчитаны на проверку только удаленных, а не локальных пользователей. Генерация одноразовых паролей может выполняться либо программно, либо аппаратно. Аппаратные реализаций систем доступа на основе одноразовых паролей называют аппаратными ключами. Они представляют собой миниатюрные устройства со встроенным микропроцессором, похожие либо на обычные пластиковые карточки, используемые для доступа к банкоматам, либо на карманные калькуляторы, имеющие клавиатуру и маленькое дисплейное окно (рис. 24.15). Аппаратные ключи могут быть также реализованы в виде присоединяемого к разъему компьютера устройства. |
|
|