$$\rightleftharpoonup{xx}$$
$$\longleftharp{xx}$$,
$$\longrightharp{xx}$$,
Все эксперименты проводились исключительно с использованием общедоступных наборов сетевых вторжений (UNSW-NB15, CIC-IDS-2017 и Bot-IoT), которые содержат сетевые записи о трафике без идентифицируемой личной или медицинской информации. Наборы данных использовались в соответствии с соответствующими лицензиями и условиями использования. Поскольку не участвовали человеческие участники, образцы пациентов или идентифицируемые персональные данные, одобрение институциональной этики и информированное согласие не требовались.
Обзор предлагаемой рамочной структуры
В этом разделе представлена предлагаемая двухуровневая структура обнаружения и предотвращения вторжений для защиты сред IoMT. Фреймворк интегрирует расширенную BiLSTM-сеть для обнаружения пространственно-временных вторжений с лёгким слоем блокчейна для защищённого от вмешательства журнала и автоматизированного предотвращения. В отличие от традиционных подходов IDS, которые сосредоточены исключительно на точности обнаружения, предлагаемая архитектура разработана для одновременной поддержки обнаружения в реальном времени, судебной ответственности и соблюдения нормативных требований, что является необходимыми требованиями в системах здравоохранения. Общий рабочий процесс и архитектура предлагаемого расширенного фреймворка BiLSTM–Blockchain для обнаружения вторжений для сетей IoMT иллюстрированы на рисунке 1.

Рисунок 1. Архитектура предлагаемого расширенного фреймворка обнаружения вторжений BiLSTM–Blockchain для сетей Интернета медицинских вещей. Схематическое представление предлагаемого фреймворка, показывающее рабочие процессы обучения и развертывания. В рабочем процессе обучения устройства Интернета медицинских вещей (IoMT) генерируют сетевой трафик, который проходит предварительную обработку данных и проектирование функций, прежде чем анализироваться моделлю расширенной двунаправленной долгой краткосрочной памяти (BiLSTM) с временным вниманием. Параметры модели оптимизируются с помощью вычисления функций потерь и итеративного обучения. В процессе развертывания обученная модель выполняет обнаружение вторжения согласно функции принятия решений, определённой в уравнении 13. Обнаруженные события вторжения пересылаются в блокчейн-модуль, где выполняются неизменяемое логирование, изоляция узлов и генерация оповещений администратора. BiLSTM — двунаправленная долгосрочная краткосрочная память; IoMT, Интернет медицинских вещей. Пожалуйста, нажмите здесь, чтобы увидеть увеличенную версию этой фигуры.
Устройства IoMT генерируют гетерогенные потоки данных, включающие сетевой трафик, метаданные устройства и сигналы, связанные с пациентами. Такие необработанные данные часто шумны, дублируются и непоследовательны, что делает их неподходящими для прямого обучения моделей. Поэтому применяется конвейер предварительной обработки для обеспечения качества и структуры данных перед их подачей в расширенную модель BiLSTM. Подробный псевдокод предварительной обработки представлен в Алгоритме 1 (Дополнительный файл 1), который описывает конвейер предварительной обработки, применяемый к потокам данных IoMT до расширенного обучения BiLSTM (псевдокод в Дополнительном файле 1; реализация в Дополнительном файле 2). Полная расширенная архитектура BiLSTM изложена в Алгоритме 2 (Дополнительный файл 1).
Полный рабочий процесс воспроизведения
Полное исследование можно воспроизвести с помощью приведённых ниже шагов. Программное и аппаратное обеспечение перечислены в экспериментальной установке, а дополнительный код охватывает каждый этап.
Получите наборы данных → скачайте UNSW-NB15. Используйте файлы UNSW_NB15_training-set.csv и UNSW_NB15_testing-set.csv. Скачайте CICIDS2017. Используйте пять файлов дня MachineLearningCSV (с понедельника по пятницу). Скачайте Bot-IoT. Используйте 5% подмножества файлов UNSW_2018_IoT_Botnet_Full5pc_1_to_4. Ранние исследования обнаружения вторжений обычно опирались на эталонные наборы данных, такие как KDD Cup 9914; однако в данном исследовании используются более современные наборы данных UNSW-NB15, CICIDS2017 и Bot-IoT для лучшего представления современного сетевого трафика. Обрабатывайте каждый набор данных отдельно. Набор данных UNSW-NB15 доступен в Университете Нового Южного Уэльса по адресу https://research.unsw.edu.au/projects/unsw-nb15-dataset (последнее изменение: 8 февраля 2024 года). Набор данных CICIDS2017 доступен в Канадском институте кибербезопасности в https://www.unb.ca/cic/datasets/ids-2017.html (опубликовано: июль 2017). Набор данных Bot-IoT доступен в Университете Нового Южного Уэльса по адресу https://research.unsw.edu.au/projects/bot-iot-dataset (последнее изменение: 5 февраля 2024 года). Все наборы данных были получены в мае 2025 года для этого исследования.
Предварительно обработайте данные → удалите повреждённые записи. Заполняйте недостающие значения с помощью методов обучающего набора. Примените EMA denoising (α = 0.3). Нормализуйте признаки до [0,1] с помощью статистики обучающих наборов. Кодировать категориальные поля с метками. Постройте раздвижные окна (T = 20, шаг = 1). Эти этапы предварительной обработки поддерживают надёжное обнаружение вторжений, снижая шум и улучшая качество представления сетевого трафика для IDS на основе машинногообучения 15,16.
Выберите признаки (AQU-IMF-RFE) → Ранговые характеристики по взаимной информации. Доработайте с помощью Aquila Optimizer. Примените Random Forest RFE с 10-кратной перекрёстной валидацией. Оставьте финальные функции. Эта гибридная стратегия выбора признаков следует более широкой концепции объединения комплементарных методов обнаружениявторжений 17 и реализована с использованием фреймворка AQU-IMF-RFE, разработанной в нашей предыдущейработе 18.
Обучать модель → Для каждого набора данных данные случайным образом разбивались на обучающие (80%) и тестирующие (20%) наборы с фиксированным случайным заседом 42. Двадцать процентов обучающего раздела дополнительно зарезервировали как валидационный набор. Постройте расширенный BiLSTM. Тренируйте с использованием взвешенной бинарной потери перекрестной энтропии и оптимизатора Адама (скорость обучения = 0,001, размер партии = 64, максимум 50 эпох, с ранней остановкой). Сохраните обученную модель. Использование временных моделей глубокого обучения хорошо подходит для гетерогенного трафикаIoMT 19. Полный рабочий процесс обучения модели изложен в Алгоритме 3 (Дополнительный файл 1). Окончательные веса классов вычислялись автоматически из распределений классов обучающих наборов согласно уравнениям 19 и 20. В результате веса классов были следующими: UNSW-NB15:
,
; CICIDS2017:
,
; и Bot-IoT (5% подмножества):
,
. Большое значение wn для набора данных Bot-IoT отражает серьёзное недопредставление доброкачественных выборок в обучающей части 5% подмножества.
Развернуть блокчейн → запустить цепочку Proof-of-Authority (PoA). Разверните смарт-контракт и укажите его адрес. Авторизуйте аккаунты шлюза. Запустите клиент так, чтобы каждое обнаруженное вторжение фиксировалось и вызывало изоляцию и оповещения. Полный рабочий процесс обнаружения, логирования блокчейна и смягчения последствий изложен в Алгоритме 4 (Дополнительный файл 1). Блокчейн-слой был реализован с использованием клиента go-ethereum (Geth) версии 1.13.15 для управления разрешенной сетью PoA, компилятора Solidity (solc) версии 0.8.19 для компиляции и развертывания смарт-контрактов, а также web3.py библиотеки версии 6.15.1 для связи между IDS и блокчейн-сетью.
Оценить → Протестировать модель на оставленном тестовом наборе. Вычисляйте точность, точность, отзыв, результат F1 и частоту ложноположительных результатов. Фиксируйте задержку и пропускную способность. Проверьте целостность реестра блокчейна. Полный рабочий процесс оценки изложен в Алгоритме 5 (Дополнительный файл 1). Задержка обнаружения (Td) измерялась непосредственно перед вызовом вывода модели до момента, когда были возвращены предсказанные вероятности. Сквозная задержка по снижению последствий (Td +T b) измерялась от одной и той же начальной точки до завершения соответствующей транзакции создания блокчейн-блокчейна. Пропускная способность рассчитывалась как общее количество предварительно обработанных тестовых окон, обработанных полным конвейером обнаружения и логирования, делённое на прошедшее время настенных часов, необходимое для одного полного прохода через тестовый набор каждого набора данных. Рабочая нагрузка состояла из оконных тестовых разделов при сохранении исходного распределения классов от безвредного к вторжению. Вредоносные окна также несут накладные расходы на логирование блокчейна, тогда как безобидные окна — только расходы на обнаружение вторжений.
Генерируйте рисунки и таблицы → Постройте графики кривых точности и потерь, матрицу путаницы и сравнительные диаграммы оценки. Составьте таблицы сравнения. Полный рабочий процесс генерации рисунков и таблиц изложен в Алгоритме 6 (Дополнительный файл 1). Полный индивидуально разработанный исходный код, используемый для генерации всех изображений и таблиц, представлен в Дополнительном файле 2. В частности, скрипт figures.py воспроизводит рукописные фигуры непосредственно из сохранённых экспериментальных результатов (например, истории обучения и файлов матриц путаницы), в то время как оставшиеся скрипты генерируют обработанные данные и метрики производительности, используемые для построения отчетных таблиц.
Рисунок 2 показывает поток данных на уровне реализации между IDS и блокчейн-модулями. Расширенный BiLSTM даёт решение за каждого окна (Уравнение 13); в случае вредоносной классификации клиент шлюза создаёт и подписывает транзакцию и отправляет её через web3/JSON-RPC смарт-контракту PoA, который добавляет блок с хеш-ссылкой (Уравнение 14) к неизменяемому реестру и генерирует события (BlockCreated, NodeIsolated и AdminAlert), вызывающие изоляцию узлов и оповещения администратора.

Рисунок 2. Взаимодействие на уровне реализации между обнаружением вторжений и блокчейн-модулями. Диаграмма рабочего процесса, иллюстрирующая связь между системой обнаружения вторжений и компонентами блокчейна. Расширенная модель BiLSTM классифицирует каждое входное окно и применяет правило принятия решения, определённое в уравнении 13. При обнаружении вторжения клиент шлюза генерирует и подписывает транзакцию, которая передаётся через Web3.py/JSON-RPC на смарт-контракт Proof-of-Authority (PoA). Контракт добавляет хэш-связанный блок к неизменяемому реестру согласно уравнению 14 и выпускает события BlockCreated, NodeIsolated и AdminAlert, которые запускают действия сдерживания и уведомления. IDS, система обнаружения вторжений; BiLSTM — двунаправленная долгосрочная краткосрочная память; Доверенность, доказательство авторитета; JSON-RPC, JavaScript Object Notation – удалённый вызов процедуры. Пожалуйста, нажмите здесь, чтобы увидеть увеличенную версию этой фигуры.
Представление данных
Рассмотрим R как сырой поток трафика IoMT. После предварительной обработки каждая исходная запись
отображается в нормализованный d-мерный вектор признаков (Уравнение 1):
(1)
Здесь f (⋅) — функция преобразования признаков, отображающая исходные записи в d-мерный нормализованный вектор признаков. Пусть сеть IoMT состоит из множества узлов (Уравнение 2):
N = {n1 ,n 2, ... ,n k} (2)
Каждый узел nj ∈ R создаёт поток данных временных рядов (Уравнение 3):
(3)
Здесь xt — это вектор признаков в момент времени t, при этом d признаки (например, размер пакета, тип протокола, адрес источника/назначения) часто наблюдаются в медицинском сетевомтрафике Интернета вещей 19. Соответствующий набор меток выглядит (Уравнение 4):
(4)
Здесь yt=0 обозначает нормальный трафик, а yt =1 — вторжение.
Предварительная обработка данных
Конвейер предварительной обработки включает следующие этапы, которые решают типичные проблемы качества данных и безопасности, связанные с трафикомIoMT 20:
Очистка данных и обработка отсутствующих ценностей:
Запись идентифицировалась как поврежденная и удалялась до начала вчисления, если она удовлетворяла одному из следующих явных условий: (i) все поля признаков в записи отсутствовали (то есть вся запись была нулевой), или (ii) запись содержала неконечное значение (положительное или отрицательное бесконечность) в любом числовом поле после принуждения типа. Второе правило удаляет недопустимые записи, такие как те, что возникают при делении на ноль при вычислении признаков потока (например, бесконечные значения скорости потока, возникающие из потоков с нулевой длительностью). После удаления повреждённых записей оставшиеся недостающие значения вычислялись по среднему замещению, вычисляемому по признаку, для каждого набора данных и только из обучающего раздела; Полученные средства применялись к наборам обучения, валидации и тестирования для предотвращения утечек информации. Импутация не была классово-условной, и средние значения не объединялись между наборами данных.
Временное снятие шума:
Временное снятие шума осуществлялось с использованием экспоненциального скользящего среднего (EMA) фильтра по оси времени. Использовалась рекурсивная (причинная) форма yt = α·xt + (1 − α)·yt−1 с коэффициентом сглаживания α = 0,3, реализуемая через функцию pandas ewm с adjust=False. Каждая деталь была сглажена отдельно. Как экспоненциальный (бесконечный импульсный отклик) фильтр, EMA не имеет фиксированного размера окна или ядра; Коэффициент сглаживания α — это единственный параметр, определяющий степень сглаживания и эффективную память фильтра.
Нормализация Min–Max:
Нормализация min–max применялась для масштабирования каждой особенности до диапазона [0,1] с помощью преобразования x′=(x−min)/(max−min+ε), где ε = 1 × 10−8. Минимальная и максимальная статистика рассчитывались по признаку, по набору данных и только на основе обучающего раздела; Эти сохранённые статистические данные затем применялись для нормализации наборов обучения, валидации и тестирования, предотвращая утечку скрытой информации. Во время вывода значения признаков, выходящих за пределы обучающего диапазона, были обрезаны до интервала [0,1].
Кодирование категориальных признаков:
Категориальные признаки преобразовывались в числовую форму с помощью кодирования меток. Это применялось ко всем категориальным переменным: в UNSW-NB15 поля прото, сервиса и состояния; в Bot-IoT — протополе; CICIDS2017 не содержит категориальных полей среди выбранных признаков. Кодирование реализовывалось с использованием LabelEncoder для каждой переменной.
Временное окно для последовательного обучения:
Предварительно обработанный поток признаков был сегментирован на последовательности фиксированной длины с помощью скользящего окна длиной T = 20 временных шагов с шагом s = 1. Каждое сгенерированное окно проверялось до включения. Окно принималось только в том случае, если оно содержало ровно T = 20 последовательных временных шагов и все значения признаков были конечны. Потоки короче T = 20 пластинок не давали окон. Эта конфигурация (T = 20, s = 1, 95% перекрытия) применялась последовательно во всех экспериментах и наборах данных. Полный рабочий процесс предварительной обработки изложен в Алгоритме 1 (Дополнительный файл 1).
Цель предобработки — обеспечить предсказательное отображение от входных последовательностей к меткам вторжения (Уравнение 5).
(5)
параметризовано как θ, предсказывает, является ли событие доброкачественным или вредоносным.
Выбор признаков с помощью AQU-IMF-RFE
Выбор признаков проводился с помощью AQU-IMF-RFE — гибридного метода, интегрирующего взаимную информацию (MI), оптимизатор Aquila (AO) и рекурсивное устранение признаков (RFE), представленных в нашей предыдущей работе18. Метод работает в три этапа. На первом этапе вычисляется взаимная информация между каждой признаком и меткой класса для получения начального ранжирования релевантности. На втором этапе оптимизатор Aquila выполняет глобальный поиск по кандидатным подмножествам признаков, используя свои четыре стратегии оптимизации. На третьем этапе уточнённое подмножество проходит через рекурсивное устранение признаков с 10-кратной перекрёстной валидацией с использованием оценщика случайного леса (RF).
Aquila Optimizer был настроен с размером популяции 100 человек, максимумом 10 итераций, коэффициентом эксплуатации 0,1, скоростью обучения 0,1 и коэффициентом притяжения 0,005. Применяемый независимо к каждому набору данных, AQU-IMF-RFE сохранил 14 функций для UNSW-NB15, 24 для CICIDS2017 и 12 для Bot-IoT. Полный псевдокод предоставлен в дополнительном файле 1, а выбранные подмножества признаков перечислены в таблице 4.
| Таблица 4A. Избранные особенности, сохранившиеся для UNSW-NB15 |
| С. Нет. | Особенности | Тип | Категория |
| 1 | DUR | Числовая (плавающая) | Основы |
| 2 | Сбайты | Числовое (целое число) | Основы |
| 3 | ставка | Числовая (плавающая) | Основы |
| 4 | dload | Числовая (плавающая) | Основы |
| 5 | sinpkt | Числовая (плавающая) | Время |
| 6 | dinpkt | Числовая (плавающая) | Время |
| 7 | sjit | Числовая (плавающая) | Время |
| 8 | tcprtt | Числовая (плавающая) | Время |
| 9 | Synack | Числовая (плавающая) | Время |
| 10 | ackdat | Числовая (плавающая) | Время |
| 11 | smean | Числовое (целое число) | Содержание |
| 12 | ct_srv_src | Числовое (целое число) | Связь |
| 13 | ct_dst_src_ltm | Числовое (целое число) | Связь |
| 14 | ct_srv_dst | Числовое (целое число) | Связь |
| Таблица 4B. Избранные особенности, сохраненные для CICIDS2017 |
| С. Нет. | Особенности | | |
| 1 | Порт назначения | | |
| 2 | Длительность потока | | |
| 3 | Общая длина прямых пакетов | | |
| 4 | Общая длина обратных пакетов | | |
| 5 | Максимальная длина прямого пакета | | |
| 6 | Максимальная длина обратного пакета | | |
| 7 | Среднее по длине пакета обратно | | |
| 8 | Потоковые пакеты | | |
| 9 | Максимальное время прибытия потока | | |
| 10 | Общее количество времени между прибытием вперёд | | |
| 11 | Длина заголовка вперёд | | |
| 12 | Длина обратного заголовка | | |
| 13 | Пересылка пакетов в секунду | | |
| 14 | Максимальная длина пакета | | |
| 15 | Среднее по длине пакета | | |
| 16 | Стандартное отклонение длины пакета | | |
| 17 | Дисперсия длины пакета | | |
| 18 | Средний размер пакета | | |
| 19 | Средний размер обратного сегмента | | |
| 20 | Подпотоковые прямые байты | | |
| 21 | Обратные байты подпотока | | |
| 22 | Начальные байты окна вперёд | | |
| 23 | Начальные байты окна в обратном направлении | | |
| 24 | Среднее длина прямого пакета | | |
| Таблица 4C. Избранные функции, сохранившиеся для Bot-IoT |
| С. Нет. | Особенности | Тип | |
| 1 | Продолжение | Численные | |
| 2 | mean | Численные | |
| 3 | stddev | Численные | |
| 4 | Мин | Численные | |
| 5 | Макс | Численные | |
| 6 | Srate | Числовая (плавающая) | |
| 7 | drate | Числовая (плавающая) | |
| 8 | N_IN_Conn_P_SrcIP | Числовое (целое число) | |
| 9 | N_IN_Conn_P_DstIP | Числовое (целое число) | |
| 10 | Прото | Категорическая (кодированная) | |
| 11 | state_number | Числовое (целое число) | |
| 12 | ставка | Числовая (плавающая) | |
Таблица 4: Особенности, выбранные методом выбора признаков AQU-IMF-RFE. В этой таблице перечислены окончательные подмножества признаков, выбранные фреймворком выбора признаков AQU-IMF-RFE для наборов датасетов UNSW-NB15, CICIDS2017 и Bot-IoT. Имена признаков, типы данных и функциональные категории приводятся там, где это применимо.
Экспериментальная установка
Все эксперименты проводились на сервере Dell PowerEdge R740 с процессором Intel Xeon Silver 4214, работавшим на базовой частоте 2,20 ГГц, с 12 физическими ядрами, 24 логическими потоками, кэшом 16,5 МБ и скоростью Intel Ultra Path Interconnect (UPI) 9,6 ГТ/с. Сервер был настроен на 128 ГБ оперативной памяти, SSD объемом 512 ГБ и работал на Microsoft Windows 11. Программный стек включал Python 3.12.7, TensorFlow 2.16.1, scikit-learn 1.8.0, pandas 3.0.2 и NumPy 2.4.4. Блокчейн-слой был реализован на той же рабочей станции с использованием сети PoA Ethereum. Связь между IDS и блокчейном осуществлялась через JSON-RPC с использованием клиентской версии go-ethereum (Geth) 1.13.15, компилятора Solidity (solc) версии 0.8.19 для компиляции и развертывания смарт-контрактов, а также версии библиотеки Web3.py 6.15.1. На этой аппаратной и программной конфигурации измерялись время обучения, задержка вывода и пропускная способность.
Архитектура и обучение моделей
Расширенная модель BiLSTM является основным компонентом обнаружения фреймворка, опираясь на предыдущие методы обнаружения вторжений на основе обучения, разработанные для средIoMT 21. Ранние исследования обнаружения вторжений подчеркнули как важность баланса эффективности обнаружения с уменьшением ложных сигналовтревоги 15, так и уникальные сложности применения методов машинного обучения к развивающемуся сетевомутрафику 16. Архитектуры совместного обнаружения вторжений нейронных сетей дополнительно продемонстрировали ценность глубокого последовательного обучения признаков для сложного сетевоготрафика 22. В то время как стандартные модели BiLSTM фиксируют двунаправленные временные зависимости, трафик IoMT демонстрирует как краткосрочные вспышки, так и долгосрочные зависимости, вызванные многоступенчатыми атаками. Для решения этой проблемы предлагаемая модель расширяет BiLSTM с помощью экстракции временных признаков, усиленного двунаправленного временного обучения, остаточных связей и приоритизации времени, основанного на внимании. Двунаправленные LSTM (BiLSTM) преодолевают это ограничение, комбинируя скрытые состояния вперёд и назад, что позволяет более богатое временное представление паттернов трафика IoMT, как показано в Алгоритме 2 (Дополнительный файл 1).
Пусть входная последовательность будет X(nj) = {x1 ,x 2 , ... ,x T }, где каждый xt ∈ Rd — это предварительно обработанный вектор признаков.
Извлечение временных признаков:
Лёгкая одномерная свёртка применяется по временной размерности для выделения кратковременных временных аномалий (Уравнение 6):
U = φ (Conv1D(X(nj)), U = {u1, u2, ..., uT } (6)
Здесь φ(⋅) — нелинейная функция активации, а свернутые признаки ut подаются в BiLSTM.
Слой Conv1D извлекает кратковременные паттерны перед двунаправленным моделированием последовательностей. Полные параметры реализации приведены в дополнительном файле 3B.
Накладенное двунаправленное обучение LSTM:
Вперёд и назад скрытые состояния вычисляются как (Уравнение 7):
(7)
Окончательное представление BiLSTM — это конкатенация прошлых (вперёд) и будущих (назад) скрытых состояний (Уравнение 8).
(8)
Два слоя BiLSTM моделируют двунаправленные временные зависимости. Подробные архитектурные параметры приведены в дополнительном файле 3B. Детали инициализации веса приведены в дополнительном файле 3B.
Остаточное соединение и нормализация
После линейной проекции на совпадающие размеры применяются остаточные связи и нормализация слоя (Уравнение 9):

Остаточная проекция и нормализация слоя выравнивают сверточные и BiLSTM-представления признаков до внимания. Подробные параметры реализации приведены в дополнительном файле 3B.
Механизм внимания
Хотя BiLSTM обеспечивает сильное временное моделирование, не все временные шаги одинаково влияют на прогноз. Для выделения критических временных меток (например, внезапных аномальных всплесканий) вводится механизм внимания. Каждому скрытому состоянию
присваивается балл релевантности αt для повышения точности обнаружения (Уравнение 10).

Здесь Wa — обучаемый параметр, а веса внимания удовлетворяют
Вектор контекста c агрегирует скрытые состояния на основе их изученной важности (Уравнение 11):

Механизм внимания объединяет временные представления в контекстный вектор. Подробные параметры реализации приведены в дополнительном файле 3B.
Выходной слой и классификация
Агрегированный контекстный вектор проходит через полностью связный слой, за которым следует сигмоидная активация для получения окончательного предсказания (Уравнение 12):

Здесь Wc и b c — обучаемые параметры, а σ(·) — сигмовидная активационная функция, отображающая выход в интервал [0,1]. Применяется порог для классификации трафика как безвредного (
) или навязчивого (
).
Регуляризация выпадения и фиксированный порог классификации, используемый при выводе, описаны в дополнительном файле 3B.
Архитектура расширенного BiLSTM идентична для всех трёх наборов данных; различается только размерность входных признаков, принимая значения 14, 24 и 12 для UNSW-NB15, CICIDS2017 и Bot-IoT соответственно. Поскольку слой Conv1D отображает любой -мерный вход в фиксированное 64-канальное представление, все последующие слои независимы от набора данных, и только входная форма и количество параметров Conv1D изменяются с . Полная архитектура по слоям изложена в таблице 5, где количество параметров выражается в терминах d; Итоговые показатели составляют 184 641, 186 561 и 184 257 обучаемых параметров для D = 14, D = 24 и D = 12 соответственно.
| С. Нет. | Слой (тип) | Форма выхода | Обучаемые параметры | Функция активации |
| 1 | Вход | (20, d) | 0 | — |
| 2 | Conv1D (64 фильтра, размер ядра = 3, одинаковая подкладка) | (20, 64) | 192d + 64 | ReLU |
| 3 | Двухнаправленный уровень LSTM 1 (64 единицы в направлении) | (20, 128) | 66,048 | Тан / Сигмовидная |
| 4 | Двусторонний LSTM Слой 2 (64 единицы в направлении) | (20, 128) | 98,816 | Тан / Сигмовидная |
| 5 | Плотная остаточная проекция | (20, 128) | 8,320 | Линейный |
| 6 | Остаточное добавление | (20, 128) | 0 | — |
| 7 | Нормализация слоя (ось = −1, ε = 1 × 10⁻³) | (20, 128) | 256 | — |
| 8 | Временное внимание (Wa ∈ R¹²⁸×¹) | 128 | 128 | Softmax |
| 9 | Плотный скрытый слой | 64 | 8,256 | ReLU |
| 10 | Отселение (p = 0.3) | 64 | 0 | — |
| 11 | Плотный выходной слой | 1 | 65 | Сигмоид |
Таблица 5: Архитектура слоя за слоем модели расширенной двунаправленной долгой краткосрочной памяти. В этой таблице представлена архитектура предлагаемой модели расширенной биполярной долгосрочной памяти (BiLSTM), включая типы слоев, размеры выхода, обучаемые параметры и функции активации.
Программная и вычислительная среда, используемая для всех экспериментов, изложена в таблице 6.
| Компонент | Версия / Спецификация |
| Операционная система | Windows |
| Серверная платформа | Dell PowerEdge |
| CPU | 64-ядерный процессор |
| RAM | 128 ГБ |
| Хранение | SSD объёмом 512 ГБ |
| Python | 3.12.7 |
| NumPy | 2.4.4 |
| Панды | 3.0.2 |
| scikit-learn | 1.8.0 |
| TensorFlow / Keras | 2.16.1 |
| web3 (блокчейн-клиент) | 6.15.1 |
| eth-account | 0.1 |
| Solidity Compiler (solc) | 0.8.19 |
| go-ethereum (Geth) | 1.13.15 |
Таблица 6: Программное обеспечение и вычислительная среда, используемая для реализации и оценки предлагаемой структуры. В этой таблице представлены аппаратные характеристики, программные компоненты, инструменты блокчейна и номера версий, используемые для предварительной обработки данных, выбора функций, обучения моделей, развертывания блокчейна и оценки производительности.
Решение о вторжении и автоматический ответ
Обнаружение вторжений в медицинских учреждениях эффективно только при своевременном реагировании и смягчении последствий. Слой обнаружения вторжений преобразует предсказанную вероятность в решение. Формально решение о вторжении на шаге времени t представлено следующим образом (Уравнение 13):

Здесь —
предсказанная вероятность вторжения в момент времени t , а
— порог классификации.
После обнаружения вторжения Слой обнаружения вторжений напрямую взаимодействует с блокчейн-модулем, который выполняет неизменяемое логирование, автоматизированное смягчение и замкнутое обеспечение безопасности. Детали события, включая информацию о источниках, местах назначения и выбранные функции трафика, фиксируются в новом блокчейн-блоке. Смарт-контракты выполняют меры по снижению последствий в реальном времени, такие как изоляция узлов и оповещения администратора. Эта замкнутая архитектура позволяет результаты обнаружения вторжений напрямую передавать данные в механизмы предотвращения, минимизируя задержку по снижению последствий. Таким образом, Слой обнаружения вторжений служит мостом между временным обнаружением с использованием модели расширенного BiLSTM и безопасным ответом с использованием технологии блокчейн, завершая сквозную функциональность предлагаемого фреймворка.
Судебное логирование на основе блокчейна
Хотя расширенная модель BiLSTM позволяет обнаруживать вторжения в реальном времени, безопасное хранение и проверяемый аудит событий вторжения столь же критически важны в медицинских средах IoMT. Традиционные централизованные механизмы логирования уязвимы к подделкам и скомпрометированию судебной экспертизы. Для решения этого ограничения предлагаемая структура включает лёгкий блокчейн-модуль, обеспечивающий неизменяемость, децентрализацию и автоматизированный ответ на основе смарт-контрактов.
Каждое обнаруженное событие вторжения генерирует блок, который добавляется в блокчейн. Блок Bi определяется следующим образом (Уравнение 14):

Здесь Hi — криптографический хэш данных события, временной метки и результата прогноза, Ti — временная метка, Di — выбранные признаки вторжения-события, Sigi — цифровая подпись, а PrevHash связывает блок с предыдущим блоком, обеспечивая неизменяемость.
Такая конструкция гарантирует устойчивость к вторжению, поскольку любое изменение Di или T i меняет хэш блока и нарушает целостность цепочки. Она также обеспечивает аудитируемость, поскольку все обнаруженные аномалии хранятся и подлежат проверке постоянно. Автоматизированное снижение последствий поддерживается через смарт-контракты, выполняющие заранее определённые действия, такие как изоляция узлов и оповещения администратора. Децентрализация достигается за счёт нескольких шлюзов IoMT, поддерживающих распределённый реестр, тем самым устраняя одну точку отказа.
Генерация блоков использует криптографическую хеш-функцию Keccak-256, нативную примитивную хешировку среды Ethereum/Solidity (вызванную через keccak256 от Solidity). Для каждого блока вторжения хэш блока вычисляется следующим образом:

Здесь Di — это дайджест особенностей события, T i — временная метка, а PrevHash — хэш предыдущего блока. Поля конкатенируются с помощью плотно упакованного кодирования Solidity (abi.encodePacked) перед хешированием, получая 256-битный дайджест.
Та же вычисление Keccak-256 используется в процедуре верификации цепочек, которая пересчитывает каждый хеш блока из сохранённых полей и подтверждает совпадение с записанным значением, тем самым подтверждая целостность цепочки. Keccak-256 был выбран потому, что это стандартный алгоритм хеширования, устойчивый к столкновениям, используемый нативно в смарт-контрактах Ethereum. Смарт-контракт был разработан на Solidity и скомпилирован с использованием компилятора Solidity (solc) версии 0.8.19. Он был развернут в частной сети Ethereum Proof-of-Authority (PoA), управляемой на Geth версии 1.13.15. Блокчейн-сеть была настроена с четырьмя валидаторными узлами с использованием консенсусного протокола Clique Proof-of-Authority, идентификатора цепи 9848, блокового периода 5 с и лимита блокового газа 30 000 000. Связь между расширенным движком обнаружения вторжений BiLSTM и блокчейн-уровнем была реализована с использованием версии библиотеки Web3.py 6.15.1 через интерфейс HTTP JSON-RPC.
Механизм консенсуса PoA
Поскольку системы IoMT в здравоохранении обладают высокой чувствительностью к задержке, предлагаемый фреймворк использует механизм консенсуса PoA вместо вычислительной стоимости Proof-of-Work (PoW)23. В PoA фиксированный набор проверенных узлов-валидаторов, таких как госпитальные шлюзы, авторизует транзакции, обеспечивая как эффективность, так и устойчивость.
Временная сложность проверки блоков в PoW может быть выражена следующим образом (Уравнение 15):

Здесь d обозначает сложность добычи.
В отличие от этого, временная сложность консенсуса PoA задаётся следующим образом (Уравнение 16):

потому что валидация требует проверки цифровой подписи только авторизованными узлами-валидаторами.
В результате PoA обеспечивает работу с низкой задержкой, подходящую для реальных медицинских оповещений, энергоэффективность за счёт избегания вычислительно затратного майнинга и устойчивость к ограниченному числу вредоносных валидаторов. Сеть PoA была настроена с четырьмя валидаторными узлами, и эта конфигурация оставалась неизменной на протяжении всех экспериментов для обеспечения согласованных измерений задержек, воспроизводимой оценки производительности и справедливого сравнения между всеми наборами данных бенчмарков.
Внедрение блокчейна и работа смарт-контрактов
Компонент блокчейна был реализован на разрешённой сети Ethereum, работающей по консенсусной моделиPoA 24. Сеть управлялась с использованием клиента go-ethereum (Geth) с протоколом консенсуса CliquePoA 25, в котором набор авторизованных валидаторов (sealer) отвечал за создание и проверку блоков. Смарт-контракт для логирования вторжений (IoMTIntrusionLedger) был написан на Solidity и внедрен в этой сети, следуя блокчейн-архитектурам безопасности IoT для безопасного децентрализованного управлениясобытиями 26. Только шлюзовые аккаунты, авторизованные в блокчейне (через функцию контроля доступа в контракте), могли отправлять записи о вторжениях, что соответствует разрешённым архитектурам блокчейн-смарт-контрактов для приложений Интернетавещей 27. Блокчейн-слой был реализован с использованием клиента go-ethereum (Geth) версии 1.13.15 для управления разрешённой сетью PoA, компилятора Solidity (solc) версии 0.8.19 для компиляции и развертывания смарт-контрактов, а также Web3.py библиотеки версии 6.15.1 для связи между IDS и блокчейн-сетью.
Подробные параметры развертывания и конфигурации блокчейна приведены в дополнительном файле 3C.
Каждая запись о вторжении подписывается в цифровом виде перед тем, как быть зафиксирована в реестре, что поддерживает аудит здравоохранения на основе блокчейна и безопасное ведение судебнойбухгалтерии 28. Процедуры генерации и проверки цифровой подписи, включая ECDSA по кривой secp256k1 29,30, описаны в дополнительном файле 3D. Каждый шлюз содержит пару ключей Ethereum, состоящую из 256-битного (32-байтого) приватного ключа и соответствующего публичного ключа, из которого выводится адрес аккаунта; генерация ключа следует стандартной процедуре Ethereum, используя криптографически защищённый случайный 256-битный приватный ключ с публичным ключом, получаемым скалярным умножением secp256k1. Для создания подписи клиент шлюза вычисляет дайджест функции события D i и подписывает его своим приватным ключом в формате подписи сообщений EIP-191, создавая 65-байтовую подпись, состоящую из компонентов r, s и v. Подпись подаётся вместе с записью о вторжении. Проверка проводится в цепочке смарт-контрактом: с помощью предварительной компиляции ECRECOVER контракт восстанавливает адрес подписанта из подписанного дайджета и подписи и требует, чтобы он был равен адресу авторизованного шлюза, отправляющего транзакцию. Если восстановленный адрес не совпадает с авторизованным шлюзом, транзакция отклоняется. Это связывает каждую запись в реестре с определённым авторизованным шлюзом и предотвращает несанкционированные или поддельные записи о вторжении.
Смарт-контракты запускаются автоматически при обнаружении
вторжений, обеспечивая реагирование в реальном времени без необходимости ручного вмешательства (Уравнение 17):
(17)
Модуль блокчейн работает параллельно с классификатором Extended BiLSTM. После обнаружения аномалии: (i) событие маркируется и классифицируется BiLSTM, (ii) блок генерируется, подписывается и добавляется в реестр блокчейна, и (iii) смарт-контракты обеспечивают автоматическую политику ответа.
Смарт-контракт для журналирования вторжений (IoMTIntrusionLedger) поддерживает реестр блоков вторжения только с добавлением и реестр авторизованных аккаунтов шлюзов, а также предоставляет функции, изложенные в таблице 7. Контракт обеспечивает две роли доступа через модификаторы: onlyAdmin (администратор развертывания) и onlyGateway (учетные записи, уполномоченные для подачи записей вторжений). Состояние состоит из отображения авторизации шлюза, массива блочного реестра и текущей головки цепи (хеша самого последнего блока).
| С. Нет. | Функция / Компонент | Тип | Доступ | Логика |
| 1 | конструктор | Конструктор | — | Устанавливает развертывание администратором и авторизирует его как начальный шлюз. |
| 2 | setGateway(address, bool) | Функция | onlyAdmin | Добавляет или удаляет авторизованный аккаунт шлюза; Излучает GatewayОбновлено. |
| 3 | recordIntrusion(nodeId, patientId, attackClass, probabilityBp, dataDigest, signature, isolate) | Функция | onlyGateway | Вычисляет Hi = Keccak-256(Di ∥ Ti ∥ вероятность ∥ PrevHash); проверяет сигнатуру ECDSA шлюза на Di с помощью ecrecover; добавляет блок к реестру; продвигает головку цепи; издаёт BlockCreated, по желанию NodeIsolated и AdminAlert. Возвращает Hi. |
| 4 | verifyChain() | Функция просмотра | Общественность | Пересчитывает хэш каждого блока из его сохранённых полей и проверяет связь PrevHash; Возвращает истину только если вся цепочка согласована (обнаружение вмешательства). |
| 5 | ledgerLength() | Функция просмотра | Общественность | Возвращает количество блоков в реестре. |
| 6 | _recoverSigner(хэш, сиг) | Внутренняя функция | — | Разбивает 65-байтовую подпись на (r, s, v) и восстанавливает адрес подписи через предварительную компиляцию ecrecover. |
| 7 | BlockCreated / NodeIsolated / AdminAlert / GatewayUpdated | Мероприятия | — | Излучается для внецепочечных слушателей для ведения логирования, изоляции узлов, оповещений администраторов и обновлений реестра шлюзов. |
| 8 | onlyAdmin / onlyGateway | Модификаторы | — | Ограничьте функции администратором и авторизованными шлюзами соответственно. |
Таблица 7: Функции, события и компоненты контроля доступа смарт-контракта IoMTIntrusionLedger. В этой таблице представлены основные функции, события и модификаторы контроля доступа, реализованные в разрешённом блокчейн-смарт-контракте. Эти компоненты поддерживают авторизацию шлюзов, логирование вторжений, верификацию блокчейна, генерацию событий и автоматизированную борьбу с последствиями.
Свойство неизменяемости блокчейна напрямую следует из уравнения 14, где любое изменение данных событий или временных меток аннулирует хеш-цепочку. Таким образом, блокчейн обеспечивает целостность данных, отслеживаемость и аудитируемость для систем здравоохранения благодаря неизменяемым судебным записям. Записи о вторжениях пациентов и устройств остаются без изменений после сохранения, каждый блок надёжно связывается с предыдущим блоком, обеспечивая хронологическую реконструкцию событий, а администраторы здравоохранения или регуляторы могут проверять случаи вторжения без риска фальсификации.
Функция потерь и оптимизация модели
Предлагаемая расширенная модель BiLSTM решает задачу бинарной классификации — различать нормальный трафик и события вторжения в сетях IoMT. Для управления процессом обучения применяется бинарная потеря кросс-энтропии (BCE), которая хорошо подходит для вероятностных выходов из сигмовидного активационного слоя. Для набора данных с N выборками потери определяются следующим образом (Уравнение 18):
(18)
Здесь
— метка основной истинности i-й входной последовательности (0 = доброкачественная, 1 = интрузия), а
— предсказанная вероятность вторжения.
Фреймворк работает как двухэтапный конвейер классификации. Первая ступень выполняет обнаружение бинарных вторжений: расширенный BiLSTM даёт сигмоидный выход
и применяет порог τ = 0,5 для классификации каждого окна как доброкачественного или интрузивного (уравнения 12,13), обученного с использованием взвешенных бинарных потерь кросс-энтропии. Второй этап может выполнять категоризацию атак, когда окна, идентифицированные как вторжения, передаются мультиклассовому классификатору, который назначает конкретную категорию атаки с помощью softmax-выходного слоя, обученного с категориальной кросс-энтропией. Настоящее исследование сосредоточено на стадии бинарного обнаружения и оценивает её. Обе стадии имеют одинаковую основу расширенного извлечения признаков BiLSTM (Conv1D, BiLSTM, остаточный, нормализационный и внимания слои); Они отличаются только своим выходным слоем (сигмоидный для обнаружения и softmax для категоризации) и соответствующей функцией потерь. Этап двоичного обнаружения и этап категоризации мультиклассов обучались и оценивались в тех же условиях разделов данных, случайного седа и обучения, описанных выше.
Хотя трафик IoMT часто неуравновешен, для наказания неправильной классификации класса меньшинства используется взвешенная бинарная потеря по перекрёстной энтропии. Веса классов рассчитываются с использованием количества образцов вторжения Np, количества доброкачественных образцов Nn и общего числа выборок N (Уравнения 19,20):


Вес гарантирует, что модель не предвзята в сторону доминирующего класса доброкачественного трафика и остаётся чувствительной к редким, но критически важным событиям вторжения.
Взвешенные бинарные потери перекрёстной энтропии задаются следующим образом (уравнение 21):
(21)
Обучение проводилось с использованием мини-партий размера 64. В начале каждой эпохи обучающие выборки случайным образом перетасовывались перед разбиением на партии, чтобы состав пакетов варьировался между эпохами, и модель не видела примеры в фиксированном порядке. Партии не были явно сбалансированы или стратифицированы по классам; вместо этого каждая партия отражала естественное распределение классов обучающего множества, а дисбаланс классов устранялся через классово-взвешенные бинарные потери перекрестной энтропии (уравнения 19–21). Поднабор валидации, зарезервированный для раздела обучения, оставался неизменным в разных эпохах и не перетасовывается в обучающие партии.
Веса классов в взвешенной бинарной потере перекрестной энтропии не задавались вручную, а вычислялись автоматически для каждого набора данных по количеству классов обучающих наборов согласно уравнениям 19 и 20. Для набора данных UNSW-NB15 полученные веса классов были
для нормального класса и
для класса вторжения. Для CICIDS2017 набора данных полученные веса классов были
для нормального класса и
для класса вторжения. Для набора данных Bot-IoT (5% подмножества) полученные веса классов были для
нормального класса и
для класса вторжения.
Стратегия обучения и оптимизация
Расширенная модель BiLSTM была обучена на мини-партиях размера B = 64 с взвешенными бинарными потерями перекрестной энтропии, оптимизатором Адама и ранней остановкой на основе потерь валидации. Тренировка была ограничена 50 эпохами, а ранняя остановка применялась с терпением K = 5. Если потеря валидации не улучшалась в течение пяти последовательных эпох, обучение останавливалось, а веса модели восстанавливались до тех из эпохи с наименьшими потерями валидации. Таким образом, 50 эпох представляли собой максимальный бюджет на обучение, а не фиксированную продолжительность обучения. Для регуляризации применялась вероятность выброса 0,3. Архитектурные настройки включали 64 фильтра Conv1D, 64 единицы LSTM на направление, длину окна T = 20 и шаг s = 1. Принятая стратегия обучения изложена в Алгоритме 3 (Дополнительный файл 1). Уравнения обновления Адама, используемые для оптимизации, приведены в дополнительном файле 3A.
Оптимизатор Адама был настроен со скоростью обучения
, скоростью затухания первого момента (β1) 0,9, скоростью затухания второго момента (β2) 0,999 и численной константой устойчивости (
) 1 × 10-7. Дополнительные опции оптимизаторов не использовались, и не применялось уменьшение веса или градиентное обрезывание.
Генерация оповещений и автоматизированное смягчение последствий
Одного обнаружения недостаточно в сетях IoMT, чувствительных к задержке, где быстрая реакция критически важна для обеспечения безопасности пациентов. Уровень генерации и смягчения оповещений реализует решение о вторжении, принимаемое с помощью расширенной модели BiLSTM и механизма логирования блокчейна. Если δt = 1, модуль блокчейна добавляет новый блок с деталями
вторжения . Одновременно выполняется смарт-контракт для запуска мер по снижению последствий (Уравнение 22):
(12)
Здесь BlockCreation обеспечивает неизменное судебное логирование события, NodeIsolation (nj) изолирует скомпрометированный узел IoMT для предотвращения дальнейших повреждений, а AdminAlert доставляет уведомления системным администраторам в реальном времени. Для работы с этим двухуровневым конвейером отклика псевдокод представлен в Алгоритме 4 (Дополнительный файл 1).
Обработка событий по смарт-контракту и механизмы отклика вне цепи описаны в дополнительном файле 3E.
Каждая запись, зафиксированная в реестре блокчейна, хранится как запись IntrusionBlock, поля и форматы данных которой приведены в таблице 8. Реестр представляет собой массив только для добавления этих записей, а текущая глава цепи хранит хэш недавно добавленного блока.
| С. Нет. | Поле | Тип данных | Размер | Описание |
| 1 | hashId | bytes32 | 32 байта | Блок-хэш Hi = Keccak-256(Di ∥ Ti ∥ вероятность ∥ PrevHash) |
| 2 | Временная метка | uint256 | 32 байта | Время создания блока Ti (Unix эпохальные секунды, по временной метке блока) |
| 3 | nodeId | bytes32 | 32 байта | Идентификатор узла IoMT nj |
| 4 | patientId | bytes32 | 32 байта | Идентификатор пациента/устройства (судебные метаданные) |
| 5 | Класс атаки | uint16 | 2 байта | Код категории атак (0 = Нормальный, 1 = DDoS, 2 = Подделка, ...) |
| 6 | вероятностьBp | uint16 | 2 байта | Прогнозируемая вероятность вторжения ŷ в базисных пунктах (0–10000, то есть 0,00–100,00%) |
| 7 | dataDigest | bytes32 | 32 байта | Дайджест Di избранных особенностей мероприятия |
| 8 | Подпись | Байты | Переменная (65 байт) | Подпись ECDSA Sigi дайджеста события у шлюза (r, s, v) |
| 9 | prevHash | bytes32 | 32 байта | Хэш предыдущего блока (PrevHash), связывающий цепочку |
| 10 | изолированные | буль | 1 байт | Была ли активирована изоляция узла для этой записи |
Таблица 8: Структура записи IntrusionBlock, хранящейся в реестре блокчейна. В этой таблице описаны поля, типы данных, размеры хранилища и цели записей блокчейн-реестра, используемых для хранения событий вторжений. Структура поддерживает проверку криптографической целостности, судебную отслеживаемость и автоматизированные механизмы реагирования.
Общая задержка смягчения может быть выражена суммой задержки обнаружения (Td) из модели расширенного BiLSTM и задержки выполнения блокчейна (Tb) (Уравнение 23):
(23)
Анализ вычислительной сложности
Эффективность предлагаемого фреймворка Extended BiLSTM–Blockchain определяется как вычислительной стоимостью модели BiLSTM, так и накладными расходами, вносящимися модулем блокчейн. Предлагаемая структура интегрирует расширенное обнаружение BiLSTM с логированием блокчейна для удовлетворения основных требований безопасности триады Конфиденциальность, Целостность и Доступность (CIA).
Пусть длина заранее обработанной входной последовательности равна T, размерность признака — d, а скрытая размерность BiLSTM — h.
Для каждого шага времени BiLSTM обрабатывает входные данные размерности d с скрытым размером h. Поскольку оно двунаправленное (вперёд + назад) (Уравнение 24):
) (24)
Здесь T — длина последовательности (временные шаги), d — входная размерность признаков, h — измерение скрытого состояния
Уровень внимания вычисляет веса важности и агрегирует скрытые состояния со сложностью (Уравнение 25).
(25)
которая линейна как по длине последовательности T , так и по скрытой размерности h.
Общая сложность обнаружения для каждой последовательности задаётся следующим образом (Уравнение 26):
(26)
демонстрируя, что временное моделирование доминирует в вычислительной стоимости, а механизм внимания вводит лишь лёгкие накладные расходы.
Для каждого обнаруженного события вторжения логирование блокчейна выполняет операции хеширования, подписи и добавления блоков (Уравнение 27):
(27)
Для N событий обнаружения вторжений совокупная сложность выглядит следующим образом (Уравнение 28):
(28)
которую можно упростить следующим образом (Уравнение 29):
(29)
потому что накладные расходы на блокчейн растут линейно с количеством событий и остаются незначительными по сравнению с вычислениями с обработкой последовательностей.
Вычислительная сложность изложена в уравнениях 24–29. Подробное толкование приведено в дополнительном файле 3F.