Читать онлайн «Программирование драйверов и систем безопасности. Учебное пособие»

Автор Светлана Сорокина

ipHHinuii . 1 штили Светлана Сорокина Андрей Тихонов Андрей Щербаков Программирование ДРАЙВЕРОВ И СИСТЕМ БЕЗОПАСНОСТИ Учебное пособие Санкт-Петербург Москва «БХВ-Петербург» Издатель Молгачева С. В. 2003 УДК 681. 3. 06 ББК 32. 973. 26-018 С65 Рецензенты: Московский институт электроники и математики (технический университет), Московское отделение Пензенского электротехнического института (ПНИЭИ) Научная редакция: д. ф. -м. н. , проф. , заведующий кафедрой "Криптология и дискретная математика" МИФИ, начальник Департамента науки, высоких технологий, образования и культуры аппарата Правительства РФ, академик РАО Подуфалов Н. Д, А Сорокина С. И* и др. С65 Программирование драйверов и систем безопасности: Учеб. пособие / Сорокина С. И. , Тихонов А. Ю. , Щербаков А. Ю. — СПб. : БХВ- Петербург, М. : Издатель Молгачева С. В. , 2003. — 256 с: ил. ISBN 5-94157-263-8 ISBN 5-94740-005-7 Учебное пособие содержит оригинальный научный и учебно- методический материал, посвященный созданию систем безопасности для операционных сред Windows NT/2000. Рассматриваются вопросы создания различных драйверов уровня ядра ОС, предназначенных для шифрования трафика и контроля доступа. Учебное пособие используется при организации занятий на факультете информационной безопасности МИФИ. Для студентов и аспирантов соответствующих специальностей, разработчиков систем защиты информации, а также сотрудников экспертных организаций УДК 681. 3. 06 ББК 32. 973. 26-018 ISBN 5-94157-263-8 (Изд-во "БХВ-Петербург") ISBN 5-94740-005-7 (Издатель Молгачева С. В. ) О Сорокина С. И. , Тихонов А. Ю. , Щербаков А. Ю. , 2002 © Оформление, Издатель Молгачева С. В. , 2002 © Обложка, тнтул, оборот титула, издательство "БХВ-Петербург", 2002 m9ttr ттттщщгщ- "wmmmmr* -чт^ттмттщттщяттт* "пярррщ Содержание Предисловие И Введение 12 1, Что такое драйвер 15 1. 1. Типы драйверов и характеристики 15 1. 2. Среда разработки 16 1. 3. Утилита BUILD 19 1. 4. С и C++. Интегрированная среда разработки 21 2. Общая архитектура Windows NT 22 2. 1. Понятия «пользовательский режим» и «режим ядра» 22 2. 1. 1. Некоторые понятия защищенного режима 22 2. 2. Основные характеристики Windows NT 24 2. 2. 1. Модель модифицированного микроядра 24 2. 2. 2.
Эмуляция нескольких ОС 25 2. 2. 3. Независимость от архитектуры процессора 26 2. 2. 4. Объектная модель 26 2. 2. 5. Многопоточность 27 2. 2. 6. Вытесняющая многозадачность (preemptive multitasking) 27 2. 2. 7. Виртуальная память с подкачкой страниц по требованию 28 2. 2. 8. Симметричная мультипроцессорная обработка 29 2. 2. 9. Интегрированная поддержка сети 29 2. 3. Структура Windows NT 29 \ 2. 3. 1. Защищенные подсистемы 31 2. 3. 2. 1. Подсистемы среды 31 2. 3. 2. 1. 1. Подсистема среды Win32 32 2. 3. 2. 1. 2. «Родной» API для ОС Windows NT (Native Windows NT API) 33 2. 3. 2. 2. Неотъемлемые подсистемы 35 4 Программирование драйверов и систем безопасности 2. 3. 3. Исполнительная система (The Executive) 35 2. 3. 3. 1. Диспетчер Объектов 39 2. 3. 3. 2. Система ввода/вывода 41 2. 3. 3. 3. Ядро 42 2. 3. 3. 4. Слой абстрагирования от оборудования 43 2. 3. 4.