Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Построение систем защиты от угрозы нарушения конфиденциальности информации

Поиск

Теоретическое введение

Выбор паролей

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

 

Таблица 1

 

Требование к выбору пароля Получаемый эффект
Установление мини­мальной длины пароля Усложняет задачу злоумышленника при попытке под­смотреть пароль или подобрать пароль методом "тотального опробования"
Использование в па­роле различных групп символов Усложняет задачу злоумышленника при попытке по­добрать пароль методом "тотального опробования"
Проверка и отбраковка пароля по словарю Усложняет задачу злоумышленника при попытке по­добрать пароль по словарю
Установление макси­мального срока дейст­вия пароля Усложняет задачу злоумышленника по подбору паро­лей методом тотального опробования, в том числе без непосредственного обращения к системе защиты (режим off-line)
Установление мини­мального срока деист-вия пароля Препятствует попыткам пользователя заменить па­роль на старый после его смены по предыдущему требованию
Ведение журнала ис­тории паролей Обеспечивает дополнительную степень защиты по предыдущему требованию
Применение эвристи­ческого алгоритма, бра­кующего пароли на ос­новании данных жур­нала истории Усложняет задачу злоумышленника при попытке по­добрать пароль по словарю или с использованием эвристического алгоритма
Ограничение числа по­пыток ввода пароля Препятствует интерактивному подбору паролей зло­умышленником,
Поддержка режима принудительной смены пароля пользователя Обеспечивает эффективность требования, ограничи­вающего максимальный срок действия пароля
Использование заде­ржки при вводе непра­вильного пароля Препятствует интерактивному подбору паролей зло­умышленником
Запрет на выбор паро­ля самим пользовате­лем и автоматическая генерация паролей Исключает возможность подобрать пароль по слова­рю. Если алгоритм генерации паролей не известен злоумышленнику, последний может подбирать пароли только методом "тотального опробования"
Принудительная смена пароля при первой ре­гистрации пользовате­ля в системе Защищает от неправомерных действий системного администратора, имеющего доступ к паролю в момент создания учетной записи

 

Параметры для количественной оценки стойкости парольных систем приведены в табл.2.

Таблица 2

 

Параметр Способ определения
Мощность алфавита паролей А Могут варьироваться для обеспечения задан­ного значения S(S=AL)
Длина пароля L
Мощность пространства паро­лей S Вычисляется на основе заданных значений Р, Т и ли V
Скорость подбора паролей V: • Для интерактивного режи­ма определяется как ско­рость обработки одной по­пытки регистрации прове­ряющей стороной; • Для режима off-line (на основе свертки пароля) определяется кап скорость вычисления значения све­ртки для одного пробного пароля • Может быть искусственно увеличена для защиты от данной угрозы. • Задается используемым алгоритмом вы­числения свертки. Алгоритм, имеющий медленные реализации, повышает стой­кость по отношению к данной угрозе
Срои действия пароля (задает промежуток времени, по исте­чении которого пароль должен быть обязательно сменен) Т Определяется исходя из заданной вероятно­сти Р, или полагается заданным для дальней­шего определения S
Вероятность подбора пароля в течение его срока действия (подбор продолжается непре­рывно в течение всего срока действия пароля) Р Выбирается заранее для дальнейшего опре­деления S или Г

 

В качестве иллюстрации рассмотрим задачу определения минимальной мощ­ности пространства паролей (зависящей от параметров А и L) в соответствии с заданной вероятностью подбора пароля в течение его срока действия.

Задано P=10-6. Необходимо найти минимальную длину пароля, которая обеспечит его стойкость в течение одной недели непрерывных попыток подобрать пароль. Пусть скорость интерактивного подбора паролей V=10 паролей/мин. Тогда в течение недели можно перебрать

10.60.24.7 = 100800 паролей.

Далее, учитывая, что параметры S, V. Т и Р связаны соотношением Р

P=V .T/S, получаем

S=100.800/10-6=1,008-1011≈1011.

Полученному значению S соответствуют пары: A=26, L=8 и A=36, L=6

 

Хранение паролей

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

• в открытом виде;

• в виде свёрток (хеширование);

• зашифрованными на некотором ключе.

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

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

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

• ключ генерируется программно и хранится в системе, обеспечивая возможность ее автоматической перезагрузки;

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

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

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

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

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

Проиллюстрируем приведенные рассуждения на конкретном примере. Для шифрования паролей в системах UNIX до середины 1970-х годов использовался алгоритм, эмулирующий шифратор M-209 американской армии времён второй мировой войны. Это был надёжный алгоритм, но он

имел очень быструю для тех лет реализацию. На компьютере PDP-11/70 можно было зашифровать 800 паролей в секунду, и словарь из 250000 слов мог быть проверен менее чем за 5 минут.

С конца 70-х для этих целей стал применяться алгоритм шифрова­ния DES. Пароль использовался для генерации ключа, на котором шиф­ровалась некоторая постоянная для всех паролей величина (как правило, строка, состоящая из одних нулей). Для предотвращения одинаковых свёрток от одинаковых паролей в качестве дополнительного параметра на вход алгоритма вычисления свертки подавалось значение, вырабатывае­мое генератором псевдослучайных чисел. Реализации алгоритма DES работали значительно медленнее. На компьютере mVAX-II (более быст­ром, чем PDP-11/70) можно было сделать в среднем 3,6 операций шиф­рования в секунду. Проверка словаря из 250000 слов длилась бы 19 часов, а проверка паролей для 50 пользователей - 40 дней. В послед­нее время в некоторых UNIX-системах используется алгоритм MD5, ещё более медленный по сравнению с DES.

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

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

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

Напомним основные виды защиты сетевого трафика:

• физическая защита сети;

• оконечное шифрование;

• шифрование пакетов.

Распространены следующие способы передачи по сети паролей:

• в открытом виде;

• зашифрованными;

• в виде свёрток;

• без непосредственной передачи информации о пароле ("доказатель­ство с ну-левым разглашением").

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

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

• перехват и повторное использование информации;

• перехват и восстановление паролей;

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

• имитация злоумышленником действий проверяющей стороны для вве­дения в заблуждение пользователя.

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

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

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

A

Рис. 1. Пример системы аутентификации с нулевым разглашением (пещера Али-Бабы).

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

1. Проверяющий становится в точку А.

2. Доказывающий проходит в пещеру и добирается до двери (оказы­вается в точке С или D). Проверяющий не видит, в какой из двух коридо­ров тот свернул.

3. Проверяющий приходит в точку В и' в соответствии со своим выбо­ром просит доказывающего выйти из определенного коридора.

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

Итерация.повторяется столько раз, сколько требуется для распозна­вания истинности утверждения "доказывающий владеет ключом от двери" с заданной вероятностью. После i-й итерации вероятность того, что про­веряющий попросит доказывающего выйти из того же коридора, в кото­рый вошел доказывающий, равна (1/2)i.

Еще одним способом повышения стойкости парольных систем, свя­занной с передачей паролей по сети, является применение одноразовых (one-time) паролей. Общий подход к применению одноразовых паролей основан на последовательном использовании хеш-функции для вычисле­ния очередного одноразового пароля на основе предыдущего. В начале пользователь получает упорядоченный список одноразовых паролей, по­следний из которых также сохраняется в системе аутентификации. При каждой регистрации пользователь вводит очередной пароль, а система вычисляет его свертку и сравнивает с хранимым у себя эталоном. В слу­чае совпадения пользователь успешно проходит аутентификацию, а вве­денный им пароль сохраняется для использования в качестве эталона при следующей регистрации. Защита от сетевого перехвата в такой схеме основана на свойстве необратимости хеш-функции. Наиболее известные практические реализации схем с одноразовыми паролями - это про­граммный пакет S/KEY и разработанная на его основе система OPIE.

 

Требования к СКЗИ.

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

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

 

За единицу информации принимаются общий объем информации, обработанной на одном СКЗИ в течение единицы времени (как правило, суток). Атака злоумышленника на конфиденциальность информации (де­шифрование) успешна, если объем полученной открытой информации больше V.

Применение алгоритма считается неэффективным, если выполнено одно из условий:

π<π0 или Q≥Q0.

Значение параметров π, Q, V, М и пороговые значения π0 и Q0 опре­деляются для каждого СКЗИ отдельно.

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

Эта криптографически опасная информация (КОИ) потенциально по­зволяет уменьшить фиксированные для конкретного СКЗИ параметры трудоемкости Q0 при использовании некоторого алгоритма дешифрования.

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

Правильность функционирования технических средств АС, в рамках которых реализовано СКЗИ, определяется как соответствие выполнения элементарных инструкций (команд) описанному в документации. Ремонт и сервисное обслуживание СКЗИ также не должно приводить к ухудшению свойств СКЗИ в части параметров надежности.

Требования по защите от НСД для СКЗИ, реализованных в составе АС. В АС, для которых реализуются программные или программно-аппаратные СКЗИ, при хранении и обработке информации должны быть предусмотрены следующие основные механизмы защиты от НСД:

• идентификация и аутентификации пользователей и субъектов доступа (программ, процессов);

• управление доступом;

• обеспечение целостности;

• регистрация и учет.

Подсистема идентификации и аутентификации предназначена для выделения и распознания пользователей, допущенных к работе с СКЗИ на основе их индивидуальных аутентифицирующих признаков (паролей, аппаратных носителей и т.д.). При осуществлении доступа пользователей к АС или компонентам СКЗИ вероятность Р ложной аутентификации на одну попытку доступа должна быть не более вероятности Р0. В системе должно быть установлено ограничение на число следующих подряд неудачных попыток, достижение которого квалифицируется как факт НСД. Ложная аутентификация понимается как событие "принять незарегистри­рованного в системе пользователя за одного из легальных пользовате­лей" при случайном равновероятном выборе без возвращения аутентифицирующего признака пользователя из множества возможных.

Подсистема управления доступом осуществляет контроль потоков информации между субъектами и объектами доступа и обеспечивает про­верку выполнения правил доступа пользователей к компонентам СКЗИ.

Подсистема обеспечения целостности осуществляет контроль неиз­менности программных механизмов защиты от НСД (в том числе, алго­ритма функционирования программного компонента СКЗИ) в соответствии с правилами управления доступом. При этом:

• вероятность Р, с которой допускается при однократной попытке изме­нение закона функционирования СКЗИ или системы защиты от НСД, не должна превышать вероятности Ро;

• вероятность Р, с которой допускается при однократной попытке не­санкционированное чтение или изменение хранимой конфиденциаль­ной информации или КОИ, не должна превышать вероятности Ро.

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

В системе защиты от НСД должен быть предусмотрен администра­тор (служба) защиты информации, ответственный за дополнение и исклю­чение пользователей в системе с СКЗИ, установление правил доступа, нормальное функционирование и контроль работы механизмов защиты от НСД.

Требования к средам разработки, изготовления и функционирова­ния СКЗИ. Аппаратные средства, на которых реализуются программные или программно-аппаратные СКЗИ, и программно-аппаратная среда (про­граммно-аппаратное окружение), в которой разрабатываются, изготавли­ваются и эксплуатируются СКЗИ, не должны иметь явных и скрытых функциональных возможностей, позволяющих:

• модифицировать или изменять алгоритм работы СКЗИ в процессе их раз-работки, изготовления и эксплуатации;

• модифицировать или изменять информационные или управляющие потоки и процессы, связанные с функционированием СКЗИ;

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

• получать доступ к конфиденциальной информации СКЗИ.

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

 

Таблица 3

 

Свойства СКЗИ . Первый подход Второй подход
Сопряжение с приклад­ной подсистемой На этапе эксплуатации На этапе проектирования и разработки
Зависимость от приклад­ной системы Низкая Высокая
Локализация защищаемо­го объекта Внешняя (относительно защитного модуля и прикладной программы) Внутренняя (защита внут­реннего объекта приклад­ной программы)
Операционная зависимость Полная Низкая

 

 

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

1. Локальная реализация в виде выделенной прикладной программы.

1.1. Локальная реализация в базовой АС.

1.2. Локальная реализация в "гостевой" АС.

1.3. Локальная реализация по принципу "копирование в защищенный объект хранения".

2. Распределенная реализация по технологии "создание и запись в за-щищенной области".

Подходы 1.3 и 2, как правило, называют реализацией в виде локаль­ного или распределенного прикладного криптосервера. Сущность их реа­лизации была рассмотрена выше.

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

• по технологии "открытый интерфейс";

• по технологии "криптографический сервер";

• на основе интерпретируемого языка прикладного средства.

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

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

 

Разделяемая технология применения функций логической защиты -это такой порядок использования СКЗИ в защищенной АС, при котором:

• не требуются изменения в программном обеспечении при изменении криптографических алгоритмов;

• система защиты однозначно разделяема на две части: прикладная компонента и модуль реализации криптографических функций (МРКФ),

Открытым интерфейсом (ОИ) МКРФ назовем детальное специфи­цирование функций, реализованных в МРКФ. Относительно некоторого множества субъектов, использующих МРКФ, можно говорить о полноте функций МРКФ. Удобнее оперировать с формально описанными функ­циями ОИ, следовательно, далее будем говорить о полноте функций ОИ. Полнота функций ОИ может быть функциональной и параметрической.

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

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

Взаимодействие субъектов прикладного уровня с МРКФ есть взаи­модействие типа "субъект-субъект". Следовательно, основной источник угроз системе состоит в некорректном взаимодействии субъекта с МРКФ.

Корректное использование МРКФ - такой порядок взаимодействия, МРКФ с некоторым субъектом (далее будем называть его "вызывающим субъектом" или "использующим субъектом"), при котором выполняются следующие условия:

1) МРКФ и использующий его субъект корректны относительно друг Друга;

2) результат выполнения функций МРКФ соответствует их описанию вОИ;

3) поток информации от ассоциированных объектов вызывающего субъекта направлен только к ассоциированным объектам МРКФ и функ­ция изменения ассоциированных объектов МРКФ, отвечающих передаче параметров, есть тождественное отображение соответствующих объектов (условие передачи параметров без изменения);

4) вышеуказанные свойства выполнены в любой момент времени существования МРКФ и вызывающего субъекта.

Предположим, что МРКФ протестирован и выполнение всех его функций соответствует описанию их в ОИ.

Утверждение 2. Условие 2 корректного использования МРКФ экви­валентно неизменности всех ассоциированных с ним объектов, не при­надлежащих вызываемому субъекту.

Доказательство. Поскольку множество ассоциированных объектов, не принадлежащих вызываемому субъекту, описывает функции преобра­зования информации, реализуемые в МРКФ, то их неизменность предпо­лагает и неизменность выполнения описанных в СИ функций.

Утверждение 3. Для выполнения условий корректного использова­ния достаточно:

• отсутствие потока от любого субъекта, отличного от вызывающего к ассоциированным объектам, принадлежащим как вызывающему субъ­екту, так и МРКФ. т.е. корректности всех существующих субъектов от­носительно как МРКФ, так и вызывающего субъекта;

• отсутствии потоков от вызывающего субъекта к другим субъектам.

Доказательство. Верность утверждения непосредственно следует из определения корректности субъектов относительно друг друга.

Утверждение 4. Достаточным условием корректности использования МРКФ является работа АС в условиях изолированной программной среды.

В настоящее время подход встраивания СКЗИ по технологии "открытого интерфейса" применен в операционных средах MS Windows NT 4.0 в виде так называемого криптопровайдера (CryptoAPI 1.0 и 2.0).

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

Практически идеальным языком программирования криптографиче­ских функций в субъекте прикладного уровня является язык JAVA. Данный язык имеет развитые встроенные средства работы с объектами приклад­ного уровня, но при этом широкие возможности для реализации крипто­графических преобразований (элементарные логические и арифметиче­ские операции с числами, работа с матрицами и т.д.). Однако необходимо обратить внимание на проблему реализации программного датчика слу­чайных чисел, безусловно необходимого ряду СКЗИ (в частности, цифро­вой подписи).

Целостность данных в АС

Понятие целостности данных в научной литературе определяется несколькими способами, описанию и сравнению которых посвящены от­дельные научные статьи. Одна из наиболее распространенных трактовок, используемая далее в пособии, под целостностью данных подразумевает отсутствие ненадлежащих изменений. Смысл понятия "ненадлежащее изменение" раскрывается Д.Кларком и Д.Вилсоном в [25]: ни одному поль­зователю АС, в том числе и авторизованному, не должны быть разре­шены такие изменения данных, которые повлекут за собой их разруше­ние или потерю.

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

• корректность транзакций;

• аутентификация пользователей;

• минимизация привилегий;

• разграничение функциональных обязанностей;

• аудит произошедших событий;

• объективный контроль;

• управление передачей привилегий;

• обеспечение непрерывной работоспособности;

• простота использования защитных механизмов.

Понятие корректности транзакций определяется в [25] следующим образом. Пользователь не должен модифицировать данные произвольно, а только определенными способами, так, чтобы сохранялась целостность данных. Другими словами, данные можно изменять только путем коррект­ных транзакций и нельзя - произвольными средствами. Кроме того, пред­полагается, что "корректность" (в обычном смысле) каждой из таких тран­закций может быть некоторым способом доказана. Принцип корректных транзакций по своей сути отражает основную идею определения целост­ности данных сформулированную выше.

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

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

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

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

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

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

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

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

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

• неправильно выбранные производителем конфигурационные пара­метры по умолчанию обеспечивают слабую защиту;

• плохо разработанные интерфейсы управления защитой усложняют использ



Поделиться:


Последнее изменение этой страницы: 2017-01-27; просмотров: 581; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.226.104.30 (0.022 с.)