Главная » Просмотр файлов » Диссертация Кочарян С.Г

Диссертация Кочарян С.Г (1195361)

Файл №1195361 Диссертация Кочарян С.Г (Модернизация файервола для защиты информации в ОС Windows)Диссертация Кочарян С.Г (1195361)2020-10-01СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла

Содержание

Введение 3

1 Среда и средства разработки 4

1.1 Комплект разработки драйверов Windows Device Driver Kit 4

1.2 Межсетевой экран 5

1.3 Среда NDIS 7

1.4 DDK 11

1.5 Сетевая модель OSI 12

2 Принципы работы межсетевого экрана 17

2.1 Брандмауэр с фильтрацией пакетов 17

2.2 Политика организации брандмауэра 18

3 Разработка NDIS драйвера в качестве межсетевого экрана 21

3.1 Структура драйвера 21

3.2 Загрузка и инициализация драйвера 23

3.3 Механизм передачи информации на уровень пользователя 25

4 Структура inf- файла 31

4.1 Секции inf-файла и основные общие правила ввода записей 31

4.1.1 Секция описания версии «Version» 33

4.1.2 Секция описания поставщика «Manufacturer» 36

4.1.3 Секция описания моделей аппаратуры «Models» 39

4.1.4 Секция «CopyFiles» 41

4.1.5 Секции «ServiceInstall» 45

4.1.6 Секция «ClassInstall32» 47

4.1.7 Секции [DefaultInstall32.Xxx] и [DefaultInstall32.Xxx.Services] 48

5 Фильтр пакетов 50

6 Фильтр HTTP трафика 55

7 Портирование драйвера на 64-битную систему. 61

8 Установка драйвера 70

9.1 Взаимодействие с драйвером 74

9.2 Загрузка драйвера 75

9.3 Результат работы драйвера 78

9.4 Отладка брандмауэра 79

9.4 Цифровое подписание драйвера 80

Заключение 84

Список используемых источников 85

Введение

Брандмауэр представляет собой систему сетевой безопасности, которая контролирует исходящий и входящий сетевой трафик, на основе определенных правил безопасности. Брандмауэр обычно создает барьер между внутренней и внешней сетью, например, интернетом, которая считается небезопасной и не надежной сетью. Брандмауэр Windows, который входит в стандартную поставку операционной системы Windows, не имеет практически никаких настроек присущих другим сетевым экранам. Большинство других Сетевых экранов, таких как Outpost и др, работают на уровне приложений и перехватывают функции сетевых библиотек. Но, судя из сетевой модели OSI перехват пакетов лучше всего делать между сетевым и канальным уровнями, так, как на сетевом и выше работает протокол TCP/IP, а на канальные такие протоколы как Ethernet, ATM, X.25 и другие. Именно для этого в операционных системах на чинная с DOS присутствует драйвер NDIS. NDIS – спецификация интерфейса сетевого драйвера, была разработана совместно фирмами Microsoft и 3Com для сопряжения драйверов сетевых адаптеров с операционной системой. Для разработки драйвера также потребуется специальный пакет программ DDK (Driver Development Kit). DDK- набор из средств разработки, заголовочных файлов, библиотек, утилит, программного кода примеров и документации, который позволяет программистам создавать драйверы для устройств по определённой технологии или для определённой платформы.

Большинство современных сетевых экранов являются платными и с закрытым исходным кодом, именно поэтому более экономично разработать свой сетевой экран, при том что все средства, необходимые для разработки драйвера являются бесплатными, DDK в свободном доступе можно скачать с сайта Microsoft, Visual Studio 2008 Trial Edition – Можно бесплатно использовать 90 дней.

1 Среда и средства разработки

1.1 Комплект разработки драйверов Windows Device Driver Kit

Программы, работающие в режиме ядра, не могут пользоваться обычными программными интерфейсами Win32, поэтому при разработке драйверов режима ядра нельзя использовать привычные для многих программистов Win32 заголовочные файлы и библиотеки. Для разработки программ Win32 компания Microsoft предлагает использовать комплект разработки программ Platform Software Development Kit (SDK), однако для разработки драйверов режима ядра потребуется комплект Windows Driver Development Kit (DDK). Помимо документации в этот комплект входят специальные заголовочные файлы и библиотеки, необходимые для обеспечения взаимодействия разрабатываемого вами кода и других модулей ядра Windows. После того будет установлен DDK, необходимо запустить Microsoft Visual С и добавить пути к файлам DDK к списку файлов, используемых компилятором и компоновщиком при создании исполняемого файла.

Среда программирования DDK несколько отличается от модели Win32. К наиболее значительным отличиям следует отнести:

  • в исходный код программ Win32 обязательно следует включить заголовочный файл windows.h, однако при разработке драйвера режима ядра этот заголо­вочный файл использовать нельзя. Вместо него в текст драйвера следует включить файл ntddk.h;

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

  • некоторые типы данных Win32, такие как BYTE, WORD и DWORD, недо­ступны при разработке драйверов режима ядра. Вместо них в среде DDK следует использовать UCHAR, USHORT, UL0NG и т. п.

1.2 Межсетевой экран

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

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

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

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

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

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

Основными компонентами брандмауэра являются:

– политика безопасности сети;

– механизм аутентификации;

– механизм фильтрации пакетов.

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

– брандмауэр с фильтрацией пакетов;

– прикладной шлюз;

– универсальный Proxy-сервер.

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

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

1.3 Среда NDIS

С
етевые драйверы можно разделить на две категории: NDIS-драйверы (Network Driver Interface Specification) и TDI-драйверы (Transport Driver Interface). TDI-драйверы – это высокоуровневые драйверы, например, SMB-клиент, SMB-сервер, обертки SMB (NFFS, MSFS) и т.п. NDIS – это специальный драйвер (ему соответствует файл ndis.sys), который содержит функции, используемые низкоуровневыми сетевыми драйверами. NDIS как бы обволакивает низкоуровневые сетевые драйверы и является посредником в их общении между собой и с железом. По сути NDIS можно считать третьим ядром Windows. Чтобы более четко уяснить себе что из себя представляет NDIS можно посмотреть на рисунке 1.1.

Рисунок 1.1 – Структура NDIS драйвера

Из рисунка 1 видно, что NDIS-драйверы бывают трёх типов:

– минипорт-драйверы (драйверы адаптера);

– промежуточные драйверы (например, psched.sys);

– драйверы протокола (например, tcpip.sys).

Минипорт-драйверы

У каждой сетевой карты есть свой минипорт-драйвер. Через NDIS минипорт-драйвер получает команды. Функции минипорт-драйвера можно описать следующим образом:

  • производит инициализацию своего устройства (адаптера);

  • создание /включение/выключение/удаление сетевых подключений;

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

  • отправка пакетов;

  • получение пакетов;

  • оповещение ОС о состоянии адаптера;

  • перезагрузка и остановка адаптера;

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

Минипорт-драйверы бывают «Connectionless» (например, драйвер Ethernet-адаптера) и «Сonnection-oriented» (например, драйвер модема). У Сonnection-oriented драйверов система коллбэков чуть сложнее, в нее входят обработчики событий, связанных с подключением к каналу связи, отключением от канала, выбором канала (для беспроводных адаптеров) и т.п. Для некоторых операций Сonnection-oriented драйверы вызывают специальные функции NDIS, отличающиеся префиксом «Со» в имени (например, вместо NdisMIndicateReceivePacket Сonnection-oriented драйвер должен вызывать NdisMColndicateReceivePacket).

Каждый коллбэк выполняет свою задачу: выдача информации, отправка данных, прием данных и т.п. Подробнее можно посмотреть в хелпе к WDK (DDK). Там можно получить полную информацию о коллбэках.
Драйверы протоколов могут передоверять минипорт-драйверу (при условии, что минипорт-драйвер это умеет – либо сам, либо адаптер умеет это делать на аппаратном уровне) некоторые свои функции (например, разграничить контрольную сумму или цифровую подпись IP-пакета или принять решение, как фрагментировать большой ТСP-пакет). Это значительно повышает производитель сети.

NDIS состоит из обязательной части – самого себя (файл NDIS.SYS), и теоретически неограниченного количества пользовательских драйверов, которые этот самый NDIS.SYS оборачивает. При этом обязан выполнить некоторые действия, чтобы подсистема NDIS вообще посчитала его местным, и смогла интегрировать в свой «стек». Необходимые условия для этого:

  • драйвер должен сам себя зарегистрировать. Это означает то, что драйвер при загрузке указывает ядру, что он есть на самом деле и какого он типа;

  • драйвер должен предоставлять минимальный набор интерфейсных функций, которые он предоставляет NDIS'у. Собственно, за эти функции NDIS и будет тягать этот самый драйвер;

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

Назначение драйвера (обычное назначение, т.е. для чего этот драйвер используется) устанавливается на этапе установки в его .INF файле.

Версии NDIS, поддерживающие различными версиями Windows, указаны в таблице 1.1.

Таблица 1.1 – Таблица версий NDIS и, поддерживающих их, версии ОС

Операционная система

Версия NDIS

Имя файла

MS-DOS

2.0

ndis.sys

Windows 3.11

3.0

ndis.386

Windows NT 3.5

3.0

Windows 95

3.1

ndis.vxd

Windows 95 OSR2

4.0

ndis.vxd

Windows NT 4.0

4.0

ndis.sys

Windows 98

4.1

ndis.vxd

Windows NT 4.0 SP3

4.1

ndis.sys

Windows Me

5.0

Windows 2000

5.0

ndis.sys

Windows XP

5.1

ndis.sys

Windows Server 2003

5.1

ndis.sys

Windows Server 2003 SP1

5.1

ndis.sys

Windows CE 4.2 (Pocket PC 2003)

5.1

ndis.dll

Windows CE 4.21 (Pocket PC 2003 SE)

5.1

ndis.dll

Windows CE 5.2 (Windows Mobile 6)

5.1

ndis.dll

Windows Server 2003 SP2

5.2

ndis.sys

Windows Vista

6.0

ndis.sys

Windows Server 2008

6.1

ndis.sys

Windows 7

6.20

ndis.sys

Windows 8

6.30

ndis.sys

1.4 DDK

DDK (Driver Development Kit) – набор из средств разработки, утилит, библиотек, заголовочных файлов, программного кода примеров и документации, который позволяет программистам создавать драйверы для устройств по определённой технологии или для определённой платформы (программной или программно-аппаратной). Название произошло от более общего термина SDK (англ. Software Development Kit), которым обозначают комплекты для разработки программ вообще, не только драйверов.

SDK (software development kit) – комплект средств разработки, который позволяет специалистам по программному обеспечению создавать приложения для определённого пакета программ, программного обеспечения базовых средств разработки, аппаратной платформы, компьютерной системы, игровых консолей, операционных систем и прочих платформ.

Характеристики

Тип файла
Документ
Размер
663,17 Kb
Высшее учебное заведение

Тип файла документ

Документы такого типа открываются такими программами, как Microsoft Office Word на компьютерах Windows, Apple Pages на компьютерах Mac, Open Office - бесплатная альтернатива на различных платформах, в том числе Linux. Наиболее простым и современным решением будут Google документы, так как открываются онлайн без скачивания прямо в браузере на любой платформе. Существуют российские качественные аналоги, например от Яндекса.

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

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

Список файлов ВКР

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6701
Авторов
на СтудИзбе
288
Средний доход
с одного платного файла
Обучение Подробнее