FISSURE - The RF Framework

Comprensione e reverse engineering dei segnali basati su SDR indipendenti dalla frequenza

FISSURE è un framework open-source per RF e reverse engineering progettato per tutti i livelli di competenza, con funzioni per la rilevazione e classificazione dei segnali, la scoperta dei protocolli, l'esecuzione degli attacchi, la manipolazione dell'IQ, l'analisi delle vulnerabilità, l'automazione e l'IA/ML. Il framework è stato creato per favorire l'integrazione rapida di moduli software, radio, protocolli, dati di segnale, script, flussi di lavoro, materiale di riferimento e strumenti di terze parti. FISSURE è un facilitatore di workflow che mantiene il software in un'unica posizione e consente alle squadre di mettersi rapidamente al passo condividendo la stessa configurazione di base provata per distribuzioni specifiche di Linux.

Il framework e gli strumenti inclusi in FISSURE sono progettati per rilevare la presenza di energia RF, comprendere le caratteristiche di un segnale, raccogliere e analizzare campioni, sviluppare tecniche di trasmissione e/o di iniezione e creare payload o messaggi personalizzati. FISSURE contiene una libreria in continua crescita di informazioni sui protocolli e sui segnali per aiutare nell'identificazione, nella creazione di pacchetti e nel fuzzing. Esistono funzionalità di archiviazione online per scaricare file di segnale e creare playlist per simulare il traffico e testare i sistemi.

Il codice Python amichevole e l'interfaccia utente consentono ai principianti di imparare rapidamente gli strumenti e le tecniche popolari riguardanti RF e reverse engineering. Gli educatori di sicurezza informatica e ingegneria possono approfittare del materiale integrato o utilizzare il framework per dimostrare le proprie applicazioni reali. Sviluppatori e ricercatori possono utilizzare FISSURE per le proprie attività quotidiane o per esporre le loro soluzioni all'avanguardia a un pubblico più ampio. Con l'aumentare della consapevolezza e dell'utilizzo di FISSURE nella comunità, aumenteranno anche le sue capacità e la portata della tecnologia che comprende.

Informazioni aggiuntive

Primi passi

Supportati

Ci sono tre branch all'interno di FISSURE per facilitare la navigazione dei file e ridurre la ridondanza del codice. Il branch Python2_maint-3.7 contiene una base di codice costruita attorno a Python2, PyQt4 e GNU Radio 3.7; il branch Python3_maint-3.8 è costruito attorno a Python3, PyQt5 e GNU Radio 3.8; e il branch Python3_maint-3.10 è costruito attorno a Python3, PyQt5 e GNU Radio 3.10.

Sistema operativoBranch 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

In corso (beta)

Questi sistemi operativi sono ancora in fase beta. Sono in fase di sviluppo e alcune funzionalità sono note per essere mancanti. Gli elementi nell'installer potrebbero entrare in conflitto con programmi esistenti o potrebbero non riuscire a installarsi fino a quando lo stato non viene rimosso.

Sistema operativoBranch FISSURE

DragonOS Focal (x86_64)

Python3_maint-3.8

Ubuntu 22.04 (x64)

Python3_maint-3.10

Nota: Alcuni strumenti software non funzionano per ogni sistema operativo. Fare riferimento a Software e conflitti

Installazione

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

Questo installerà le dipendenze del software PyQt necessarie per avviare le interfacce di installazione se non vengono trovate.

Successivamente, selezionare l'opzione che corrisponde meglio al proprio sistema operativo (dovrebbe essere rilevato automaticamente se il sistema operativo corrisponde a un'opzione).

Python2_maint-3.7Python3_maint-3.8Python3_maint-3.10

Si consiglia di installare FISSURE su un sistema operativo pulito per evitare conflitti esistenti. Selezionare tutte le caselle di controllo consigliate (pulsante Predefinito) per evitare errori durante l'utilizzo degli strumenti all'interno di FISSURE. Durante l'installazione ci saranno più prompt, principalmente per richiedere autorizzazioni elevate e nomi utente. Se un elemento contiene una sezione "Verifica" alla fine, l'installatore eseguirà il comando che segue e evidenzierà la casella di controllo in verde o rosso a seconda se il comando produce errori. Gli elementi selezionati senza una sezione "Verifica" rimarranno neri dopo l'installazione.

Utilizzo

Aprire un terminale e digitare:

fissure

Fai riferimento al menu di aiuto di FISSURE per ulteriori dettagli sull'utilizzo.

Dettagli

Componenti

  • Dashboard

  • Central Hub (HIPRFISR)

  • Identificazione del segnale target (TSI)

  • Scoperta del protocollo (PD)

  • Flow Graph & Script Executor (FGE)

Funzionalità

Hardware

Di seguito è riportato un elenco di hardware "supportato" con diversi livelli di integrazione:

  • USRP: X3xx, B2xx, B20xmini, USRP2, N2xx

  • HackRF

  • RTL2832U

  • Adattatori 802.11

  • LimeSDR

  • bladeRF, bladeRF 2.0 micro

  • Open Sniffer

  • PlutoSDR

Lezioni

FISSURE è dotato di diverse guide utili per familiarizzare con diverse tecnologie e tecniche. Molte includono passaggi per l'utilizzo di vari strumenti integrati in FISSURE.

Roadmap

Contributi

Sono fortemente incoraggiate le proposte per migliorare FISSURE. Lascia un commento nella pagina delle Discussioni o nel server Discord se hai pensieri riguardo ai seguenti argomenti:

  • Nuove proposte di funzionalità e modifiche di design

  • Strumenti software con istruzioni di installazione

  • Nuove lezioni o materiale aggiuntivo per le lezioni esistenti

  • Protocolli RF di interesse

  • Più hardware e tipi di SDR per l'integrazione

  • Script di analisi IQ in Python

  • Correzioni e miglioramenti all'installazione

I contributi per migliorare FISSURE sono fondamentali per accelerare il suo sviluppo. Ogni contributo che fai è molto apprezzato. Se desideri contribuire attraverso lo sviluppo del codice, per favore fork il repository e crea una pull request:

  1. Forka il progetto

  2. Crea il tuo branch di funzionalità (git checkout -b feature/AmazingFeature)

  3. Fai commit delle tue modifiche (git commit -m 'Aggiungi una fantastica funzionalità')

  4. Pusha il branch (git push origin feature/AmazingFeature)

  5. Apri una pull request

È anche possibile creare Issue per segnalare bug.

Collaborazione

Contatta lo sviluppo aziendale di Assured Information Security, Inc. (AIS) per proporre e formalizzare opportunità di collaborazione con FISSURE, che sia dedicando tempo all'integrazione del tuo software, facendo sviluppare soluzioni per le tue sfide tecniche da parte delle persone talentuose di AIS o integrando FISSURE in altre piattaforme/applicazioni.

Licenza

GPL-3.0

Per i dettagli sulla licenza, consulta il file LICENSE.

Contatti

Unisciti al server Discord: https://discord.gg/JZDs5sgxcG

Segui su Twitter: @FissureRF, @AinfoSec

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

Sviluppo Aziendale - Assured Information Security, Inc. - bd@ainfosec.com

Crediti

Riconosciamo e siamo grati a questi sviluppatori:

Crediti

Riconoscimenti

Un ringraziamento speciale al Dr. Samuel Mantravadi e a Joseph Reith per il loro contributo a questo progetto.

Last updated