Диссертация Кочарян С.Г — копия (1195360)
Текст из файла
СодержаниеВведение ................................................................................................................... 31 Среда и средства разработки............................................................................... 41.1 Комплект разработки драйверов Windows Device Driver Kit ................... 41.2 Межсетевой экран .........................................................................................
51.3 Среда NDIS .................................................................................................... 71.4 DDK .............................................................................................................. 111.5 Сетевая модель OSI ..................................................................................... 122 Принципы работы межсетевого экрана ........................................................... 172.1 Брандмауэр с фильтрацией пакетов .......................................................... 172.2 Политика организации брандмауэра .........................................................
183 Разработка NDIS драйвера в качестве межсетевого экрана .......................... 213.1 Структура драйвера..................................................................................... 213.2 Загрузка и инициализация драйвера ......................................................... 233.3 Механизм передачи информации на уровень пользователя ................... 254 Структура inf- файла .......................................................................................... 314.1 Секции inf-файла и основные общие правила ввода записей ................ 314.1.1 Секция описания версии «Version» ....................................................
334.1.2 Секция описания поставщика «Manufacturer» .................................. 364.1.3 Секция описания моделей аппаратуры «Models» ............................. 394.1.4 Секция «CopyFiles» .............................................................................. 414.1.5 Секции «ServiceInstall» ........................................................................
454.1.6 Секция «ClassInstall32»........................................................................ 474.1.7 Секции [DefaultInstall32.Xxx] и [DefaultInstall32.Xxx.Services] ...... 485 Фильтр пакетов ................................................................................................... 506 Фильтр HTTP трафика ....................................................................................... 557 Портирование драйвера на 64-битную систему.
............................................. 618 Установка драйвера............................................................................................ 709.1 Взаимодействие с драйвером .....................................................................
749.2 Загрузка драйвера ........................................................................................ 759.3 Результат работы драйвера ........................................................................ 789.4 Отладка брандмауэра .................................................................................. 799.4 Цифровое подписание драйвера ................................................................ 80Заключение ..........................................................................................................
844СПИСОК ИСПОЛЬЗУЕМЫХ ИСТОЧНИКОВ ................................................. 852ВведениеБрандмауэр представляет собой систему сетевой безопасности, котораяконтролируетисходящийивходящийсетевойтрафик,наосновеопределенных правил безопасности. Брандмауэр обычно создает барьермежду внутренней и внешней сетью, например, интернетом, которая считаетсянебезопасной и не надежной сетью. Брандмауэр 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 дней.31 Среда и средства разработки1.1 Комплект разработки драйверов Windows Device Driver KitПрограммы, работающие в режиме ядра, не могут пользоваться обычнымипрограммными интерфейсами Win32, поэтому при разработке драйверов режимаядра нельзя использовать привычные для многих программистов Win32заголовочные файлы и библиотеки.
Для разработки программ Win32 компанияMicrosoft предлагает использовать комплект разработки программ PlatformSoftware 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 и т. п.41.2 Межсетевой экранЗадача брандмауэра заключается в том, что он контролирует и фильтруетвесь трафик между компьютером и другими сетями. Без использованияфаерволла, на компьютер может поступать любой трафик. В случае, еслибрандмауэр включен, проходит только тот трафик, который разрешенправилами брандмауэра.Брандмауэр – это набор программ фильтрации сетевых пакетов имаршрутизации. Такие программы определяют, можно ли пропустить данныйпакет и если можно, то отправить его точно по назначению. Для того чтобыбрандмауэр мог сделать это, ему необходимо определить набор правилфильтрации. Главная цель брандмауэра – контроль удаленного доступа извнеили изнутри защищаемой сети или компьютера.В основе работы брандмауэра – задание системы правил, определяющихусловия прохождения пакетов.
Каждый пакет проверяется на соответствиеправилам, и по результатам проверки пакет либо пропускается, либоотбрасывается. В правилах могут быть установлены запреты или разрешенияна прохождения пакетов, сформированных по протоколам тех или иныхслужб, приходящих с конкретного IP-адреса, запрашивающих определенныйпорт компьютера и т.д. В брандмауэр обычно встроен счетчик количествапакетов и байтов, подвергнутых проверке на соответствие определенномуправилу.Приустановке сетевыхэкранов выбираютразрешительную илизапретительную стратегию. В работе это выглядит так: правила выстраиваютв пронумерованном порядке. Приоритет правила убывает с ростом номера.Пакеты пропускают сквозь строй правил, и если какое-то из нихвыставляет запрет, то дальше пакеты не пройдут.
При запретительнойстратегии последнее правило гласит: все запрещено, и пакеты, встретившиепри проходе через строй разрешающее, правило с меньшим номером, не будутотвергнуты и пройдут до места назначения. Так что настройка брандмауэра5сводится к формулированию правил и выстраиванию их в определенномпорядке.Брандмауэр позволяет частично решить проблемы, связанные с обеспечением безопасного функционирования вашей сети. Как бы хорошо он ни былнастроен, если вы вовремя не обновили программный пакет, в котором быланайдена уязвимость, или кто-то узнал ваши логин и пароль – ждите большихнеприятностей. Основная цель брандмауэра – разрешать функционированиетолько тем службам, которым было явно разрешено работать в вашей сети илизащищаемом компьютере.Основными компонентами брандмауэра являются:– политика безопасности сети;– механизм аутентификации;– механизм фильтрации пакетов.Понятие"брандмауэр"можетприниматьразличныезначениявзависимости от принципа, положенного в основу работы средств защиты,сетевой архитектуры и схемы маршрутизации.
Брандмауэры обычноразделяют на три типа:– брандмауэр с фильтрацией пакетов;– прикладной шлюз;– универсальный Proxy-сервер.Большинство брандмауэров с фильтрацией пакетов может пропускать илиотбраковывать пакеты на основе информации, позволяющей ассоциироватьданный пакет с конкретными отправителем и получателемБрандмауэр с фильтрацией пакетов действует на сетевом и транспортномуровнях и реализуется в составе операционной системы. Источникоминформации для фильтрации является содержимое заголовков IP-пакетов, наоснове которого брандмауэр принимает решение, по какому маршруту следуетнаправить пакет.61.3 Среда NDISСетевые драйверы можно разделить на две категории: NDIS-драйверы(Network Driver Interface Specification) и TDI-драйверы (Transport DriverInterface). TDI-драйверы – это высокоуровневые драйверы, например, SMBклиент, SMB-сервер, обертки SMB (NFFS, MSFS) и т.п.
NDIS – этоспециальный драйвер (ему соответствует файл ndis.sys), который содержитфункции, используемые низкоуровневыми сетевыми драйверами. NDIS как быобволакивает низкоуровневые сетевые драйверы и является посредником в ихобщении между собой и с железом. По сути NDIS можно считать третьимядром Windows. Чтобы более четко уяснить себе что из себя представляетNDISможнопосмотретьнарисунке1.1.Рисунок 1.1 – Структура NDIS драйвера7Из рисунка 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).8Каждый коллбэк выполняет свою задачу: выдача информации, отправкаданных, прием данных и т.п.
Характеристики
Тип файла PDF
PDF-формат наиболее широко используется для просмотра любого типа файлов на любом устройстве. В него можно сохранить документ, таблицы, презентацию, текст, чертежи, вычисления, графики и всё остальное, что можно показать на экране любого устройства. Именно его лучше всего использовать для печати.
Например, если Вам нужно распечатать чертёж из автокада, Вы сохраните чертёж на флешку, но будет ли автокад в пункте печати? А если будет, то нужная версия с нужными библиотеками? Именно для этого и нужен формат PDF - в нём точно будет показано верно вне зависимости от того, в какой программе создали PDF-файл и есть ли нужная программа для его просмотра.