Похожие презентации:
Антивирусный сканер на Python (2)
1.
Индивидуальный проектпо специальности
«Кибербезопасность»
Создание антивируса на языке Python
Автор проекта: студент Зенков Иван В.
Преподаватель: Кокорин К. В.
Колледж цифровых технологий «Академия ТОП», Улан-Удэ, 2026
2.
Актуальность, проблема и противоречиеАктуальность:
Коммерческий софт загружает CPU на 100%.
Падает общая производительность системы.
Проблема:
Противоречие между уровнем безопасности и
быстродействием ПК
3.
Паспорт исследованияОбъект:
Методы защиты персональных данных от
вредоносного ПО
Цель проекта:
Разработка легковесного консольного
сигнатурного сканера на языке Python.
Предмет:
Алгоритм сигнатурного анализа файлов.
Рабочая гипотеза:
Структура set в ОЗУ обеспечит константное
время поиска O(1) и минимальную нагрузку
на систему при росте базы сигнатур.
4.
Задачи и метода исследованияЗадачи проекта:
Методы исследования:
1. Изучить теоретические основы
сигнатурного анализа.
1. Аналитические: анализ уязвимостей
файловых систем.
2. Спроектировать структуру базы данных
сигнатур.
3. Разработать и оптимизировать
сканирующий движок.
4. Провести ультимативное стресстестирование продукта.
1. Практические: прототипирование
алгоритмов хэширования.
1. Экспериментальные: нагрузочное
тестирование (14.5 ГБ данных).
5.
Ход реализации проекта1. Исследование и проектирование
Анализ ландшафта киберугроз и проектирование структуры
базы данных JSON.
2. Сборка базового движка (v1.0)
Реализация сканера с линейным поиском по списку. Выявлено
падение скорости O(N) при росте базы.
3. Оптимизация алгоритма (v2.0)
Перенос сигнатур в оперативную память во множество set.
Поиск ускорен до константного времени O(1).
4. Интеграция безопасности
Внедрение потокового чтения файлов блоками по 64 КБ для
защиты ОЗУ от перегрузок.
6.
Привлеченные ресурсыМатериально-технические:
● Персональный компьютер (ЦП 3.83 ГГц,
ОЗУ 23.9 ГБ).
● Накопитель SSD SATA (для стресстестов ввода-вывода).
● Среда разработки программного кода
Нематериальные и источники:
● Язык Python 3.13 и стек модулей
(hashlib, json, os, uuid).
● Документация Python Software
Foundation.
● Тестовые сигнатуры угроз (стандарт
EICAR)
7.
Продукт проекта● Тип продукта
○ утилита для быстрой фильтрации
известных угроз.
● Безопасность памяти
○ Потоковое чтение файлов
фиксированными чанками по 64 КБ.
● Карантин угроз
○ Изоляция вирусов в изолированную
директорию с изменением расширения
на .infected.
● Уникальность имени
○ Автоматическая генерация случайных
идентификаторов файлов через модуль
uuid.
8.
Положительные эффекты и перспективыПоложительные эффекты:
Перспективы развития:
1. Сканирование 14,5 ГБ данных
(178 файлов) заняло всего 88,42
секунды.
2. Нагрузка на CPU составила всего
~3%, нагрузка на GPU — 0%.
3. Система полностью свободна для
повседневных задач
пользователя.
1. Автоматическое обновление
базы сигнатур из открытых
репозиториев вредоносного ПО.
2. Разработка минималистичного
графического интерфейса на
библиотеке Tkinter или PyQt.
3. Добавление модуля
эвристического анализа для
выявления неизвестных угроз.
9.
Риски реализацииОстаточные риски и ограничения:
1. Продукт является «слепым»
антивирусом. Он эффективно
фильтрует известные угрозы из
базы данных, но не спасёт от
новых атак нулевого дня
(неизвестные угрозы). Для
полной безопасности требуется
синергия с эвристическими
коммерческими пакетами.
Преодоленные риски
1. Оптимизация алгоритма со
сложности O(N) до
константной O(1) через хэштаблицы (set).
2. Защита ОЗУ от тяжелых
файлов с помощью
потокового чтения чанками
по 64 КБ.
10.
Заключение проекта1. Выдвинутая в начале исследования гипотеза
полностью подтверждена результатами стресстестирования.
2. Разработан и успешно протестирован легковесный
консольный сигнатурный сканер на чистом языке
Python.
3. Поставленная цель исследования полностью
достигнута.