авторефераты диссертаций БЕСПЛАТНАЯ БИБЛИОТЕКА РОССИИ

КОНФЕРЕНЦИИ, КНИГИ, ПОСОБИЯ, НАУЧНЫЕ ИЗДАНИЯ

<< ГЛАВНАЯ
АГРОИНЖЕНЕРИЯ
АСТРОНОМИЯ
БЕЗОПАСНОСТЬ
БИОЛОГИЯ
ЗЕМЛЯ
ИНФОРМАТИКА
ИСКУССТВОВЕДЕНИЕ
ИСТОРИЯ
КУЛЬТУРОЛОГИЯ
МАШИНОСТРОЕНИЕ
МЕДИЦИНА
МЕТАЛЛУРГИЯ
МЕХАНИКА
ПЕДАГОГИКА
ПОЛИТИКА
ПРИБОРОСТРОЕНИЕ
ПРОДОВОЛЬСТВИЕ
ПСИХОЛОГИЯ
РАДИОТЕХНИКА
СЕЛЬСКОЕ ХОЗЯЙСТВО
СОЦИОЛОГИЯ
СТРОИТЕЛЬСТВО
ТЕХНИЧЕСКИЕ НАУКИ
ТРАНСПОРТ
ФАРМАЦЕВТИКА
ФИЗИКА
ФИЗИОЛОГИЯ
ФИЛОЛОГИЯ
ФИЛОСОФИЯ
ХИМИЯ
ЭКОНОМИКА
ЭЛЕКТРОТЕХНИКА
ЭНЕРГЕТИКА
ЮРИСПРУДЕНЦИЯ
ЯЗЫКОЗНАНИЕ
РАЗНОЕ
КОНТАКТЫ


Pages:     | 1 |   ...   | 26 | 27 || 29 | 30 |

«С^ППТЕР В. Олифер Н. Олифер Компьютерные сети Принципы, технологии, протоколы 4-е издание РЕКОМЕНДОВАНО ...»

-- [ Страница 28 ] --

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

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

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

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

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

В противном случае эти данные записываются поверх команды возврата из процедуры.

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

Иное дело, если это переполнение было специально инициировано злоумышленником.

Код приложения Код приложения JMP адрес кода червя JMP адрес возврата из процедуры 3anpoi У Код червя Буфер а б Рис. 24.6. Схема атаки на уязвимость ошибки переполнения буфера: а — структура адресного пространства программы до поступления злонамеренного запроса;

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

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

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

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

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

• Блок управления жизненным циклом может ограничивать работу червя определенным периодом времени.

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

Вирусы Вирус (virus) — это вредоносный программный фрагмент, который может внедряться в другие файлы.

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

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

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

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

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

Замещение с изменением Наложение с сохранением Добавление в конец размера инфицированного размера инфицированного программы файла файла Код вируса Код вируса Код вируса Кед вируса Фрагмент кода программы Добавление в начало Добавление с перестановкой Фрагментарное добавление программы частей кода программы вируса в тело программы Рис. 24.7. Различные варианты расположения кода вируса в зараженных файлах 844 Глава 24. Сетевая безопасность Шпионские программы Шпионские программы (spyware) — это такой тип вредоносных программ, которые тайно (как правило, удаленно) устанавливаются злоумышленниками на компьютеры ничего не подозреваю щих пользователей, чтобы отслеживать и фиксировать все их действия.

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

Заметим, что в качестве шпионских программ могут использоваться не только созданные специально для этих целей вредоносные программы, но и программы легального назначе ния. Так, опасным средством шпионажа могут стать легальные системы мониторинга сети1, такие, например, как популярные сетевые мониторы Wireshark или Microsoft Network Monitor. Исходное назначение этих программ состоит в том, чтобы дать администратору сети возможность следить за сетевым трафиком, в частности захватывать пакеты, ис пользуя механизм фильтрации, просматривать их содержимое, собирать статистику по загрузке устройств. В руках же злоумышленника такая программа превращается в мощный инструмент «взлома» сети, который позволяет перехватывать пакеты с паролями и другой секретной информацией. Они также позволяют путем сканирования TCP- и UDP-портов определять типы приложений, работающих в сети, что является очень важной информа цией для подготовки атаки.

ПРИМЕЧАНИЕ Практически все сетевые мониторы построены в архитектуре клиент-сервер. Клиенты, обычно называемые агентами, захватывают и, если необходимо, фильтруют трафик, а затем передают его серверной части монитора для дальнейшей обработки. Серверная часть монитора может работать как в локальной сети, так и на удаленном компьютере, однако клиентские части всегда устанавли ваются на компьютерах в тех сегментах сети, в которых протекает интересующий администратора (или злоумышленника) трафик. Необходимым условием для работы агентов монитора является установка сетевого адаптера компьютера, на котором запущен этот агент, в неразборчивый режим приема (см. раздел «МАС-адреса» в главе 12). Поэтому одним из способов, пресекающих несанк ционированный захват и анализ сетевого трафика, является отслеживание всех интерфейсов сети, работающих в неразборчивом режиме приема.

Спам Спам 2 — это атака, выполненная путем злоупотребления возможностями электронной почты.

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

Программные системы, предназначенные для анализа сетевого трафика, называют также сниффе рами (sniffers от английского sniff — нюхать).

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

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

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

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

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

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

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

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

См. далее раздел «Сетевые экраны».

846 Глава 24. Сетевая безопасность Универсальным средством противодействия атакам, имеющим целью нарушение целост ности данных, а в некоторых случаях и их доступности, является резервное копирование.

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

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

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

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

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

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

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

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

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

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

НЕМНОГО СТАТИСТИКИ По данным отчета1 о состоянии информационной безопасности на предприятиях и компаниях Велико британии в 2008 году подавляющее большинство предприятий использует средства защиты, а именно:

99 % регулярно выполняют резервное копирование своих наиболее важных данных;

98 % имеют средства обнаружения шпионских программ;

97 % фильтруют трафик электронной почты на наличие спама;

97 % используют сетевые экраны для защиты своих веб-сайтов;

95 % сканируют входящие сообщения электронной почты на предмет содержания в них вирусов;

94 % шифруют трафик своих беспроводных сетей.

Шифрование Шифрование — это средство обеспечения конфиденциальности данных, хранящихся в памяти компьютера или передаваемых по проводной или беспроводной сети.

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

Любая процедура шифрования, превращающая информацию из обычного «понятного»

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

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

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

См. отчет «О нарушениях информационной безопасности 2008» («The Information Security Breaches Survey 2008»), представленный компанией PricewaterhouseCoopers по поручению Министерства предпринимательства, промышленности и управленческих реформ Великобритании.

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

848 Глава 24. Сетевая безопасность В криптографии принято правило Керкхоффа, заключающееся в том, что стойкость шифра должна определяться только секретностью ключа. Так, все стандартные алгоритмы шифрования (например, AES, DES, PGP) широко известны1, их детальное описание содер жится в легкодоступных документах, но от этого их эффективность не снижается. Система остается защищенной, если злоумышленнику известно все об алгоритме шифрования, но он не знает секретный ключ.

Существует два класса криптосистем — симметричные и асимметричные. В симметричных схемах шифрования (классическая криптография) секретный ключ шифрования совпадает с секретным ключом дешифрирования. В асимметричных схемах шифрования (криптогра фия с открытым ключом) открытый ключ шифрования не совпадает с секретным ключом дешифрирования.

Симметричные алгоритмы шифрования На рис. 24.8 приведена классическая модель симметричной криптосистемы, теоретические основы которой впервые были изложены в 1949 году в работе Клода Шеннона. В данной модели три участника: отправитель, получатель и злоумышленник. Задача отправителя за ключается в том, чтобы по открытому каналу передать некоторое сообщение в защищенном виде. Для этого он зашифровывает открытый текст X ключом k и передает шифрованный текст Y. Задача получателя заключается в том, чтобы расшифровать У и прочитать сообще ние X. Предполагается, что отправитель имеет свой источник ключа. Сгенерированный ключ заранее по надежному каналу передается получателю. Задача злоумышленника заключает ся в перехвате и чтении передаваемых сообщений, а также в имитации ложных сообщений.

Злоумышленник Дешифрирование Получатель к.";

;

Y = F K (X) X = F K (Y).д...„,. Л S1S* j Y— X— X— зашифрованный текст исходный текст расшифрованный текст F — алгоритм шифрования/дешифрирования К — секретный ключ Рис. 24.8. Модель симметричного шифрования Следует отметить, однако, что существует немало фирменных алгоритмов, описание которых не публикуется.

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

Алгоритм DES Наиболее популярным стандартным симметричным алгоритмом шифрования данных яв ляется DES (Data Encryption Standard). Алгоритм разработан фирмой IBM и в 1976 году был рекомендован Национальным бюро стандартов к использованию в открытых секторах экономики. Суть этого алгоритма заключается в следующем (рис. 24.9).

Исходный блок 64 бита Результат шифрования Рис. 24.9. Схема шифрования по алгоритму DES Данные шифруются поблочно. Перед шифрованием любая форма представления данных пре образуется в числовую. Числа получают путем применения любой открытой процедуры пре образования блока текста в число. Например, ими могли бы быть значения двоичных чисел, полученных слиянием кодов ASCII последовательных символов соответствующего блока текста. На вход шифрующей функции поступает блок данных размером 64 бита, он делится пополам на левую (L) и правую (R) части. На первом этапе на место левой части результи рующего блока помещается правая часть исходного блока. Правая часть результирующего блока вычисляется как сумма по модулю 2 (операция XOR) левой и правой частей исходного блока. Затем на основе случайной двоичной последовательности по определенной схеме в полученном результате выполняются побитные замены и перестановки. Используемая двоичная последовательность, представляющая собой ключ данного алгоритма, имеет длину 64 бита, из которых 56 действительно случайны, а 8 предназначены для контроля ключа.

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

Но за это приходится платить производительностью — тройной алгоритм DES требует в три раза больше времени на реализацию, чем «обычный».

В 2001 году Национальное бюро стандартов США приняло новый стандарт симметричного шифрования, который получил название AES (Advanced Encryption Standard). Стандарт AES был разработан в результате проведения конкурса на разработку симметричного алгоритма 850 Глава 24. Сетевая безопасность шифрования, обладающего лучшим, чем у DES, сочетанием показателей безопасности и ско рости работы. Победителем был признан алгоритм Rijndael, который и был положен в основу AES. В результате AES обеспечивает лучшую защиту, так как использует 128-битные ключи (а также может работать со 192- и 256-битными ключами) и имеет более высокую скорость ра боты, кодируя за один цикл 128-битный блок в отличие от 64-битного блока DES. В настоящее время AES является наиболее распространенным симметричным алгоритмом шифрования.

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

Несимметричные алгоритмы шифрования В середине 70-х двое ученых — Винфилд Диффи и Мартин Хеллман — описали принци пиально другой подход к шифрованию.

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

(5)== Е — открытый ключ •Оч** г, D — закрытый (g)—г- Е — открытый секретный ключ получателя Получатель Дешифрирование Отправитель gfnb.1 «щ:

да X = D(Y) 1Г-1* ki/ij щь X — текст, X — исходный текст Y — текст, расшифрованный зашифрованный закрытым ключом D открытым ключом Е Рис. 2 4. 1 0. Модель криптосхемы с открытым ключом Шифрование В модели криптосхемы с открытым ключом также три участника: отправитель, получатель и злоумышленник (рис. 24.10). Задача отправителя заключается в том, чтобы по открытому каналу связи передать некоторое сообщение в защищенном виде. Получатель генерирует на своей стороне два ключа: открытый Е и закрытый D. Закрытый ключ D (часто называемый также личным ключом) абонент должен сохранять в защищенном месте, а открытый ключ Е он может передать всем, с кем хочет поддерживать защищенные отношения. Для шифрова ния текста служит открытый ключ, но расшифровать этот текст можно только с помощью закрытого ключа. Поэтому открытый ключ передается отправителю в незащищенном виде.

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

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

ПРИМЕР-АНАЛОГИЯ Пусть руководитель предприятия (на рис. 24.11 это пользователь 1) решает вести секретную пере писку со своими сотрудниками. Рассмотрим вариант, когда требуется обеспечить конфиденци альность потока сообщений только в одну сторону — от сотрудников к руководителю. Для этого руководитель решает использовать какой-либо малоизвестный язык, например санскрит. С этой целью он обзаводится единственной копией санскритско-русского словаря, который оставляет себе, и большим количеством широкодоступных русско-санскритских словарей, которые раздает всем своим сотрудникам.

Рис. 2 4. 1 1. Использование шифрования с открытым ключом для обеспечения конфиденциальности 852 Глава 24.

Сетевая безопасность Когда у сотрудников возникает необходимость написать секретное сообщение руководителю, они, пользуясь словарем, пишут сообщения на санскрите. Руководитель переводит сообщения на русский язык, пользуясь доступным только ему санскритско-русским словарем. Очевидно, что здесь роль открытого ключа Е и закрытого ключа D руководителя играют русско-санскритский и санскритско русский словари соответственно. Могут ли пользователи 2, 3 и 4 прочитать чужие сообщения 5г, S3, S4, которые посылает каждый из них руководителю? Вообще-то нет, так как для этого им нужен санскритско-русский словарь, обладателем которого является только пользователь 1. Так обеспечи вается конфиденциальность потока сообщений в направлении руководителя.

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

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

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

D- закрытый ключ (русско-санскритский словарь) пользователь 4 - дешифрирование — открытый ключ (санскритско-русский словарь) Рис. 24.12. Использование шифрования закрытым ключом для подтверждения авторства Шифрование Заметим, что в этом случае сообщения первого пользователя S12, S13, S14, адресованные пользова телям 2, 3 и 4, не являются секретными, так как все адресаты обладают одним и тем же открытым ключом, с помощью которого они могут расшифровывать все сообщения, поступающие от пользо вателя 1.

Для того чтобы в сети все п абонентов имели возможность не только принимать зашиф рованные сообщения, но и сами посылать таковые, каждый абонент должен обладать собственной парой ключей Е и D. Всего в сети будет 2п ключей: п открытых ключей для шифрования и п секретных ключей для дешифрирования. Таким образом решается проблема масштабируемости — квадратичная зависимость количества ключей от числа абонентов в симметричных алгоритмах заменяется линейной зависимостью в несимме тричных алгоритмах. Решается и проблема секретной доставки ключа. Злоумышленнику нет смысла стремиться завладеть открытым ключом, поскольку это не дает возможности расшифровывать текст или вычислить закрытый ключ.

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

Алгоритм RSA В настоящее время одним из наиболее популярных криптоалгоритмов с открытым ключом является криптоалгоритм RSA.

В 1978 году трое ученых (Ривест, Шамир и Адлеман) разработали систему шифрования с открытыми ключами RSA (Rivest, Shamir, Adleman), полностью отвечающую всем прин ципам Диффи—Хеллмана. Этот метод состоит в следующем.

1. Случайно выбираются два очень больших простых числа р и q.

= ( p - 1) х (7 - 1).

2. Вычисляются два произведения n=pxqwm 3. Выбирается случайное целое число Е, не имеющее общих сомножителей с т.

4. Находится D такое, что DE = 1 по модулю т.

5. Исходный текстXразбивается на блоки таким образом, чтобы О Х п.

6. Для шифрования сообщения необходимо вычислить С = XЕ П модулю п.

О 7. Для дешифрирования вычисляется Х - С° по модулю п.

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

Зная открытый ключ (, п), можно вычислить значение закрытого ключа D. Необходимым промежуточным действием в этом преобразовании является нахождение чисел p n q, для чего нужно разложить на простые множители очень большое число п, а на это требуется 854 Глава 24. Сетевая безопасность очень много времени. Именно с огромной вычислительной сложностью разложения боль шого числа на простые множители связана высокая криптостойкость алгоритма RSA. В не которых публикациях приводятся следующие оценки: для того чтобы найти разложение 200-значного числа, понадобится 4 миллиарда лет работы компьютера с быстродействием миллион операций в секунду. Однако следует учесть, что в настоящее время активно ведут ся работы по совершенствованию методов разложения больших чисел, поэтому в алгоритме RSA стараются применять числа длиной более 200 десятичных разрядов.

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

В табл. 24.1 приведены некоторые сравнительные характеристики классического крипто алгоритма DES и криптоалгоритма RSA Таблица 2 4. 1. Сравнительные характеристики алгоритмов шифрования Характеристика DES RSA Скорость шифрования Высокая Низкая Используемая функция шифрования Перестановка Возведение в степень и подстановка Длина ключа 56 бит Более 500 бит Наименее затратный криптоанализ (его слож- Перебор по всему Разложение числа ность определяет стойкость алгоритма) ключевому пространству на простые множители Время генерации ключа Миллисекунды Минуты Тип ключа Симметричный Асимметричный Односторонние функции шифрования Во многих базовых технологиях безопасности используется еще один прием шифрова ния — шифрование с помощью односторонней функции (one-way function), называемой также необратимой функцией, хэш-функцией (hash function) или дайджест-функцией (digest function).

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

Подчеркнем, знание дайджеста не позволяет и даже не предполагает восстановления ис ходных данных. Для чего же нужны односторонние функции шифрования (ОФШ)?

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

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

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

В отличие от контрольной суммы дайджест вычисляется с использованием параметра — секретного ключа. Поскольку значение секретного ключа для О Ф Ш известно только отправителю и получателю* любая модификация исходного сообщения будет немедленно обнаружена.

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

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

Построение односторонних функций является трудной задачей. Такого рода функции должны удовлетворять двум условиям:

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

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

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

Адаптированным вариантом MD4 является американский стандарт SHA, длина дайдже ста в котором составляет 20 байт. Компания IBM поддерживает односторонние функции MDC2 и MDC4, основанные на алгоритме шифрования DES.

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

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

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

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

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

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

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

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

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

ПРИМЕЧАНИЕ Многие пользователи пренебрегают угрозами, которые несут в себе легко угадываемые пароли. Так, червь Mumu, поразивший компьютерные сети в 2003 году, искал свои жертвы, подбирая пароли из очень короткого списка: password, passwd, admin, pass, 123, 1234, 12345, 123456 и пустая строка.

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

Легальность пользователя может устанавливаться по отношению к различным системам.

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

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

Многие приложения имеют собственные средства определения, является ли пользователь законным. И тогда пользователю приходится проходить дополнительные этапы проверки.

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

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

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

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

Авторизация доступа Термин авторизация (authorization) происходит от латинского слова auctoritas, показы вающее уровень престижа человека в Древнем Риме и соответствующие этому уровню привилегии.

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

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

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

• Избирательный доступ наиболее широко используется в компьютерных сетях. При этом подходе определенные операции с определенным ресурсом разрешаются или запрещаются пользователям или группам пользователей, явно указанным своими идентификаторами, например: «пользователю User_T разрешено читать и записывать в файл Filel».

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

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

• Централизованная схема, базирующаяся на сервере. В этой схеме сервер управляет процессом предоставления ресурсов сети пользователю. Главная цель таких систем — реализовать «принцип единого входа». В соответствии с централизованной схемой пользователь один раз логически входит в сеть и получает на все время работы не который набор разрешений по доступу к различным ресурсам сети. Система Kerberos с ее сервером безопасности и архитектурой клиент-сервер, а также более современная система Shibboleth, построенная в той же архитектуре, являются наиболее известными системами этого типа. Системы TACACS и RADIUS, часто применяемые совместно с системами удаленного доступа, также реализуют этот подход.

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


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

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

Поскольку никакая система безопасности не гарантирует защиту на уровне 100 %, по следним рубежом в борьбе с нарушениями оказывается система аудита. Действительно, после того как злоумышленнику удалось провести успешную атаку, пострадавшей стороне не остается ничего другогй,'как обратиться к службе аудита. Если при настройке службы аудита были правильно заданы события, которые требуется отслеживать, то подробный анализ записей в журнале может дать много полезной информации. Эта информация, возможно, позволит найти злоумышленника или, по крайней мере, предотвратить повто Детали о системе Kerberos см. в книге авторов «Сетевые операционные системы».

860 Глава 24. Сетевая безопасность рение подобных атак путем устранения уязвимых мест в системе защиты. Функции аудита встраиваются в различные средства обеспечения безопасности: сетевые экраны, системы обнаружения вторжений, антивирусные системы, сетевые мониторы.

Строгая аутентификация на основе многоразового пароля в протоколе CHAP Протокол аутентификации по квитированию вызова (Challenge Handshake Authentication Protocol, CHAP) входит в семейство протоколов РРР. В этом протоколе предусмотрено 4 типа сообщений: Success (успех), Challenge (вызов), Response (ответ), Failure (ошибка).

Этот протокол используется, например, при аутентификации удаленных пользователей, подключенных к Интернету по коммутируемому каналу. Здесь аутентификатором явля ется сервер провайдера, а аутентифицируемым — клиентский компьютер (рис. 24.14). При заключении договора клиент получает от провайдера пароль (пусть, например, это будет слово parol). Этот пароль хранится в базе данных провайдера в виде дайджеста Z = «/(parol), полученного путем применения к паролю односторонней хэш-функции MD5.

Узел- Аутентифицируемый Узел аутентификатор Разделяемый секрет — parol Сервер Компьютер провайдера клиента Paris Moscow ~1 Запрос на установление соединения, Moscow ( Т ) (?) Пакет типа Challenge: (ID, Challenge), Paris I С • Пакет типа Response Y = d{(ID, challenge, d(parol)}, Moscow(jT) Сервер вычисляет локально d{(ID, challenge, d(parol)} © и сравнивает с полученным от клиента значением Y (Т) Значения совпали, пакет типа Success I Рйс. 2 4. 1 4. Аутентификация по протоколу CHAP Аутентификация выполняется в следующей последовательности.

1. Пользователь-клиент активизирует программу (например, программу дозвона) уда ленного доступа к серверу провайдера, вводя имя и назначенный ему пароль. Имя (на рисунке это «Moscow») передается по сети провайдеру в составе запроса на соединение, Аутентификация, авторизации, аудит но пароль не передается в сеть ни в каком виде. То есть здесь мы имеем дело со строгой аутентификацией.

2. Сервер провайдера, получив запрос от клиента, генерирует псевдослучайное слово вызов (пусть это будет слово «challenge») и передает его клиенту вместе со значением, идентифицирующем сообщение в рамках данного сеанса (ID), и собственным именем (здесь «Paris»). Это сообщение типа Challenge. (Для защиты от перехвата ответа аутен тификатор должен использовать разные значения слова-вызова при каждой процедуре аутентификации.) 3. Программа клиента, получив этот пакет, извлекает из него слово-вызов, добавляет к нему идентификатор и вычисленный локально дайджест Z = «/(parol), а затем вычисля ет с помощью все той же функции MD5 дайджест У - d{( \D} challenge, «/(parol)} от всех этих трех значений. Результат клиент посылает серверу провайдера в пакете Response.

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

5. Если результаты совпадают, то аутентификация считается успешной и аутентификатор посылает партнеру пакет Success.

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

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

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

Генерация одноразовых паролей может выполняться либо программно, либо аппаратно.

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

862 Глава 24. Сетевая безопасность Рис. 2 4. 1 5. Аппаратный ключ, который используют клиенты банка Barclays для доступа к своим счетам Существуют и программные реализации средств аутентификации на основе одноразовых паролей — программные ключи. Программные ключи размещаются на сменном магнитном носителе в виде обычной программы, важной частью которой является генератор одно разовых паролей.

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

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

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

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

• значение текущего времени.

Если вычисленные значения совпадают, то аутентификация считается успешной.

Аутентификация, авторизации, аудит Итак, пусть удаленный пользователь пытается совершить логический вход в систему с пер сонального компьютера (рис. 24.16). Аутентифицирующая программа предлагает ему ввести его личный персональный номер (PIN), состоящий из четырех десятичных цифр, а также 6 цифр случайного числа, отображаемого в тот момент на дисплее аппаратного ключа. На основе PIN-кода сервер извлекает из базы данных информацию о пользователе, а именно — его секретный ключ. Затем сервер выполняет вычисления по тому же алгоритму, который заложен в аппаратном ключе, используя в качестве параметров секретный ключ и значе ние текущего времени, проверяя, совпадает ли сгенерированное число с числом, которое ввел пользователь. Если они совпадают, то пользователю разрешается логический вход.

Рис. 2 4. 1 6. Аутентификация, основанная на временнбй синхронизации Потенциальной проблемой этой схемы является временная синхронизация сервера и аппа ратного ключа (ясно, что вопрос согласования часовых поясов решается просто). Гораздо сложнее обстоит дело с постепенным рассогласованием внутренних часов сервера и аппа ратного ключа, тем более что потенциально аппаратный ключ может работать несколько лет. Компания Security Dynamics решает эту проблему двумя способами. Во-первых, при производстве аппаратного ключа измеряется отклонение частоты его таймера от номинала.


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

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

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

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

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

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

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

• открытый ключ владельца данного сертификата;

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

• наименование сертифицирующей организации, выдавшей данный сертификат;

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

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

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

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

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

Открытые ключи Сертифицирующая сертифицирующих организация Выдача организаций • • • • • сертификата У • • • • • • • • • • • • • • • СЕРТИФИКАТ Сведения о пользователе II Иванов Иван Иванович Валютный цантр-Лрофсокпнаи У Тал. 246-7В- Факс: Армадилло Электронная подпись сертифицирующей Запрос на получение организации сертификата ч Сертификат, зашифрованный закрытым ключом пользователя СЕРТИФИКАТ Иванов Иван Иванович Валютный центр-Профсоюзная Тел. 246-76- • Факс: Армадилло IIIII Запрос на аутентификацию 1 Открытый и закрытый ключи пользователя т • УУ Открытый и закрытый ключи сертифицирующей организации Рис. 2 4. 1 7. Аутентификация пользователей на основе сертификатов 866 Глава 24. Сетевая безопасность Подчеркнем тесную связь открытых ключей с сертификатами. Сертификат является удостоверением не только личности, но и принадлежности открытого ключа. Цифровой сертификат устанавливает и гарантирует соответствие между открытым ключом и его вла дельцем. Это предотвращает угрозу подмены открытого ключа. Если некоторый абонент А получает по сети сертификат от абонента Б, то он может быть уверен, что открытый ключ, содержащийся в сертификате, гарантированно принадлежит абоненту Б, адрес и другие све дения о котором содержатся в этом сертификате. Это значит, что абонент А может без опа сений использовать открытый ключ абонента Б для секретных посланий в адрес последнего.

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

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

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

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

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

Аутентификация, авторизации, аудит • Сертификаты класса 1 предоставляют пользователю самый низкий уровень полно мочий. Они могут применяться при отправке и получении шифрованной электронной почты через Интернет. Чтобы получить сертификат этого класса, пользователь должен сообщить серверу Verisign свой адрес электронной почты или свое уникальное имя.

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

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

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

• Сертификаты класса 4 используются при выполнении крупных финансовых операций.

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

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

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

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

Это, прежде всего, поддержание базы данных о выпущенных сертификатах. Сертификат выдается не навсегда, а на некоторый вполне определенный срок. По истечении срока 868 Глава 24. Сетевая безопасность годности сертификат должен либо обновляться, либо аннулироваться. Кроме того, необ ходимо предусмотреть возможность досрочного прекращения полномочий сертификата.

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

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

Для решения этих и многих других проблем, возникающих в системах, использующих технологии шифрования с открытыми ключами, оказывается необходимым комплекс про граммных средств и методик, называемый инфраструктурой с открытыми ключами (Public Key Infrastructure, PKI). Информационные системы больших предприятий нуждаются в специальных средствах администрирования и управления цифровыми сертификатами, парами открытых/закрытых ключей, а также приложениями, функционирующими в среде с открытыми ключами, В настоящее время любой пользователь имеет возможность, загрузив широко доступное программное обеспечение, абсолютно бесконтрольно сгенерировать себе пару открытый/ закрытый ключ. Затем он может также совершенно независимо от администрации вести шифрованную переписку со своими внешними абонентами. Такая «свобода» пользователя часто не соответствует принятой на предприятии политике безопасности. Для более на дежной защиты корпоративной информации желательно реализовать централизованную службу генерации и распределения ключей. Для администрации предприятия важно иметь возможность получить копии закрытых ключей каждого пользователя сети, чтобы в случае увольнения пользователя или потери пользователем его закрытого ключа сохранить доступ к зашифрованным данным этого пользователя. В противном случае резко ухудшается одна из трех характеристик безопасной системы — доступность данных.

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

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

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

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

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

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

• аутентификация хранящихся массивов данных и программ — установление факта того, что данные не подвергались модификации;

• аутентификация сообщений — установление подлинности полученного сообщения, в том числе решение вопроса об авторстве этого сообщения и установление факта приема.

Цифровая подпись Для решения задачи аутентификации информации используется концепция цифровой, или электронной, подписи. Согласно терминологии, утвержденной Международной организацией по стандартизации (ISO), под термином «цифровая подпись» понимаются методы, позволяющие устанавливать подлинность автора сообщения (документа) при возникновении спора относительно авторства. Основная область применения цифровой подписи — это финансовые документы, сопровождающие электронные сделки, документы, фиксирующие международные договоренности и т. п.

До настоящего времени чаще всего для построения схемы цифровой подписи использо вался алгоритм RSA. Как уже отмечалось (см. раздел «Алгоритм RSA»), в основе этого алгоритма лежит концепция Диффи—Хеллмана. Она заключается в том, что каждый пользователь сети имеет свой закрытый ключ, необходимый для формирования подписи, а соответствующий этому секретному ключу открытый ключ, предназначенный для про верки подписи, известср-всем другим пользователям сети.

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

Цифровая подпись S вычисляется с использованием закрытого ключа (D, п) по формуле:

S = T ° mod п.

870 Глава 24. Сетевая безопасность Рис. 2 4. 1 8. Схема формирования цифровой подписи по алгоритму RSA Сообщение посылается в виде пары (Г, S). Каждый пользователь, имеющий соответствую щий открытый ключ (Е, п), получив сообщение, отделяет открытую часть Т, расшифровы вает цифровую подпись S и проверяет равенство: Т= SE mod п.



Pages:     | 1 |   ...   | 26 | 27 || 29 | 30 |
 





 
© 2013 www.libed.ru - «Бесплатная библиотека научно-практических конференций»

Материалы этого сайта размещены для ознакомления, все права принадлежат их авторам.
Если Вы не согласны с тем, что Ваш материал размещён на этом сайте, пожалуйста, напишите нам, мы в течении 1-2 рабочих дней удалим его.