Продвигая наш новый курс по графовой аналитике больших данных в бизнес-приложениях, сегодня поговорим про визуализацию графов в NoSQL-СУБД Neo4j. А также рассмотрим, как с помощью GraphKer получить визуальное отображение графа данных о информационной безопасности: уязвимости, атаки и прочие нарушения cybersecurity.
ТОП-5 способов визуализации графов в Neo4j
Поскольку люди лучше воспринимают визуальную информацию, инструменты визуализации графов довольно востребованы. Их можно разделить на следующие категории, в зависимости от прикладного назначения:
- средства разработки, чтобы помочь разработчикам работать с графиками;
- инструменты исследования, чтобы упростить выявление взаимосвязей в данных для аналитиков;
- средства анализа для выявления тенденций и расхождений;
- инструменты отчетности, чтобы создавать и систематизировать отчеты с данными.
Некоторые из них непосредственно встроены в Neo4j, а какие-то являются сторонними подключаемыми продуктами. Далее мы рассмотрим те средства, которые интегрированы в эту графовую СУБД или созданы специально для нее.
Например, браузер Neo4j — интерактивная командная Cypher-оболочка, которая позволяет взаимодействовать с графом и визуализировать информацию в нем. Этот браузер входит в состав Neo4j и доступен во всех выпусках и версиях системы. По сути, он представляет собой инструмент разработчика для выполнения запросов Cypher. Браузер позволяет отображать результаты запросов в графическом или табличном формате. Хотя возможности визуализации в этом браузере ограничены, он отлично подходит для быстрого проектирования и оптимизации запросов Cypher.
Однако, Neo4j Browser имеет следующие недостатки: он требует знаний языка запросов Cypher, а также не позволяет сохранять, встраивать и совместно использовать полученные визуализации.
Если Browser больше подходит для разработчиков, то Bloom – отличный инструмент для дата-аналитиков, которым нужно динамически визуализировать большие графы. Bloom поддерживает текстовый поиск, позволяя людям с небольшим знанием Cypher исследовать графы Neo4j. Возможности по редактированию визуального отображения здесь намного богаче, а также можно сохранять визуализации и использовать их совместно.
Neovis.js — библиотека JavaScript, которая помогает разработчикам создавать визуализации графиков из данных Neo4j. Являясь оболочкой для популярной библиотеки Vis.js, он обеспечивает мост между Cypher и настраиваемой визуализацией графов в браузере. Neovis.js позволяет напрямую подключаться к экземпляру графовой СУБД, чтобы получать данные в реальном времени.
Еще одной открытой JavaScript-библиотекой от сообщества является popoto.js. Она основана на библиотеке D3.js, которая поддерживает большое количество визуализаций, включает интерактивный и настраиваемый визуальный конструктор Cypher-запросов с прямым подключением к Neo4j.
NeoDash — это графическое веб-приложение для создания JSON-дэшбордов из Neo4j за считанные минуты. При прямом подключении к Neo4j через Bolt, он заполняет отчеты по результатам Cypher-запросов, которые могут быть представлены в виде таблиц, графиков, гистограмм и пр. Пользователи могут в режиме онлайн выбирать параметры запроса для генерации отчетов, а также совмещать визуализации с текстом Markdown, чтобы создать интерактивный документ с использованием данных графа. Можно использовать NeoDash отдельно в веб-браузере или установить его в десктопном приложении Neo4j.
Разумеется, это далеко не единственные средства визуализации графов в Neo4j. В частности, интересным инструментом является GraphKer, который имеет специфическое прикладное назначение в сфере кибербезопасности. Что именно он представляет собой и как связан с Neo4j, мы рассмотрим далее.
Зачем вам GraphKer или как построить cybersecurity-граф
GraphKer — это бесплатный инструмент с открытым исходным кодом, предоставляющий подробную и обновленную базу данных графов кибербезопасности с использованием Neo4j. С GraphKer можно получить самое последнее обновление уязвимостей, слабых мест, шаблонов атак и платформ кибербезопасности от MITER и NIST, полезным и удобным способом.
GraphKer использует новый подход к онтологии для потоков данных, чтобы усилить способы извлечения знаний, которые предоставляют графовые базы данных. Используя Neo4j, можно искать эти графы быстрым и удобным способом, чтобы обсуждать их с пользователями, которые не имеют никакого представления о кибербезопасности и графовых СУБД. В частности, это особенно актуально в контексте недавней уязвимости в популярной библиотеке Apache Log4j, о чем мы писали здесь.
GraphKer использует Neo4j как платформу собственной графовой базы данных и процедуры библиотеки APOC для обеспечения эффективного способа хранения и извлечения данных.
Чтобы запустить GraphKer, нужно сперва установить Neo4j, создать и настроить графовую базу данных. Далее следует установить Python для GraphKer, а также приложения визуализации графов, например, ранее рассмотренные Bloom, Browser и пр. Наконец, можно перейти в терминал Linux или Windows и запустить GraphKer. Уже через 5-15 минут вы получите свежие потоки cybersecurity-данных об уязвимостях, атаках и пр.: CVE, CWE, CAPEC, CPE.
Полученный список можно визуализировать и детализировать его узлы с помощью Neo4j Bloom.
Узнайте больше подробностей про использование Neo4j для графовой аналитики больших данных в бизнес-приложениях на специализированных курсах в нашем лицензированном учебном центре обучения и повышения квалификации для разработчиков, менеджеров, архитекторов, инженеров, администраторов, Data Scientist’ов и аналитиков больших данных в Москве:
Источники