Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
gr-PHYSEC — Módulo GNU Radio para segurança de camada física usando impressão digital de canal por aprendizado profundo, quantização de características e geração de chave SHA3-512 a partir de amostras IQ de SDR. | Kitploit
Ferramentas/GitHubGitHub/c2a2-at-florida-atlantic-university/gr-physec
Ferramentas de Criptografia/DescriptografiaSegurança Sem FioCriptografiaSegurança de Hardware e IoTAprendizado de Máquina
GitHubc2a2-at-florida-atlantic-university/gr-physec

gr-PHYSEC

Módulo GNU Radio para segurança de camada física usando impressão digital de canal por aprendizado profundo, quantização de características e geração de chave SHA3-512 a partir de amostras IQ de SDR.

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar
Ver Repositório
21há 5 mesesAinda não revisado

gr-PHYSEC: Módulo GNU Radio para Segurança de Camada Física

Este módulo GNU Radio fornece capacidades de fingerprinting de canal para aplicações de segurança de camada física usando modelos de deep learning.

Funcionalidades

  • Fingerprinting de Canal: Extrai características únicas do canal a partir de amostras IQ
  • Integração com Deep Learning: Usa modelos treinados (QExtractor.h5) para extração de características
  • Quantização de Características: Converte características extraídas em valores binários
  • Amplificação de Privacidade: Aplica hashing criptográfico (SHA3-512) para geração de chave
  • Processamento em Tempo Real: Processa amostras IQ em tempo real a partir de dispositivos SDR
  • Suporte a Múltiplos Modelos: Suporte para as arquiteturas TripletNet e QuadrupletNet

Requisitos

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

Instalação

1. Clone o repositório

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

2. Crie o diretório de build

root@kitploit:~
mkdir build
cd build

3. Configure e compile

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

4. Instale

root@kitploit:~
sudo make install
sudo ldconfig

5. Verifique a instalação

root@kitploit:~
gnuradio-companion

Você deverá ver uma nova categoria [PHYSEC] com o PHYSEC Fingerprint Block.

Uso

GNU Radio Companion (GRC)

  1. Abra o GNU Radio Companion
  2. Procure pela categoria [PHYSEC]
  3. Arraste e solte o PHYSEC Fingerprint Block
  4. Configure os parâmetros:
    • Model Path: Caminho para o seu arquivo QExtractor.h5
    • Model Type: Escolha entre "quadruplet" ou "triplet"
    • Spectrogram Size: Tamanho da FFT (padrão: 512)
    • Sample Rate: Taxa de amostragem do SDR em Hz
    • Center Frequency: Frequência central do SDR em Hz
    • Key Length: Comprimento desejado da chave em 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()

Flowgraph de Exemplo

Consulte examples/decoupled_physic_example.grc para um flowgraph de exemplo completo usando os blocos PHYSEC desacoplados.

Parâmetros dos Blocos

Bloco Spectrogram

Bloco Feature Extraction

ParâmetroTipoPadrãoDescrição
model_pathstring-Caminho para o arquivo de modelo ONNX

Bloco Feature Quantization

ParâmetroTipoPadrãoDescrição
threshold_typestring"mean"Método de limiar: "mean", "median" ou "zero"

Bloco Parity Generation

ParâmetroTipoPadrãoDescrição
key_lengthint512Comprimento da chave binária para geração de paridade

Bloco Reconciliation

ParâmetroTipoPadrãoDescrição
key_lengthint512Comprimento da chave binária para reconciliação

Bloco Privacy Amplification

ParâmetroTipoPadrãoDescrição
Nenhum parâmetro necessário--Aplica hashing SHA3-512

Entrada/Saída

Bloco Spectrogram

  • Entrada: Amostras IQ complexas do SDR
  • Saída: Dados do espectrograma (204×31 valores float)

Bloco Feature Extraction

  • Entrada: Dados do espectrograma (204×31 valores float)
  • Saída: Vetor de características (512 valores float)

Bloco Feature Quantization

  • Entrada: Vetor de características (512 valores float)
  • Saída: Características binárias (512 valores uint8)

Bloco Parity Generation

  • Entrada: Características binárias (512 valores uint8)
  • Saída: Bits de paridade (string)

Bloco Reconciliation

  • Entrada: Características binárias + Bits de paridade
  • Saída: Chave binária reconciliada (string)

Bloco Privacy Amplification

  • Entrada: Características binárias (512 valores uint8)
  • Saída: Chave criptográfica final (128 bytes)

Formato da Mensagem

A mensagem de saída do fingerprint contém:

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

Pipeline de Processamento

  1. Coleta de Amostras IQ: Armazena em buffer as amostras IQ recebidas usando Stream to Vector
  2. Criação do Espectrograma: Converte amostras IQ em espectrograma usando STFT, normalização RMS e recorte de frequência
  3. Extração de Características: Usa modelo ONNX para extrair características do canal
  4. Quantização de Características: Converte características em valores binários usando limiares configuráveis
  5. Geração de Paridade: Gera bits de paridade Reed-Solomon para correção de erros
  6. Reconciliação de Chave: Corrige erros usando bits de paridade
  7. Amplificação de Privacidade: Aplica hashing SHA3-512 para geração da chave final
  8. Saída: Comunicação baseada em stream entre os blocos

Requisitos do Modelo

Seu modelo ONNX deve:

  • Aceitar formato de entrada: (batch, 204, 31) para dados de espectrograma
  • Produzir vetores de características de comprimento 512
  • Ser compatível com ONNX Runtime
  • Suportar entrada/saída float32

Solução de Problemas

Problemas Comuns

  1. Modelo não encontrado: Certifique-se de que o caminho para QExtractor.h5 está correto
  2. Erros do TensorFlow: Verifique a instalação e compatibilidade do TensorFlow
  3. Problemas de memória: Reduza spectrogram_size para menor uso de memória
  4. Desempenho: Use aceleração por GPU se disponível

Saída de Debug

O bloco fornece informações extensivas de debug:

  • Saída no console para status de processamento
  • Portas de mensagem para resultados intermediários
  • Tratamento de erros com mensagens informativas

Desenvolvimento

Adicionando Novas Funcionalidades

  1. Modifique o bloco especializado apropriado (ex.: spectrogram_block.py)
  2. Atualize a definição correspondente do bloco GRC em grc/
  3. Recompile o módulo
  4. Teste com exemplos

Testes

Execute o script de exemplo:

root@kitploit:~
cd examples
python3 fingerprint_example.py

Licença

Este projeto está licenciado sob a Licença GPL-3.0-or-later.

Contribuindo

  1. Faça um fork do repositório
  2. Crie um branch de funcionalidade
  3. Faça suas alterações
  4. Adicione testes se aplicável
  5. Envie um pull request

Suporte

Para problemas e dúvidas:

  1. Verifique a seção de solução de problemas
  2. Revise os arquivos de exemplo
  3. Abra uma issue no repositório
  4. Contate a equipe de desenvolvimento

Agradecimentos

  • Baseado na pesquisa de fingerprinting de canal PHYSEC
  • Usa TensorFlow para inferência de deep learning
  • Integra-se com GNU Radio para processamento SDR
Baixar ferramenta
ParâmetroTipoPadrãoDescrição
vector_sizeint512Tamanho da FFT para criação do espectrograma
sample_ratefloat1e6Taxa de amostragem do SDR em Hz
center_freqfloat2.4e9Frequência central do SDR em Hz