FISSURE - Das RF-Framework

Reading time: 7 minutes

Frequenzunabhängige SDR-basierte Signalverständnis und Reverse Engineering

FISSURE ist ein Open-Source-RF- und Reverse-Engineering-Framework, das für alle Fähigkeitsstufen entwickelt wurde und Schnittstellen für Signalentdeckung und -klassifizierung, Protokollentdeckung, Angriffsausführung, IQ-Manipulation, Schwachstellenanalyse, Automatisierung und KI/ML bietet. Das Framework wurde entwickelt, um die schnelle Integration von Softwaremodulen, Radios, Protokollen, Signal Daten, Skripten, Flussdiagrammen, Referenzmaterial und Drittanbieter-Tools zu fördern. FISSURE ist ein Workflow-Ermöglicher, der Software an einem Ort hält und es Teams ermöglicht, mühelos auf den gleichen bewährten Basiskonfigurationsstandard für spezifische Linux-Distributionen zuzugreifen.

Das Framework und die mit FISSURE enthaltenen Tools sind darauf ausgelegt, die Präsenz von RF-Energie zu erkennen, die Eigenschaften eines Signals zu verstehen, Proben zu sammeln und zu analysieren, Übertragungs- und/oder Injektionstechniken zu entwickeln und benutzerdefinierte Payloads oder Nachrichten zu erstellen. FISSURE enthält eine wachsende Bibliothek von Protokoll- und Signalinformationen, um bei der Identifizierung, Paketgestaltung und Fuzzing zu helfen. Online-Archivfunktionen existieren, um Signaldateien herunterzuladen und Playlists zu erstellen, um den Verkehr zu simulieren und Systeme zu testen.

Die benutzerfreundliche Python-Codebasis und Benutzeroberfläche ermöglicht es Anfängern, schnell über beliebte Tools und Techniken im Zusammenhang mit RF und Reverse Engineering zu lernen. Pädagogen in der Cybersicherheit und Ingenieurwissenschaften können das integrierte Material nutzen oder das Framework verwenden, um ihre eigenen realen Anwendungen zu demonstrieren. Entwickler und Forscher können FISSURE für ihre täglichen Aufgaben oder zur Präsentation ihrer innovativen Lösungen einem breiteren Publikum nutzen. Mit dem wachsenden Bewusstsein und der Nutzung von FISSURE in der Community werden auch die Möglichkeiten und der Umfang der Technologie, die es umfasst, zunehmen.

Zusätzliche Informationen

Erste Schritte

Unterstützt

Es gibt drei Zweige innerhalb von FISSURE, um die Dateinavigation zu erleichtern und den Code-Redundanz zu reduzieren. Der Branch Python2_maint-3.7 enthält eine Codebasis, die auf Python2, PyQt4 und GNU Radio 3.7 basiert; der Branch Python3_maint-3.8 basiert auf Python3, PyQt5 und GNU Radio 3.8; und der Branch Python3_maint-3.10 basiert auf Python3, PyQt5 und GNU Radio 3.10.

BetriebssystemFISSURE-Zweig
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

In Arbeit (Beta)

Diese Betriebssysteme befinden sich noch im Beta-Status. Sie sind in der Entwicklung und mehrere Funktionen sind bekanntlich nicht verfügbar. Elemente im Installer könnten mit vorhandenen Programmen in Konflikt stehen oder die Installation könnte fehlschlagen, bis der Status entfernt wird.

BetriebssystemFISSURE-Zweig
DragonOS Focal (x86_64)Python3_maint-3.8
Ubuntu 22.04 (x64)Python3_maint-3.10

Hinweis: Bestimmte Software-Tools funktionieren nicht für jedes Betriebssystem. Siehe Software und Konflikte

Installation

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

Dies installiert die erforderlichen PyQt-Softwareabhängigkeiten, die benötigt werden, um die Installations-GUIs zu starten, falls sie nicht gefunden werden.

Wählen Sie als Nächstes die Option aus, die am besten zu Ihrem Betriebssystem passt (sollte automatisch erkannt werden, wenn Ihr OS mit einer Option übereinstimmt).

Python2_maint-3.7Python3_maint-3.8Python3_maint-3.10
install1binstall1ainstall1c

Es wird empfohlen, FISSURE auf einem sauberen Betriebssystem zu installieren, um bestehende Konflikte zu vermeiden. Wählen Sie alle empfohlenen Kontrollkästchen (Standardtaste) aus, um Fehler beim Betrieb der verschiedenen Tools innerhalb von FISSURE zu vermeiden. Es wird während der Installation mehrere Aufforderungen geben, die hauptsächlich nach erhöhten Berechtigungen und Benutzernamen fragen. Wenn ein Element am Ende einen Abschnitt "Überprüfen" enthält, führt der Installer den folgenden Befehl aus und hebt das Kontrollkästchen grün oder rot hervor, je nachdem, ob durch den Befehl Fehler erzeugt werden. Überprüfte Elemente ohne einen Abschnitt "Überprüfen" bleiben nach der Installation schwarz.

install2

Verwendung

Öffnen Sie ein Terminal und geben Sie ein:

fissure

Beziehen Sie sich auf das FISSURE-Hilfemenü für weitere Details zur Verwendung.

Details

Komponenten

  • Dashboard
  • Central Hub (HIPRFISR)
  • Zielsignalidentifikation (TSI)
  • Protokollentdeckung (PD)
  • Flussdiagramm & Skriptausführer (FGE)

components

Fähigkeiten

Signal DetectorIQ ManipulationSignal LookupPattern Recognition
AttacksFuzzingSignal PlaylistsImage Gallery
Packet CraftingScapy IntegrationCRC CalculatorLogging

Hardware

Die folgende Liste umfasst "unterstützte" Hardware mit unterschiedlichen Integrationsgraden:

  • USRP: X3xx, B2xx, B20xmini, USRP2, N2xx
  • HackRF
  • RTL2832U
  • 802.11 Adapter
  • LimeSDR
  • bladeRF, bladeRF 2.0 micro
  • Open Sniffer
  • PlutoSDR

Lektionen

FISSURE enthält mehrere hilfreiche Anleitungen, um sich mit verschiedenen Technologien und Techniken vertraut zu machen. Viele beinhalten Schritte zur Verwendung verschiedener Werkzeuge, die in FISSURE integriert sind.

Roadmap

  • Fügen Sie weitere Hardwaretypen, RF-Protokolle, Signalparameter, Analysetools hinzu
  • Unterstützen Sie weitere Betriebssysteme
  • Entwickeln Sie Unterrichtsmaterial zu FISSURE (RF-Angriffe, Wi-Fi, GNU Radio, PyQt usw.)
  • Erstellen Sie einen Signalaufbereiter, Merkmalsextraktor und Signalklassifizierer mit wählbaren AI/ML-Techniken
  • Implementieren Sie rekursive Demodulationsmechanismen zur Erzeugung eines Bitstroms aus unbekannten Signalen
  • Überführen Sie die Hauptkomponenten von FISSURE in ein generisches Sensor-Knoten-Bereitstellungsschema

Mitwirken

Vorschläge zur Verbesserung von FISSURE sind ausdrücklich erwünscht. Hinterlassen Sie einen Kommentar auf der Discussions-Seite oder im Discord-Server, wenn Sie Gedanken zu Folgendem haben:

  • Vorschläge für neue Funktionen und Designänderungen
  • Softwaretools mit Installationsschritten
  • Neue Lektionen oder zusätzliches Material für bestehende Lektionen
  • Interessante RF-Protokolle
  • Weitere Hardware- und SDR-Typen zur Integration
  • IQ-Analyse-Skripte in Python
  • Installationskorrekturen und -verbesserungen

Beiträge zur Verbesserung von FISSURE sind entscheidend, um die Entwicklung zu beschleunigen. Alle Beiträge, die Sie leisten, werden sehr geschätzt. Wenn Sie durch die Entwicklung von Code beitragen möchten, forken Sie das Repository und erstellen Sie eine Pull-Anfrage:

  1. Forken Sie das Projekt
  2. Erstellen Sie Ihren Feature-Branch (git checkout -b feature/AmazingFeature)
  3. Committen Sie Ihre Änderungen (git commit -m 'Add some AmazingFeature')
  4. Pushen Sie zum Branch (git push origin feature/AmazingFeature)
  5. Öffnen Sie eine Pull-Anfrage

Das Erstellen von Issues, um auf Fehler aufmerksam zu machen, ist ebenfalls willkommen.

Zusammenarbeit

Kontaktieren Sie Assured Information Security, Inc. (AIS) Business Development, um Vorschläge und formelle Möglichkeiten zur Zusammenarbeit mit FISSURE zu unterbreiten – sei es durch die Zuweisung von Zeit zur Integration Ihrer Software, durch die talentierten Mitarbeiter von AIS, die Lösungen für Ihre technischen Herausforderungen entwickeln, oder durch die Integration von FISSURE in andere Plattformen/Anwendungen.

Lizenz

GPL-3.0

Für Lizenzdetails siehe die LICENSE-Datei.

Kontakt

Treten Sie dem Discord-Server bei: https://discord.gg/JZDs5sgxcG

Folgen Sie uns auf Twitter: @FissureRF, @AinfoSec

Chris Poore - Assured Information Security, Inc. - poorec@ainfosec.com

Business Development - Assured Information Security, Inc. - bd@ainfosec.com

Credits

Wir danken diesen Entwicklern:

Credits

Danksagungen

Besonderer Dank geht an Dr. Samuel Mantravadi und Joseph Reith für ihre Beiträge zu diesem Projekt.