Введение
1 Проблема обнаружения программного обеспечения, использующего технологию аппаратной виртуализации 14
1.1 Применение технологии аппаратной виртуализации для сокрытия программного обеспечения 14
1.1.1 Особенности работы программного обеспечения, использующего технологию аппаратной виртуализации процессоров Intel и AMD 14
1.1.2 Примеры программного обеспечения, использующего технологию аппаратной виртуализации 19
1.2 Сравнительный анализ существующих способов обнаружения программного обеспечения, использующего технологию аппаратной виртуализации 21
1.2.1 Классификация существующих способов обнаружения ПОАВ 21
1.2.2 Временные способы обнаружения ПОАВ 22
1.2.3 Поведенческие способы обнаружения 30
1.2.4 Способ обнаружения на основе доверенного монитора виртуальных машин 33
1.2.5 Сигнатурные способы обнаружения 34
1.2.6 Анализ возможностей компьютерных счётчиков для измерения длительности выполнения процессорных инструкций 37
1.3 Выводы 41
2 Теоретические предпосылки обнаружения программного обеспечения, использующего технологию аппаратной виртуализации 44
2.1 Модель нарушителя 44
2.1.1 Общие сведения 44
2.1.2 Возможные способы компрометации счётчика тактов 46
2.2 Построение моделей выполнения трассы 51
2.2.1 Сравнительный анализ схем переключения между режимами работы процессора 52
2.2.2 Особенности выполнения набора процессорных инструкций 55
2.2.3 Построение моделей выполнения трассы 59
2.2.4 Проверка адекватности построенных моделей опытным данным.. 62
2.2.5 Критерий присутствия программного обеспечения, использующего технологию аппаратной виртуализации 69
2.3 Выводы 72
3 Исследование статистических характеристик длительности выполнения набора процессорных инструкций и разработка методики обнаружения нелегитимного программного обеспечения, использующего технологию аппаратной виртуализации 73
3.1 Организация проведения опытов по измерению длительности выполнения набора процессорных инструкций 77
3.2 Особенности процесса выполнения набора процессорных инструкций и обоснование подходов к обработке экспериментальных данных 79
3.3 Обработка опытных данных и выявление признаков для обнаружения программного обеспечения, использующего технологию аппаратной виртуализации 88
3.4 Предлагаемая методика обнаружения нелегитимного программного обеспечения, использующего технологию аппаратной виртуализации. 97
3.5 Выводы 102
4 Архитектура и реализация средства обнаружения программного обеспечения, использующего технологию аппаратной виртуализации 104
4.1 Состав и архитектура средства обнаружения 104
4.2 Форматы передаваемых данных 105
4.3 Подсистема выработки пороговых значений 107
4.4 Подсистема имитации действий нарушителя 111
4.5 Подсистема выявления образцов ПОАВ 114
4.6 Порядок использования средства обнаружения ПОАВ 115
4.7 Выводы 116
5 Внедрение методики обнаружения нелегитимного программного обеспечения, использующего технологию аппаратной виртуализации 117
5.1 Использование предложенного средства обнаружения в системе обеспечения информационной безопасности ГНЦ РФ ФГУП «ЦНИИХМ им. Д.И. Менделеева» 118
5.2 Применение предложенного средства обнаружения для контроля отсутствия негласного программного обеспечения, использующего технологию аппаратной виртуализации в классе ЭВМ парка ФГУП «НИИСУ» 121
5.3 Разработка лабораторных работ для курса «Безопасность операционных систем» кафедры «Криптология и дискретная математика» НИЯУ МИФИ 122
5.4 Выводы 124
Заключение 125
Список использованных источников 127


