Частотно-независимый анализ сигналов на основе SDR и обратное проектирование
FISSURE — это среда радиочастотного и обратного проектирования с открытым исходным кодом, предназначенная для всех уровней навыков, с возможностями для обнаружения и классификации сигналов, обнаружения протоколов, выполнения атак, манипулирования IQ, анализа уязвимостей, автоматизации и AI/ML. Платформа была создана для обеспечения быстрой интеграции программных модулей, радиомодулей, протоколов, данных сигналов, сценариев, блок-графиков, справочных материалов и сторонних инструментов. FISSURE — это средство реализации рабочего процесса, которое хранит программное обеспечение в одном месте и позволяет командам легко входить в курс дела, используя одну и ту же проверенную базовую конфигурацию для конкретных дистрибутивов Linux.
Платформа и инструменты, входящие в состав FISSURE, предназначены для обнаружения присутствия радиочастотной энергии, понимания характеристик сигнала, сбора и анализа образцов, разработки методов передачи и/или внедрения, а также создания пользовательских полезных данных или сообщений. FISSURE содержит растущую библиотеку информации о протоколах и сигналах, помогающую в идентификации, создании пакетов и фаззинге. Существуют возможности онлайн-архива для загрузки файлов сигналов и создания списков воспроизведения для моделирования трафика и тестирования систем.
Дружественная кодовая база Python и пользовательский интерфейс позволяют новичкам быстро изучить популярные инструменты и методы, связанные с RF и обратным проектированием. Преподаватели в области кибербезопасности и инженерии могут воспользоваться встроенными материалами или использовать платформу для демонстрации своих собственных реальных приложений. Разработчики и исследователи могут использовать FISSURE для своих повседневных задач или для демонстрации своих передовых решений более широкой аудитории. По мере роста осведомленности и использования FISSURE в сообществе будут расти и масштабы ее возможностей и широта охватываемых ею технологий.
Вызов настроек установщика Экспортируйте и импортируйте проверенные элементы программного обеспечения в установщике FISSURE с помощью кнопок «Экспорт» и «Импорт». Быстро устанавливайте только те программы, которые вам нужны.
Локальная поддержка IQEngine на вкладке «Данные IQ» и меню для загрузки файлов SigMF одним щелчком мыши для файлов в папке «/IQ Recordings». Остановите Docker-контейнер IQEngine, используя меню Инструменты>Данные>IQEngine.
Развертываемые узлы удаленных датчиков для компьютеров общего назначения (SBC, мини-ПК, ноутбуков, настольных компьютеров), которые поддерживают любые типы периферийных устройств, которыми можно управлять с помощью компьютера. Эти удаленные сенсорные узлы выполняют небольшой подмножество кода, которым можно управлять по сети через графический интерфейс панели управления FISSURE для выполнения традиционных операций FISSURE, а также выполнять новые типы сценариев действий, которые могут выполняться автономно при запуске или полуавтономно посредством взаимодействия с пользователем ( автозапуск плейлистов).
Развертывание нескольких сенсорных узлов в одной сети открывает доступ ко многим геопространственным приложениям для будущего развития FISSURE. К таким приложениям относятся пеленгация, отслеживание, обнаружение вторжений, мобильное развертывание и защита периметра. Небольшой форм-фактор и автономные возможности предоставляют уникальные возможности для скрытного развертывания и упаковки на существующие платформы. Эти обновления также могут предоставить удаленным работникам недорогой механизм проведения комбинированного тестирования радиочастотной кибербезопасности и доступа к специализированным радиочастотным средам, таким как международные точки интереса, лаборатории и испытательные площадки.
Возможности запуска списков воспроизведения с автозапуском, одноэтапных атак, многоэтапных атак и воспроизведения архива. Включает более 20 примеров акустических, экологических, файловых систем, сетевых, радиочастотных, временных и визуальных триггеров для запуска электромагнитных эффектов. Обратитесь к разделу «Список триггеров» в руководстве пользователя для получения текущего списка и разделу «Создание триггеров», чтобы узнать, как добавить свой собственный.
Вкладка «Классификатор сигналов» для дерева решений обучения и моделей DNN, основанных исключительно на статистических характеристиках, извлеченных из данных IQ. Эта вкладка используется для присвоения истинной информации наборам функций (полученных из Feature Extractor), собранных из изолированных файлов сигналов (полученных из Signal Conditioner), для разработки моделей машинного обучения с использованием TensorFlow и scikit-learn. Неизвестные сигналы могут быть пропущены через все доступные модели для сравнения результатов и установления уверенности. Вкладки «Кондиционер сигналов», «Извлечение признаков» и «Классификатор сигналов» служат испытательной площадкой для разработки новых алгоритмов, и в конечном итоге результаты (изолированные сигналы IQ, статистические характеристики, достоверность классификации) будут каталогизированы в библиотеке FISSURE как сигналы, представляющие интерес для дальнейшего анализа или для дальнейшего использования. запускать автоматические действия.
Генератор сигналов двухпозиционной манипуляции во вкладке IQ Data для быстрого просмотра и тестирования сигналов/устройств. Пользовательские сигналы можно сохранять в виде файлов IQ для последующего воспроизведения для выполнения действий над объектами или моделирования радиочастотных устройств.
Сб. 10 августа 2024 г .: DEF CON 32 — Деревня РФ — 14:00–15:00 по тихоокеанскому стандартному времени. Предварительно записанное видео, живая запись
Чт. 5 сентября 2024 г .: Ярмарка вакансий и стажировок STEM Бингемтонского университета — 11:00–15:30 по восточному стандартному времени.
Вт. 17 сентября 2024 г .: Радиоконференция GNU 2024 – 16:05–16:35 EST. Описание/слайды, запись живого выступления.
Декабрь 2024 г. (Окончательные даты скоро будут!) : FISSURE Challenge 2024. Ссылка (скоро)
Ниже приведен список «поддерживаемого» оборудования с различными уровнями интеграции:
Поддерживается
Теперь в FISSURE есть две ветки: ветка Python3 и ветка Python2_maint-3.7. Ветка Python3 содержит новейший код и поддерживает PyQt5 и GNU Radio версий 3.8 и 3.10. Ветка Python2_maint-3.7 устарела и будет обновляться только в том случае, если для определенных сторонних инструментов требуется GNU Radio версии 3.7 или более старая операционная система. Для установки будут поддерживаться только последние второстепенные версии операционных систем, и мы сделаем все возможное, чтобы не отставать.
Операционная система | ТРЕЩИНА Филиал | Версия радио GNU по умолчанию |
---|---|---|
Бэкбокс Linux 8 (amd64) | Python3 | обслуживание-3.10 |
DragonOS FocalX (x86_64) | Python3 | обслуживание-3.10 |
Кали 23.1 (x64) | Python3 | обслуживание-3.10 |
KDE neon 5.25 (x64) (6.0 не тестировался) | Python3 | обслуживание-3.8 |
Попугай безопасности 6.1 (amd64) | Python3 | обслуживание-3.10 |
ОС Raspberry Pi (книжный червь) | Python3 | обслуживание-3.10 |
Убунту 18.04 (x64) | Python2_maint-3.7 | обслуживание-3.7 |
Убунту 20.04 (х64) | Python3 | обслуживание-3.8 |
Убунту 22.04 (х64) | Python3 | обслуживание-3.10 |
Ubuntu 22.04 (ARM/Orange Pi) | Python3 | обслуживание-3.10 |
Убунту 24.04 (x86) | Python3 | обслуживание-3.10 |
В процессе (бета)
Эти операционные системы все еще находятся в статусе бета-версии. Они находятся в стадии разработки, и известно, что некоторые функции отсутствуют. Элементы установщика могут конфликтовать с существующими программами или не устанавливаться до тех пор, пока статус не будет удален.
Операционная система | ТРЕЩИНА Филиал | Версия радио GNU по умолчанию |
---|---|---|
Никто |
Примечание. Некоторые программные инструменты работают не для каждой ОС. См. «Известные конфликты и стороннее программное обеспечение».
Установка
Чтобы добавить ключи SSH в GitHub:
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
git clone https://github.com/ainfosec/FISSURE.git
cd FISSURE
git checkout Python3 # or Python2_maint-3.7
git submodule update --init
./install
Примечания:
Рекомендуется устанавливать FISSURE на чистую операционную систему, чтобы избежать конфликтов с существующим программным обеспечением. Будут продолжены дальнейшие усилия по виртуализации и управлению зависимостями. Примечания к установщику:
~/Installed_by_FISSURE
. Установщик FISSURE полезен для подготовки компьютеров или установки избранных программ, представляющих интерес. Код можно быстро изменить, чтобы обеспечить возможность установки специального программного обеспечения. Оценочные размеры программ указаны до и после полной установки. Размеры для каждой программы не точны, так как некоторые зависимости установлены в ранее проверенных элементах. Размеры также могут меняться со временем по мере обновления программ.
Установка узла удаленного датчика
Установите FISSURE как обычно на компьютер общего назначения. Установите FISSURE на удаленном компьютере в том же каталоге, что и на локальном компьютере (до дальнейшего уведомления), чтобы избежать ошибок пути к файлу при определенных действиях. Чтобы настроить узел датчика для удаленной работы, отредактируйте файл «default.yaml» в каталоге ./fissure/Sensor_Node/Sensor_Node_Config/
. Отредактируйте следующие поля, чтобы перейти от локального к удаленному режиму:
Измените значение поля «autorun» с false
на true
, чтобы запускать файл списка воспроизведения автозапуска по умолчанию при запуске и отказаться от удаленных операций. Новые плейлисты автозапуска можно создавать и сохранять на вкладке «Автозапуск панели мониторинга».
Узел удаленного датчика действует как сервер и должен иметь набор действительных сертификатов (созданных во время установки), соответствующих клиентскому (локальному компьютеру). Серверу нужны файлы «server.key_secret» и «client.key», а клиенту нужны файлы «client.key_secret» и «server.key». Если папка сертификатов была создана на серверном компьютере, файлы клиента необходимо вручную перенести на другой компьютер.
Использование локальной информационной панели
Откройте терминал и введите:
fissure
Предполагаемый метод запуска панели FISSURE Dashboard — через терминал без sudo. Терминал предоставляет важный статус и обратную связь для некоторых операций. Более подробную информацию можно найти в документации FISSURE.
Локальный сенсорный узел можно запустить с помощью верхних кнопок на панели управления FISSURE, и он помогает поддерживать все ранее существовавшие функции FISSURE на автономной рабочей станции. В настоящее время поддерживаются только один локальный и четыре удаленных сенсорных узла (или пять удаленных).
Если какая-либо из программ зависает или зависает при закрытии, для обнаружения проблемы или принудительного завершения работы можно использовать следующие команды:
sudo ps -aux | grep python3
sudo pkill python3
sudo kill -9
Использование узла удаленного датчика
После настройки файла конфигурации узла датчика (см. выше) код можно запустить с помощью этой команды из корневого каталога:
python3 ./fissure/Sensor_Node/SensorNode.py
Код узла датчика останется активным до тех пор, пока не будет применено сочетание клавиш Ctrl+C. Подключение к удаленному сенсорному узлу осуществляется через верхние кнопки FISSURE Dashboard. Щелчок правой кнопкой мыши по верхним кнопкам позволит выбрать активный узел датчика для выполнения операций. Будущие операции, которые используют более одного узла одновременно, будут обрабатываться в каждом конкретном случае на отдельных вкладках.
FISSURE поставляется с несколькими полезными руководствами для ознакомления с различными технологиями и методами. Многие из них включают инструкции по использованию различных инструментов, интегрированных в FISSURE. Мы стремимся улучшать качество и со временем добавлять новый контент.
Ежегодный конкурс по захвату флага «FISSURE Challenge», целью которого является демонстрация новых дополнений к FISSURE, проводится каждый год в декабре. Прошлые задачи заархивированы и их можно решать круглый год! Получите практический опыт и просмотрите решения на сайте: FISSURE Challenge.
Настоятельно приветствуются предложения по улучшению FISSURE. Оставьте комментарий на странице обсуждений или на сервере Discord, если у вас есть какие-либо мысли по поводу следующего:
Вклад в улучшение FISSURE имеет решающее значение для ускорения его развития. Любой ваш вклад очень ценится. Если вы хотите внести свой вклад в разработку кода, создайте репозиторий и создайте запрос на включение:
git checkout -b feature/AmazingFeature
)git commit -m 'Add some AmazingFeature'
)git push origin feature/AmazingFeature
)Также приветствуется создание задач для привлечения внимания к ошибкам.
Нужны более конкретные идеи? Есть много тем, которые нам еще предстоит исследовать. Ознакомьтесь с нашим текущим списком потенциальных дел. Любая помощь приветствуется. Выберите простой вариант и напишите в своем резюме, что вы внесли свой вклад в FISSURE.
Вы студент или хотите узнать больше о RF и программировании, или представляете организацию, которая хочет познакомить студентов с миром открытого исходного кода? Свяжитесь с нами сегодня и ознакомьтесь со списком идей проектов на 2023 год.
Свяжитесь с отделом развития бизнеса Assured Information Security, Inc. (AIS), чтобы предложить и формализовать любые возможности сотрудничества с FISSURE — будь то выделение времени для интеграции вашего программного обеспечения, привлечение талантливых людей из AIS для разработки решений ваших технических проблем или интеграция FISSURE в другие платформы/приложения.
GPL-3.0
Подробную информацию о лицензии см. в файле LICENSE.
Присоединяйтесь к серверу Discord: https://discord.gg/JZDs5sgxcG.
Следите за новостями в Twitter/X: @FissureRF, @AinfoSec.
Подключайтесь к LinkedIn: FISSURE — RF Framework
Крис Пур – Assured Information Security, Inc. – [email protected]
Развитие бизнеса – Assured Information Security, Inc. – [email protected]
Особая благодарность доктору Сэмюэлю Мантравади и Джозефу Рейту за их вклад в этот проект.
Например, работа с сигналами, реверс-инжиниринг или другие области кибербезопасности? Просмотрите наши текущие вакансии или присоединяйтесь к нашему сообществу талантов, чтобы рассмотреть их в будущем.
Если вы интересуетесь хакерством, примите участие в нашем испытании Can You Hack It?® и проверьте свои навыки! Отправьте свой результат, чтобы показать нам, что у вас есть. AIS имеет национальное присутствие с офисами и удаленными сотрудниками по всей территории США. Мы предлагаем конкурентоспособную заработную плату и выдающиеся льготы. Присоединяйтесь к команде, которая заинтересована не только в будущем киберпространства, но и в успехе наших сотрудников.