SPIRE: Создание антивируса на Rust. Часть 1
Проект SPIRE размещён в моём репозитории на GitHub.

Я разрабатываю SPIRE как надёжное решение для защиты от вредоносного ПО для операционных систем Linux и Windows, предназначенное для защиты пользователей от известных угроз и вредоносных программ.
Проект находится в стадии активной разработки
Зачем?
Цель проекта: Изначально я планировал создать Firewall просто, чтобы углубить свои знания языка программирования Rust. В процессе изучения материалов я часто сталкивался с публикациями антивирусных компаний, что вызвало у меня интерес. Это подтолкнуло меня к разработке собственного антивирусного ПО. Учитывая нехватку opensource проектов и ресурсов по этой теме на GitHub и других платформах, я решил внести свой вклад, создав новое решение.
Выбор Rust: Моя главная цель заключалась в совершенствовании навыков работы с Rust — языком, известным своей производительностью и безопасностью.
Использование нескольких языков: Хотя Rust обладает значительными преимуществами, создание полноценных приложений с графическим интерфейсом (GUI) на нём пока сопряжено с трудностями. Поэтому для разработки пользовательского интерфейса я выбрал Python за его простоту и доступность. Для серверной части я остановился на Go, который отличается эффективностью и подходит для моих задач.
Roadmap проекта
SPIRE находится в активной разработке, с регулярными обновлениями и доработками. Прогресс можно отслеживать через мою Kanban-доску на GitHub, где все задачи тщательно документируются, или через подробный список функций ниже.
Планируемые функции
Клиент
[ X ] Передача подозрительных файлов на сервер для детального анализа
[ ] Ведение логов, сбор телеметрии и их отправка на сервер
[ ] Автоматическое обновление базы данных с сервера
[ ] Реализация конфига (Исключения для файлов, процессов, директорий и т.д)
...
Ядро
[ X ] Сканирование указанных директорий на наличие угроз
[ X ] Выполнение сканирования с использованием правил YARA
[ ] Проведение поведенческого анализа файлов
[ ] Сканирование системы в реальном времени
[ ] Реализация фильтра TCP/IP траффика для вредоносных хостов и портов
[ ] Сканирование вновь созданных файлов на диске на наличие IOC
[ ] Анализ новых файлов на наличие "вредоносных" адресов импорта IAT
[ ] Анализ малвари в песочнице
...
Сервер
[ ] Разработка возможностей облачного сканирования файлов
[ ] Создание базового веб-сайта и API для приложения
...
Структура проекта
Модуль | Описание |
Av_core | Предоставляет основную функциональность, обнаружение угроз в реальном времени, алгоритмы сканирования и т.д. |
Av_cli | Интерфейс командной строки. |
Av_gui | Графический пользовательский интерфейс. |
Av_db | Модуль базы данных антивируса, в настоящее время хранит сигнатуры угроз и определения, используемые для идентификации вредоносного ПО. |
Usage
Внимание: Проект на данный момент не предназначен для массового использования; в процессе установки/использования/компилирования и т.д могут возникнуть ошибки. Вы можете сообщить о низ, чтобы я их исправил, но я не гарантирую, что проект будет работать безупречно и вообще будет работать. Это, в первую очередь, POC. На основной ветке могут присутствовать ошибки или незавершённые функции в процессе разработки.
Для установки нужно будет:
Скопировать репозиторий с github
и собрать проект
git clone https://github.com/Tokyo-09/spire
cd spire
cargo build --releaseПримеры использования

Заключение
Я очень воодушевлён потенциалом этого проекта. область разработки антивирусных программ очень сильно меня заинтересовала, и я полон желания продолжать развитие этого проекта. Этот блог создан для документирования процесса разработки, фиксируя как достигнутый прогресс, так и возникающие на этапе разработки проблемы и их решения.
Если у вас есть предложения или , пожалуйста, свяжитесь со мной через GitHub.