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.
Betriebssystem | FISSURE-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.
Betriebssystem | FISSURE-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.7 | Python3_maint-3.8 | Python3_maint-3.10 |
---|---|---|
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.
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)
Fähigkeiten
Signal Detector | IQ Manipulation | Signal Lookup | Pattern Recognition |
---|---|---|---|
Attacks | Fuzzing | Signal Playlists | Image Gallery |
Packet Crafting | Scapy Integration | CRC Calculator | Logging |
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.
- Lesson1: OpenBTS
- Lesson2: Lua Dissectors
- Lesson3: Sound eXchange
- Lesson4: ESP Boards
- Lesson5: Radiosonde Tracking
- Lesson6: RFID
- Lesson7: Data Types
- Lesson8: Custom GNU Radio Blocks
- Lesson9: TPMS
- Lesson10: Ham Radio Exams
- Lesson11: Wi-Fi Tools
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:
- Forken Sie das Projekt
- Erstellen Sie Ihren Feature-Branch (
git checkout -b feature/AmazingFeature
) - Committen Sie Ihre Änderungen (
git commit -m 'Add some AmazingFeature'
) - Pushen Sie zum Branch (
git push origin feature/AmazingFeature
) - Ö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:
Danksagungen
Besonderer Dank geht an Dr. Samuel Mantravadi und Joseph Reith für ihre Beiträge zu diesem Projekt.