
Графический инструмент анализа безопасности для IoT-сетей
Уведомление об архивации - После завершения моего исследовательского проекта репозиторий был заархивирован.
ASTo оказал значительное влияние на мои исследования. Я хочу выразить благодарность всем, кто помог сделать его лучше.
Однако это не конец. Активная разработка продолжится в репозитории CyberLens's. Пожалуйста, сообщайте о проблемах и запросах новых функций там.
ASTo — это инструмент анализа безопасности для сетей IoT. Он разработан для поддержки фреймворка безопасности Apparatus. ASTo основан на electron и cytoscape.js. Иконки предоставлены Google Material Design.
Приложение находится на стадии альфа-версии. Сейчас основное внимание уделяется улучшению базовой функциональности приложения вместе с внедрением дополнительных возможностей для достижения бета-стадии.
Некоторые скриншоты




ASTo имеет консоль командной строки, доступную в правом нижнем углу приложения. Вы получаете фокус на консоли, нажав комбинацию клавиш cmd + l для macOs и ctrl + l для Windows/Linux. Если вы введёте help, отобразится список опций консоли.
Консоль можно использовать для поиска конкретных объектов в графе или выполнения операций. В качестве поискового запроса используется обычный текст. Например, если вы введёте device, ASTo подсветит все узлы в графе, у которых есть атрибут device.
Все команды консоли должны быть предварены символом :. Например, ввод :insights выполнит функцию аналитики безопасности. С другой стороны, ввод insights (без :) выполнит поиск по элементам графа с ключевым словом insights.
ASTo поддерживает светлую и тёмную цветовые темы. Цветовые темы основаны на темах Atom One Dark и One Light. Для переключения между темами используйте кнопку переключения в левом нижнем углу.
Чтобы клонировать и запустить этот репозиторий, вам понадобятся Git и Node.js, установленные на вашем компьютере. Чтобы загрузить и установить приложение, введите в терминале следующее:
# Клонировать этот репозиторий
git clone https://github.com/Or3stis/apparatus.git
# Перейти в репозиторий
cd apparatus
# Установить зависимости
npm install
Различные режимы работы приложения.
# Запустить приложение в режиме по умолчанию
npm start
# Запустить приложение в режиме разработчика
npm run dev
# Собрать приложение в бинарный файл
npm run dist
Поскольку приложение всё ещё находится на стадии прототипа, лучше всего поддерживать его в актуальном состоянии с последними коммитами. Для этого перед запуском приложения введите:
# внутри каталога apparatus
# обновить до последней версии
git pull
После запуска приложения первое окно (домашний экран) попросит вас выбрать фазу моделирования. После выбора фазы вам будут представлены три варианта. Первый — создать новый граф. Второй — загрузить существующий граф. Третий вариант — отладочное приложение, которое загружает стандартный граф, используемый для отладки.
Некоторые примеры графов вы найдёте в папке sample.
- Примечание о производительности. Если вы отображаете граф с более чем тысячью узлов, в зависимости от вашего оборудования вы можете заметить некоторые проблемы с производительностью. Причина в том, что рендеринг меток узлов и рёбер по умолчанию в ASTo довольно дорогой. Отображение меток на узлах и рёбрах вместе с направленными стрелками требует больших затрат процессора. Чтобы повысить производительность, вы можете скрыть метки и направленные стрелки, нажав кнопку label.
Более подробную информацию об оптимизации производительности Cytoscape можно найти по этой ссылке.
Программа не собирает личную информацию любого рода.
Единственная сетевая операция, которую выполняет приложение, происходит при использовании процесса выявления уязвимостей. Выявление уязвимостей выполняет сетевой запрос к 'https://cve.circl.lu/api/search/' (может быть изменено в настройках), который ведёт собственную статистику.
Если вы хотите внести вклад в проект, это отлично 😃. Ознакомьтесь с руководством по внесению вклада. Приложение разрабатывается на macOs. Это означает, что новые коммиты могут содержать критические изменения на других платформах. Особенно коммиты, связанные с доступом к файловой системе. Если что-то не работает, не стесняйтесь создавать issue.
Если вы хотите узнать, как работает приложение, ознакомьтесь с вики.
Вы можете ознакомиться с запланированными функциями проекта в дорожной карте.
Отдельная благодарность @NOMNUDS и @nickarg, которые предоставили столь необходимую обратную связь на Windows.