Система идентификации установленного ПО на основе анализа данных
- Заказчик:
- ПАО Сбербанк
- Руководитель проекта со стороны заказчика
- Год завершения проекта
- 2025
- Сроки выполнения проекта
- ноябрь, 2024 — октябрь, 2025
- Масштаб проекта
- 2000 автоматизированных рабочих мест
- Цели
Предпосылки: В банке используется более 1200 серверных программных продуктов, разворачиваемых в различных средах. Наличие оперативной информации об экземплярах (установках) ПО, а также его версии является важной задачей для надёжности и кибербезопасности Банка и требует ежедневного анализа огромного количества артефактов. При этом не существует единого способа идентификации для всех продуктов.
Обеспечение идентификации экземпляров всех программных продуктов и поддержание её в актуальном состоянии силами выделенной команды потребовало бы 30-40 специалистов с компетенцией по нескольким программным продуктам одновременно.
Цель: создать систему, которая позволит профильным экспертам по программным продуктам самостоятельно с минимальными трудозатратами анализировать множество доступных артефактов и настраивать модели идентификацию экземпляров ПО, накопить данные для обучения AI-модели и минимизировать участия человека в идентификации новых версий программных продуктов.
-
Реализована ежедневная поставка артефактов ПО с 600+ тыс. серверов и 3.65+ млн. контейнеров. (В сумме система ежедневно обрабатывает более 1 млрд. артефактов)
-
Реализован UI конструктора алгоритмов, позволяющий эксперту по ПО в несколько кликов создавать новые правила идентификации
-
Экспертами описано 7.3 тыс. алгоритмов по 530 продуктам, на основании которых обнаруживается 4.1 млн. экземпляров
-
Адаптированы и внедрены рекомендации стандарта 19770 для разметки экземпляров ПО заказной и собственной разработки
-
Скорость реализации идентификации нового продукта/версии продукта увеличилась в 10 раз без увеличения численности экспертов по ПО
-
Уникальность проекта
-
Количество объектов и объём ежедневно собираемых обновляемых данных о них: 600+ тыс. серверов, 3,65 млн. контейнеров, 1+ млрд. артефактов (объектов данных)
-
Эксперты, ответственные за программные продукты, работают с большими данными в формате self-service, который не требует знания какого-либо языка программирования и/или привлечения разработчиков
-
Охват не только серверной, но и контейнерной среды вычислений
-
Реализация стандарта ISO 19770 для маркирования установок ПО
- Использованное ПО
Система полностью собственной разработки на фрэймворке Java Spring-Boot
В качестве СУБД используются Platform V Pangolin DB (РРПО №18785) и Platform V DataMarts
Сервера развёрнуты на базе операционной системы Platform V SberLinux OS Server (РРПО №18785)
В качестве ETL платформы используется Комплексное решение автоматизированного сбора конфигурационной информации ИТ (РРПО №27167)
- Сложность реализации
-
Внедрение концепции самообслуживания (self-service) - была проделана большая работа по проектированию и созданию UI который позволял бы описывать достаточно сложные алгоритмы, но при этом был бы интуитивно понятным и мог бы использоваться без длительной предварительной подготовки.
-
Обеспечить обработку больших объемов данных в фиксированные сроки. Необходимо обеспечить загрузку и обработку всего массива данных за ночь, чтобы с началом рабочего дня обеспечить наличие в системе актуальной информации. При этом сценарии ETL должны быть синхронизированы со сценариями систем поставщиков данных, которые также могут занимать значительное время.
-
Определение данных, потерявших актуальность. С учётом участия в процессе передачи и обработки данных нескольких систем встала нетривиальная задач а оценки того, какие данные актуальны, какие потеряли актальность в виду их удаления с источника, а какие в следствии возникших сбоев на маршруте передачи данных, что важно для дальнейшей их интерпретации.
-
- Описание проекта
В систему ежедневно загружаются данные об артефактах ПО из нескольких источников:
-
Из комплекса решений сбора конфигурационной информации – данные об артефактах обнаруженных на серверах, такие как RPM пакеты, AddRemovePrograms, список файлов, SWIDTAG и др.
-
С кластеров Platform V DropApp и OpenShift данные об активных контейнерах и образах в них
-
Из сканера дистрибутивов артефакты, обнаруженные в дистрибутиве
-
Из CMDB сервисно-ресурсная модель
-
Из системы архитектурного проектирования реестр программных продуктов
После загрузки сырых данных они проверяются на соответствие правилам описанным в разрезе программных продуктов и их версий.
По результатам сработки правил создаются записи об экземплярах ПО в привязке к серверу или контейнеру в к которому относятся совпавшие артефакты.
Для экспертов по ПО создан интерфейс конструктора, в котором они могут создать новое правило или изменить существующее. В конструкторе реализована гибкая система поиска, которая позволяет найти конкретный артефакт по имени, вендору, версии и т.д. для создания правил на чёткое соответствие, также можно задать шаблон для поиска по маске.
Все пользователи системы могут ознакомиться с номенклатурой доступных артефактов по типам и обнаруженным экземплярам, при этом для экземпляра можно посмотреть в результате применения какого правила он был обнаружен и какие конкретно артефакты «сработали».
-
- География проекта
Россия