
Фреймворк для RF и реверс-инжиниринга для всех. Подписывайтесь и ★, чтобы показать свою поддержку!
Независимый от частоты SDR-фреймворк для понимания и обратного проектирования сигналов
FISSURE — это открытый RF-фреймворк, поддерживающий как оперативное развертывание, так и исследования и обучение.
FISSURE упрощает сложные рабочие процессы SDR, централизуя программное обеспечение, библиотеки и справочные материалы в единой согласованной среде, которая работает на настольных компьютерах, ноутбуках, одноплатных компьютерах и защищенных системах, а также масштабируется до распределенных тактических узлов, объединенных в сеть в полевых условиях.
Fracture — это развертываемая тактическая RF-система AIS, построенная на открытом фреймворке FISSURE.
FISSURE предоставляет базовую программную среду для RF-сенсорики, анализа сигналов, экспериментов с протоколами, интеграции с TAK, координации распределенных узлов и разработки возможностей на основе плагинов. Fracture расширяет эту основу до развертываемых аппаратных конфигураций, предназначенных для оперативного использования.
Fracture ориентирован на распределенную RF-сенсорику, геолокацию, RF-эффекты, рабочие процессы радиоэлектронной борьбы и управление оператора в реальном времени через WinTAK и ATAK. Центральный узел координирует периферийные узлы по IP-сетям и каналам связи большой дальности для поддержки сенсорики, наведения и выполнения миссий в распределенных средах.
Архитектура предназначена для поддержки развертывания на стационарных объектах, транспортных средствах, носимых комплектах, малых БПЛА и самолетах, оставаясь расширяемой через плагинную систему FISSURE.
Для организаций, требующих поддерживаемой и интегрированной тактической RF-возможности, Fracture предоставляет путь к продукту, сохраняющий гибкость, прозрачность и расширяемость базовой экосистемы FISSURE.
Дорожная карта FISSURE развивается с учетом потребностей заказчиков и отзывов сообщества.
Для актуального обзора ознакомьтесь с интерактивной дорожной картой (обновляется каждый июль):
FISSURE подкрепляется серией технических документов, исследующих как технические, так и оперативные применения в различных областях.
AIS опубликовала несколько статей, освещающих возможности, обновления и сценарии использования FISSURE:
Смотреть все публикации в блоге AIS
Архитектура плагинов и действий: FISSURE переходит к единой платформе плагинов и действий, позволяющей упаковывать, развертывать и выполнять возможности в Dashboard, сенсорных узлах, WinTAK и ATAK.
Интеграция с WinTAK: WinTAK теперь поддерживает управление узлами, оповещения, цели, обнаружения, артефакты, выбор плагинов, выполнение действий и работу распределенных сенсорных узлов.
Интеграция с ATAK: Интеграция с ATAK активно разрабатывается, расширяя возможности FISSURE и Fracture на мобильные устройства и операторов на тактическом краю.
Распределенные тактические узлы: Сенсорные узлы поддерживают удаленную работу, распределенные workflows сенсорики, интеграцию с TAK, сбор артефактов, оповещения и выполнение плагинов по IP-сетям.
Геолокация и управление целями: Продолжаются работы по RF-геолокации, управлению целями, многопользовательской координации и тестированию в реальных условиях.
Контейнеризация Apptainer: FISSURE может быть развернут в контейнерах Apptainer для упрощения установки, тестирования, переносимости и развертывания на поддерживаемых платформах.
Архитектура Fracture и рабочие процессы TAK: Добавлены новые диаграммы и документация, иллюстрирующие архитектуру системы Fracture, рабочие процессы интеграции с TAK и тактические распределенные операции.
5-8 мая 2025: SOF Week - стенд Assured Information Security, Inc. (AIS)
Чт, 6 февраля 2025: Ярмарка вакансий и стажировок Бингемтонского университета, весна 2025 – 11:00-15:00 EST
20 января 2025 (действует бессрочно): FISSURE Challenge. Ссылка (Уже запущен)
Вт, 17 сентября 2024: GNU Radio Conference 2024 – 16:05-16:35 EST Описание/Слайды, Запись
Чт, 5 сентября 2024: Ярмарка вакансий и стажировок STEM Бингемтонского университета – 11:00-15:30 EST
Сб, 10 августа 2024: DEF CON 32 - RF Village – 14:00-15:00 PST. Предзаписанное видео, Запись
Ниже приведен список «поддерживаемого» оборудования с различной степенью интеграции:
Поддерживается
Теперь в FISSURE есть две ветки: ветка Python3 и ветка Python2_maint-3.7. Ветка Python3 содержит последний код и поддерживает PyQt5 и версии GNU Radio 3.8 и 3.10. Ветка Python2_maint-3.7 устарела и будет обновляться только в том случае, если определенные сторонние инструменты требуют GNU Radio версии 3.7 или более старую операционную систему. Для установки будут поддерживаться только последние минорные версии операционных систем, и мы будем стараться идти в ногу. Операционные системы, которые были обновлены, но еще не полностью протестированы, будут указаны в разделе «В разработке».
Версии, опубликованные в этом репозитории на GitHub, являются периодическими снимками состояния проекта и предназначены в первую очередь для архивных целей. Эти версии могут не включать последние обновления, исправления ошибок или функции, находящиеся в разработке. Для доступа к самой актуальной версии программного обеспечения настоятельно рекомендуется использовать основную ветку Python3, которая отражает текущую разработку и текущее состояние проекта.
FISSURE наиболее тщательно тестируется на Ubuntu, что делает его наиболее валидированной платформой.
В разработке (бета)
| Эти операционные системы пока находятся в статусе бета. Они находятся в разработке, и известно, что отсутствуют некоторые функции. Элементы в установщике могут конфликтовать с существующими программами или не устанавливаться, пока этот статус не будет снят.Операционная система |
|---|
Примечание. Некоторые программные инструменты работают не во всех ОС. См. Известные конфликты и стороннее ПО
Установки Apptainer
Проводятся тесты с apptainer для контейнеризации установок FISSURE. Комбинации хост-ОС, контейнерной ОС и режима установки FISSURE (full, base, Dashboard, HIPRFISR, SensorNode) все еще в процессе. Поддерживаются следующие комбинации.
| Хост-операционная система | Операционная система контейнера | Режим FISSURE |
|---|---|---|
| Ubuntu 24.04 | Ubuntu 24.04 | full |
Установка
Для добавления ключей SSH в GitHub и клонирования через SSH (необходимо для участия в разработке):``` ssh-keygen -t ed25519 cat ~/.ssh/id_ed25519.pub Paste text into "Settings" > "SSH and GPG keys" > "New SSH Key" git clone [email protected]:ainfosec/FISSURE.git
Для клонирования через https:```
git clone https://github.com/ainfosec/FISSURE.git
Подготовка установщика:``` cd FISSURE git checkout Python3 # Optional, or Python2_maint-3.7 for select legacy third-party tools ./install
Примечания:
- Установщик запросит установку зависимостей PyQt, необходимых для запуска GUI установки, если они не найдены.
- Выберите в GUI опцию операционной системы, которая лучше всего соответствует вашей ОС (должна быть определена автоматически, если ваша ОС соответствует одной из опций).
- Периодически отвечайте на запросы о стороннем ПО в процессе установки. Руководствуйтесь здравым смыслом; ответы вряд ли повлияют на FISSURE.
- Убедитесь, что системные часы установлены правильно, чтобы избежать ошибок при отклонении обновлений репозиториев apt.
- После установки перезагрузите компьютер или выйдите и войдите снова, чтобы изменения групп пользователей вступили в силу.
<p align="center">
<img src="https://assets.kitploit.com/production/public/readmes/5588/ea812c13507dcd73629484d74bae5229caf78da4f8c48bcfd701d429c60bc392.png" width="257" height="379">
</p>
Рекомендуется устанавливать FISSURE на чистую операционную систему, чтобы избежать конфликтов с существующим ПО. Работа по виртуализации и управлению зависимостями будет продолжена. Примечания к установщику:
- Элементы, перечисленные в категории "Минимальная установка", необходимы для запуска панели управления FISSURE без ошибок.
- Радиооборудование и внешние модули (out of tree) необходимы для выполнения многих действий в FISSURE.
- Графы потоков необходимо перекомпилировать, чтобы избежать ошибок в разных минорных версиях GNU Radio.
- Программы, не входящие в минимальную установку, являются опциональными и могут быть установлены по мере необходимости.
- Выберите все рекомендуемые флажки (кнопка Default), чтобы избежать ошибок при работе с различными инструментами в FISSURE.
- Элементы, не отмеченные по умолчанию, могут установиться неправильно или конфликтовать с существующими программами (пожалуйста, предлагайте исправления!).
- В процессе установки будет несколько запросов, в основном на повышенные привилегии и имена пользователей. Эти запросы в основном касаются сторонних инструментов; за подробностями обращайтесь к инструкциям по установке от разработчика.
- Если элемент содержит раздел "Verify" в конце, установщик выполнит следующую за ним команду и выделит флажок зеленым или красным в зависимости от того, выдала ли команда ошибки. Отмеченные элементы без раздела "Verify" останутся черными после установки.
- Чтобы избежать ошибок установки и прав доступа, загрузите FISSURE в каталог, принадлежащий пользователю, например Home. Запускайте скрипт установки и команду fissure без использования sudo. Многие сторонние инструменты будут загружены и установлены из каталога `~/Installed_by_FISSURE`.
<p align="center">
<img src="https://assets.kitploit.com/production/public/readmes/5588/3c404a7fc456dc0a3346fc0ed7432381c57cf6f6db4358221010a5b66a3281f5.png" width="692" height="479">
</p>
Установщик FISSURE полезен для подготовки компьютеров или установки выбранных программ, представляющих интерес. Код можно быстро изменить для установки нестандартного ПО. Оценки размера программ приведены до и после полной установки. Размеры каждой программы не являются точными, так как некоторые зависимости устанавливаются вместе с ранее отмеченными элементами. Размеры также могут меняться со временем по мере обновления программ.
<p align="center">
<img src="https://assets.kitploit.com/production/public/readmes/5588/e9722e4a18df1cdf579316e24ffd999e7f56f27c738340a5a997377453d4320c.png" width="692" height="479">
</p>
**Установка удаленного сенсорного узла**
Установите FISSURE как обычно на универсальный компьютер. Установите FISSURE на удаленный компьютер в тот же каталог, что и на локальном компьютере (до дальнейших указаний), чтобы избежать ошибок путей при некоторых действиях. Чтобы настроить сенсорный узел для удаленной работы, отредактируйте файл "default.yaml" в каталоге `./YAML/Sensor_Node_Config/` и измените следующие поля:
- nickname: (что угодно, кроме "Local Sensor Node")
- hiprfisr_ip_address: (IP-адрес HIPRFISR/хаба, к которому подключается сенсорный узел)
- hardware: (укажите характеристики вашего оборудования)
Измените поле "autorun" с `false` на `true`, чтобы запускать файл автозапуска по умолчанию при загрузке и отказаться от удаленного управления. Новые плейлисты автозапуска можно создать и сохранить на вкладке Dashboard Autorun.
Удаленный сенсорный узел выступает в роли сервера и должен иметь набор действительных сертификатов (сгенерированных при установке), которые соответствуют клиенту (локальный компьютер). Серверу нужны файлы "server.key_secret" и "client.key", а клиенту — файлы "client.key_secret" и "server.key". Если папка сертификатов была сгенерирована на серверном компьютере, файлы для клиента необходимо вручную перенести на другой компьютер.
**Использование локальной панели управления**
Откройте новый терминал после установки и введите:```
fissure
Предполагаемый способ запуска панели управления FISSURE — через терминал без sudo. Терминал предоставляет важную информацию о состоянии и обратную связь для некоторых операций. Обратитесь к документации FISSURE для получения более подробной информации.
Локальный сенсорный узел можно запустить с помощью верхних кнопок в панели управления FISSURE; это помогает поддерживать все существующие функции FISSURE на автономной рабочей станции. В настоящее время поддерживается только один локальный и четыре удаленных сенсорных узла (или пять удаленных).
Если какая-либо из программ зависает или виснет при закрытии, для обнаружения проблемы или принудительного завершения можно использовать следующие команды:``` sudo ps -aux | grep fissure sudo pkill python3 sudo kill -9 sudo pkill python3 && sudo pkill -9 -f fissure
**Безголовый хаб**
HIPRFISR может быть запущен без графического интерфейса Dashboard для повышения эффективности тестирования TAK и оперативного развертывания. Откройте новый терминал после установки и введите:```
fissure-hiprfisr
Центр автоматически подключится к TAK-серверу, и удаленные узлы смогут присоединиться без взаимодействия.
Использование удаленного сенсорного узла
После настройки файла конфигурации сенсорного узла (см. выше) код сенсорного узла можно запустить с помощью следующей команды в терминале:``` fissure-sensor-node
Код сенсорного узла будет оставаться активным до нажатия ctrl+c. Подключение к удаленному сенсорному узлу выполняется через верхние кнопки панели управления FISSURE. Щелчок правой кнопкой мыши по верхним кнопкам позволяет выбрать активный сенсорный узел для выполнения операций. Будущие операции, использующие более одного узла одновременно, будут обрабатываться индивидуально на соответствующих вкладках.
**Инструкции для Windows 11 WSL2**
FISSURE может работать в Windows 11 с использованием WSL2 для поддерживаемых операционных систем Linux. Ниже приведены инструкции по установке WSL2, установке операционной системы Linux, настройке проброса USB и установке FISSURE в операционной системе Linux.
Установка WSL2:
1. Откройте PowerShell от имени администратора
2. `wsl --install`
3. Включите виртуализацию в BIOS, проверьте: Диспетчер задач > Производительность > ЦП > Виртуализация
4. `wsl --set-default-version 2`
5. `wsl --list --online`
6. Установите конкретную версию (обычная Ubuntu должна быть последней версией в списке): `wsl --install -d Ubuntu-22.04`
7. Откройте меню «Пуск», найдите Ubuntu и запустите её
8. Чтобы удалить дистрибутив: `wsl --unregister Ubuntu-22.04`
Включите проброс USB в PowerShell от имени администратора:
1. `winget install usbipd`
2. Добавьте usbipd в системный PATH: меню «Пуск» > Переменные среды > Изменить системные переменные среды > Свойства системы > Переменные среды > Системные переменные > Path > Изменить > Создать: `C:\Program Files\usbipd-win`
3. Закройте и снова откройте PowerShell от имени администратора
4. `usbipd wsl list`
5. `usbipd wsl attach --busid <BUS_ID>` или `usbipd wsl attach --busid <BUS_ID> --wsl <DistributionName>` (замените `<BUS_ID>` на фактический BUS ID устройства)
6. Чтобы отключить: `usbipd wsl detach --busid <BUS_ID>`
Установите FISSURE в терминале Linux:
1. `sudo apt-get install git`
2. Клонируйте FISSURE и установите, как описано выше
**Настройка TAK**
Чтобы установить и запустить локальный сервер TAK:
1. Зарегистрируйтесь и скачайте zip-файл Docker сервера TAK с веб-сайта: https://tak.gov/products/tak-server
2. Создайте каталог `~/Installed_by_FISSURE`, если он не существует
3. Поместите загруженный .zip-файл в `~/Installed_by_FISSURE`
4. Запустите пункт «TAK Server» в установщике FISSURE
5. Для локального WebTAK загрузите файл `~/Installed_by_FISSURE/taskerver-docker-#.#-RELEASE-##/tak/certs/files/webadmin.p12` в ваш браузер (настройки > сертификаты)
6. Установите для поля «tak_on_startup» значение True в `/FISSURE/YAML/User Configs/default.yaml` или выберите «Start Docker Containers» в меню TAK на панели управления FISSURE
7. Откройте WebTAK из меню TAK FISSURE и убедитесь, что карта загружается при подключении к интернету
8. Установите поле «connect_mode» (auto/manual/disabled) в `/FISSURE/YAML/User Configs/default.yaml`. Подключитесь к серверу TAK в меню TAK на панели управления FISSURE, если установлено manual.
9. Запустите эффект FISSURE, который создает оповещение TAK (примеры скоро появятся)
Для подключения к удаленному серверу TAK:
1. Обновите пути к файлам сертификатов в `/FISSURE/YAML/User Configs/default.yaml`
2. Установите поле «connect_mode» (auto/manual/disabled) в `/FISSURE/YAML/User Configs/default.yaml`. Подключитесь к серверу TAK в меню TAK на панели управления FISSURE, если установлено manual.
3. Запустите эффект FISSURE, который создает оповещение TAK (примеры скоро появятся)
**Настройка Apptainer**
Apptainer используется для контейнеризации большей части установки FISSURE, что упрощает развертывание и тестирование на разных системах. Хотя основная часть FISSURE работает внутри среды Apptainer, некоторые компоненты по-прежнему требуют настройки на **хосте**:
- **Контейнеры Docker** (такие как база данных PostgreSQL и сервер TAK) работают на **хосте**, а не внутри Apptainer.
- **Правила udev, драйверы USB и аппаратные интерфейсы** также должны быть установлены на хосте для правильной работы SDR, Wi-Fi-адаптеров и других периферийных устройств.
Предварительно собранные контейнеры Apptainer и ISO-образы запланированы для будущих релизов, чтобы упростить настройку. Эти инструкции предназначены для пользователей, которые хотят **собрать контейнер Apptainer из исходного кода** или настроить свою установку.
1. **Клонируйте репозиторий FISSURE**
2. **Настройте установщик**
- Откройте `FISSURE/install_apptainer.sh` в текстовом редакторе.
- Просмотрите и измените переменные в начале скрипта.
Установите каждый параметр (`true` / `false`) в соответствии с тем, что вы хотите включить (например, `UHD`, `HackRF`, `Wi-Fi` и т.д.).
- Выберите желаемый режим установки FISSURE:
- `full` — включает всё программное обеспечение SDR, сетевые инструменты и утилиты
- `base` — только ядро FISSURE + зависимости GUI (для ускорения будущей сборки контейнера)
- `Dashboard` — только контейнер с GUI (без инструментов SDR)
- `HIPRFISR` — сборка безголового сервера HIPRFISR
- `SensorNode` — только сборка сенсорного узла
3. **Запустите установщик** ```bash
cd FISSURE/Installer
./install_apptainer.sh
Это создает записываемую песочницу Apptainer в вашем домашнем каталоге и устанавливает все выбранное программное обеспечение внутри контейнера и на хосте (где применимо).
Эта команда открывает терминал внутри контейнера FISSURE с автоматически привязанными портами USB, аудиоустройствами и графикой для доступа к оборудованию и графическому интерфейсу.
Среда ведет себя как стандартная установка, но более изолирована от хост-системы. Если вы столкнетесь с проблемами при использовании FISSURE внутри Apptainer, сообщите нам, какие программы, оборудование или функции работают неправильно.
FISSURE содержит несколько полезных руководств для ознакомления с различными технологиями и методами. Многие из них включают шаги по использованию различных инструментов, интегрированных в FISSURE. Мы стремимся улучшить качество и со временем добавлять новый контент.
FISSURE Challenge — это непрерывное соревнование в стиле «Capture the Flag», построенное на основе фреймворка FISSURE. Оно задумано как открытый учебный инструмент, где каждый может практиковаться в обратной разработке RF, изучать новые возможности и решать задачи, связанные с протоколами.
Получить доступ к задачам: FISSURE Challenge
Предложения по улучшению FISSURE настоятельно приветствуются. Хорошие области для вклада включают новые функции, исправления установки, RF-протоколы, поддержку оборудования/SDR, сторонние инструменты, графы потоков GNU Radio, скрипты анализа на Python, действия плагинов, уроки, руководства и исправления документации.
Лучше всего начать со страницы Обсуждения, сервера Discord, электронной почты или конкретной Задачи.
Вклад в код приветствуется:
git checkout -b feature/AmazingFeature)git commit -m 'Add some AmazingFeature')git push origin feature/AmazingFeature)Нужны более конкретные идеи? Ознакомьтесь с нашей дорожной картой и текущим списком возможных задач.
FISSURE хорошо подходит для дипломных проектов, исследований студентов бакалавриата и магистратуры, курсов по RF/кибербезопасности и заданий по открытому ПО. Студенческие команды могут работать над интеграцией SDR-оборудования, анализом RF-протоколов, обнаружением сигналов, IQ-анализом, плагинами, уроками, визуализацией, интеграцией TAK или документацией.
Студентам, преподавателям, исследовательским группам и организациям, заинтересованным в использовании FISSURE для практических проектов по RF и обратной разработке, рекомендуется обращаться.
Свяжитесь с отделом развития бизнеса Assured Information Security, Inc. (AIS), чтобы обсудить возможности сотрудничества по FISSURE и Fracture. AIS может помочь с интеграцией FISSURE в существующие платформы и рабочие процессы, разработкой пользовательских плагинов и возможностей, расширением поддержки нового оборудования и датчиков, а также созданием специфических RF-решений для задач.
Организации, заинтересованные в развертываемых системах Fracture, могут обратиться к AIS для разработки и интеграции конфигураций тактических узлов для стационарных, автомобильных, носимых, sUAS и самолетных приложений. AIS также может поддерживать интеграцию TAK, распределенные архитектуры датчиков, рабочие процессы RF-зондирования и геолокации, пользовательские возможности радиоэлектронной борьбы, обучение операторов и долгосрочное сопровождение систем.
Независимо от того, является ли ваша цель исследованием, обучением, прототипированием, оперативным развертыванием или интеграцией в более крупную архитектуру систем систем, AIS может помочь ускорить разработку и развертывание, сохраняя гибкость базового фреймворка FISSURE.
GPL-3.0
Подробнее о лицензии см. файл LICENSE.
Присоединяйтесь к серверу Discord: https://discord.gg/JZDs5sgxcG
Следите в Twitter/X: @FissureRF, @AinfoSec
Следите в Bluesky: @fissurerf.bsky.social
Свяжитесь в LinkedIn: FISSURE - The RF Framework
Chris Poore - Assured Information Security, Inc. - [email protected]
Business Development - Assured Information Security, Inc. - [email protected]
«FISSURE — это мощная и универсальная программная платформа для RF, подходящая как для обучения, так и для практического применения. Она поддерживает широкий спектр часто используемого оборудования и предлагает интуитивные инструменты анализа IQ-данных. Эти функции позволяют нам визуализировать, интерпретировать и напрямую изменять сообщения RF-сигналов в нашем проекте.»
– Dylan R.
«Нам очень понравилось использовать FISSURE в нашем инженерном проекте. Это невероятно полный набор инструментов для работы с радиочастотами, который стал отличным подспорьем в наших исследованиях, связанных с беспроводной связью.»
– Команда дипломного проекта университета
Особая благодарность доктору Самуэлю Мантравади и Джозефу Рейту за их вклад в этот проект.
Посмотрите наши другие проекты с открытым исходным кодом: https://ainfosec.dev/
Нравится работать с сигналами, обратной разработкой или другими областями кибербезопасности? Просмотрите наши текущие вакансии или присоединяйтесь к нашему сообществу талантов для будущих возможностей.
Если вам интересен хакинг, попробуйте наш челлендж Can You Hack It?® и проверьте свои навыки! Отправьте свой результат, чтобы показать, на что вы способны. AIS имеет национальный охват с офисами и удаленными сотрудниками по всей территории США. Мы предлагаем конкурентоспособную оплату и отличные льготы. Присоединяйтесь к команде, которая стремится не только к будущему киберпространства, но и к успеху своих сотрудников.
![]() | ![]() | ![]() | ![]() |
![]() | ![]() | ![]() | ![]() |
![]() | ![]() | ![]() | ![]() |
![]() | ![]() | ![]() | ![]() |
| Операционная система | Ветка FISSURE | Версия GNU Radio по умолчанию |
|---|
| DragonOS Noble (24.04) | Python3 | maint-3.10 |
| Kali | Python3 | maint-3.10 |
| Raspberry Pi OS | Python3 | maint-3.10 |
| Ubuntu 18.04 | Python2_maint-3.7 | maint-3.7 |
| Ubuntu 20.04 | Python3 | maint-3.8 |
| Ubuntu 22.04 | Python3 | maint-3.10 |
| Ubuntu 22.04 | Python3 | maint-3.10 |
| Ubuntu 24.04 / Ubuntu ARM (Orange Pi) / Ubuntu для Raspberry Pi | Python3 | maint-3.10 |
| Windows 11 WSL2 | См. поддерживаемую версию Linux | См. поддерживаемую версию Linux |
| Ветвь FISSURE |
|---|
| Версия GNU Radio по умолчанию |
|---|
| BackBox Linux | Python3 | maint-3.10 |
| KDE neon | Python3 | maint-3.10 |
| Parrot Security 6.1 | Python3 | maint-3.10 |