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

Методы и средства защиты информации

.pdf
Скачиваний:
198
Добавлен:
03.03.2016
Размер:
5.1 Mб
Скачать

Программывнутреннейзащиты 341

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

Реализация методов опознавания по перечисленным характеристикам сопряжена с решением двух групп проблем: проблемы снятия индивидуальных характеристик человека в процессе опознавания и проблемы анализа и обработки полученных характеристик.

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

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

Опознавание по отпечаткам пальцев и по сетчатке глаза, наиболее тра-

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

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

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

342 Глава 17. Программные методы защиты

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

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

Методы опознавания АС и ее элементов пользователем

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

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

Наиболее эффективным методом решения рассматриваемой задачи в настоящее время считается реализация так называемой “ схемы рукопожатия”. При ее реализации заранее выбирается не очень сложное, но далеко не тривиальное преобразование А(х, кt), где х — аргумент, а кt — ключ, зависящий от текущего времени. Это преобразование должно содержаться в секрете, но быть известным пользователю, и системе. Пользователь вместе с запросом на работу посылает выбранное им значение аргумента х ( например, свое имя). Система вычисляет Ас (х, кt) и посылает это значение пользователю. Пользователь вычисляет Ап (х, кt). Если Ас = Ап, опознавание считается положительным (“рукопожатие состоялось”).

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

Проблемы регулирования использования ресурсов

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

Программывнутреннейзащиты 343

Регулирование по общему праву на доступ заключается в том, что для каж-

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

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

Регулирование доступа к базам (массивам) данных получило широкое рас-

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

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

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

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

К настоящему времени разработано несколько способов разграничения доступа:

разграничение по спискам;

матричное разграничение;

разграничение по уровням (кольцам) секретности;

страничная организация памяти;

мандатная система доступа.

344 Глава 17. Программные методы защиты

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

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

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

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

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

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

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

Программывнутреннейзащиты 345

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

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

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

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

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

1.Иметь средства опознавания терминалов и пользователей, причем система опознавания должна быть развитой и надежной.

2.Обеспечивать защиту по различным аспектам и на различных уровнях:

по компонентам банка данных, к которым относят компоненты структур данных, компоненты структур памяти, служебные данные, и т.д.;

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

346 Глава 17. Программные методы защиты

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

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

4.Иметь возможность криптографического закрытия данных в базах.

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

6.Иметь средства спецификации правил защиты как с помощью языка описания данных, так и с помощью автономного языка.

Программы защиты программ

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

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

В соответствии с этим необходимо использовать следующие меры по защите программ:

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

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

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

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

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

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

Программызащиты программ 347

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

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

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

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

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

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

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

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

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

348 Глава 17. Программные методы защиты

Защита от копирования

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

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

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

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

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

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

Невозможность трассировки по существенно важным прерываниям с помощью стандартных средств. При этом будет скрыт обмен программы с “внешним миром”, — диском, DOS и т.д.

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

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

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

По размещению этого модуля можно выделить три основных типа системы защиты.

Программыядра системы безопасности 349

система с “ навесным” проверочным модулем, созданным по технологии файлового вируса;

системы с внешним проверочным модулем, вынесенным в отдельную программу;

системы с внутренними функциями проверки.

Модуль защиты от просмотра и анализа логики системы.

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

Программы ядра системы безопасности

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

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

загрузка программ защиты;

установка и контроль установки регистров границы зон памяти;

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

проверка условий разрешения доступа;

проверка распределения и использования паролей и кодов;

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

создание и ведение массивов данных и полномочий пользователей;

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

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

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

Программы контроля

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

Контроль состояния компонентов механизма защиты заключается в про-

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

350 Глава 17. Программные методы защиты

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

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

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

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

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

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