Электронная библиотека диссертаций и авторефератов России
dslib.net
Библиотека диссертаций
Навигация
Каталог диссертаций России
Англоязычные диссертации
Диссертации бесплатно
Предстоящие защиты
Рецензии на автореферат
Отчисления авторам
Мой кабинет
Заказы: забрать, оплатить
Мой личный счет
Мой профиль
Мой авторский профиль
Подписки на рассылки



расширенный поиск

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

Системный анализ дестабилизирующих программных воздействий на вычислительно-управляющие комплексы промышленных предприятий и методы их распознавания
<
Системный анализ дестабилизирующих программных воздействий на вычислительно-управляющие комплексы промышленных предприятий и методы их распознавания Системный анализ дестабилизирующих программных воздействий на вычислительно-управляющие комплексы промышленных предприятий и методы их распознавания Системный анализ дестабилизирующих программных воздействий на вычислительно-управляющие комплексы промышленных предприятий и методы их распознавания Системный анализ дестабилизирующих программных воздействий на вычислительно-управляющие комплексы промышленных предприятий и методы их распознавания Системный анализ дестабилизирующих программных воздействий на вычислительно-управляющие комплексы промышленных предприятий и методы их распознавания Системный анализ дестабилизирующих программных воздействий на вычислительно-управляющие комплексы промышленных предприятий и методы их распознавания Системный анализ дестабилизирующих программных воздействий на вычислительно-управляющие комплексы промышленных предприятий и методы их распознавания Системный анализ дестабилизирующих программных воздействий на вычислительно-управляющие комплексы промышленных предприятий и методы их распознавания Системный анализ дестабилизирующих программных воздействий на вычислительно-управляющие комплексы промышленных предприятий и методы их распознавания
>

Диссертация - 480 руб., доставка 10 минут, круглосуточно, без выходных и праздников

Автореферат - бесплатно, доставка 10 минут, круглосуточно, без выходных и праздников

Дорфман Антон Владимирович. Системный анализ дестабилизирующих программных воздействий на вычислительно-управляющие комплексы промышленных предприятий и методы их распознавания : диссертация... кандидата технических наук : 05.13.01 Самара, 2007 175 с. РГБ ОД, 61:07-5/3013

Содержание к диссертации

Введение

1 STRONG Разработка методики системного анализа дестабилизирующих 12

программных воздействий STRONG

1.1 Литературно-аналитический обзор 12

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

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

1.4 Выводы 25

2 Анализ компьютерных вирусов как систем 26

2.1 Экспериментальное исследование компьютерных вирусов 26

2.1.1 Методика исследования 26

2.1.2 Исследование вирусов, функционирующих в MS-DOS 31

2.1.3 Исследование загрузочных вирусов 37

2.1.4 Исследование вирусов, работающих в Windows 40

2.1.5 Анализ сетевых червей 47

2.1.6 Выявление и анализ дополнительных методов работы вирусов 53

2.1.7 Исследование методов самошифрования и полиморфизма в компьютерных вирусах

2.2 Декомпозиция компьютерного вируса на системные компоненты 69

2.3 Системная модель состава компьютерного вируса 70

2.4 Функциональная классификация компьютерных вирусов 72

2.5 Анализ современных антивирусных методов на основе 73 декомпозиции вируса

2.6 Разработка требования к теоретической модели вируса 74

2.7 Выводы 75

3 Анализ теоретических моделей компьютерных вирусов 76

3.1 Модель вируса на основе машины Тьюринга (Fred Cohen, 1989) 76

3.2 Модели вирусов на основе теории рекурсивных функций 79

3.2.1 Модель Леонарда Адлемана (Leonard М. Adleman, 1990) 79

3.2.2 Модель китайских авторов (Zhihong Zuo, Mingtian Zhou, 2004) 82

3.2.3 Модель французских авторов (Guillame Bonfante, Matthieu 85 Kaczmarek, Jean-Yves Mario, 2005

3.3 Структура для моделирования Троянских программ и вирусов 88 (Harold Thimbley, Stuart Anderson, Paul Cairns, 1999)

3.4 Модель вируса на основе RASPM с ABS (Ferenc Leitold, 2000) 91

3.5 Модели вирусов на основе алгебраических спецификаций 94

3.5.1 Модель на основе ASM (Matt Webster, 2005) 94

3.5.2 Модель на основе OBJ (Matt Webster, 2005) 96

3.6 Векторно-операторная модель вируса (Д. Зегжда, 1993) 99

3.7 Обход результата невозможности Коуэна (Jan Bergstra, Alban 102 Ponse, 2005)

3.8 Результаты анализа моделей вирусов 103

3.9 Выводы 105

4 Разработка моделей поведения компьютерных вирусов и их подсистем

4.1 Модель вычислительной системы - машина СМ 106

4.2 Модель абстрактного компьютерного вируса 110

4.3 Моделирование поведения Win32 вирусов и их подсистем 112

4.4 Вычислительная машина CMCJH с историей вычислений и переходов 122

4.5 Выводы 124

5 Разработка системы распознавания Win32 вирусов 125

5.1 Структура системы и алгоритм ее работы 125

5.2 Подсистема эмуляции команд процессора 127

5.3 Программная реализация моделей СМ и CMCJH 134

5.4 Подсистема классификации на базе нейронной сети 135

5.5 Результаты тестирования системы распознавания Win32 вирусов 140

5.6 Выводы 143 Основные результаты работы и выводы 144

Библиографический список 146

Приложение А Акты внедрения 156

Введение к работе

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

Приведем лишь несколько фактов. В августе 2005 года 13 заводов промышленной компании Chrysler в США остановились из-за компьютерного вируса Zotob. Также Zotob атаковал компьютеры около 100 компаний, среди них General Electric, Caterpillar, CNN. В феврале 2006 года в результате атаки компьютерного вируса на целый час была приостановлена работа всех рынков Российской торговой системы. В том же 2006 году российские хакеры получили на 24 часа контроль над крупным газопроводом.

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

вирусные технологии и обычно они разрабатываются на низкоуровневом языке Ассемблер. Наибольшее распространение получили вычислительно-управляющие комплексы, построенные на платформе Intel и использующие 32-битные операционные системы семейства Windows. Поэтому необходимо выделить класс Win32 вирусов, представители которого в своей работе используют только стандартный программный интерфейс операционных систем Windows под названием Win32 API, что позволяет им функционировать в любой 32-битной операционной системы семейства Windows.

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

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

Основные задачи. Для достижения поставленной цели необходимо решение следующих задач:

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

  2. Разработка алгоритма исследования компьютерного вируса и проведение экспериментального исследования компьютерных вирусов.

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

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

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

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

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

  8. Разработка архитектуры, алгоритмов работы и программной реализации системы распознавания вирусов, ее тестирование.

Литературно-аналитический обзор

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

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

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

Термин "компьютерный вирус" впервые употребил исследователь Фрэд Коуэн в 1984 году на седьмой конференции по безопасности информации, проходившей в США. В своем докладе [1] Фрэд Коуэн (Fred Cohen) использует для исследования вирусов конструкции языка высокого уровня. В работе [2] для описания и анализа вирусов Коуэн использует аппарат машин Тьюринга [17,18,19,20,21] - ТМ (Turing Machine). Научный руководитель Фреда Коуэна - Леонард Адлеман (Leonard Adleman) известный прежде всего как один из разработчиков известнейшего криптографического алгоритма с открытым ключом RSA (Rivest, Shamir, Adleman), также внес существенный вклад в теоретические исследования компьютерных вирусов [3]. В теоретической модели Адлемана используется теория рекурсивных функций [20,21,22,23,24] и Геделевы нумерации [22,23].

Коллектив авторов из Великобритании Гарольд Тимблеби (Harold Thimbleby), Стюарт Андерсон (Stuart Anderson), Пол Кайрнс (Paul Cairns) вводят собственную базовую модель для формального описания заражений троянских программ и вирусов [4,5]. Обоснованность ввода этой новой модели обсуждается в работах [6,7,8].

Венгерский исследователь Ференк Лейтольд (Ferenc Leitold) в своей работе [9] исследует хорошо известные вычислительные модели для анализа отдельных алгоритмов, это машина с произвольным доступом к памяти (Random Access Machine) [19], машина с произвольным доступом к сохраненным программам (Random Access Stored Program Machine) [19], машина Тьюринга и вводит собственную формальную модель, с помощью которой описывает феномен компьютерных вирусов.

Китайские авторы Жихонг Зуо (Zhihong Zuo) и Мингтиан Жу (Mingtian Zhou) в своей работе [10] для создания теоретических моделей разновидностей компьютерных вирусов используют теорию рекурсивных функций. Также они в соавторстве с Куингксин Жу (Qingxin Zhu) исследуют вычислительную сложность компьютерных вирусов [11].

Исследователь из Великобритании Мэтт Вебстер (Matt Webster) разрабатывает алгебраические спецификации компьютерных вирусов [12,13], используя абстрактную машину состояний (ASM) Гуревича [25,26,27] и OBJ Гогуена [28,29,30]. Коллектив авторов из Франции Г. Бонфанте (G. Bonfante) М. Качмарек (М. Kaczmarek), Дж-У. Марион (J-Y Marion) предлагает новую модель компьютерных вирусов [14], основанную на теории рекурсивных функций и по утверждению авторов охватывающую модели [3,10].

Нидерландские ученые Ян Бергстра (Jan A. Bergstra) и Албан Понз (Alban Ponse) в работе [15] исследуют вопросы разрешения проблемы детектирования вирусов. Хотя авторы и не определяют модель вируса, однако для исследования они используют, разработанные ранее ими же формализмы [31,32,33], которые позволяют моделировать вирусы. Ценность работы [15] в том, что авторам удалось разрешить проблему детектирования вирусов для большого класса поведения программ.

Из работ российских авторов посвященных компьютерной вирусологии необходимо отметить исследование [16] Д.П. Зегжды, посвященное созданию векторно-операторной модели вируса.

Помимо создания моделей вирусов теоретические исследования в компьютерной вирусологии связаны с выявлением закономерностей, присущих эпидемиям компьютерных вирусов [34-42], исследованиям вычислимости и детектируемости компьютерных вирусов [43,44], исследованиям филогенеза вирусов [45], таксономии вирусов [46] а также рассмотрению вопросов создания теоретических моделей вирусов [47]. Обзор [48] посвящен открытым проблемам в теоретическом направлении компьютерной вирусологии.

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

Эксперты антивирусных компаний в своих работах в основном описывают конкретные экземпляры вирусов без технических подробностей реализации. Исследователи вирусов помимо этого часто на примере исходных текстов подробно рассматривают некоторые примитивные вирусы и вирусные технологии. Работа [49] содержит обширные сведения из компьютерной вирусологии: историю вирусологии, классификацию вирусов и описание экземпляров вирусов. Известный антивирусный специалист Е.В. Касперский в своей работе [50] также описывает различные свойства конкретных вирусов и приводит их классификацию. В работах [51,52,53] на базе исходных . текстов исследуются файловые, загрузочные вирусы под MS-DOS, а также файловые вирусы под Windows. Различные технологии вирусов под MS-DOS и Windows и методы самозащиты вирусов исследуются работах [54,55,56], а в работе [56] дополнительно рассматриваются механизмы заражения исполняемых файлов в Windows и работы сетевых червей.

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

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

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

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

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

Модель вируса на основе RASPM с ABS (Ferenc Leitold, 2000)

Ференк Лейтольд в работе [9] на основе анализа известных моделей: машины с произвольным доступом к памяти RAM [19], машины с произвольным доступом к сохраненным программам RASPM [19], машины Тьюринга делает вывод, что эти модели ограничены, так как могут анализировать только отдельный алгоритм или программу. Для преодоления этого ограничения автор вводит новую модель - Машину с произвольным доступом и хранимой программой с присоединенным дополнительным хранилищем RASPM с ABS (Random Access Stored Program Machine with Attached Background Storage).

Определение 1. G есть RASPM с ABS и определяется шестеркой

G = (V,U,T,f,q,M), где V - алфавит ленты - не пустое множество входных, выходных символов и символов на дополнительной ленте хранилище и в ячейках памяти;

U -не пустое множество кодов операций U с V;

Т -не пустое множество возможных активностей процессора;

f - однозначная функция, для которой f:U- T истина;

q - начальное значение указателя инструкций;

М - начальное содержимое памяти.

Дополнительная лента-хранилище введена для создания взаимодействия между программами (рис. 3.2). При чтении/записи символа головка сдвигается на один шаг вправо. Головка дополнительной ленты-хранилища перемещается произвольно. Память адресуется непосредственно. Первая ячейка памяти имеет специальное предназначение и называется аккумулятор. Описания команд и значения кодов операций, а также кодирование операндов приведены в [19].

При выключении питания содержимое памяти теряется, однако содержимое дополнительного хранилища остается. Хранилище можно подключать к другим машинам. Вводится еще одна модель - Машина с произвольным доступом и хранимой программой с несколькими присоединенными дополнительными хранилищами (RASPM с SABS), а затем доказывается ряд теорем. Доказывается, что RASPM с SABS и RASPM с ABS являются эквивалентными, могут эмулировать друг друга, что любая RASPM с ABS может эмулироваться машиной RAPSM, что вычислительные способности машины Тьюринга и RASPM с ABS эквивалентны и сравнимы полиномиально.

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

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

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

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

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

Вычислительная машина CMCJH с историей вычислений и переходов

Абстрактная вычислительная машина позволяет описывать процесс вычислений любой вычислительной машины: основанной на микроконтроллере, персональной ЭВМ, суперкомпьютера. На базе простой абстрактной вычислительной машины введем CMCJH вычислительную машину CM (Computing Machine) с историей вычислений и переходов CJH (Computing and Jump History).

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

Информация записывается на ленту с историей вычислений в виде (Ax(0,Cx(t)JPA0,[UPx(0J\), то есть записывается адрес изменяемой ячейки памяти, новое значение этой ячейки, значение указателя команд - адрес команды и сама команда. На ленту с историей переходов информация записывается в виде (Scx(t),IPx(t+l),IPx(t),[[IPx(t)]]), то есть записывается состояние вычислителя при прыжке, указатель команды, на которую произошел переход, значение указателя команд и сама команда перехода. Рассмотрим ситуацию, когда программа для машины СМ моделирует работу машины CMCJH (см. рис. 4.6). Выдвинем следующую гипотезу: Программа для вычислительной машины СМ, моделирующая выполнение вычислительной машины с лентой истории и лентой переходов CMCJH, позволяет распознавать вирусы, выполняемые на CMCJH.

Метод распознавания Win32 вирусов основан на выдвинутой гипотезе и заключается в том, что строится программа, моделирующая работу машины CMCJH, при этом в роли машины СМ выступает ЭВМ.

В результате данной части работы получены следующие выводы и результаты:

1. Разработана модель вычислительной системы - вычислительная машина СМ

2. Разработана модель вычислительной системы - вычислительная машина с историей вычислений и переходов CMCJH.

3. Разработаны модели программ, файлов, файловой и операционной системы.

4. Разработаны модели загрузки, запуска, исполнения и завершения программ.

5. Разработаны модели различных видов процедур, в том числе сервисных процедур.

6. Построена модель поведения абстрактного компьютерного вируса

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

8. Разработаны модели поведения основных видов файловых Win32 вирусов и их подсистем.

9. Выдвинута гипотеза, программа для вычислительной машины СМ, моделирующая выполнение вычислительной машины с лентой истории и лентой переходов CMCJH, позволяет распознавать вирусы, выполняемые на CMCJH.

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