Вы находитесь на странице: 1из 27

Программно-технические меры

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

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


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

Задача управления – обеспечение нормальной работы всех компонентов и


средств безопасности.
3
Рассмотрим подробно основные сервисы безопасности.

Идентификация и аутентификация – это основа программно-технических


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

4
Существуют некоторые особенности, которые нужно учесть:
1. в открытой сетевой среде между сторонами
идентификации/аутентификации не существует доверенного маршрута.
Данные, переданные субъектом, могут быть искажены злоумышленником.
Нужно обеспечить защиту от активного и пассивного прослушивания сети,
т.е. от перехвата, изменения или воспроизведения данных. Передача
паролей в открытом виде недопустима;
2. надёжная идентификация и аутентификация затруднена не только
из-за сетевых угроз. Также имеется противоречие между надёжностью
аутентификации и удобствами пользователя и системного администратора.
Кроме того, стоимость средства защиты пропорциональна его надёжности;
3. современные средства идентификации/аутентификации должны
поддерживать концепцию единого входа в сеть. Это требование для
удобства пользователя. Если в корпоративной сети много информационных
сервисов, допускающих независимое обращение, то многократная
идентификация/аутентификация становится обременительной.
5
Парольная аутентификация.

Достоинство – простота и привычность. Недостаток – это самое слабое


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

Рассмотренные выше пароли можно назвать многоразовыми. Их раскрытие


позволяет злоумышленнику действовать от имени легального пользователя.
6
Теперь рассмотрим одноразовые пароли.
Наиболее известным программным генератором одноразовых паролей
является система S/KEY компании Bellcore. Рассмотрим идею системы:
пусть имеется односторонняя функция f (невозможно за приемлемое
время вычислить обратную к ней функцию). Функция известна
пользователю и серверу аутентификации. Имеется секретный ключ К,
который известен только пользователю. На этапе начального
администрирования пользователя функция применяется к ключу n раз,
после чего результат сохраняется на сервере. После этого процедура
проверки подлинности пользователя выглядит так:
- сервер присылает на пользовательскую систему число (n – 1),
- пользователь применяет функцию к секретному ключу К (n – 1) раз и
отправляет результат по сети на сервер аутентификации,
- сервер применяет функцию f к полученному от пользователя значению
и сравнивает результат с раннее сохранённой величиной. В случае
совпадения подлинность пользователя считается установленной, сервер
запоминает новое значение и уменьшает на единицу счётчик n. 7
Другой подход к надёжной аутентификации состоит в генерации нового
пароля через небольшой промежуток времени. Для этого могут
использоваться программы или специальные интеллектуальные карты (с
практической точки зрения такие пароли можно считать одноразовыми).
Серверу аутентификации должен быть известен алгоритм генерации
паролей и ассоциированные с ним параметры. Кроме того, часы клиента
и сервера должны быть синхронизированы.

8
Сервер аутентификации Kerberos.

Программный продукт Kerberos разработан в середине 1980-х годов в


Массачусетском технологическом институте, он претерпел много
изменений. Его клиентские компоненты присутствуют в большинстве
современных операционных систем.
Kerberos предназначен для решения следующей задачи:
имеется открытая сеть, в узлах которой сосредоточены
пользовательские, серверные и клиентские программные системы.
Каждый пользователь С обладает секретным ключом. Чтобы С мог
доказать свою подлинность серверу S, он должен назвать себя и
продемонстрировать знание секретного ключа. Пользователь С не может
просто послать серверу свой ключ, требуется менее прямолинейный
способ демонстрации знания.
Система Kerberos – третья сторона, которой доверяют все. Она знает
секретные ключи обслуживаемых субъектов и помогает им в попарной
проверке подлинности. 9
(продолжение)
Чтобы с помощью Kerberos получить доступ к серверу S, пользователь С
посылает Kerberos запрос, содержащий сведения о клиенте и о
запрашиваемой услуге. В ответ Kerberos возвращает так называемый
билет, зашифрованный секретным ключом сервера, и копию части
информации из билета, зашифрованную секретным ключом клиента.
Клиент должен расшифровать вторую порцию данных и переслать её
вместе с билетом серверу. Сервер, расшифровав билет, сравнивает его
содержимое с дополнительной информацией, присланной клиентом.
Совпадение свидетельствует о том, что клиент продемонстрировал
знание секретного ключа.
Секретные ключи использовались только для шифрования и никому не
передавались по сети.

10
(продолжение)
Проиллюстрируем описанную процедуру:

11
Идентификация/аутентификация с помощью биометрических
данных.

Это идентификация/аутентификация людей на основе их физиологических


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

Не стоит забывать, что биометрическая аутентификация подвержена тем


угрозам, которым подвержены другие методы аутентификации. Шаблон
сравнивается не с результатом первоначальной обработки характеристик
пользователя, а с тем, что пришло к месту сравнения. Биометрические
данные человека меняются, поэтому базе шаблонов требуется
сопровождение.
Любая “пробоина” для биометрии оказывается фатальной. Если
биометрические данные окажутся скомпрометированы, то придётся
производить существенную модернизацию всей системы.
13
Теперь поговорим о логическом управлении доступом, которое
реализуется программными средствами.

Логическое управление доступом – это основной механизм


многопользовательских систем, призванный обеспечить
конфиденциальность, целостность объектов и доступность (до некоторой
степени) путём запрещения обслуживания неавторизованных
пользователей. Задача логического управления доступом в том, чтобы для
каждой пары “субъект-объект” определить множество допустимых операций
и контролировать выполнение установленного порядка. К объектам
относятся файлы, устройства и процессы. Отношение
“субъект-объект” можно представить в виде матрицы доступа, в строках
которой перечислены субъекты, в столбцах – объекты, а в клетках,
расположенных на пересечении строк и столбцов, записаны
дополнительные условия и разрешённые виды доступа. Применительно к
файлам и устройствам рассматриваются права на чтение, запись,
выполнение, иногда на удаление и добавление. Права пользователей
14
задаются системным администратором.
(продолжение)
Контроль прав доступа производится разными компонентами программной
среды – ядром операционной системы, сервисами безопасности, системой
управления БД и т.д.
При принятии решения о предоставлении доступа анализируются
идентификатор и атрибуты (метка безопасности, группа пользователя и др.)
пользователя.

Матрицу доступа хранят по столбцам, т.е. для каждого объекта


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

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

Протоколирование – сбор и накопление информации о событиях, происходящих


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

Реализация протоколирования и аудита решает следующие задачи:


- обеспечение подотчётности пользователей и администраторов,
- обеспечение возможности реконструкции последовательности событий,
- обнаружение попыток нарушений ИБ,
- предоставление информации для выявления и анализа проблем. 16
Обеспечение подотчётности – сдерживающее средство. Если есть
основания подозревать кого-либо в нечестности, можно регистрировать
все его действия. Обеспечивается возможность расследования случаев
нарушения режима безопасности и откат от некорректных изменений.
Таким образом защищается целостность информации.
Реконструкция последовательности событий позволяет выявить слабости
в защите сервисов, найти виновника вторжения, оценить масштабы
причинённого ущерба и вернуться к нормальной работе.
Обнаружение попыток нарушений ИБ – функция активного аудита.
Выявление и анализ проблем могут помочь улучшить доступность – один
из параметров безопасности.

Непросто организовать протоколирование и аудит в распределённой


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

Применительно к операционным системам в “Оранжевой книге”


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

Подозрительная активность – злоумышленное или нетипичное поведение


пользователя или компонента информационной системы.
Нетипичное поведение выявляется статическими методами.
Задача активного аудита – оперативное выявление подозрительной активности
и предоставление средств для автоматического реагирования на неё. Не
соответствующую политике безопасности активность целесообразно разделить
на атаки, направленные на незаконное получение полномочий, и на действия,
нарушающие политику безопасности.
Злоупотребление полномочиями – действия, выполняемые в рамках
имеющихся полномочий, но нарушающие политику безопасности. Они
возможны из-за неправильного разграничения доступа, не соответствующего
выбранной политике безопасности.
Ошибки средств активного аудита: пропуск атаки (1 рода) и ложная тревога (2
рода).
Отметим, что активный аудит способен обеспечить защиту от атак на
19
доступность.
(продолжение)
Для описания и выявления атак можно применять сигнатуры и их
обнаружение во входном потоке событий с помощью аппарата экспертных
систем.
Сигнатура атаки – совокупность условий, при выполнении которых атака
считается имеющей место; это вызывает заранее определённую реакцию.
Достоинства сигнатурного метода: высокая производительность, малое
число ошибок 2 рода, обоснованность решений.
Недостаток – неумение обнаруживать неизвестные атаки и вариации
известных атак.

20
Шифрование.
Шифрование – мощное средство обеспечения конфиденциальности. Для его
реализации необходима криптография. Шифрование занимает центральное
место среди программно-технических регуляторов. Оно часто является основой
реализации других сервисов безопасности. Различают 2 метода шифрования:
симметричный и ассиметричный. В симметричном методе одним ключом,
хранящимся в секрете, зашифровывают и расшифровывают данные. DES и AES –
эффективные методы такого шифрования. Рассмотрим использование такого
метода:

21
(продолжение)
В ассиметричных методах используют 2 ключа: несекретный (может публиковаться,
нужен для шифрования) и секретный (для расшифрования). RSA – популярный метод
ассиметричного шифрования. Минус таких методов – их низкое быстродействие,
поэтому их сочетают с симметричными. Рассмотрим использование такого метода:

22
Контроль целостности.

Криптографические методы позволяют надёжно контролировать


целостность как порций отдельных данных, так и их наборов, определять
подлинность источника данных, гарантировать невозможность
отказаться от совершённых действий. В основе криптографического
контроля целостности лежат хеш-функция (это почти необратимое
преобразование данных, реализуемое средствами симметричного
шифрования со связыванием блоков) и электронная цифровая подпись
(ЭЦП). Дайджест (цифровой отпечаток) – вычисленный результат
применения хеш-функции к исходным данным. Совпадение дайджестов
для различных данных называется коллизией. ЭЦП защищает
целостность сообщения и удостоверяет личность отправителя. Для
контроля целостности последовательности сообщений применяют
временные метки и нумерацию элементов последовательности. Метки и
номера включаются в подписываемый текст.
23
(продолжение)
Пусть даны хеш-функция h, исходные данные Т, проверяемые данные Т’,
результат зашифровки текста Т с помощью открытого ключа Е(Т), результат
расшифровки текста Т с помощью секретного ключа D(T).
Рассмотрим процессы выработки ЭЦП (слева) и проверки ЭЦП (справа):

24
Цифровые сертификаты.

При использовании ассиметричных методов шифрования (в частности, ЭЦП)


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

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


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

27