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


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



ЗНАЕТЕ ЛИ ВЫ?

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



 

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

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

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

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

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

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

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

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

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

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

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

 

 

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

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

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

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

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

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

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

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

• соответствующий заданному носителю привод-наиболее значимый для физического доступа элемент;

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

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

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

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

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

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

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

Если имевшийся в наличии машинный носитель был правильно идентифицирован злоумышленником, для него подобран привод, то с большой вероятностью ему будет известен формат оригинального носи­теля, или же этот формат будет автоматически идентифицирован опера­ционной системой, допускающей работу с приводом для данного носите­ля. Например, обычные 3,5" дискеты, как правило, отформатированы в стандарте IBM (MS DOS) на 1,44 Мбайта или 720 Кбайт либо в стандарте Apple Macintosh на 1,44 Мбайта или 720 Кбайт.

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

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

• привод для носителя;

• стандартное и специальное программное обеспечение для идентифи­кации формата оригинального машинного носителя (побитовой его ко­пии);

• методология воссоздания файловой структуры, восстановления уда­ленной и выявления скрытой информации.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

 

 



Поделиться:


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

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