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

Диссертация Кочарян С.Г — копия (1195360), страница 9

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

Текст из файла (страница 9)

Otherwise, complete the IRP.//Irp->IoStatus.Status = status;IoCompleteRequest(Irp, IO_NO_INCREMENT);return(status);}65Ниже приведена 64-разрядная версия драйвера:Header File#define REGISTER_FUNCTION 0 // Define the IOCTL function code#ifdef _WIN64#define CLIENT_64BIT 0x800#define REGISTER_FUNCTION 0#define IOCTL_REGISTER CTL_CODE(FILE_DEVICE_UNKNOWN, \CLIENT_64BIT|REGISTER_FUNCTION, METHOD_BUFFERED,FILE_ANY_ACCESS)#else#define IOCTL_REGISTER CTL_CODE(FILE_DEVICE_UNKNOWN, \REGISTER_FUNCTION, METHOD_BUFFERED, FILE_ANY_ACCESS)#endiftypedef struct _IOCTL_PARAMETERS {PVOID Addr;SIZE_T Length;HANDLE Handle;} IOCTL_PARAMETERS, *PIOCTL_PARAMETERS;DeviceControl Dispatch Routine#ifdef _WIN64#define IOCTL_REGISTER_32 CTL_CODE(FILE_DEVICE_UNKNOWN, \REGISTER_FUNCTION, METHOD_BUFFERED, FILE_ANY_ACCESS)#endif...66#ifdef _WIN64typedef struct _IOCTL_PARAMETERS_32 {VOID*POINTER_32 Addr;INT32 Length;VOID*POINTER_32 Handle;} IOCTL_PARAMETERS_32, *PIOCTL_PARAMETERS_32;#endif...NTSTATUSTestdrvDeviceControl(IN PDEVICE_OBJECT DeviceObject,IN PIRP Irp){PIO_STACK_LOCATION irpSp;NTSTATUS status;PIOCTL_PARAMETERS params;IOCTL_PARAMETERS LocalParam;PIOCTL_PARAMETERS_32 params32;////Get a pointer to the current parameters for this request.

The//information is contained in the current stack location.//irpSp = IoGetCurrentIrpStackLocation(Irp);//// Case on the device control code//67switch (irpSp->Parameters.DeviceIoControl.IoControlCode) {#ifdef _WIN64case IOCTL_REGISTER_32:params32 = (PIOCTL_PARAMETERS_32)(Irp->AssociatedIrp.SystemBuffer);if (irpSp->Parameters.DeviceIoControl.InputBufferLength <sizeof(IOCTL_PARAMETERS_32)) {status = STATUS_INVALID_PARAMETER;} else {LocalParam.Addr = params32->Addr;LocalParam.Handle = params32->Handle;LocalParam.Length = params32->Length;/* Handle the ioctl here */status = STATUS_SUCCESS;Irp->IoStatus.Information = 0;}break;#endifcase IOCTL_REGISTER:params = (PIOCTL_PARAMETERS)(Irp->AssociatedIrp.SystemBuffer);if (irpSp->Parameters.DeviceIoControl.InputBufferLength <sizeof(IOCTL_PARAMETERS)) {status = STATUS_INVALID_PARAMETER;} else {RtlCopyMemory(&LocalParam, params,sizeof(IOCTL_PARAMETERS));/* Handle the ioctl here */status = STATUS_SUCCESS;}68Irp->IoStatus.Information = 0;break;//// Unrecognized device control request//default:Irp->IoStatus.Information = 0;status = STATUS_INVALID_PARAMETER;break;}//// If status is pending, mark the IRP pending and start the// request in a cancelable state.

Otherwise, complete the IRP.//Irp->IoStatus.Status = status;IoCompleteRequest(Irp, IO_NO_INCREMENT);return(status);}698 Установка драйвераПри установки любого драйвера его необходимо зарегистрировать вреестре системы. Чтобы это осуществить в ОС предусмотрено множествоспособов. Но кроме регистрации необходимо привязать драйвер к конкретнымустройствам, а также произвести настройку драйвера.Мой драйвер является NDIS Miniport драйвером, для таких драйверов всистеме есть встроенные средства установки и настройки драйверов. Чтобызапустить мастер установки необходимо открыть свойства любого сетевогосоединения в окне «Сетевые подключения» (рисунок 8.1).Рисунок 8.1 – Окно сетевые подключенияВ открывшихся свойствах на закладке «Общие» (рисунок 8.2.1) или «Сеть»(рисунок 8.2.2), в зависимости от типа сетевого подключения, необходимонажать кнопку «Установить» для запуска мастера установки сетевыхкомпонентов.701)2)Рисунок 8.2 – Закладка «Общие» для сетевой карты(1) и Закладка «Сеть»для виртуальных соединений и модемов(2)В открывшемся окне мастера (рисунок 8.3) выбрать тип компонентаслужба и нажать кнопку «Добавить».

Появится стандартное окно установкидрайверов с заголовком «Выбор сетевой службы» (рисунок 8.4.1). Еслидрайвер не разу не устанавливался, то его не будет в списке сетевых служб, втаком случае необходимо нажать кнопку установить с диска. В открывшемсяокне необходимо указать папку, в которой находятся следующие файлы:netsf.inf, netsf_m.inf, MyFireWall.dll, MyFireWall.sys. После этого опятьпоявится окно «Выбор сетевой службы» в котором будут перечисленыдрайвера сетевых служб, находящихся в выбранной папке (рисунок 8.4.2).71Рисунок 8.3 – Окно мастера установки компонентов1)2)Рисунок 8.4 – Окно установки драйверов сетевых служб, установленных всистеме(1) и из выбранной папки (2)Из них необходимо выбрать драйвер «MyFireWall driver».

После этогосистема сама установит и пропишет драйверы, но при этом сообщит чтодрайвер не имеет цифровой подписи (рисунок 8.5), которую выдаёт толькокорпорация Microsoft, в открывшемся окне необходимо будет на жать «Всеравно продолжить».72Рисунок 8.5 – Сообщение об отсутствии цифровой подписи у драйвераПосле всех выполненных действий, система запустит драйвер. Которыйнеобходимо будет настроить с помощью мастера. Для запуска мастеранеобходимо будет запустить программу Master.exe. После настройки драйвербудет работать в полностью автономном режиме.739 Проверка и тестирование межсетевого экранаКак и любую другую программу, драйвер межсетевого экрана необходимопротестировать, прежде чем начинать работу с ним. Так как у драйвераневозможно использовать режим отладки, будет проводиться тестирование, тебудут задаваться разные режимы и настройки драйвера, после этого будетанализироваться лог работы драйвера, на соответствие выбранному режиму.Тестирование будет проводиться на компьютере, подключенном сразу кИнтернету и локальной сети.9.1 Взаимодействие с драйверомДля взаимодействия с драйвером был разработан класс TFireWall, которыйи осуществляет доступ ко всем функциям драйвера.

Такая организацияпозволяет достаточно просто взаимодействовать с драйвером.При создании объекта класса используется конструктор, который вкачестве параметров получает имя драйвера в системе, и указатель на объекткласса TStrings, который используется в качестве лога работы класса. Длядоступа получения доступа к драйверу используется функция API CreateFileкоторой в качестве параметра передаётся имя драйвера.Для непосредственного доступ к функциям драйвера используетсяфункция DeviceIOCTRL которая в качестве параметров принимает номерфункции, указатель на буфер и максимальный передаваемый и получаемыйразмер буфера, а возвращает размер полученных данных в буфере/6/.DeviceIOCTRL использует функцию API DeviceIoControl для взаимодействияс драйвером.ФункцииGetQP_PacketData,ReadLog,GetQueryPacket,QP_PacketDel,GetQP_PacketDataSize,WritePraviloTable,ReadPraviloTable,SetTableHTTPHost и SetTableHTTPURL функции, обращающиеся напрямуюксоответствующимфункциямдрайвераIOCTRLGetLog,74IOCTRLGetQueryPacket,IOCTRLGetQP_PacketDataSize,IOCTRLGetQP_PacketData, IOCTRLQP_PacketDel, IOCTRLWriteTablePravilo,IOCTRLReadTablePravilo,IOCTRLWriteTableHTTPHostиIOCTRLWriteTableHTTPURL.9.2 Загрузка драйвераПрежде чем начинать проверку драйвера необходимо проверить загруженли сам драйвер и если загружен, то удостоверится, что версия загруженногодрайвера является последней.

Для того чтобы проверить, что программаполучила доступ к драйверу необходимо просмотреть лог работы программы.В случае если программа получила доступ, то лог будет содержать следующиестроки:Device openVersion:V0.5aА если программа не смогла открыть драйвер, то лог будет содержатьстроку:Error:device not openТак что для проверки необходимо всего лишь просмотреть лог работыпрограмм, который выводится в нижнюю часть основной формы.

Также дляповторногоподключенияможноиспользоватьменюпрограммы(ДрайверОткрыть). В появившемся окне надо будет указать имя драйвера.С помощью утилиты DriverView (рисунок 9.1) можно убедиться чтодрайвер MyFirewall.sys действительно установился на рабочую станцию.7576Рисунок 9.1 – Программа DriverViewУтилита DriverView (рисунок 9.1) отображает список всех драйверовустройств, загруженных в настоящий момент в вашу систему.

Для каждогодрайвера в списке отображается дополнительная полезная информация: адресзагрузки драйвера, описание, версия, название продукта, компания, создавшаядрайвер, и многое другое.Также, с помощью программы DebugView (рисунок 9.2) можно отследитьвывод отладки драйвера в нашей системе.Рисунок 9.2 – Результат программы DebugView779.3 Результат работы драйвераВсе действия, которые выполняет драйвер с пакетами, отображаются влоге работы драйвера. Мастер настройки драйвера выводит данный лог вотдельном окне (Рисунок 9.3). В этот лог выводится информация обобработанных пакетах. Одна запись в логе означает один обработанный пакет.Для всех пакетов выводится следующая информация: IP адрес отправителя, IPадрес получателя, Направление, Действие, Размер пакета, Размер данных,время и правило которое было применено при обработке пакета.Рисунок 9.3 – Окно «Результат работы драйвера»В поле «Направление» может значение только «In» или «Out».

«In» - пакетполучаемый из сети, а «Out» - пакет отправляемый в сеть. Поле Протоколпоказывает, к какому протоколу из семейства протоколов TCP/IP, относитсяпакет, может иметь одно из следующих значений: IP, ICMP, IGMP, GGP, TCP,PUP, UDP, IDP, IPV6, ND, ICLFXBM, RAW. Поле «Действие» показываетдействие, которое выполнил драйвер над пакетом. Драйвер выполняет всегодва действия над пакетом: удаление(«Del»), пропуск пакета(«Skip»). Поле«Размер пакета» показывает полный размер пакета, а поле «Размер данных»показывает размер пакета за вычетом заголовков. Поле «Правило ID»78показывает под какое правило попал пакет и выводит номер этого правила изтаблицы правил, если данное поле содержит надпись «Default» значил пакетне подпал не под одно из правил. Поля «Локальный порт» и «Удалённый порт»выводятся только у протоколов TCP и UDP.

Поле «Время» показывает, в какоймомент произошла обработка пакета по системному времени. Используемыйформат времени «DD.MM.YYYY hh:mm:ss.ms», где DD – день, MM – месяц,YYYY – год, hh – часы, mm – минуты, ss – секунды, ms – миллисекунды.Обновление лога происходит примерно 3 раза в секунду. Что позволяетнесильно загружать процессор и в тоже время достаточно быстро длявосприятия человека.9.4 Отладка брандмауэраВ общем случае, тесты для драйвера (предполагая, что аппаратноеобеспечение тестируется дополнительно) можно разделить на следующиекатегории:тесты на нормальную реакцию должны подтверждать полноту иточность функций драйвера.

Откликается ли драйвер на команды, как это отнего ожидается;тесты на ошибочные воздействия должны удостовериться, правильноли реагирует драйвер на воздействия, которые, вообще говоря, не должны кнему применяться. "Ошибочное" воздействие может также состоять в плохомнаборе данных, поступившем в пользовательском запросе;тесты граничных условий испытывают анонсированные пределыфункционирования драйвера и устройства. Не исключено, что в силу работыдрайвера в системе конечные предельные параметры окажутся хужепрогнозируемых;тесты на предельную нагрузку проверяют драйвер и устройство привысоких уровнях активности;79тесты на функционирование в условиях ограниченности ресурсов, тоесть работа при ограниченной доступности центрального процессора,ограниченность объемов доступной оперативной памяти;Фирма Microsoft предлагает тесты на аппаратурную совместимость (HCT,Hardware Compatibility Tests), которые являются официальными тестами дляаппаратуры по поводу возможности ее работы под Windows 2000/XP/2003.Набор включает следующие тесты:общие системные тесты, которые экзаменуют центральныйпроцессор, последовательные и параллельные порты материнской платы,клавиатуру и средства поддержки слоя аппаратный абстракций HAL;атесты по проверке специфических типов аппаратного обеспечения,именно–видеоадаптеров,мультимедийныхустройств,сетевыхинтерфейсов, накопителей на магнитной ленте, SCSI устройств и т.п;общие тесты по тестированию работы системы под действиемвысоких нагрузок на системные ресурсы и устройства ввода/вывода;Тестирование проходит под управлением тест-менеджера с графическиминтерфейсом,которыйавтоматизируетпрохождениетестовисборрезультатов.

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

Тип файла
PDF-файл
Размер
1,14 Mb
Высшее учебное заведение

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

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