Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
gr-PHYSEC — Modulo GNU Radio per la sicurezza del livello fisico che utilizza il fingerprinting del canale tramite deep learning, la quantizzazione delle feature e la generazione di chiavi SHA3-512 da campioni IQ SDR. | Kitploit
Strumenti/GitHubGitHub/c2a2-at-florida-atlantic-university/gr-physec
Strumenti di Crittografia/DecrittografiaSicurezza WirelessCrittografiaSicurezza Hardware e IoTMachine Learning
GitHubc2a2-at-florida-atlantic-university/gr-physec

gr-PHYSEC

Modulo GNU Radio per la sicurezza del livello fisico che utilizza il fingerprinting del canale tramite deep learning, la quantizzazione delle feature e la generazione di chiavi SHA3-512 da campioni IQ SDR.

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi
Vedi Repository
215 mesi faNon ancora revisionato

gr-PHYSEC: Modulo GNU Radio per la Sicurezza del Livello Fisico

Questo modulo GNU Radio fornisce capacità di fingerprinting del canale per applicazioni di sicurezza del livello fisico utilizzando modelli di deep learning.

Caratteristiche

  • Fingerprinting del Canale: Estrae caratteristiche uniche del canale dai campioni IQ
  • Integrazione con Deep Learning: Utilizza modelli addestrati (QExtractor.h5) per l'estrazione delle caratteristiche
  • Quantizzazione delle Caratteristiche: Converte le caratteristiche estratte in valori binari
  • Amplificazione della Privacy: Applica hashing crittografico (SHA3-512) per la generazione delle chiavi
  • Elaborazione in Tempo Reale: Elabora campioni IQ in tempo reale da dispositivi SDR
  • Supporto Multiplo di Modelli: Supporto per le architetture TripletNet e QuadrupletNet

Requisiti

  • GNU Radio 3.10+
  • Python 3.8+
  • TensorFlow 2.x
  • NumPy
  • Hashlib (integrato)

Installazione

1. Clonare il repository

root@kitploit:~
git clone <your-repo-url>/gr-PHYSEC.git
cd gr-PHYSEC

2. Creare la directory di build

root@kitploit:~
mkdir build
cd build

3. Configurare e compilare

root@kitploit:~
cmake ..
make -j$(nproc)

4. Installare

root@kitploit:~
sudo make install
sudo ldconfig

5. Verificare l'installazione

root@kitploit:~
gnuradio-companion

Dovresti vedere una nuova categoria [PHYSEC] con il blocco PHYSEC Fingerprint Block.

Utilizzo

GNU Radio Companion (GRC)

  1. Apri GNU Radio Companion
  2. Cerca la categoria [PHYSEC]
  3. Trascina e rilascia il blocco PHYSEC Fingerprint Block
  4. Configura i parametri:
    • Model Path: Percorso del file QExtractor.h5
    • Model Type: Scegli tra "quadruplet" o "triplet"
    • Spectrogram Size: Dimensione FFT (predefinito: 512)
    • Sample Rate: Frequenza di campionamento SDR in Hz
    • Center Frequency: Frequenza centrale SDR in Hz
    • Key Length: Lunghezza desiderata della chiave in bit

Script Python

root@kitploit:~
from gnuradio import gr
from gnuradio import PHYSEC

# Create decoupled PHYSEC blocks
spectrogram = PHYSEC.spectrogram_block(
    vector_size=512,
    sample_rate=1e6,
    center_freq=2.4e9
)

feature_extractor = PHYSEC.feature_extraction_block(
    model_path="/path/to/QExtractor.onnx"
)

feature_quantizer = PHYSEC.feature_quantization_block(
    threshold_type="mean"
)

parity_generator = PHYSEC.parity_generation_block(
    key_length=512
)

reconciler = PHYSEC.reconciliation_block(
    key_length=512
)

privacy_amplifier = PHYSEC.privacy_amplification_block()

Flowgraph di Esempio

Vedi examples/decoupled_physic_example.grc per un flowgraph di esempio completo che utilizza i blocchi PHYSEC disaccoppiati.

Parametri dei Blocchi

Blocco Spectrogram

Blocco Feature Extraction

ParametroTipoPredefinitoDescrizione
model_pathstring-Percorso del file del modello ONNX

Blocco Feature Quantization

ParametroTipoPredefinitoDescrizione
threshold_typestring"mean"Metodo di soglia: "mean", "median" o "zero"

Blocco Parity Generation

ParametroTipoPredefinitoDescrizione
key_lengthint512Lunghezza della chiave binaria per la generazione della parità

Blocco Reconciliation

ParametroTipoPredefinitoDescrizione
key_lengthint512Lunghezza della chiave binaria per la riconciliazione

Blocco Privacy Amplification

ParametroTipoPredefinitoDescrizione
Nessun parametro richiesto--Applica l'hashing SHA3-512

Input/Output

Blocco Spectrogram

  • Input: Campioni IQ complessi dall'SDR
  • Output: Dati dello spettrogramma (204×31 valori float)

Blocco Feature Extraction

  • Input: Dati dello spettrogramma (204×31 valori float)
  • Output: Vettore di caratteristiche (512 valori float)

Blocco Feature Quantization

  • Input: Vettore di caratteristiche (512 valori float)
  • Output: Caratteristiche binarie (512 valori uint8)

Blocco Parity Generation

  • Input: Caratteristiche binarie (512 valori uint8)
  • Output: Bit di parità (stringa)

Blocco Reconciliation

  • Input: Caratteristiche binarie + Bit di parità
  • Output: Chiave binaria riconciliata (stringa)

Blocco Privacy Amplification

  • Input: Caratteristiche binarie (512 valori uint8)
  • Output: Chiave crittografica finale (128 byte)

Formato del Messaggio

Il messaggio di output del fingerprint contiene:

root@kitploit:~
{
    "fingerprint": "generated_hash_string",
    "block_count": 123,
    "sample_rate": 1000000.0,
    "center_freq": 2400000000.0,
    "spectrogram_size": 512
}

Pipeline di Elaborazione

  1. Raccolta dei Campioni IQ: Bufferizza i campioni IQ in ingresso utilizzando Stream to Vector
  2. Creazione dello Spettrogramma: Converte i campioni IQ in spettrogramma utilizzando STFT, normalizzazione RMS e ritaglio in frequenza
  3. Estrazione delle Caratteristiche: Utilizza il modello ONNX per estrarre le caratteristiche del canale
  4. Quantizzazione delle Caratteristiche: Converte le caratteristiche in valori binari utilizzando soglie configurabili
  5. Generazione della Parità: Genera bit di parità Reed-Solomon per la correzione degli errori
  6. Riconciliazione della Chiave: Corregge gli errori utilizzando i bit di parità
  7. Amplificazione della Privacy: Applica l'hashing SHA3-512 per la generazione finale della chiave
  8. Output: Comunicazione basata su stream tra i blocchi

Requisiti del Modello

Il tuo modello ONNX dovrebbe:

  • Accettare una forma di input: (batch, 204, 31) per i dati dello spettrogramma
  • Restituire vettori di caratteristiche di lunghezza 512
  • Essere compatibile con ONNX Runtime
  • Supportare input/output float32

Risoluzione dei Problemi

Problemi Comuni

  1. Modello non trovato: Assicurati che il percorso di QExtractor.h5 sia corretto
  2. Errori TensorFlow: Verifica l'installazione e la compatibilità di TensorFlow
  3. Problemi di memoria: Riduci spectrogram_size per un utilizzo di memoria inferiore
  4. Prestazioni: Utilizza l'accelerazione GPU se disponibile

Output di Debug

Il blocco fornisce informazioni di debug estese:

  • Output sulla console per lo stato di elaborazione
  • Porte di messaggi per risultati intermedi
  • Gestione degli errori con messaggi informativi

Sviluppo

Aggiunta di Nuove Funzionalità

  1. Modifica il blocco specializzato appropriato (ad esempio, spectrogram_block.py)
  2. Aggiorna la definizione del blocco GRC corrispondente in grc/
  3. Ricompila il modulo
  4. Testa con gli esempi

Test

Esegui lo script di esempio:

root@kitploit:~
cd examples
python3 fingerprint_example.py

Licenza

Questo progetto è distribuito sotto la licenza GPL-3.0-or-later.

Contribuire

  1. Fai un fork del repository
  2. Crea un branch per la funzionalità
  3. Apporta le tue modifiche
  4. Aggiungi test se applicabile
  5. Invia una pull request

Supporto

Per problemi e domande:

  1. Consulta la sezione di risoluzione dei problemi
  2. Esamina i file di esempio
  3. Apri una issue sul repository
  4. Contatta il team di sviluppo

Riconoscimenti

  • Basato sulla ricerca sul fingerprinting del canale PHYSEC
  • Utilizza TensorFlow per l'inferenza di deep learning
  • Si integra con GNU Radio per l'elaborazione SDR
Scarica lo strumento
ParametroTipoPredefinitoDescrizione
vector_sizeint512Dimensione FFT per la creazione dello spettrogramma
sample_ratefloat1e6Frequenza di campionamento SDR in Hz
center_freqfloat2.4e9Frequenza centrale SDR in Hz