FISSURE - The RF Framework

Reading time: 7 minutes

Незалежне від частоти SDR-базоване розуміння сигналів та зворотне проектування

FISSURE - це відкритий фреймворк RF та зворотного проектування, розроблений для всіх рівнів навичок з можливостями для виявлення та класифікації сигналів, виявлення протоколів, виконання атак, маніпуляцій з IQ, аналізу вразливостей, автоматизації та AI/ML. Фреймворк був створений для сприяння швидкій інтеграції програмних модулів, радіо, протоколів, даних сигналів, скриптів, графіків потоку, довідкових матеріалів та сторонніх інструментів. FISSURE є інструментом для робочих процесів, який зберігає програмне забезпечення в одному місці та дозволяє командам без зусиль швидко адаптуватися, використовуючи одну й ту ж перевірену базову конфігурацію для конкретних дистрибутивів Linux.

Фреймворк та інструменти, включені до FISSURE, призначені для виявлення наявності RF-енергії, розуміння характеристик сигналу, збору та аналізу зразків, розробки технік передачі та/або ін'єкції, а також створення користувацьких корисних навантажень або повідомлень. FISSURE містить зростаючу бібліотеку інформації про протоколи та сигнали для допомоги в ідентифікації, створенні пакетів та фуззингу. Існують можливості онлайн-архіву для завантаження файлів сигналів та створення плейлистів для симуляції трафіку та тестування систем.

Дружня кодова база Python та інтерфейс користувача дозволяють новачкам швидко дізнаватися про популярні інструменти та техніки, пов'язані з RF та зворотним проектуванням. Викладачі в галузі кібербезпеки та інженерії можуть скористатися вбудованими матеріалами або використовувати фреймворк для демонстрації своїх власних реальних застосувань. Розробники та дослідники можуть використовувати FISSURE для своїх щоденних завдань або для представлення своїх передових рішень ширшій аудиторії. З ростом обізнаності та використання FISSURE в спільноті, зросте і обсяг його можливостей та широта технологій, які він охоплює.

Додаткова інформація

Getting Started

Підтримується

Існує три гілки в FISSURE, щоб полегшити навігацію файлами та зменшити надмірність коду. Гілка Python2_maint-3.7 містить кодову базу, побудовану навколо Python2, PyQt4 та GNU Radio 3.7; гілка Python3_maint-3.8 побудована навколо Python3, PyQt5 та GNU Radio 3.8; а гілка Python3_maint-3.10 побудована навколо Python3, PyQt5 та GNU Radio 3.10.

Операційна системаГілка FISSURE
Ubuntu 18.04 (x64)Python2_maint-3.7
Ubuntu 18.04.5 (x64)Python2_maint-3.7
Ubuntu 18.04.6 (x64)Python2_maint-3.7
Ubuntu 20.04.1 (x64)Python3_maint-3.8
Ubuntu 20.04.4 (x64)Python3_maint-3.8
KDE neon 5.25 (x64)Python3_maint-3.8

В процесі (бета)

Ці операційні системи все ще знаходяться в бета-статусі. Вони знаходяться в розробці, і відомо, що кілька функцій відсутні. Елементи в установнику можуть конфліктувати з існуючими програмами або не встановлюватися, поки статус не буде знято.

Операційна системаГілка FISSURE
DragonOS Focal (x86_64)Python3_maint-3.8
Ubuntu 22.04 (x64)Python3_maint-3.10

Примітка: Деякі програмні інструменти не працюють для кожної ОС. Зверніться до Software And Conflicts

Встановлення

git clone https://github.com/ainfosec/FISSURE.git
cd FISSURE
git checkout <Python2_maint-3.7> or <Python3_maint-3.8> or <Python3_maint-3.10>
git submodule update --init
./install

Це встановить залежності програмного забезпечення PyQt, необхідні для запуску графічних інтерфейсів установки, якщо вони не знайдені.

Далі виберіть опцію, яка найкраще відповідає вашій операційній системі (повинна бути виявлена автоматично, якщо ваша ОС відповідає опції).

Python2_maint-3.7Python3_maint-3.8Python3_maint-3.10
install1binstall1ainstall1c

Рекомендується встановлювати FISSURE на чисту операційну систему, щоб уникнути існуючих конфліктів. Виберіть всі рекомендовані прапорці (кнопка за замовчуванням), щоб уникнути помилок під час роботи з різними інструментами в FISSURE. Протягом установки буде кілька запитів, в основному запитуючи підвищені дозволи та імена користувачів. Якщо елемент містить розділ "Перевірити" в кінці, установник виконає команду, що йде далі, і підсвітить елемент прапорця зеленим або червоним кольором в залежності від того, чи виникають помилки під час виконання команди. Вибрані елементи без розділу "Перевірити" залишаться чорними після установки.

install2

Використання

Відкрийте термінал і введіть:

fissure

Зверніться до меню допомоги FISSURE для отримання додаткової інформації про використання.

Деталі

Компоненти

  • Панель управління
  • Центральний хаб (HIPRFISR)
  • Ідентифікація цільового сигналу (TSI)
  • Виявлення протоколів (PD)
  • Граф потоку та виконавця скриптів (FGE)

components

Можливості

Детектор сигналуМаніпуляція IQПошук сигналуВизнання шаблонів
АтакиФаззингПлейлисти сигналівГалерея зображень
Створення пакетівІнтеграція ScapyКалькулятор CRCЛогування

Апаратура

Наступний список "підтримуваної" апаратури з різними рівнями інтеграції:

  • USRP: X3xx, B2xx, B20xmini, USRP2, N2xx
  • HackRF
  • RTL2832U
  • Адаптери 802.11
  • LimeSDR
  • bladeRF, bladeRF 2.0 micro
  • Open Sniffer
  • PlutoSDR

Уроки

FISSURE постачається з кількома корисними посібниками, щоб ознайомитися з різними технологіями та техніками. Багато з них містять кроки для використання різних інструментів, які інтегровані в FISSURE.

Дорожня карта

  • Додати більше типів апаратури, RF протоколів, параметрів сигналу, інструментів аналізу
  • Підтримка більше операційних систем
  • Розробити навчальні матеріали навколо FISSURE (RF Атаки, Wi-Fi, GNU Radio, PyQt тощо)
  • Створити кондиціонер сигналу, екстрактор ознак та класифікатор сигналів з вибраними AI/ML техніками
  • Реалізувати рекурсивні механізми демодуляції для отримання бітового потоку з невідомих сигналів
  • Перенести основні компоненти FISSURE на загальну схему розгортання сенсорних вузлів

Участь

Пропозиції щодо покращення FISSURE дуже вітаються. Залиште коментар на сторінці Обговорення або на сервері Discord, якщо у вас є думки щодо наступного:

  • Пропозиції нових функцій та зміни дизайну
  • Програмні інструменти з кроками установки
  • Нові уроки або додаткові матеріали для існуючих уроків
  • RF протоколи, що вас цікавлять
  • Більше апаратури та типів SDR для інтеграції
  • Скрипти аналізу IQ на Python
  • Виправлення та покращення установки

Внески для покращення FISSURE є важливими для прискорення його розвитку. Будь-які внески, які ви зробите, дуже цінуються. Якщо ви хочете внести свій внесок через розробку коду, будь ласка, створіть форк репозиторію та створіть запит на злиття:

  1. Форкніть проект
  2. Створіть свою гілку функцій (git checkout -b feature/AmazingFeature)
  3. Зафіксуйте свої зміни (git commit -m 'Додати деякі AmazingFeature')
  4. Відправте на гілку (git push origin feature/AmazingFeature)
  5. Відкрийте запит на злиття

Створення Проблем для привернення уваги до помилок також вітається.

Співпраця

Зв'яжіться з Assured Information Security, Inc. (AIS) для пропозиції та формалізації будь-яких можливостей співпраці FISSURE – чи то через виділення часу на інтеграцію вашого програмного забезпечення, чи через залучення талановитих людей з AIS для розробки рішень для ваших технічних викликів, чи інтеграцію FISSURE в інші платформи/додатки.

Ліцензія

GPL-3.0

Для деталей ліцензії дивіться файл LICENSE.

Контакт

Приєднуйтесь до сервера Discord: https://discord.gg/JZDs5sgxcG

Слідкуйте за нами в Twitter: @FissureRF, @AinfoSec

Кріс Пур - Assured Information Security, Inc. - poorec@ainfosec.com

Розвиток бізнесу - Assured Information Security, Inc. - bd@ainfosec.com

Подяки

Ми визнаємо та вдячні цим розробникам:

Подяки

Визнання

Особлива подяка доктору Семюелю Мантраві та Джозефу Рейту за їх внесок у цей проект.