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

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

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

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

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

Категории

Все категории
Loading categories
pvbrf-id — Код симуляции и результаты для приватного, проверяемого, устойчивого к византийским сбоям протокола федеративного обнаружения вторжений с использованием разделения секрета, аудита Меркла и обязательств Педерсена. | Kitploit
Инструменты/GitHubGitHub/nawaralseelawi/pvbrf-id
Оборонительные ИнструментыСетевая безопасностьКриптографияКонфиденциальностьМашинное ОбучениеОбнаружение ВторженийСтатьи и ИсследованияОбнаружение Аномалий
GitHubnawaralseelawi/pvbrf-id

pvbrf-id

Код симуляции и результаты для приватного, проверяемого, устойчивого к византийским сбоям протокола федеративного обнаружения вторжений с использованием разделения секрета, аудита Меркла и обязательств Педерсена.

286 дней назадЕщё не проверено

Популярное

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

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

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

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

Смотреть все инструменты →
Репозиторий
Поделиться

PVBRF-ID: Приватное, проверяемое и византийско-устойчивое федеративное обнаружение вторжений для корпоративных сетей нефтяных месторождений

Код симуляции, необработанные результаты и скрипты для построения графиков к статье

Mustafa S. Aljumaily, Ali Ataeemh Allami, Mustafa N. Mnati, Nawar S. Alseelawi, Shahab Abdulla, "PVBRF-ID: Private, Verifiable and Byzantine-Robust Federated Intrusion Detection for Oilfield Enterprise Networks," arXiv preprint, 2026. (ссылка на arXiv будет добавлена после анонса.)

PVBRF-ID — это двухсерверный агрегатор для федеративного обучения. Узлы разделяют свои обновления модели с помощью секретного разделения; серверы совместно проверяют норму каждого обновления и его косинусное сходство с эталоном из чистого корневого набора внутри долей, раскрывают один бит принятия на узел и публикуют обязательства, корни Меркла и гомоморфный аудит, чтобы включение принятых обновлений было проверяемым.

Область применения. Это симуляция. Безопасное сравнение, доказательства диапазона по каждой координате, генерация троек Бивера и безопасное отсечение моделируются как идеальные функциональности; группа Педерсена — это игрушечная 512-битная группа, используемая только для оценки масштабирования затрат. В экспериментах используется публичный трафик Edge-IIoTset с симулированными узлами. Данные операторов не использовались. Прочитайте раздел об ограничениях статьи, прежде чем ссылаться на какое-либо число.

Структура

путьназначение
faithful_agg.pyядро протокола: аддитивное секретное разделение над GF(2^127-1), кодирование с фиксированной точкой, проверки нормы и косинуса на тройках Бивера (включая толерантный случай tau < 0), включение Меркла на SHA-256, обязательства Педерсена и гомоморфный аудит
test_core.py12 тестов корректности и обнаружения подмены (python test_core.py)
demo_sanity.pyсквозной проверочный запуск на синтетических данных плюс бенчмарк затрат
exp_ref_tau.pyперебор по эталонному источнику x порогу косинуса x атаке на синтетических данных (одно зерно, только проверка работоспособности)
notebooks/faithful_agg_edgeiiot_v5_final.ipynbосновной эксперимент: 870 запусков (10 зёрен x 87 конфигураций) на Edge-IIoTset
notebooks/faithful_agg_edgeiiot_v5b_tolerance_attack.ipynbдополнительный эксперимент: 160 запусков с адаптивным атакующим, эксплуатирующим толерантность
results/v5_full/необработанный вывод по каждому запуску основного эксперимента (results.csv) и все производные таблицы
results/v5b_tolerance/необработанный вывод по каждому запуску дополнительного эксперимента
make_figures.pyпересоздаёт рисунки 2-5 рукописи и дополнительную таблицу S3 из двух файлов results.csv
figures/рисунки рукописи

Код и файлы результатов сохраняют рабочее название метода, faithful_agg / faithful_root; faithful_root_t-0.3 в results.csv — это PVBRF-ID с эталоном из корневого набора и tau = -0.3.

Воспроизведение

pip install -r requirements.txt
python test_core.py                 # 12 тестов, около минуты
python make_figures.py              # рисунки из прилагаемых результатов, секунды

Чтобы повторно запустить эксперименты, скачайте файл DNN из Edge-IIoTset (DNN-EdgeIIoT-dataset.csv, 2 219 201 поток; доступен у авторов набора данных через IEEE DataPort или Kaggle), поместите его в data/DNN-EdgeIIoT-dataset.csv и запустите два ноутбука из папки notebooks/ по порядку:

  1. faithful_agg_edgeiiot_v5_final.ipynb (около 1.1-2.9 ч на 8 ядрах; возобновляемый; записывает в results/v5_full/)
  2. faithful_agg_edgeiiot_v5b_tolerance_attack.ipynb (около 30 мин; записывает в results/v5b_tolerance/)

Пути можно переопределить с помощью переменных окружения EDGE_DATA, CORE_DIR и OUT_DIR. Все запуски детерминированы при заданных зёрнах в config.json. Четыре базовые линии с открытым текстом присутствуют в обоих экспериментах и должны совпадать до последней цифры; они совпадают.

Краткое описание протокола (один раунд)

  1. Серверы обучаются на корневом наборе, чтобы получить эталонное обновление r_t; публикуют B_t = kappa * ||r_t|| и r_t / ||r_t||.
  2. Каждый узел разделяет своё обновление на две аддитивные доли, фиксирует обязательство по каждой доле (Педерсен) и отправляет одну долю каждому серверу.
  3. Серверы вычисляют доли ||u_i||^2 и <u_i, r_t>^2 с помощью троек Бивера; идеальное сравнение раскрывает только бит принятия b_i.
  4. Каждый сервер суммирует принятые доли, публикует свою агрегированную долю, суммарную случайность, битовую карту принятия и корень Меркла по своим обязательствам.
  5. Любой может проверить prod_{i accepted} C_i^j = Com(A_j; R_j) для обоих серверов; каждый узел проверяет свой путь включения в дерево Меркла.

Реально: разделение, кодирование с фиксированной точкой, скалярные произведения на тройках Бивера, деревья Меркла, обязательства Педерсена и аудит. Идеально: безопасное сравнение (его коммуникация — это оценочная заглушка), доказательства диапазона, генерация троек, безопасное отсечение и шум внутри агрегата.

Основные результаты (Edge-IIoTset, 15 классов, 10 узлов, 10 зёрен)

чистыйинверсия знакаадаптивный 30%
FedAvg0.7060.0910.046
Multi-Krum (открытый текст)0.6900.6860.693
PVBRF-ID (tau = -0.3)0.7080.6960.571
PVBRF-ID + безопасное отсечение0.6970.6880.641

Бэкдоры проходят фильтр (ASR 1.00); смягчение на основе шума является эвристическим (epsilon >= 16.9). Атакующий, выполняющий вывод по обновлениям, восстанавливает распределение классов из обновлений в открытом тексте (Spearman 0.81), но не из доли одного сервера (0.00). Коммуникация составляет примерно в 19 раз больше, чем загрузка в FedAvg с открытым текстом.

Лицензия

MIT, см. LICENSE.

Скачать инструмент