Антивирусное ПО
Автор: Anaganizma • Январь 24, 2020 • Контрольная работа • 5,509 Слов (23 Страниц) • 309 Просмотры
Содержание:
Введение 3
1. Технические требования к ПО 4
2. Описание базовых функции антивируса 4
3. Состав исполняемых файлов антивируса 5
4. Пользовательский интерфейс и взаимодействие с антивирусным ПО 5
Выводы 20
Список литературы 21
Введение
Реализуем Антивирусное средство, которое будет значительно упрощенно по сравнению с любыми современными вариантами. С возможностью рекурсивного сканирования заданных папок и всех вложенных в неё папок. На выходе выводит список файлов и если нужно размеры этих файлов. Антивирусное ПО работает на базе сигнатурного поиска. Принцип работы самых первых антивирусов полностью совпадает с работой алгоритмов сигнатурного поиска. Алгоритм сканирует файл и ищет участки данных, которые совпадают с уже известными фрагментами информации. Именно так и антивирус сканирует файлы, но ищет фрагменты вирусов и сопоставляет их с уже известными фрагментами кода вируса. Надо отметить, что заголовки многих типов файлов содержат вполне характерные последовательности определенных символов. Антивирусное ПО написано на языке C/C++. Используется алгоритма хеширования SHA-256. SHA-256 представляет собой однонаправленную функцию для создания цифровых отпечатков фиксированной длины (256 бит, 32 байт) из входных данных размером до 2,31 эксабайт (2⁶⁴ бит) и является частным случаем алгоритма из семейства криптографических алгоритмов SHA-2. Исходное сообщение после дополнения разбивается на блоки, каждый блок — на 16 слов. Алгоритм пропускает каждый блок сообщения через цикл с 64 итерациями. На каждой итерации 2 слова преобразуются, функцию преобразования задают остальные слова. Результаты обработки каждого блока складываются, сумма является значением хеш-функции.
1. Технические требования к ПО
1) Рекурсивное сканирование каталогов;
2) Распознавание следующих форматов файлов:
2.1) Исполняемые файлы – elf (linux), pe (windows);
2.2) Архивные файлы – zip (содержащие исполняемые файлы);
3) Собственная сигнатурная база.
2. Описание базовых функции антивируса
Базовые функции движка антивируса находятся в файле antivirus_engine.c.
Краткое назначение описание всех базовых функций движка антивируса:
- antivirus_load_sig_db - разбор текстовой базы сигнатур и формирование массива сигнатурных записей.
- antivirus_set_debug_print - устанавливает новое значение уровня отладки, (выдача сообщений).
- antivirus_search_in_memory_buffer - поиск в буфере до первого совпадения.
- antivirus_check_binary_file - загрузка всего содержимого файла и поиск при помощи antivirus_search_in_memory_buffer(), используя последовательный поиск (byte-to-byte).
- antivirus_check_pe_file - загрузка содержимого секции кода файла PE-формата и поиск при помощи antivirus_search_in_memory_buffer(), используя byte-to-byte поиск. Только для файлов PE-формата.
- antivirus_check_elf_file - загрузка содержимого секции кода файла ELF-формата и поиск при помощи antivirus_search_in_memory_buffer(), используя byte-to-byte поиск. Только для файлов ELF-формата.
- antivirus_check_zip_file - разбор файла ZIP-формата, затем для каждого файла из архива. Только для файлов ZIP-формата.
3. Состав исполняемых файлов антивируса
Краткое описание файлов поставки антивируса приведено в таблице 1.
Таблица 1. Состава файлов в поставке антивируса.
Название файла | Описание |
demo_antivirus_sig.db | Демонстрационная база сигнатур |
sha2prog.exe | Программа генерации SHA2 хеша |
antivirus_engine.exe | Тестовая программа для проверки функций движка |
antivirus_file_scanner.exe | Консольный файловый сканер |
4. Пользовательский интерфейс и взаимодействие с антивирусным ПО
- Программа antivirus_engine.
Проверка функций движка антивируса происходит с помощью программы antivirus_engine.exe.
Синтаксис ее запуска:
antivirus_engine.exe имя-базы-сигнатур [имя-файла [anydebug]]
...