автореферат диссертации по информатике, вычислительной технике и управлению, 05.13.13, диссертация на тему:Контроль программных процессов с использованием профилирования

кандидата технических наук
Егоров, Валерий Юрьевич
город
Пенза
год
2000
специальность ВАК РФ
05.13.13
Диссертация по информатике, вычислительной технике и управлению на тему «Контроль программных процессов с использованием профилирования»

Оглавление автор диссертации — кандидата технических наук Егоров, Валерий Юрьевич

Введение

1. Использование профилирования для решения задач контроля ПО

1.1 Постановка задачи.

1.2 Выбор метода построения системы.

1.3 Основные понятия профилирования.

1.4 Метод контроля программных процессов.

1.5 Задачи и методы профилирования.

1.6 Анализ возможности разработки метода динамического профилирования для программного интерфейса \Vin32.

1.7 Динамическое профилирование.

1.8 Выводы по главе.

2. Теоретические основы получения и анализа профилей

2.1 Постановка задачи.

2.2 Идеальный профиль программы.'.!'.

2.3 Составляющие профиля.

2.4 Реальный профиль программы.

2.5 Погрешность при получении функциональной составляющей профиля.

2.6 Разбиение программы на временные интервалы.

2.7 Получение эталонного профиля программы.

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

2.9 Уровни глубины анализа исследуемых действий.

2.10 Выводы по главе.

3. Построение модели для обнаружения разрушающего программного воздействия

3.1 Постановка задачи.

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

3.3 Исключение влияния аппаратных прерываний.

3.4 Исключение влияния регенерации динамической памяти.

3.5 Исключение влияния прямого доступа к памяти.

3.6 Критерии принятия решения при выявлении закладок.

3.7 Программы для практического определения погрешности и диапазона вариации.

3.8 Выводы по главе.

4. Методы реализации системы контроля

4.1 Построение автомата временных интервалов.

4.2 Разложение действий по составляющим.

4.3 Обнаружение изменения профиля.

4.4 Укрупненный алгоритм работы программы-агента.

4.5 Укрупненный алгоритм работы программы-анализатор а.

4.6 Получение гистограммы распределения отсчетов по адресной области программного процесса.

4.7 Количественные оценки.

4.8 Выводы по главе.

Введение 2000 год, диссертация по информатике, вычислительной технике и управлению, Егоров, Валерий Юрьевич

Одной из наиболее актуальных сегодня задач в области информационных технологий является задача контроля работы программного обеспечения (ПО). Эта задача включает в себя контроль функционирования ПО на предмет обнаружения ошибок или закладок, внесенных в вычислительную среду еще на этапе разработки соответствующего программного или программно -аппаратного обеспечения или внедрённых в него впоследствии [41, 67]. Под закладкой понимается несанкционированное изменение в программно-технических средствах системы, вносимое нарушителем на этапе разработки, установки или эксплуатации системы и создающее возможность совершения в дальнейшем несанкционированных действий или нарушения нормального функционирования системы. К задаче контроля функционирования ПО следует также отнести задачу защиты от "внешних" угроз, исходящих от оператора [66] или от компьютерных вирусов [34]. Программные закладки и компьютерные вирусы объединяются под общим понятием разрушающих программных воздействий (РПВ) [68].

В решении задачи создания систем контроля для защиты от угроз, исходящих от оператора, (в том числе, защиты от несанкционированного доступа), на сегодняшний день достигнут значительный прогресс [5, 16, 19, 43, 44]. Разработаны программные продукты для практического осуществления защиты [12, 33, 34, 45], а также программно-аппаратные комплексы [38, 58].

В области создания систем контроля для защиты от РПВ очень большое внимание уделяется защите от компьютерных вирусов, и весьма малое — задаче защиты от закладок. Не имеется не только работающих средств, но и, по сути, отсутствуют теории, позволяющие построить такие средства. Так в [11,30] проблема защиты информации от программных закладок не ставится вовсе. Однако, указанная проблема стоит очень остро [3, 69].

Сегодня единственным применяемым на практике методом выявления программных и программно-аппаратных закладок является верификационный анализ исходных текстов программного обеспечения [47, 52]. Трудоёмкость выполнения такого анализа сравнима с трудоёмкостью написания самих программ, поэтому его выполнение является весьма сложной задачей [17]. Кроме того, проверить наличие закладок в программах, тексты которых недоступны, невозможно. Указанная проблема является весьма острой, поскольку зарубежные коммерческие компании не очень охотно предоставляют исходные тексты своих программ для сертификационных испытаний, кроме того нельзя поручиться, что предоставленные исходные тексты полны. Отечественные же программные и программно-аппаратные разработки по многим направлениям информационных технологий отсутствуют.

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

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

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

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

В [54] изложен один из контрольно-испытательных методов. Для этого предполагается построение программного эмулятора, выполняющего все функции компьютера. При этом эмулятор вынужден эмулировать центральный процессор компьютера, операционную систему и базовую систему ввода-вывода. Сложность построения такого эмулятора также очень высока [1].

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

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

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

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

Актуальность работы.

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

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

Цель работы.

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

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

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

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

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

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

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

Реализация и внедрение результатов работы

Результаты исследования внедрены в рамках ОКР, выполненных НПФ «Кристалл» по договорам с ЦБ РФ:

5/97 «Разработка инструментальных средств контроля правильности работы программного обеспечения ЭВМ на базе экспертных систем». Шифр «Конвой-2», от 23.03.97; №4/98 «Разработка системы наблюдения и контроля за работой клиентов в платежных системах, организованных по принципу "клиент-сервер"». Шифр «Ромб», от 17.04.98; №23/98 «Создание структурной подсистемы активного аудита для автоматизированной системы Федерального Расчетного Центра Банка России». Шифр «Каскад», от 4.11.98.

Апробация работы. Основные результаты проведенных исследований докладывались и получили одобрение на ежегодных конференциях преподавателей и студентов ПГУ в 1996-99 гг., III Международной конференции «Новые информационные технологии и системы» (Пенза, 1998 г.), 4-ой международной конференции «Распознавание - 99» (Курск, 1999 г.).

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

Ниже приведена структура диссертационной работы.

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

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

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

Практическое применение разработанной системы профилирования — тема четвёртой главы диссертации.

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

Заключение диссертация на тему "Контроль программных процессов с использованием профилирования"

4.8 Выводы по главе

Четвёртая глава диссертации посвящена вопросам практической разработки системы контроля программных процессов на основе динамического профилирования. В ней исследуются вопросы практического построения системы для операционных систем, реализующих программный интерфейс Win32 API.

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

Рассмотрены особенности принципа получения гистограммы распределения отсчетов в адресной области программных процессов. Предложен алгоритм построения гистограммы.

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

122 Заключение

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

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

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

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

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

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

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

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

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

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

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

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

- описана структура профиля программы; вводятся отношения и операции над профилями;

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

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

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

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

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

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

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

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

Библиография Егоров, Валерий Юрьевич, диссертация по теме Телекоммуникационные системы и компьютерные сети

1. Аврамчук Е.Ф., Вавилов A.A., Емельянов C.B. и др. Технология системного моделирования: под общей редакцией Емельянова C.B. — М.: Машиностроение: Берлин: Техник, 1988. 520 с.

2. Александров П.С. Введение в теорию множеств и общую топологию. М.: Наука, 1977, — 368 с.

3. Андрианов В.В. Технология защиты в принципах организации информационных систем // Защита информации. Конфидент — 1998 №3.

4. Ахо А. и др. Построение и анализ вычислительных алгоритмов. М.: -Мир, 1979. -536 с.

5. Варфоломеев A.A., Пеленицин М.Б. Методы криптографии и их применение в банковских технологиях. Учебное пособие. М.: ЦБ РФ, МИФИ, 1998. 116 с.

6. Вархаген К., Дёйн Р., Грун Ф., Йостен И., Вербек П. Распознавание образов: состояние и перспективы. М.: Радио и связь, 1985. 104 с.

7. Вашкевич Н.П., Вашкевич С.Н. Недетерминированные автоматы и их использование для синтеза систем управления: Учебное пособие, Пенза, ПГУ, 1990 г.

8. Вашкевич Н.П. Синтез микропрограммных управляющих автоматов. Учебное пособие. — Пенза, Пензенский политехнический институт, 1990. — 115 с.

9. Вентцель Е.С. Теория вероятностей. М.: Наука, 1969. — 576 с.

10. Герасименко В. А. Защита информации в автоматизированных системах обработки данных. Кн. 1. — М.: Энергоатомиздат, 1994. 400 с.

11. Герасименко В.А., Малюк A.A. Основы защиты информации. М.: МИФИ, 1998. 538 с.

12. Глушков В.М., Уейтлин Г.Е., Ющенко ЕЛ. Методы символьной мультиобработки. Клев: Наук, думка, 1980. — 252 с.

13. Григорьев B.J1. Микропроцессор i486. Архитектура и программирование (в 4-х книгах). Книга 1. Программная архитектура. М., Гранал, 1993. — с. 346.

14. Григорьев В Л. Микропроцессор i486. Архитектура и программирование (в 4-х книгах). Книга 4. Справочник по системе команд. М., Гранал, 1993. — 382 с.

15. Грушо A.A., Тимонина Е.Е. Теоретические основы защиты информации. М.: Изд-во агентства «Яхтсмен», 1996. — 192 с.

16. Гудман С., Хиденткеми С. Введение в разработку и анализ алгоритмов. — М.: Мир, 1979. — 535 с.

17. Гук М. Процессоры Intel: от 8086 до Pentium II — СПб: Питер, 1997. 224 с.

18. Домарев В.В. Защита информации и безопасность компьютерных систем. М.: Диа Софт, 1999. — 480 с.

19. Дубравин A.B., Егоров В.Ю., Иткин P.B, Пучков H.B. Система разграничения доступа для сети INTRANET Новые информационные технологии и системы: материалы докладов III международной научно-технической конференции. — Пенза: ПТУ, 1998. - стр. 30-31.

20. Дэниеле Т. 1001 секрет реестра Windows NT4/nep. с англ. — М.: Издательский отдел «Русская редакция» ТОО «Channel Trading Ltd.» 1998. -320 с.

21. Егоров В. Ю. Выявление программных закладок методом профилирования. Сборник "Специальная техника средств связи" Пенза: Изд-во ПНИЭИ, 1997. - стр. 9-14.

22. Егоров В.Ю. Использование интерфейса Win32 API при формировании образов программ. Сборник материалов 4-ой международной конференции «Распознавание 99». — Курск, Курский государственный технический университет, 1999 г. — стр. 120-122.

23. Егоров В.Ю. Профилирование программ как способ защиты информации. Новые информационные технологии и системы:

24. Материалы III Международной научно-технической конференции. Пенза, ПГУ, 1998 г. - стр. 86-87.

25. Захаров А.П. Анализ аудита банковских технологий. Сборник "Специальная техника средств связи" — Пенза: Изд-во ПНИЭИ, 1997. стр. 23-25.

26. Защита информации в персональных ЭВМ. М.: «Радио и связь», МП «Веста», 1993. -192 с.

27. Защита программного обеспечения / Под ред. Д.Гроувера. / -М.: Мир, 1992. 288 с.

28. ЗегждаД. П., Семьянов П. В., под редакцией Зегжда П. Д. Проблемы безопасности программного обеспечения. — СПб.: СПбГТУ, 1995.

29. Зегжда Д.П. и др. Как противостоять вирусной атаке. СПб.: — BHV Санкт-Петербург, 1995. - 320 с.

30. Касперский Е. Компьютерные вирусы: что это такое и как с ними бороться. CK Пресс, 1998. — 288 с.

31. Коберниченко A.B. Недокументированные возможности Windows NT. M.: «Нолидж», 1998. - 288 с.

32. Козаченко В.Ф. Микроконтроллеры: руководство по применению 16-разрядных микроконтроллеров Intel MCS-196/296 во встроенных системах управления. М.: Издательство ЭКОМ, 1997. 688 с.

33. Корнеев В.В., Киселев A.B. Современные микропроцессоры.— М.: НОЛИДЖ, 1998. 240 с.

34. Кузин В.В., Шумкин С.Н., Стешкин А.И. Система защиты информации и разграничения доступа к ПЭВМ. Сборник "Специальная техника средств связи" — Пенза: Изд-во ПНИЭИ, 1997- стр. 15-19.

35. Кузин JI.T. Основы кибернетики: в 2-х томах. Т2. Основы кибернетических моделей. М.: Энергия, 1979. — 584 с.

36. Куратовский К., Мостовский А. Теория множеств. М.: Мир, 1970. -416 с.

37. Липаев В.В. Программно-технологическая безопасность информационных систем. М.: ЦБ РФ, МИФИ, 1996. 144 с.

38. Мельников В. Защита информации в компьютерных системах. М.: Финансы и образование, 1998. — 368 с.

39. Михайлов С.Ф., Петров В.А., Тимофеев Ю.А. Информационная безопасность. Защита информации в автоматизированных системах. Основные концепции. М.: ЦБ РФ, МИФИ, 1996. — 112 с.

40. Мюллер Дж. Visual С++ 5: пер. с англ. — СПб.: BHV—Санкт-Петербург, 1998. 720 с.

41. Непомнящий В.А., Рякин О.М. Прикладные методы верификации программ. — М.: Радио и связь, 1988,— 256 с.

42. Орлов Е. В., Трошин А. М. Текущий аудит вычислительных процессов рабочих станций, его использование в качестве контролируемого параметра системы безопасности. — Пенза: Изд-во ПНИЭИ, 1997. стр. 61-66.

43. Орлов Е. В. Трошин А. М. Программные средства системы статистического контроля целостности информационных процессов. — Там же стр. 46-51.

44. Питрек М. Секреты системного программирования в Windows 95 К.: Диалектика, 1996. - 448 с.

45. Проверка и утверждение программ реального времени. Под ред. Уи. Дж. Квирка. — Киев: Наук, думка, 1990. — стр. 121.

46. Расторгуев С.П. Абсолютная система защиты. "Системы безопасности связи и телекоммуникаций", 1996 г. № 3, стр. 8688.

47. Расторгуев С.П. Программные методы защиты информации в компьютерах и сетях. М.: Изд-во агентства "Яхтсмен", 1993.

48. Рихтер Джеффри Windows для профессионалов (программирование в Win32 API для Windows NT 3.5 и Windows 95)/Пер. с англ. — М.: Издательский отдел "Русская Редакция" ТОО "Channel Trading Ltd.", 1995. 720 с.

49. Романец. Защита информации в компьютерных системах и сетях. М.: Радио и связь, 1999. — 328 с.

50. Скородумов Б.И. Информационная безопасность. Обеспечение безопасности информации электронных банков. М.: ЦБ РФ, МИФИ, 1998. 104 с.

51. Скородумов Б.И. Программно-аппаратные комплексы защиты от несанкционированного доступа к информации. Учебное пособие. М.: ЦБ РФ, МИФИ, 1996. 108 с.

52. Смит Б., Шаад Г. Power Builder 5.0. Библиотека разработчика. Киев, Москва: 1997. 544 с.

53. Сяо Д. и др. Защита ЭВМ: Пер. с англ. М.: Мир, 1982, 264 с.

54. Тайли Э. Безопасность компьютера. М.: Попурри, 1997. — 480 с.

55. Теория и практика обеспечения информационной безопасности. Под. ред. П.Д. Зегжды. М.: Издательство Агентства «Яхтсмен», 1996. — 192 с.

56. Ухлинов JI.M. Управление безопасностью информации в автоматизированных системах. М.: ЦБ РФ, МИФИ, 1998. — 112 с.

57. Феденко. Безопасность сетевых ОС. М.: Эко—Трендз, 1998. — 150 с.

58. Щербаков А.Ю. Информационное оружие новая угроза компьютерным системам. //"Банк", № 1, 1995. с. 23-29.

59. Щербаков А.Ю. Нетрадиционные методы проникновения к информации в компьютерных системах. // "Безопасность, достоверность, информация", 1995. № 1-е. 24-27, № 2- с. 27-30.

60. Щербаков А.Ю. Разрушающие программные воздействия. — М., "Эдэль" Киев. "Век", 1993. - 64 с.

61. Щербаков А.Ю. Проблема защиты от программных закладок в банковских информационных системах. //Материалы семинара "Банковская безопасность и компьютерные мошенничества". М., АРБ, 1996. с. 9-11.

62. Щербаков А.Ю. Тенденции применения средств защиты информации в сфере информационного обеспечения банковской деятельности. //Сб. материалов конференции "Информационная безопасность". СПб., 1994. — с. 25-26.

63. Хоффман Л.Дж. Современные методы защиты информации: Пер. с англ. М.: Сов. Радио, 1980. - 264 с.72. 82371FB (PIIX) AND 82371 SB (PIIIX) PCI ISA IDE XCELERATOR. Intel Corporation, May 1996

64. INTEL 430VX PCISET 82437VX SYSTEM CONTROLLER (TVX) AND 82438VX DATA PATH UNIT (TDX). Intel Corporation, July 1996

65. Pentium Processor Family Developers Manual. Volume 1: Pentium Processors. Intel Corporation, 1996

66. Pentium Processor Family Developers Manual. Volume 3: Architecture and Programming Manual. Intel Corporation, 1996

67. Тексты программных модулей

68. Программный модуль измерения погрешности таймерафайл cOmsure1.asm перехват векторов, их обработка измерение производительности процессора команд out нет1. INCLsCONDSiiMACS

69. SEGMENT PARA PUBLIC 'CODE' ENDS

70. SEGMENT PARA STACK 'STACK'dw 50 0 dup(?)1. ENDS1. Программа Стек

71. Основной модуль программ тестирования процессора и выявления закладокфайл c0mp2.asmперехват векторов, их обработка измерение производительности процессоракоманд out 1синхронизация с регенерацией1.NCL 9о CONDS %MACS1. Определения сегментов

72. TEXT SEGMENT DWORD PUBLIC 'CODE'1. ENDS

73. FARDATA SEGMENT PARA PUBLIC 'FAR DATA1. ENDS

74. FARBSS SEGMENT PARA PUBLIC 'FAR BSS'1. ENDS

75. OVERLAY SEGMENT PARA PUBLIC 'OVRINFO'1. ENDS

76. TUB SEGMENT PARA PUBLIC 'STUBSEG'1. ENDS

77. DATA SEGMENT PARA PUBLIC ' DATA'1. ENDS

78. CONST SEGMENT WORD PUBLIC 'CONST'1. ENDS

79. CYTSEG SEGMENT WORD PUBLIC 'DATA'1. ENDS

80. SCNSEG SEGMENT WORD PUBLIC 'DATA'1. ENDS

81. IT SEGMENT WORD PUBLIC 'INITDATA1. ENDS

82. ITEND SEGMENT BYTE PUBLIC 'INITDATA1. ENDS

83. EXIT SEGMENT WORD PUBLIC 'EXITDATA1. ENDS

84. EXITEND SEGMENT BYTE PUBLIC ' EXITDATA1. ENDS

85. BSS SEGMENT WORD PUBLIC 'BSS'1. ENDS

86. BSSEND SEGMENT BYTE PUBLIC 'BSSEND'1. ENDS

87. STACK SEGMENT STACK 'STACK1. ENDS 1. DGROUP GROUP

88. JDATA, J30NST, J^VTSEG, J3CNSEG,INIT,INITEND , EXIT , EX I TEND , BS1. S, BSSEND

89. Определения инструкций процессора

90. Подготовка CESR хог еах,еах mov edx,еах mov есх,llh wrmsr

91. Обнуление CTR0,CTR1 хог еах,еах mov edx,еах mov есх,12h wrmsrхог еах,еах mov edx,еах mov есх,13h wrmsrпишем в CESRзапрет возможного счета1. CTR01. CTR11. Перехват векторовс2 0с 7 :call movmov mov climi dis, 1ebx, 0 dx,PORT

92. Перепрограммирование 0 0-го канала таймераmov out out mov out out1. Синхронизацияrefresh:incmpjneal,00111000b ;Режим 4 работы канала 0 43h,al dx, alax,time ;4 Oh,al dx, al01.го ж 00-го канала таймераal,41h al, 10 refresh

93. Взводим счетчики CTR0, CTR1mov eax,0 00000 0 0110110000 0 0000 0 011010110bthis bus utilization) --xor edx,edxmov ecx,llh ; пишем в CESRwrmsr

94. Обработчик прерывания от таймераtacts myint1. Proc push pushrdtscsubsubpushpushmovneareaxedxeax,78 eax,edi esi ecxesi,eax

95. Запрет счета CTRO, CTR1 xor eax,eaxxor edx,edxmov ecx,llhwrms rmin/maxint 25+48 11 + 3

96. Итого: 78 для rdtsc 51 - для CTR1 фиксируем количество тактов коррекция на первоначальный участок получаем младшие 4 байта ! ! ! Е to М1. М to cashe miss 3 тактапишем в CESR

97. Proc near /восстановление начального состоpush eax push ebx mov numv,1 Oh fmov numfol, 00h /call setoldv /восстановление векторов с 8-го mov numv, 7 8h ; с 70-гоcall setoldv fpop ebx pop eax ret f1. EndP f

98. Пропущено определение процессора i4 8 6 за ненадобностью Процессор поддерживает cpuid? pushfd pop eaxor eax, 0000000000100000000000000000000 0bpush eaxpopf d pushfd pop test j eeaxeax,00000000001000000000000000000000b old cpu1. Результаты тестирования

99. Результат работы программы измерения погрешности таймера

100. Тестирование проводилось на компьютере с процессором Pentium100.

101. Результаты выявления закладки

102. Тестирование проводились на компьютере Celeron 333.

103. Результат тестирования без нивелирования вариации

104. Результат выявления закладки по результатам тестирования без нивелирования вариации

105. Ыем ВаЬа»»>>>>>>>> ускорение таймера: 16 порог срабатывания: 2304 048 тактов количество тактов закладки:48 6 сделано 10 попытокматематическое ожидание выявления закладки: 1 выполнений минимум: 1 максимум: 2

106. Результат тестирования с нивелированием вариации от регенерации

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

108. Директор НПФ «Кристалл» VШевченко В.И.апре/ь1 2000 г.1. Заключениео внедрении результатов диссертационной работы Егорова В.Ю. «Контроль программных процессов с использованием профилирования».

109. Главный инженер НПФ «Кристалл»

110. Научный руководитель НПФ «Кристалл»1. Кузин В.В.1. Андрианов В.В.