Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
gr-PHYSEC — Módulo GNU Radio para seguridad de capa física mediante huella digital de canal con aprendizaje profundo, cuantización de características y generación de claves SHA3-512 a partir de muestras IQ de SDR. | Kitploit
Herramientas/GitHubGitHub/c2a2-at-florida-atlantic-university/gr-physec
Herramientas de Cifrado/DescifradoSeguridad InalámbricaCriptografíaSeguridad de Hardware e IoTAprendizaje Automático
GitHubc2a2-at-florida-atlantic-university/gr-physec

gr-PHYSEC

Módulo GNU Radio para seguridad de capa física mediante huella digital de canal con aprendizaje profundo, cuantización de características y generación de claves SHA3-512 a partir de muestras IQ de SDR.

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir
Ver Repositorio
21hace 5 mesesAún no revisado

gr-PHYSEC: Módulo GNU Radio para Seguridad de Capa Física

Este módulo de GNU Radio proporciona capacidades de fingerprinting de canal para aplicaciones de seguridad de capa física utilizando modelos de aprendizaje profundo.

Características

  • Fingerprinting de Canal: Extrae características únicas del canal a partir de muestras IQ
  • Integración con Aprendizaje Profundo: Utiliza modelos entrenados (QExtractor.h5) para la extracción de características
  • Cuantización de Características: Convierte las características extraídas a valores binarios
  • Amplificación de Privacidad: Aplica hashing criptográfico (SHA3-512) para la generación de claves
  • Procesamiento en Tiempo Real: Procesa muestras IQ en tiempo real desde dispositivos SDR
  • Soporte para Múltiples Modelos: Soporte para arquitecturas TripletNet y QuadrupletNet

Requisitos

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

Instalación

1. Clonar el repositorio

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

2. Crear directorio de compilación

root@kitploit:~
mkdir build
cd build

3. Configurar y compilar

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

4. Instalar

root@kitploit:~
sudo make install
sudo ldconfig

5. Verificar la instalación

root@kitploit:~
gnuradio-companion

Deberías ver una nueva categoría [PHYSEC] con el bloque PHYSEC Fingerprint Block.

Uso

GNU Radio Companion (GRC)

  1. Abre GNU Radio Companion
  2. Busca la categoría [PHYSEC]
  3. Arrastra y suelta el bloque PHYSEC Fingerprint Block
  4. Configura los parámetros:
    • Model Path: Ruta a tu archivo QExtractor.h5
    • Model Type: Elige entre "quadruplet" o "triplet"
    • Spectrogram Size: Tamaño de FFT (por defecto: 512)
    • Sample Rate: Tasa de muestreo del SDR en Hz
    • Center Frequency: Frecuencia central del SDR en Hz
    • Key Length: Longitud deseada de la clave en bits

Script de 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 de Ejemplo

Consulta examples/decoupled_physic_example.grc para ver un flowgraph de ejemplo completo que utiliza los bloques PHYSEC desacoplados.

Parámetros de los Bloques

Bloque Spectrogram

Bloque Feature Extraction

ParámetroTipoValor por DefectoDescripción
model_pathstring-Ruta al archivo del modelo ONNX

Bloque Feature Quantization

ParámetroTipoValor por DefectoDescripción
threshold_typestring"mean"Método de umbral: "mean", "median" o "zero"

Bloque Parity Generation

ParámetroTipoValor por DefectoDescripción
key_lengthint512Longitud de la clave binaria para la generación de paridad

Bloque Reconciliation

ParámetroTipoValor por DefectoDescripción
key_lengthint512Longitud de la clave binaria para la reconciliación

Bloque Privacy Amplification

ParámetroTipoValor por DefectoDescripción
No se requieren parámetros--Aplica hashing SHA3-512

Entrada/Salida

Bloque Spectrogram

  • Entrada: Muestras IQ complejas del SDR
  • Salida: Datos del espectrograma (204×31 valores float)

Bloque Feature Extraction

  • Entrada: Datos del espectrograma (204×31 valores float)
  • Salida: Vector de características (512 valores float)

Bloque Feature Quantization

  • Entrada: Vector de características (512 valores float)
  • Salida: Características binarias (512 valores uint8)

Bloque Parity Generation

  • Entrada: Características binarias (512 valores uint8)
  • Salida: Bits de paridad (string)

Bloque Reconciliation

  • Entrada: Características binarias + Bits de paridad
  • Salida: Clave binaria reconciliada (string)

Bloque Privacy Amplification

  • Entrada: Características binarias (512 valores uint8)
  • Salida: Clave criptográfica final (128 bytes)

Formato del Mensaje

El mensaje de salida del fingerprint contiene:

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

Pipeline de Procesamiento

  1. Recolección de Muestras IQ: Almacena en búfer las muestras IQ entrantes usando Stream to Vector
  2. Creación del Espectrograma: Convierte las muestras IQ a espectrograma usando STFT, normalización RMS y recorte de frecuencia
  3. Extracción de Características: Utiliza el modelo ONNX para extraer las características del canal
  4. Cuantización de Características: Convierte las características a valores binarios usando umbrales configurables
  5. Generación de Paridad: Genera bits de paridad Reed-Solomon para corrección de errores
  6. Reconciliación de Claves: Corrige errores usando los bits de paridad
  7. Amplificación de Privacidad: Aplica hashing SHA3-512 para la generación final de la clave
  8. Salida: Comunicación basada en streams entre bloques

Requisitos del Modelo

Tu modelo ONNX debería:

  • Aceptar una forma de entrada: (batch, 204, 31) para datos de espectrograma
  • Producir vectores de características de longitud 512
  • Ser compatible con ONNX Runtime
  • Soportar entrada/salida float32

Solución de Problemas

Problemas Comunes

  1. Modelo no encontrado: Asegúrate de que la ruta a QExtractor.h5 sea correcta
  2. Errores de TensorFlow: Verifica la instalación y compatibilidad de TensorFlow
  3. Problemas de memoria: Reduce spectrogram_size para un menor uso de memoria
  4. Rendimiento: Utiliza aceleración por GPU si está disponible

Salida de Depuración

El bloque proporciona información de depuración extensa:

  • Salida por consola del estado del procesamiento
  • Puertos de mensajes para resultados intermedios
  • Manejo de errores con mensajes informativos

Desarrollo

Añadir Nuevas Características

  1. Modifica el bloque especializado correspondiente (por ejemplo, spectrogram_block.py)
  2. Actualiza la definición del bloque GRC correspondiente en grc/
  3. Recompila el módulo
  4. Prueba con los ejemplos

Pruebas

Ejecuta el script de ejemplo:

root@kitploit:~
cd examples
python3 fingerprint_example.py

Licencia

Este proyecto está licenciado bajo la Licencia GPL-3.0-or-later.

Contribuciones

  1. Haz un fork del repositorio
  2. Crea una rama de características
  3. Realiza tus cambios
  4. Añade pruebas si corresponde
  5. Envía un pull request

Soporte

Para problemas y preguntas:

  1. Consulta la sección de solución de problemas
  2. Revisa los archivos de ejemplo
  3. Abre un issue en el repositorio
  4. Contacta al equipo de desarrollo

Agradecimientos

  • Basado en la investigación de fingerprinting de canal PHYSEC
  • Utiliza TensorFlow para inferencia de aprendizaje profundo
  • Se integra con GNU Radio para el procesamiento SDR
Descargar herramienta
ParámetroTipoValor por DefectoDescripción
vector_sizeint512Tamaño de FFT para la creación del espectrograma
sample_ratefloat1e6Tasa de muestreo del SDR en Hz
center_freqfloat2.4e9Frecuencia central del SDR en Hz