Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
Outils/GitHubGitHub/c2a2-at-florida-atlantic-university/gr-physec
Outils de Chiffrement/DéchiffrementSécurité Sans FilCryptographieSécurité Matériel et IoTApprentissage Automatique
GitHubc2a2-at-florida-atlantic-university/gr-physec

gr-PHYSEC

Module GNU Radio pour la sécurité de la couche physique utilisant l'empreinte de canal par apprentissage profond, la quantification de caractéristiques et la génération de clés SHA3-512 à partir d'échantillons IQ SDR.

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager
Voir le dépôt
21il y a 5 moisPas encore vérifié

gr-PHYSEC : Module GNU Radio pour la sécurité de la couche physique

Ce module GNU Radio fournit des capacités d'empreinte de canal pour les applications de sécurité de la couche physique à l'aide de modèles d'apprentissage profond.

Fonctionnalités

  • Empreinte de canal : Extraire les caractéristiques uniques du canal à partir d'échantillons IQ
  • Intégration d'apprentissage profond : Utilise des modèles entraînés (QExtractor.h5) pour l'extraction de caractéristiques
  • Quantification des caractéristiques : Convertir les caractéristiques extraites en valeurs binaires
  • Amplification de confidentialité : Appliquer un hachage cryptographique (SHA3-512) pour la génération de clés
  • Traitement en temps réel : Traiter les échantillons IQ en temps réel à partir de périphériques SDR
  • Prise en charge de plusieurs modèles : Prise en charge des architectures TripletNet et QuadrupletNet

Prérequis

  • GNU Radio 3.10+
  • Python 3.8+
  • TensorFlow 2.x
  • NumPy
  • Hashlib (intégré)

Installation

1. Cloner le dépôt

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

2. Créer le répertoire de compilation

root@kitploit:~
mkdir build
cd build

3. Configurer et compiler

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

4. Installer

root@kitploit:~
sudo make install
sudo ldconfig

5. Vérifier l'installation

root@kitploit:~
gnuradio-companion

Vous devriez voir une nouvelle catégorie [PHYSEC] avec le bloc PHYSEC Fingerprint Block.

Utilisation

GNU Radio Companion (GRC)

  1. Ouvrir GNU Radio Companion
  2. Rechercher la catégorie [PHYSEC]
  3. Glisser-déposer le bloc PHYSEC Fingerprint Block
  4. Configurer les paramètres :
    • Model Path : Chemin vers votre fichier QExtractor.h5
    • Model Type : Choisir entre "quadruplet" ou "triplet"
    • Spectrogram Size : Taille FFT (par défaut : 512)
    • Sample Rate : Fréquence d'échantillonnage SDR en Hz
    • Center Frequency : Fréquence centrale SDR en Hz
    • Key Length : Longueur de clé souhaitée en bits

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

Exemple de flowgraph

Voir examples/decoupled_physic_example.grc pour un exemple complet de flowgraph utilisant les blocs PHYSEC découplés.

Paramètres des blocs

Bloc Spectrogram

Bloc Feature Extraction

ParamètreTypeDéfautDescription
model_pathstring-Chemin vers le fichier de modèle ONNX

Bloc Feature Quantization

ParamètreTypeDéfautDescription
threshold_typestring"mean"Méthode de seuil : "mean", "median" ou "zero"

Bloc Parity Generation

ParamètreTypeDéfautDescription
key_lengthint512Longueur de la clé binaire pour la génération de parité

Bloc Reconciliation

ParamètreTypeDéfautDescription
key_lengthint512Longueur de la clé binaire pour la réconciliation

Bloc Privacy Amplification

ParamètreTypeDéfautDescription
Aucun paramètre requis--Applique le hachage SHA3-512

Entrées/Sorties

Bloc Spectrogram

  • Entrée : Échantillons IQ complexes provenant du SDR
  • Sortie : Données de spectrogramme (204×31 valeurs float)

Bloc Feature Extraction

  • Entrée : Données de spectrogramme (204×31 valeurs float)
  • Sortie : Vecteur de caractéristiques (512 valeurs float)

Bloc Feature Quantization

  • Entrée : Vecteur de caractéristiques (512 valeurs float)
  • Sortie : Caractéristiques binaires (512 valeurs uint8)

Bloc Parity Generation

  • Entrée : Caractéristiques binaires (512 valeurs uint8)
  • Sortie : Bits de parité (string)

Bloc Reconciliation

  • Entrée : Caractéristiques binaires + Bits de parité
  • Sortie : Clé binaire réconciliée (string)

Bloc Privacy Amplification

  • Entrée : Caractéristiques binaires (512 valeurs uint8)
  • Sortie : Clé cryptographique finale (128 octets)

Format des messages

Le message de sortie d'empreinte contient :

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

Pipeline de traitement

  1. Collecte d'échantillons IQ : Mettre en mémoire tampon les échantillons IQ entrants à l'aide de Stream to Vector
  2. Création du spectrogramme : Convertir les échantillons IQ en spectrogramme à l'aide de STFT, normalisation RMS et recadrage fréquentiel
  3. Extraction de caractéristiques : Utiliser le modèle ONNX pour extraire les caractéristiques du canal
  4. Quantification des caractéristiques : Convertir les caractéristiques en valeurs binaires à l'aide de seuils configurables
  5. Génération de parité : Générer des bits de parité Reed-Solomon pour la correction d'erreurs
  6. Réconciliation de clé : Corriger les erreurs à l'aide des bits de parité
  7. Amplification de confidentialité : Appliquer le hachage SHA3-512 pour la génération finale de clé
  8. Sortie : Communication basée sur les flux entre les blocs

Exigences relatives au modèle

Votre modèle ONNX doit :

  • Accepter une forme d'entrée : (batch, 204, 31) pour les données de spectrogramme
  • Produire des vecteurs de caractéristiques de longueur 512
  • Être compatible avec ONNX Runtime
  • Prendre en charge les entrées/sorties float32

Dépannage

Problèmes courants

  1. Modèle introuvable : Vérifiez que le chemin vers QExtractor.h5 est correct
  2. Erreurs TensorFlow : Vérifiez l'installation et la compatibilité de TensorFlow
  3. Problèmes de mémoire : Réduisez spectrogram_size pour une utilisation mémoire moindre
  4. Performance : Utilisez l'accélération GPU si disponible

Sortie de débogage

Le bloc fournit des informations de débogage étendues :

  • Sortie console pour l'état du traitement
  • Ports de messages pour les résultats intermédiaires
  • Gestion des erreurs avec des messages informatifs

Développement

Ajout de nouvelles fonctionnalités

  1. Modifier le bloc spécialisé approprié (par exemple, spectrogram_block.py)
  2. Mettre à jour la définition du bloc GRC correspondant dans grc/
  3. Recompiler le module
  4. Tester avec les exemples

Tests

Exécuter le script d'exemple :

root@kitploit:~
cd examples
python3 fingerprint_example.py

Licence

Ce projet est sous licence GPL-3.0-or-later.

Contribution

  1. Forker le dépôt
  2. Créer une branche de fonctionnalité
  3. Effectuer vos modifications
  4. Ajouter des tests si applicable
  5. Soumettre une pull request

Support

Pour les problèmes et questions :

  1. Consulter la section de dépannage
  2. Examiner les fichiers d'exemple
  3. Ouvrir un ticket sur le dépôt
  4. Contacter l'équipe de développement

Remerciements

  • Basé sur la recherche sur l'empreinte de canal PHYSEC
  • Utilise TensorFlow pour l'inférence d'apprentissage profond
  • S'intègre à GNU Radio pour le traitement SDR
Télécharger l’outil
ParamètreTypeDéfautDescription
vector_sizeint512Taille FFT pour la création du spectrogramme
sample_ratefloat1e6Fréquence d'échantillonnage SDR en Hz
center_freqfloat2.4e9Fréquence centrale SDR en Hz