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

Защита информации в инфокоммуникационных системах и сетях.-3

.pdf
Скачиваний:
17
Добавлен:
05.02.2023
Размер:
2.4 Mб
Скачать

41

Рассматривая защиту АС определим еще два уровня: уровень представления и уровень содержания информации.

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

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

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

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

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

2.4.Построение систем защиты от угрозы раскрытия параметров информационной системы

Методы защиты от угрозы раскрытия параметров информационной системы, в

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

нарушения конфиденциальности информации, нарушения целостности информации и блокирования доступа к информации.

Для осуществления НСД злоумышленник не применяет никаких аппаратных или программных средств, не входящих в состав АС. Он осуществляет НСД, используя:

знания о АС и умения работать с ней;

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

сбои, отказы технических и программных средств;

ошибки, небрежность обслуживающего персонала и пользователей.

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

1.диалоговые руководства и модели программ;

2.анализ найденных МНИ;

3.копание в мусоре;

4.изучение «фотографий»;

41

42

5. «вынюхивание».

Более детально рассмотрим первые два.

Диалоговые обучающие руководства и модели программ. Руководства и модели

программ часто используются для обучения работе с компьютерной системой. Эти

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

Руководства и модели дают новым пользователям практический опыт общения с программным обеспечением, с которым им придется иметь дело, знакомят с его функциями и задачами. Такие программы весьма часто используются в учебных целях вместо реальной системы, или же как дополнение к ней. На то имеется несколько причин. Что, если система еще внедряется, или проходит стадию обновления? А может быть, новичка слишком накладно обучать на «живой» системе - мало ли что. Модели решают подобные проблемы,

так как их можно инсталлировать на любой компьютер.

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

господ хороших какой-нибудь «демонстрашки»? Не исключено, что удастся добыть такую программу у дружески настроенного сотрудника компьютерного отдела компании.

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

считывание с МНИ хранящейся на нем информации

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

(файла);

воспроизведение содержимого файла в штатном режиме;

экспертную оценку считанной и воспроизведенной информации.

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

42

43

1. Диагностика состояния носителя, включающая получение

необходимых для конкретной ОС элементов формата носителя;

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

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

признаков удаленной, остаточной и скрытой информации;

данных о сбойных секторах и недоступных для чтения областей;

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

2.Профилактика состояния носителя (выявление причин, приведших к тому или иному состоянию носителя).

3.Восстановление рабочего состояния носителя.

4.Восстановление, копирование и преобразование информации на носителе.

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

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

внешний вид данного носителя;

информация о типе носителя;

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

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

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

обычные 3,5" дискеты, как правило, отформатированы в стандарте IBM (MS DOS) на 1,44

Мбайта или 720 Кбайт либо в стандарте Apple Macintosh на 1,44 Мбайта или 720 Кбайт.

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

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

43

44

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

Процедура определения формата носителя на логическом уровне предполагает:

определение числа и размера кластеров;

выделение таблицы размещения файлов;

выделение корневой директории.

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

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

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

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

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

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

выделение чистого кода программы;

дизассемблирование;

44

45

семантический анализ.

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

предприняты специальные меры для противодействия исследованию этого кода;

предприняты меры, направленные на преобразование кода в другую форму,

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

Дизассемблированием называется процесс перевода программы из исполняемых или объектных кодов на язык ассемблера. Задача дизассемблирования практически решена. В

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

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

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

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

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

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

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

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

характеризующей метод упаковки.

45

46

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

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

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

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

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

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

2.5. Методология построения защищенных АС Рассмотрим методы построения защищенных АС. Эти методы условно можно

разделить на две группы:

1) относящиеся к произвольному ПО АС:

иерархический метод разработки;

исследование корректности и верификация.

2) специфичные только для систем защиты (теория безопасных систем).

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

46

47

проектирования - метод снизу вверх и метод сверху вниз. Остальные методы по своей сути сводятся к этим двум или являются их сочетанием.

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

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

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

необходимость с самого начала принимать решение о выборе способа реализации компонентов АС-с помощью аппаратуры, микропрограмм или программ, что сделать очень трудно;

возможность проектирования АС только после разработки аппаратуры;

расхождение между реальной АС и определённой в ТЗ.

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

требованиями к доступности и целостности (неизменности).

Далее следует выяснение насколько серьезный ущерб может принести фирме раскрытие или иная атака на каждый конкретный информационный объект. Этот этап носит название «вычисление рисков». В первом приближении риском называется произведение

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

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

47

48

Таблица 2.1.

Величина

Описание

ущерба

Раскрытие информации принесет ничтожный моральный и

0

ансовый ущерб фирме

1

2

Ущерб от атаки есть, но он незначителен, основные финансовые рации и положение фирмы на рынке не затронуты

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

Значительные потери на рынке и в прибыли. От фирмы уходит

3

тимая часть клиентов

Потери очень значительны, фирма на период до года теряет положение

4 на рынке. Для восстановления положения требуются крупные ансовые займы.

5

 

Фирма прекращает существование

 

 

 

Вероятность атаки представляется неотрицательным числом в приблизительном

соответствии со следующей таблицей 2.2.

Таблица 2.2.

 

 

 

 

Вероятность

 

Средняя частота появления

 

 

 

 

 

 

0

 

Данный вид атаки отсутствует

 

 

 

 

 

 

1

 

реже, чем раз в год

 

 

 

 

 

 

 

 

2

 

около 1

раза в год

 

 

 

 

 

 

 

 

3

 

около 1

раза в месяц

 

 

 

 

 

 

 

 

4

 

около 1

раза в неделю

 

 

 

 

 

 

5

 

практически ежедневно

 

 

 

 

 

 

 

 

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

48

49

Следующим этапом составляется табл. 2.3. - таблица рисков предприятия. Она имеет

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

Таблица 2.3. Таблица рисков

 

 

 

 

 

 

 

 

Описание атаки

 

 

 

 

Вероя

 

Риск

 

б

 

 

сть

 

щерб*Вероятность)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Спам (переполнение почтового

 

 

 

 

4

 

4

ка)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Копирование жесткого диска

 

 

 

 

1

 

3

из центрального офиса

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

...

 

 

.

 

...

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Итого:

 

 

 

 

9

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

На этапе анализа таблицы рисков задаются некоторым максимально допустимым риском, например значением 7. Сначала проверяется каждая строка таблицы на не превышение риска этого значения. Если такое превышение имеет место, значит, данная строка – это одна из первоочередных целей разработки политики безопасности. Затем производится сравнение удвоенного значения (в нашем случае 7*2=14) с интегральным риском (ячейка «Итого»). Если интегральный риск превышает допустимое значение, значит, в

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

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

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

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

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

49

50

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

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

функциональный блок;

конструкция обобщенного цикла;

конструкция принятия двоичного решения.

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

IF-THEN-ELSE.

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

который постепенно раскладывается в сложную структуру основных элементов.

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

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

Преимущества использования модульного принципа состоят в следующем:

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

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

50