Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
gr-PHYSEC — Модуль GNU Radio для обеспечения безопасности физического уровня с использованием фингерпринтинга каналов на основе глубокого обучения, квантования признаков и генерации ключей SHA3-512 из IQ-выборок SDR. | Kitploit
Инструменты/GitHubGitHub/c2a2-at-florida-atlantic-university/gr-physec
Инструменты шифрования/дешифрованияБезопасность беспроводных сетейКриптографияБезопасность оборудования и IoTМашинное Обучение
GitHubc2a2-at-florida-atlantic-university/gr-physec

gr-PHYSEC

Модуль GNU Radio для обеспечения безопасности физического уровня с использованием фингерпринтинга каналов на основе глубокого обучения, квантования признаков и генерации ключей SHA3-512 из IQ-выборок SDR.

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться
Репозиторий
215 месяцев назадЕщё не проверено

gr-PHYSEC: модуль GNU Radio для физической защиты канала

Этот модуль GNU Radio предоставляет возможности создания отпечатков канала для приложений физической защиты канала с использованием моделей глубокого обучения.

Возможности

  • Создание отпечатков канала: извлечение уникальных характеристик канала из IQ-выборок
  • Интеграция глубокого обучения: использование обученных моделей (QExtractor.h5) для извлечения признаков
  • Квантование признаков: преобразование извлечённых признаков в двоичные значения
  • Усиление конфиденциальности: применение криптографического хеширования (SHA3-512) для генерации ключей
  • Обработка в реальном времени: обработка IQ-выборок в реальном времени с SDR-устройств
  • Поддержка нескольких моделей: поддержка архитектур TripletNet и QuadrupletNet

Требования

  • GNU Radio 3.10+
  • Python 3.8+
  • TensorFlow 2.x
  • NumPy
  • Hashlib (встроенный)

Установка

1. Клонирование репозитория

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

2. Создание каталога сборки

root@kitploit:~
mkdir build
cd build

3. Настройка и сборка

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

4. Установка

root@kitploit:~
sudo make install
sudo ldconfig

5. Проверка установки

root@kitploit:~
gnuradio-companion

Вы должны увидеть новую категорию [PHYSEC] с блоком PHYSEC Fingerprint Block.

Использование

GNU Radio Companion (GRC)

  1. Откройте GNU Radio Companion
  2. Найдите категорию [PHYSEC]
  3. Перетащите блок PHYSEC Fingerprint Block
  4. Настройте параметры:
    • Model Path: путь к вашему файлу QExtractor.h5
    • Model Type: выберите между "quadruplet" или "triplet"
    • Spectrogram Size: размер FFT (по умолчанию: 512)
    • Sample Rate: частота дискретизации SDR в Гц
    • Center Frequency: центральная частота SDR в Гц
    • Key Length: желаемая длина ключа в битах

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

Пример графа потоков

См. examples/decoupled_physic_example.grc для полного примера графа потоков с использованием раздельных блоков PHYSEC.

Параметры блоков

Блок спектрограммы

Блок извлечения признаков

ПараметрТипПо умолчаниюОписание
model_pathstring-Путь к файлу модели ONNX

Блок квантования признаков

ПараметрТипПо умолчаниюОписание
threshold_typestring"mean"Метод порога: "mean", "median" или "zero"

Блок генерации чётности

ПараметрТипПо умолчаниюОписание
key_lengthint512Длина двоичного ключа для генерации чётности

Блок согласования

ПараметрТипПо умолчаниюОписание
key_lengthint512Длина двоичного ключа для согласования

Блок усиления конфиденциальности

ПараметрТипПо умолчаниюОписание
Параметры не требуются--Применяет хеширование SHA3-512

Вход/Выход

Блок спектрограммы

  • Вход: комплексные IQ-выборки от SDR
  • Выход: данные спектрограммы (204×31 значений float)

Блок извлечения признаков

  • Вход: данные спектрограммы (204×31 значений float)
  • Выход: вектор признаков (512 значений float)

Блок квантования признаков

  • Вход: вектор признаков (512 значений float)
  • Выход: двоичные признаки (512 значений uint8)

Блок генерации чётности

  • Вход: двоичные признаки (512 значений uint8)
  • Выход: биты чётности (строка)

Блок согласования

  • Вход: двоичные признаки + биты чётности
  • Выход: согласованный двоичный ключ (строка)

Блок усиления конфиденциальности

  • Вход: двоичные признаки (512 значений uint8)
  • Выход: итоговый криптографический ключ (128 байт)

Формат сообщения

Выходное сообщение отпечатка содержит:

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

Конвейер обработки

  1. Сбор IQ-выборок: буферизация входящих IQ-выборок с помощью Stream to Vector
  2. Создание спектрограммы: преобразование IQ-выборок в спектрограмму с помощью STFT, RMS-нормализации и обрезки по частоте
  3. Извлечение признаков: использование модели ONNX для извлечения признаков канала
  4. Квантование признаков: преобразование признаков в двоичные значения с использованием настраиваемых порогов
  5. Генерация чётности: генерация битов чётности Рида-Соломона для исправления ошибок
  6. Согласование ключа: исправление ошибок с использованием битов чётности
  7. Усиление конфиденциальности: применение хеширования SHA3-512 для генерации итогового ключа
  8. Выход: потоковая связь между блоками

Требования к модели

Ваша модель ONNX должна:

  • Принимать входную форму: (batch, 204, 31) для данных спектрограммы
  • Выдавать векторы признаков длиной 512
  • Быть совместимой с ONNX Runtime
  • Поддерживать ввод/вывод float32

Устранение неполадок

Распространённые проблемы

  1. Модель не найдена: убедитесь, что путь к QExtractor.h5 указан верно
  2. Ошибки TensorFlow: проверьте установку и совместимость TensorFlow
  3. Проблемы с памятью: уменьшите spectrogram_size для снижения потребления памяти
  4. Производительность: используйте ускорение на GPU, если доступно

Отладочный вывод

Блок предоставляет обширную отладочную информацию:

  • Вывод в консоль о состоянии обработки
  • Порты сообщений для промежуточных результатов
  • Обработка ошибок с информативными сообщениями

Разработка

Добавление новых возможностей

  1. Измените соответствующий специализированный блок (например, spectrogram_block.py)
  2. Обновите соответствующее определение блока GRC в grc/
  3. Пересоберите модуль
  4. Протестируйте с примерами

Тестирование

Запустите пример скрипта:

root@kitploit:~
cd examples
python3 fingerprint_example.py

Лицензия

Этот проект лицензирован под лицензией GPL-3.0-or-later.

Участие в разработке

  1. Форкните репозиторий
  2. Создайте ветку для новой функции
  3. Внесите свои изменения
  4. Добавьте тесты, если применимо
  5. Отправьте pull request

Поддержка

По вопросам и проблемам:

  1. Проверьте раздел устранения неполадок
  2. Изучите примеры файлов
  3. Откройте issue в репозитории
  4. Свяжитесь с командой разработчиков

Благодарности

  • Основано на исследовании создания отпечатков канала PHYSEC
  • Использует TensorFlow для вывода глубокого обучения
  • Интегрируется с GNU Radio для обработки SDR
Скачать инструмент
ПараметрТипПо умолчаниюОписание
vector_sizeint512Размер FFT для создания спектрограммы
sample_ratefloat1e6Частота дискретизации SDR в Гц
center_freqfloat2.4e9Центральная частота SDR в Гц