Визуализация графов в Neo4j и исследование кибербезопасности с GraphKer

обучение Neo4j, курсы Neo4j, графовая аналитика больших данных, анализ данных на графах, аналитика Big Data курсы обучение Neoj4, Школа Больших Данных Учебный центр Коммерсант

Продвигая наш новый курс по графовой аналитике больших данных в бизнес-приложениях, сегодня поговорим про визуализацию графов в 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 курсы дата-аналитиков, GraphKer Neo4j Bloom
Визуализация графа уязвимостей с GraphKer и Neo4j Bloom

Узнайте больше подробностей про использование Neo4j для графовой аналитики больших данных в бизнес-приложениях на специализированных курсах в нашем лицензированном учебном центре обучения и повышения квалификации для разработчиков, менеджеров, архитекторов, инженеров, администраторов, Data Scientist’ов и аналитиков больших данных в Москве:

Источники

  1. https://neo4j.com/developer-blog/15-tools-for-visualizing-your-neo4j-graph-database/
  2. https://medium.com/neo4j/how-to-have-a-cybersecurity-graph-database-on-your-pc-366884ac6a08
  3. https://github.com/amberzovitis/GraphKer
Поиск по сайту