/RVision

Primary LanguageJupyter Notebook

Demo

Документация

Документация к R-Vision Assistant - аналитическому сервису по мониторингу угроз кибербезопасности, разработанной на хакатоне «Hack.Genesis», заказчик решения - R-Vision.

Вступление и описание решения

Система R-Vision Assistant является прототипом аналитического сервиса по мониторингу угроз кибербезопасности для полноценной помощи специалистам по ИБ.

Проект R-vision Assistant - cервис для сбора, визуализации и аналитики данных по угрозам кибербезопасности.

  • Выводит оперативный дашборд специалиста по ИБ, дает наглядную картину в любой момент - "что нового/вообще происходит в мире и в его сети сейчас";

  • Отображает подробную аналитику по событиям кибербезопасности за предыдущие периоды - в удобном и наглядном интерфейсе;

  • Позволяет отследить текущие тренды по угрозам, увидеть различные срезы и фильтры по событиям, сделать выводы и применить их в своей работе.

Уникальностью решения является не только удобный и понятный UX/UI-интерфейс, но и возможность работы с различными источниками о киберугрозах, а также возможность добавления новых. Большое количество вариантов визуализации и аналитических инструментов.

Стек проекта: NextJS, TypeScript, React, PostgreSQL, Mongo, Python, NLP Services, Docker.

У нас есть рабочая MVP-версия (минимально работоспособная версия продукта), которая не только обладает удобным интерфейсом, но достаточным функционалом, чтобы продемонстрировать основные аспекты решения задачи кейса. Мы запустили ее на внешнем сервере. При этом фронт в базовом варианте размещен на Firebase-сервисе, backend - на нашем product-сервере, подробно структура взаимодействия фронтенд и бекенд описана в инструкции в соответствующей папке в этом файле.

Спасибо организаторам за интересную задачу, мы будем рады продолжить сотрудничество!

Техническое описание проекта

Установка

Т.к. в проекте используется микросервисная архитектура, большая часть сервисов доступна для скачивания в виде контейнеров.

Для локального развертывания решения необходимо авторизоваться в GitHub Package Registry по инструкции и в корне проекта выполнить команду docker-compose up --build

Важно, что у вас должен быть установлен и запущен Docker.

После того, как установка всех необходимых зависимостей будет выполнена, вы сможете потестировать систему локально по ссылке http://localhost:3000/

Структура

  • Проект представляет собой монорепозиторий с прилинкованным субрепозиторием для Frontend (ссылка на папку frontend-service @ 881641e).
  • Исходный код серверной backend-части — в папке backend-service, исходный код ML/DS-моделей на Python — в виде отдельного микросервиса в папке data-service.
  • Дополнительный микросервис парсинга PDF с источников информации о киберугрозах и преобразования их в TXT - размещен в папке parser-service.
  • Основной скрипт анализа данных доступен также и в виде Jupiter Notebook - по этой ссылке.
  • Часть общих инструкций размещена в соответствующей папке.

Каждая директория по возможности содержит файл Makefile с базовыми командами.

Архитектура приложения

Приложение состоит из микро-сервисов, включая сервис авторизации, сервис моделей, сервис-ui и т.д. ML/DS-модели размещены отдельно и запускаются в docker-контейнерах в требуемом окружении.

Дополнительные материалы