Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
gr-PHYSEC — GNU-Radio-Modul für Physical-Layer-Sicherheit mittels Deep-Learning-Kanal-Fingerprinting, Feature-Quantisierung und SHA3-512-Schlüsselgenerierung aus SDR-IQ-Samples. | Kitploit
Tools/GitHubGitHub/c2a2-at-florida-atlantic-university/gr-physec
Verschlüsselungs-/EntschlüsselungstoolsDrahtlose SicherheitKryptographieHardware- & IoT-SicherheitMaschinelles Lernen
GitHubc2a2-at-florida-atlantic-university/gr-physec

gr-PHYSEC

GNU-Radio-Modul für Physical-Layer-Sicherheit mittels Deep-Learning-Kanal-Fingerprinting, Feature-Quantisierung und SHA3-512-Schlüsselgenerierung aus SDR-IQ-Samples.

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
Repository anzeigen
21vor 5 MonatenNoch nicht geprüft

gr-PHYSEC: GNU-Radio-Modul für Physical-Layer-Sicherheit

Dieses GNU-Radio-Modul bietet Kanal-Fingerprinting-Funktionen für Anwendungen der Physical-Layer-Sicherheit unter Verwendung von Deep-Learning-Modellen.

Funktionen

  • Kanal-Fingerprinting: Extraktion eindeutiger Kanalmerkmale aus IQ-Samples
  • Deep-Learning-Integration: Verwendung trainierter Modelle (QExtractor.h5) zur Merkmalsextraktion
  • Merkmalsquantisierung: Umwandlung extrahierter Merkmale in Binärwerte
  • Privacy Amplification: Anwendung kryptografischen Hashings (SHA3-512) zur Schlüsselgenerierung
  • Echtzeitverarbeitung: Verarbeitung von IQ-Samples in Echtzeit von SDR-Geräten
  • Unterstützung mehrerer Modelle: Unterstützung sowohl für TripletNet- als auch für QuadrupletNet-Architekturen

Anforderungen

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

Installation

1. Repository klonen

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

2. Build-Verzeichnis erstellen

root@kitploit:~
mkdir build
cd build

3. Konfigurieren und bauen

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

4. Installieren

root@kitploit:~
sudo make install
sudo ldconfig

5. Installation überprüfen

root@kitploit:~
gnuradio-companion

Sie sollten eine neue Kategorie [PHYSEC] mit dem PHYSEC Fingerprint Block sehen.

Verwendung

GNU Radio Companion (GRC)

  1. Öffnen Sie GNU Radio Companion
  2. Suchen Sie die Kategorie [PHYSEC]
  3. Ziehen Sie den PHYSEC Fingerprint Block per Drag-and-Drop
  4. Konfigurieren Sie die Parameter:
    • Model Path: Pfad zu Ihrer QExtractor.h5-Datei
    • Model Type: Wählen Sie zwischen "quadruplet" oder "triplet"
    • Spectrogram Size: FFT-Größe (Standard: 512)
    • Sample Rate: SDR-Abtastrate in Hz
    • Center Frequency: SDR-Mittenfrequenz in Hz
    • Key Length: Gewünschte Schlüssellänge in Bits

Python-Skript

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()

Beispiel-Flowgraph

Siehe examples/decoupled_physic_example.grc für einen vollständigen Beispiel-Flowgraphen mit den entkoppelten PHYSEC-Blöcken.

Blockparameter

Spectrogram Block

Feature Extraction Block

ParameterTypStandardBeschreibung
model_pathstring-Pfad zur ONNX-Modelldatei

Feature Quantization Block

ParameterTypStandardBeschreibung
threshold_typestring"mean"Schwellenwertmethode: "mean", "median" oder "zero"

Parity Generation Block

ParameterTypStandardBeschreibung
key_lengthint512Länge des binären Schlüssels für die Paritätsgenerierung

Reconciliation Block

ParameterTypStandardBeschreibung
key_lengthint512Länge des binären Schlüssels für die Abstimmung

Privacy Amplification Block

ParameterTypStandardBeschreibung
Keine Parameter erforderlich--Wendet SHA3-512-Hashing an

Eingang/Ausgang

Spectrogram Block

  • Eingang: Komplexe IQ-Samples vom SDR
  • Ausgang: Spektrogrammdaten (204×31 Float-Werte)

Feature Extraction Block

  • Eingang: Spektrogrammdaten (204×31 Float-Werte)
  • Ausgang: Merkmalsvektor (512 Float-Werte)

Feature Quantization Block

  • Eingang: Merkmalsvektor (512 Float-Werte)
  • Ausgang: Binäre Merkmale (512 uint8-Werte)

Parity Generation Block

  • Eingang: Binäre Merkmale (512 uint8-Werte)
  • Ausgang: Paritätsbits (String)

Reconciliation Block

  • Eingang: Binäre Merkmale + Paritätsbits
  • Ausgang: Abgestimmter binärer Schlüssel (String)

Privacy Amplification Block

  • Eingang: Binäre Merkmale (512 uint8-Werte)
  • Ausgang: Finaler kryptografischer Schlüssel (128 Bytes)

Nachrichtenformat

Die Fingerprint-Ausgabenachricht enthält:

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

Verarbeitungspipeline

  1. IQ-Sample-Erfassung: Puffern eingehender IQ-Samples mittels Stream to Vector
  2. Spektrogrammerstellung: Umwandlung von IQ-Samples in ein Spektrogramm mittels STFT, RMS-Normalisierung und Frequenzzuschnitt
  3. Merkmalsextraktion: Verwendung des ONNX-Modells zur Extraktion von Kanalmerkmalen
  4. Merkmalsquantisierung: Umwandlung von Merkmalen in Binärwerte mittels konfigurierbarer Schwellenwerte
  5. Paritätsgenerierung: Generierung von Reed-Solomon-Paritätsbits zur Fehlerkorrektur
  6. Schlüsselabstimmung: Korrektur von Fehlern mittels Paritätsbits
  7. Privacy Amplification: Anwendung von SHA3-512-Hashing zur finalen Schlüsselgenerierung
  8. Ausgang: Stream-basierte Kommunikation zwischen den Blöcken

Modellanforderungen

Ihr ONNX-Modell sollte:

  • Eingabeform akzeptieren: (batch, 204, 31) für Spektrogrammdaten
  • Merkmalsvektoren der Länge 512 ausgeben
  • Mit ONNX Runtime kompatibel sein
  • float32-Eingabe/Ausgabe unterstützen

Fehlerbehebung

Häufige Probleme

  1. Modell nicht gefunden: Stellen Sie sicher, dass der Pfad zu QExtractor.h5 korrekt ist
  2. TensorFlow-Fehler: Überprüfen Sie die TensorFlow-Installation und -Kompatibilität
  3. Speicherprobleme: Reduzieren Sie spectrogram_size für eine geringere Speichernutzung
  4. Leistung: Verwenden Sie GPU-Beschleunigung, falls verfügbar

Debug-Ausgabe

Der Block bietet umfangreiche Debug-Informationen:

  • Konsolenausgabe zum Verarbeitungsstatus
  • Nachrichtenports für Zwischenergebnisse
  • Fehlerbehandlung mit informativen Meldungen

Entwicklung

Hinzufügen neuer Funktionen

  1. Ändern Sie den entsprechenden spezialisierten Block (z. B. spectrogram_block.py)
  2. Aktualisieren Sie die entsprechende GRC-Blockdefinition in grc/
  3. Bauen Sie das Modul neu
  4. Testen Sie mit Beispielen

Testen

Führen Sie das Beispielskript aus:

root@kitploit:~
cd examples
python3 fingerprint_example.py

Lizenz

Dieses Projekt ist unter der GPL-3.0-or-later-Lizenz lizenziert.

Mitwirken

  1. Forken Sie das Repository
  2. Erstellen Sie einen Feature-Branch
  3. Nehmen Sie Ihre Änderungen vor
  4. Fügen Sie Tests hinzu, falls zutreffend
  5. Reichen Sie einen Pull-Request ein

Support

Bei Problemen und Fragen:

  1. Lesen Sie den Abschnitt zur Fehlerbehebung
  2. Sehen Sie sich die Beispieldateien an
  3. Öffnen Sie ein Issue im Repository
  4. Kontaktieren Sie das Entwicklungsteam

Danksagungen

  • Basiert auf der PHYSEC-Kanal-Fingerprinting-Forschung
  • Verwendet TensorFlow für Deep-Learning-Inferenz
  • Integriert sich mit GNU Radio für die SDR-Verarbeitung
Tool herunterladen
ParameterTypStandardBeschreibung
vector_sizeint512FFT-Größe für die Spektrogrammerstellung
sample_ratefloat1e6SDR-Abtastrate in Hz
center_freqfloat2.4e9SDR-Mittenfrequenz in Hz