Проект SPIRE размещён в моём репозитории на GitHub.

Spire logo
Spire logo

Я разрабатываю 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. На основной ветке могут присутствовать ошибки или незавершённые функции в процессе разработки.

Для установки нужно будет:

  1. Скопировать репозиторий с github

  2. и собрать проект

git clone https://github.com/Tokyo-09/spire
cd spire
cargo build --release

Примеры использования

Заключение

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

Если у вас есть предложения или , пожалуйста, свяжитесь со мной через GitHub.