Skip to content

progressionnetwork/vtb_handler_full

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Хакатон VTB.

Кейс: Инструмент обеспечения безопасности API

Задача: Создать механизм извлечения и проверки вложенных объектов в сообщениях

Вызовы:

  • Учёт всевозможных видов атак: файловые бомбы, эксплоиты, вредоносные вложения;
  • Проверка с минимальной задержкой;
  • Сохранение сложной структуры после обработки;
  • Парсинг и обработка сложной архитектура файлов;
  • Неизвестная глубина и количество вложений;
  • Нет конкретных примеров файлов;
  • Работа в закрытом контуре без взаимодействия с внешними сервисами;
  • Протоколирование и статистика обработанных файлов и вложений;

Dashboard, панель администратора:

alt text Кабинет администратора позволяет видеть статистику по объектам и вложениям, дате и времени проверки, хэшу файла и статусу проверки.

Что сделали на хакатоне:

  • Создан веб сервис с бекендом и фронтендом, реализацией бизнес логики, которая взаимодействует с API банка для получения сообщений и передачи обработанных объектов.
  • Создан генератор многоуровневых XML;
  • Конфиг позволяет регулировать диапазон глубины вложенности, количество файлов, выбирать типы файлов для упаковки;
  • Создан рекурсивный парсер вложений xml;
  • Парсер работает с любым уровнем вложенности, понимает любые виды тегов и достаёт файлы упакованные base64;
  • Создан механизм проверки на вредоносы;
  • Сигнатураня проверка Yara, проверка антивирусом ClamAV, эвристическая проверка по набору признаков и блеклисту;
  • Создан механизм обратной сборки xml;
  • Генерируется итоговый xml файл с учетом вложенности объектов;

Механизм работы сервиса:

  1. Встраивание в процесс обмена сообщениями по API
  2. Получение сообщения по API и извлечение объекта(ов)
  3. Парсинг XML, извлечение вложенных сущностей
  4. Определение типов вложений, структурирование на уровне ФС
  5. Распаковка архивов, вложенных файлов
  6. Проверка потенциально вредононсных объектов и их удаление
  7. Обратная сборка XML файла и передача в сообщения по API

Механизмы проверки объектов:

  • Сигнатурный поиск по базе вредоносов через Yara Engine
  • Расширяемый набор правил, блеклистов по эвристическим правилам
  • Подключение анивирусов для проверки извлеченных файлов
  • Проверка макросов в офисных документах
  • Использование black-листов, white-листов и middle-листов для прогнозирования

Как улучшить решение?:

Планы на будущее...

  • Внедрение ML алгоритмов проверки
  • Динамическая проверка с запуском
  • Реализация модели классификатора
  • Горизонтальное масштабирование
  • Расширенная статистика, аналитика, тренды

Стек используемых технологий и библиотек:

  • Python
  • Yara Engine
  • Json lib
  • Django
  • TAR Lib
  • Redis
  • XML Parser
  • ClamAV Engine
  • ZIP Lib
  • 7z Lib
  • Docker
  • Vuejs lib
  • Nginx
  • Celery lib
  • Django rest framework
  • Axios
  • PostgreSQL

Сгенерированный xml файл со случайной вложенностью и случайными файлами:

alt text

Команда k0b1x \ 2021.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published