Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсовая работа.docx
Скачиваний:
0
Добавлен:
26.04.2026
Размер:
548.34 Кб
Скачать

1.4 Модуль проверки работоспособности антивируса

Функция проверки работоспособности антивируса тестирует способность системы обнаружения вредоносного программного обеспечения путём создания тестового файла EICAR. По умолчанию файл создаётся на рабочем столе пользователя с именем "eicar_test.txt", содержащий специальную тестовую строку, которая распознаётся антивирусами как потенциальная угроза. После создания файла функция ожидает 3 секунды, предоставляя антивирусу время для анализа и реакции на потенциальную угрозу. По истечении времени ожидания выполняется проверка состояния тестового файла. По результатам проверки оценивается реакция антивирусной системы. В случае, если файл был удалён, выводится сообщение "Работает (файл удален)", что свидетельствует об активной работе антивируса. Если файл остался на диске, но его содержимое было изменено, выводится сообщение "Работает (файл изменен)". При невозможности доступа к файлу из-за блокировки антивирусом выводится сообщение "Работает (файл заблокирован)". Если файл остался без изменений, выводится сообщение "Не реагирует на угрозы", указывающее на возможные проблемы в работе антивирусной защиты. Блок схема данной функции представлена на рисунке 1.4.1. Работа модуля представлена на рисунках 1.4.2 – 1.4.3. Программный код модуля представлен в листинге 4.

Рисунок 1.4.1 – Блок схема модуля проверки работоспособности антивируса

Рисунок 1.4.2 - Окно проверки работоспособности

Рисунок 1.4.3 – Окно результатов работы программы

Листинг 4 – Программный код модуля проверки работоспособности антивируса

def check_antivirus_working(self):

def task():

self.start_progress()

self.update_status("Проверка работоспособности АВ...")

try:

# Создание тестового EICAR файла

eicar_test_string = r"X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*"

desktop_path = os.path.join(os.path.expanduser('~'), 'Desktop')

test_file_path = os.path.join(desktop_path, 'eicar_test.txt')

# Записываем тестовый файл на рабочий стол

with open(test_file_path, 'w') as f:

f.write(eicar_test_string)

# Даем время антивирусу на реакцию

import time

time.sleep(3)

if os.path.exists(test_file_path):

try:

with open(test_file_path, 'r') as f:

content = f.read()

if content == eicar_test_string:

self.antivirus_working = "Не реагирует на угрозы"

else:

self.antivirus_working = "Работает (файл изменен)"

except PermissionError:

self.antivirus_working = "Работает (файл заблокирован)"

except Exception as e:

self.antivirus_working = f"Ошибка чтения: {str(e)}"

# Пытаемся удалить файл с рабочего стола

try:

os.remove(test_file_path)

except:

pass

else:

self.antivirus_working = "Работает (файл удален)"

except Exception as e:

self.antivirus_working = f"Ошибка проверки: {str(e)}"

self.stop_progress()

self.update_status("Проверка АВ завершена")

self.update_results_table()

threading.Thread(target=task).start()

Соседние файлы в предмете Методы и средства защиты информации в компьютерных сетях