файлу, який було змінено.
FOPNL_API ULONG FOPNL_ControlChangedList(IN OUT ULONG* cmdres) – функція для керування списком знінених файлів. Параметр cmdres повертає нуль якщо якщо список переповнено. Приймає одиницю щоб очистити список або нуль щоб виявити, чи є список переповнений.
FOPNL_API ULONG FOPNL_BlockFileByName(IN WCHAR* file_name) – блокує файл за ім’ям. Ім’я файлу повинно починатися з «DEVICE\HARDDISKVOLUME1\».
3.5 Реалізація клієнтського додатку
Для того щоб інформаційна система була повною, треба розробити клієнтський додаток, який буде працювати з драйвером та сканувати перехоплені файли. Для реалізації такого додатку створимо MFC аплікацію. Вона буде посилати команди драйверу, а також отримувати нотифікації. Працювати з драйвером будемо завдяки розробленій бібліотеці fopn.dll, яка огортає системні визови IOGetDeviceControl. Алгоритм роботи клієнтського додатку було описано в п. 3.3( див. мал. 3.3.1 ). Клієнтський додаток створює поток у якому визиває постійно функцію FOPN_GetNotification() бібліотеки fopn.dll. Якщо функція повертає не пусту нотифікацію, тоді додаток запускає Perl скрипт для сканування файлу. Якщо скрипт знаходить вірус, тоді клієнтський додаток визиває одну з функцій FOPNL_UnlockFile або FOPNL_UnlockLM.
3.5.1 Методи реалізовані в скрипті вірусного сканеру
– цей метод потрібен для того щоб створювати новий об’єкт File::Scan.
Слідуючі ключі можуть бути задані:
extension => якщо файл інфіковано вірусом, його розширення буде замінено на зазначене в цьому параметрі.
move => ім’я директорії до якої буде перенесено інфікований файл.
copy => ім’я директорії до якої буде скопійовано інфікований файл.
delete => якщо встановити 0, тоді файл буде заливено, в іншому випадку інфікований файл буде знищено.
max_bin_size => встановлює обмеження на файли, що скануються. Якщо встановити 0, тоді всі файли будуть про скановані, розмір по-замовчуванню – 10240 Кб.
Цей метод сканує файл на віруси. Основний код програми розташовано у даній функції. Пошук по сигнатурах дуже легко реалізувати завдяки вбудованим процедурам пошуку язику Perl. Якщо у файлі було знайдено вірус, тоді повертається назва вірусу. Алгоритм роботи функції зображено на мал. 3.5.1
Мал. 3.5.1 Алгоритм роботи функції
Цей метод повертає число від 0 до 4 якщо файл було пропущено. Слідуючі коди можуть бути повернені:
Код | Значення
0 | Файл не було пропущено
1 | Файл не може бути відкритий
2 | Розмір файлу – 0
3 | Розмір файлу дуже маленький
4 | Розмір файлу перевищую задане значення
Код | Значення
0 | Файл не є підозрілим
1 | Файл є підозрілим
Цей метод повертає текст повідомлення про помилку.
3.6 Застосування інформаційної системи
Для застосування системи необхідно встановити драйвер і запустити тестову программу. Всі необхідні налаштування містяться в программі. Программа підтримує встановлення правил, які активуються коли та чи інша дія має місце. Программа виводить результати у вікно виводу, що дає змогу побачити всі деталі операції.
ВИСНОВОК
В результаті проведеної роботи було розроблено програмний монітор та глибоко вивчено предметну галюзь, можливости і способи вдосконалення системи моніторингу.
Це дослідження допомогло розширити розуміння і навички системного програмування NT. Автор системи планює подальше розширення системи оскільки вона представляє собою вигідну комерційну пропозицію.
Було перечитано десятки інтернет видань і журналів на тему системного програмування і написання драйверів; все це стало основою для якісного підходу вирішення завдання. Частина розробленого комплексу вже ліцензована і використовуєтся в галузі захисту інформації. Система розбита на модулі, кожен з яких може окремо розвиватись вдосконалюючи всю систему загалом.
СПИСОК ВИКОРИСТАНОЇ ЛІТЕРАТУРИ
Безруков Н.Н. Компьютерная вирусология. - К.: УРЕ, 1991.
Семьянов П. Красная волна. // НОВИНТЕХ, 1991, N 2.
Моисеенков И. Безопасность компьютерных систем. // Компьютер Пресс, 1991, N 10-12.
Thompson K. Reflection on trusting trust. // CACM, 1984,v. 27, N 8.
Защита программного обеспечения. Под ред. Гроувера Д. -М.: Мир, 1992.
Семьянов П., Зегжда Д. Анализ средств противодействия исследованию программного обеспечения. // Компьютер Пресс, 1993, N11.
Расторгуев С.П., Дмитриевский Н.Н. Искусство защиты и "раздевания" программ. - М.: 1991.
Спесивцев А.В. и др. Защита информации в персональных ЭВМ. М.: Радио и связь, 1992.
Cohen F. Computer viruses - theory and experiments. Proceedings of the 7th National Computer Security Conference. -1984.
Leonard M. Adleman. An Abstract Theory of Computer Viru-ses. Proceedings of CRYPTO-88 conference. - 1988.
Зегжда Д. П., Котляров В. П. Средство сертификации и контроля несанкционированного доступа программ и данных компьютерных сетей. Тезисы докладов третьего всесоюзного семинара "Качество программного обеспечения". - М.: Алгоритм, 1991.
Касперский Е. Компьютерные вирусы: эволюция вверх, вниз и в стороны. Материалы эхо-конференции SU.VIRUS. - 1994.
Зегжда Д.П., Матвеев В.А., Молотков С.В., Тихомиров Ю.В., под редакцией Шмакова Э. М. Защита информации в компьютерных системах. Теоретические аспекты защиты от вирусов. - СПб.: СПбГТУ, 1993.
Cohen F. Computer viruses. Theory and experiments // Adv.Comput. Syst. Secur. Vol. 3 - Norwood (Mass), 1988.
Зегжда Д.П., Матвеев В.А., Мешков А.В., Семьянов П.В. Автоматизация анализа безопасности программного обеспечения. Тезисы докладов республиканского научно-технического семинара "Методы и технические средства защиты информации". - Обнинск: 1993.
Peterson P.E. Virus Definition Revisited. Материалы эхо-конференции comp.virus. - 1994.
Заморин А.П., Марков А.С. Толковый словарь по вычислительной технике и программированию. Основные термины. - М.:Рус.яз., 1988.
Вирт Н. Алгоритмы и структуры данных. - М.:Мир, 1989.
Матвеев В.А., Молотков С.В., Зегжда Д.П., Мешков А.В., Семьянов П.В., Шведов Д.В. Основы верификационного анализа безопасности исполняемого кода программ. - СПб.:СПбГТУ, 1994.
Экспертные системы. Принципы работы и примеры. Под ред. Р. Форсайта. - М.: Радио и связь, 1987.