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

все лекции

.pdf
Скачиваний:
87
Добавлен:
13.03.2016
Размер:
9.73 Mб
Скачать

ЛЕКЦИЯ 9. Методика проектирования защищаемого фрагмента системы. Контроль целостности объекта, понятие хэшфункции. Метод «безопасной загрузки», достаточное условие чтения реальных данных. Процесс реализации изолированной программной среды. Этап эксплуатации изолированной программной среды, работа с техническими средствами. Домены безопасности.

(Сост. Никонов А.В.)

ЭЛЕКТРОННЫЙ ВАРИАНТ КУРСА ЛЕКЦИЙ https://yadi.sk/d/NzaPS2X_aVcC5

9.1 Методика проектирования защищаемого фрагмента компьютерной системы

Методика реализуется в четыре этапа.

ЭТАП 1. Первоначально необходимо убедиться в выполнении условий корректности или абсолютной корректности для субъектов, участвующих в порождении ИПС.

Эти субъекты могут быть локализованы на уровне программно-аппаратных компонентов ЭВМ (программы ПЗУ, загрузчики операционных сред), либо на уровне операционной среды.

Проверка условий корректности субъектов выполняется за два

шага:

1.1

доказывают

корректность

субъектов

программно-

аппаратного уровня, где понятие «модуль» обозначает реализа-

цию объекта-источника.

Совокупность субъекта, порождённого из объекта-источника, и всего

множества ассоциированных с ним объектов в течение всего времени его

существования, обычно называют ПРОЦЕССОМ (или задачей, задани-

ем).

1.2 Далее определяют состав программных средств базовой вы-

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

ЭТАП 2. Убеждаются в корректности субъектов базового набора

программных средств (наиболее трудоёмкий этап).

При этом в составе ПО системы не должно быть целого класса возможностей (инструментальных):

возможности изменения состояния одних субъектов другими

(напр., изменение содержимого ОЗУ);

возможности инициирования и прекращения выполнения процессов нестандартным образом (помимо механизмов операционной

среды).

Также, при реализации МБС и МБО на стационарной фазе функ-

ционирования системы, в любых субъектах, замкнутых в ИПС, долж-

ны отсутствовать операции порождения потоков Stream к объектам более высокого уровня.

УСЛОВИЕ 5: обобщённо, приведённые выше требования

к базовому набору ПО формулируются требованиями к субъектному наполнению ИПС, а именно:

а) ДЛЯ ПОДДЕРЖАНИЯ ИПС в течение всего време-

ни активности системы достаточно, чтобы в состав ПО, иниции-

рованного в ИПС, не входили функции порождения субъектов и прекращения их работы (КРОМЕ ЗАРАНЕЕ ПРЕДОПРЕДЕЛЕННЫХ ПРИ РЕАЛИЗАЦИИ МБС)

И,

б) НЕ СУЩЕСТВОВАЛО ВОЗМОЖНОСТИ ВЛИЯНИЯ на

среду со стороны любого выполняемого процесса,

А ТАКЖЕ

в) НЕ ИНИЦИИРОВАЛИСЬ ПОТОКИ к объектам более высокого уровня.

Например, прекращение существования МБС означает нарушение условия замкнутости среды, а прекращение существования МБО допустимость пото-

ков подмножества N, т. е. несанкционированный доступ.

ЭТАП 3. Проектируют и разрабатывают программные или аппа-

ратно-программные средства защиты в системе, а затем их тестиру-

ют. Этот шаг подразумевает проектирование и реализацию в заданном множестве

субъектов МБС и МБО.

ЭТАП 4. «Замыкают» весь комплекс ПО, включая и средства защи-

ты, в изолированную программную среду.

ТАКИМ ОБРАЗОМ, механизм замкнутой программной

среды предусматривает формирование строго фиксированного

списка программ, разрешённых системе для запуска.

При этом необходимо обеспечить выполнение следующих условий и

требований:

а) «запрещено всё, что явно не разрешено»; б) указание полных путей доступа к исполняемым файлам;

в) запрет модификации (защита от подмены) файлов;

д) формирование списка по журналам регистрации; е) наличие «мягкого режима работы»: в этом режиме опции не про-

писаны по умолчанию и относятся только к явно отмеченным выполняемым файлам.

9.2 Контроль целостности объекта Для достоверного контроля неизменности объекта (т. е. с вероятно-

стью ошибки, равной нулю) необходимо убедиться в полном тождестве

проверяемого объекта и образца.

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

одинаковой длины с проверяемым. На практике такой подход применим с

ограничениями (для объектов малого объёма типа программ ПЗУ или загрузчиков ОС).

Поэтому для контроля целостности применяют другие объекты,

содержащие информацию, ЗАВИСЯЩУЮ от содержания контролируемого объекта, но значительно меньшего объема, вычисленную при

помощи специального класса функций (типа «хэш-функций» от англ. hash

<мешанина>).

Но в этом случае процесс установления неизменности объекта ста-

новится вероятностным.

Хэш-функция [5] должна обладать свойством быть однона-

правленной: быть нетрудоёмкой при прямом вычислении, а обращение

функции должно быть вычислительно-трудоёмким (с экспоненциальным

ростом трудоёмкости).

Другое свойство задача поиска двух различных сообщений с од-

ним и тем же значением хэш-функции должна быть вычислительно

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

значению хэш-функции называется коллизией.

Третье требование к хэш-функциичисло бит в её выходном значе-

нии должно быть фиксированным и не зависеть от длины исходного

сообщения.

Результат вычисления хэш-функции часто называют «дайджест сообще-

всех блоков до текущего момента. Хэш-значение блока Мi равно

ния» (message digest) или «цифровой отпечаток пальца» (digital fingerprint).

То есть, это односторонняя функция Н, применяемая к сообщению

произвольной длины М и возвращающая значение h = H(M) фикси-

рованной длины m. При этом хэш-функция должна обладать указанными выше

тремя свойствами.

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

hi f M i ,hi 1 .

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

Примером изначальных хэш-функций м. б. функции MD4 и MD5 (MD Message Digest), разработаны Ривестом. Их алгоритм вычисления даёт 128-битовое

значение-результат.

Федеральный стандарт США использовал алгоритм вычисления функции

SHA (Secure Hash Algoritm), используемый в реализации цифровой подписи. Для

входного сообщения длиной не более 264 битов он выдаёт 160-битовый результат .

В стандарте России ГОСТ Р 34.11–94 разработана хэш-функция, выдающая

256-битовое значение. Заменяющий его стандарт ГОСТ Р 34.11-2012 имеет хэш длиной 256 бит или 512 бит.

Поэтому нельзя говорить о гарантированных свойствах про-

граммной системы, поскольку неизменность объекта гарантируется

лишь с некоторой вероятностью, не равной единице; она зависит от свойств

хэш-функций, применяемых для контроля целостности. Поэтому говорят не о

контроле неизменности объекта, а о контроле целостности объекта.

Таким образом, в процедуре контроля неизменности участвуют

ОБЪЕКТ КОНТРОЛЯ, образцовый объект (ЕГО ХЭШ-ЗНАЧЕНИЕ) и субъект, реализующий хэш-функцию и проводящий сравнение.

Качество контроля целостности (КЦ) определяется выполнением

следующих условий.

1 При наличии объекта F и алгоритма H, преобразуют объект F в некото-

рый объект М, представляемый словом того же языка, но меньшей длины. То-

гда, если искать по известному объекту М = H(F) другой объект G, не

тождественный F, но такой, что М = H(G), то это должно являться

задачей с высокой трудоёмкостью, не менее заданной ТН.

2 Объект М должен быть недоступен для изменения. Он подле-

жит защите и средство защиты должно иметь конкретное значение прочности.

3 Длина объекта М должна обеспечивать условную вероятность

нахождения ДВУХ объектов F1 и F2 (не тождественных между со-

бой, но значения хэш-функции от которых равны), не более заданной

РН. Здесь F1 и F2 – объекты из множества возможных.

Таким образом, при условии недоступности хэш-значения для изменения и доступности для изменения объекта-источника, трудоёмкость нарушения ИПС с КЦ объектов-источников (то есть возможность породить субъект из объ- екта-источника, нетождественного исходному субъекту) совпадает с ТН .

При однократной попытке инициировать субъект из случайно равновероятно выбранного объекта-источника, вероятность нарушения ИПС (успешное порождение субъекта) не превышает РН.

То есть, «качество» ИПС определяется свойствами хэш-функции

Н (значениями величин ТН и РН).

????????????????????????????????????????????????????????

9.3 Метод «безопасной загрузки» («ступенчатого контроля»)

МЕТОД «БЕЗОПАСНОЙ ЗАГРУЗКИ» (или «ступенчатого контроля») заключается в постепенном установлении неизменности

компонентов программно-аппаратной среды.

В нём:

а) сначала проверяется неизменность программ ПЗУ и при положительном исходе, через них считывается загрузочный сектор и драйверы ОС и их неизменность также проверяется.

Кроме того, проверяется целостность объекта, определяющего по-

следовательность активизации компонентов;

б) через функции чтения проверенной ОС инициируется кон-

троль порождения процессов (реализация МБС);

в) инициируется процесс доступа к объектам, который и завершает проектирование гарантированно защищённой системы.

В отличие от «доступа», «доступность» (availability) означает, что система (приложение или файл данных) должна быть готова к использованию, когда к ней предпринимаются попытки доступа. Доступность часто обозначают термином «24х7» двадцать четыре – семь»), который означает, что система должна быть доступной авторизованным пользователям 24 ч в сутки 7 дн в неделю.

Видно, что первоначально активизируются субъекты аппаратно-

программного уровня (программы ПЗУ), а затем эти субъекты по-

рождают из объектов-источников данного уровня субъекты уров-

ня операционной среды.

Субъекты уровня операционной среды, в свою очередь, де-

лятся на два подуровня:

а) нижний субъекты-первичные – это загрузчики ОС

(работают с информацией уровня секторов);

б) верхний субъекты–драйверы (порождаемые субъекта-

ми – первичными загрузчиками из объектов секторов), работающие с

объектами уровня «файл» (последовательность секторов).

На этапе перехода от субъектов-загрузчиков к субъектамдрайверам происходит переход к другой декомпозиции системы на

объекты, и эта иерархия действует в любой системе.

Например, для архитектуры IBM PC заданы этапы активизации субъектов:

а) тестирование;

б) инициализация таблицы векторов прерываний и поиска расширений BIOS (при их наличии, на их передаётся управление);

в) в память считывается первый сектор винчестера и управление пре-

даётся на него (образуется код загрузчика);

д) код загрузчика считывает драйверы ОС; е) интерпретируются файлы конфигурации;

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

9.4 Процесс реализации ИПС При реализации ИПС на неё возлагается функция контроля за-

пусков программ и контроля целостности.

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

(внедрённый в систему субъект может предъявлять системе контроля другие данные вместо реально существующих (STELS-вирусы).

УСЛОВИЕ 6 (достаточное условие чтения действительных данных):

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

фиксирована,

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

Естественно, что чтение действительных данных возможно с вероятностью, определяемой алгоритмом КЦ.

А субъект контроля неизменности объектов должен быть активен уже на этапе работы субъектов аппаратно-программного уровня,

НО его объект-источник технически не может быть проверен на

неизменность.

Для любых реализаций ИПС действует

«АКСИОМА 5»: генерация ИПС рассматривается в условиях

неизменности конфигурации тех субъектов системы, которые

активизируются до старта процедур контроля целостности объ-

ектов OZ и последовательности ZL.

Неизменность данных субъектов обеспечивается внешни-

ми по отношению к системе методами и средствами. При анализе

и синтезе защитных механизмов, свойства указанных субъектов являются априорно заданными.

ОС обычно обеспечивают свою целостность путём запрещения

доступа к выполняемому коду, а также путём выполнения этого кода в

более защищённых областях ОЗУ, отдельно от выполняемого кода

приложений. Разделение областей ОЗУ для выполняемого кода ОС и ПРИ-

ЛОЖЕНИЙ обеспечивает защиту системы от некорректных и вредоносных программ [15].

А основная защита выполняемого кода во время его ХРАНЕ-

НИЯ в системе обеспечивается установкой разрешений на право

чтения и выполнения, но БЕЗ ПРАВА ЗАПИСИ.

Например: Windows 2000 выполняет код ОС в защищённом режиме процессора, а защита файлов ОС реализована установкой разрешений файлов и папок. Также имеется дополнительной средство защиты – система Windows File Protection (WFP), которая не разрешает перезапись или удаление защищённых системных файлов.

Для реализации ИПС выделяются три направления.

1 ПЕРВОЕ НАПРАВЛЕНИЕ. Использует внешние относи-

тельно системы субъекты (обычно размещённые на внешних носителях),

целостность которых гарантируется методами хранения или перио-

дического контроля.

Предопределённость активизации субъектов, размещённых на

внешних носителях, обеспечивается свойствами субъектов аппарат-

но-программного уровня (например, можно установить такую аппаратную

конфигурацию ЭВМ, при которой будет происходить загрузка ОС с гибкого магнитного, или оптического, или usb-диска).

В этом способе (называют также «способ «невидимой дискеты») все объ-

екты, принадлежащие множеству OZ, и объекты, описывающие последо-

вательность ZL, помещаются на внешний носитель, с которого может

быть произведена загрузка.

Неизменность объектов обеспечивается физической защитой но-

сителя от записи.

2 ВТОРОЕ НАПРАВЛЕНИЕ. Локализация ИПС в рамках тер-

риториально ограниченного рабочего места (обычно ПЭВМ) с использова-

нием аппаратной поддержки для ЗАДАНИЯ

ПРЕДОПРЕДЕЛЕННОЙ ПОСЛЕДОВАТЕЛЬНОСТИ активизации

субъектов.

Сюда же входит аппаратная поддержка аутентификации пользователей.

В данном способе ОС загружается с устройства локального хране-

ния (винчестера), а ПЭВМ имеет дополнительное аппаратное

устройство (программы в ПЗУ) для изолирования среды.

Здесь ВЫДЕЛЯЮТ ДВА ЭТАПА: этап УСТАНОВКИ ИПС и

этап ВВОДА В ЭКСПЛУАТАЦЮ ИПС.

Здесь может существовать N пользователей, каждый iиз которых

характеризуется персональной информацией Кi, хранящейся на некото-

ром материальном носителе.