<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD Journal Publishing DTD v2.3 20070202//EN" "journalpublishing.dtd">
<article article-type="research-article" dtd-version="2.3" xml:lang="EN" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">
<front>
<journal-meta>
<journal-id journal-id-type="publisher-id">Front. Energy Res.</journal-id>
<journal-title>Frontiers in Energy Research</journal-title>
<abbrev-journal-title abbrev-type="pubmed">Front. Energy Res.</abbrev-journal-title>
<issn pub-type="epub">2296-598X</issn>
<publisher>
<publisher-name>Frontiers Media S.A.</publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="publisher-id">1367199</article-id>
<article-id pub-id-type="doi">10.3389/fenrg.2024.1367199</article-id>
<article-categories>
<subj-group subj-group-type="heading">
<subject>Energy Research</subject>
<subj-group>
<subject>Original Research</subject>
</subj-group>
</subj-group>
</article-categories>
<title-group>
<article-title>A dual-head output network attack detection and classification approach for multi-energy systems</article-title>
<alt-title alt-title-type="left-running-head">Li et al.</alt-title>
<alt-title alt-title-type="right-running-head">
<ext-link ext-link-type="uri" xlink:href="https://doi.org/10.3389/fenrg.2024.1367199">10.3389/fenrg.2024.1367199</ext-link>
</alt-title>
</title-group>
<contrib-group>
<contrib contrib-type="author">
<name>
<surname>Li</surname>
<given-names>Tong</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
<xref ref-type="aff" rid="aff2">
<sup>2</sup>
</xref>
<uri xlink:href="https://loop.frontiersin.org/people/2764806/overview"/>
<role content-type="https://credit.niso.org/contributor-roles/Writing - review &#x26; editing/"/>
</contrib>
<contrib contrib-type="author" corresp="yes">
<name>
<surname>Zhang</surname>
<given-names>Xiaoyu</given-names>
</name>
<xref ref-type="aff" rid="aff3">
<sup>3</sup>
</xref>
<xref ref-type="corresp" rid="c001">&#x2a;</xref>
<uri xlink:href="https://loop.frontiersin.org/people/2623442/overview"/>
<role content-type="https://credit.niso.org/contributor-roles/writing-original-draft/"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Zhao</surname>
<given-names>Hai</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
<uri xlink:href="https://loop.frontiersin.org/people/2764770/overview"/>
<role content-type="https://credit.niso.org/contributor-roles/Writing - review &#x26; editing/"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Xu</surname>
<given-names>Jiachen</given-names>
</name>
<xref ref-type="aff" rid="aff3">
<sup>3</sup>
</xref>
<uri xlink:href="https://loop.frontiersin.org/people/2764752/overview"/>
<role content-type="https://credit.niso.org/contributor-roles/writing-original-draft/"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Chang</surname>
<given-names>Yiming</given-names>
</name>
<xref ref-type="aff" rid="aff4">
<sup>4</sup>
</xref>
<uri xlink:href="https://loop.frontiersin.org/people/2764782/overview"/>
<role content-type="https://credit.niso.org/contributor-roles/Writing - review &#x26; editing/"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Yang</surname>
<given-names>Shujun</given-names>
</name>
<xref ref-type="aff" rid="aff2">
<sup>2</sup>
</xref>
<uri xlink:href="https://loop.frontiersin.org/people/2581076/overview"/>
<role content-type="https://credit.niso.org/contributor-roles/Writing - review &#x26; editing/"/>
</contrib>
</contrib-group>
<aff id="aff1">
<sup>1</sup>
<institution>School of Computer Science and Engineering</institution>, <institution>Northeastern University</institution>, <addr-line>Shenyang</addr-line>, <country>China</country>
</aff>
<aff id="aff2">
<sup>2</sup>
<institution>Electric Power Research Institute of State Grid Liaoning Electric Power Co., Ltd.</institution>, <addr-line>Shenyang</addr-line>, <country>China</country>
</aff>
<aff id="aff3">
<sup>3</sup>
<institution>School of Information Science and Engineering</institution>, <institution>Northeastern University</institution>, <addr-line>Shenyang</addr-line>, <country>China</country>
</aff>
<aff id="aff4">
<sup>4</sup>
<institution>State Grid Liaoning Electric Power Supply Co., Ltd.</institution>, <addr-line>Shenyang</addr-line>, <country>China</country>
</aff>
<author-notes>
<fn fn-type="edited-by">
<p>
<bold>Edited by:</bold> <ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/1360920/overview">Qihe Shan</ext-link>, Dalian Maritime University, China</p>
</fn>
<fn fn-type="edited-by">
<p>
<bold>Reviewed by:</bold> <ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/2261839/overview">Peiyuan Guan</ext-link>, University of Oslo, Norway</p>
<p>
<ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/1101638/overview">Xiao Wang</ext-link>, The University of Manchester, United Kingdom</p>
</fn>
<corresp id="c001">&#x2a;Correspondence: Xiaoyu Zhang, <email>2100689@stu.neu.edu.cn</email>
</corresp>
</author-notes>
<pub-date pub-type="epub">
<day>03</day>
<month>07</month>
<year>2024</year>
</pub-date>
<pub-date pub-type="collection">
<year>2024</year>
</pub-date>
<volume>12</volume>
<elocation-id>1367199</elocation-id>
<history>
<date date-type="received">
<day>08</day>
<month>01</month>
<year>2024</year>
</date>
<date date-type="accepted">
<day>27</day>
<month>05</month>
<year>2024</year>
</date>
</history>
<permissions>
<copyright-statement>Copyright &#xa9; 2024 Li, Zhang, Zhao, Xu, Chang and Yang.</copyright-statement>
<copyright-year>2024</copyright-year>
<copyright-holder>Li, Zhang, Zhao, Xu, Chang and Yang</copyright-holder>
<license xlink:href="http://creativecommons.org/licenses/by/4.0/">
<p>This is an open-access article distributed under the terms of the Creative Commons Attribution License (CC BY). The use, distribution or reproduction in other forums is permitted, provided the original author(s) and the copyright owner(s) are credited and that the original publication in this journal is cited, in accordance with accepted academic practice. No use, distribution or reproduction is permitted which does not comply with these terms.</p>
</license>
</permissions>
<abstract>
<p>In today&#x2019;s digital age, multi-energy systems (MES) have become an indispensable part of the social infrastructure, providing people with diversified energy support such as electricity, gas, water and so on. However, with the increasing popularity and networking of MES, the network security threats they face are becoming more and more serious, especially the threat of network attacks. This makes it essential to detect attacks on MES and precisely classify attack types in order to establish effective defense strategies. In this paper, a Dual-Head output network attack detection and classification method based on parallel CNN-BiLSTM network is proposed. The method adopts a parallel structure and can process different aspects of information at the same time, speeding up the training and inference process of the whole network, making the system respond more quickly to potential network attacks, and improving real-time and efficiency. The multi-model fusion structure can give full play to the advantages of CNN and BiLSTM in processing different types of data, so that the system can capture attack characteristics more comprehensively in many aspects, and improve the overall detection and classification performance. The dual-head output not only improves the system&#x2019;s ability to accurately detect attacks, but also can effectively classify different types of attacks in detail, which helps to formulate more targeted defense strategies. In addition, in order to effectively evaluate our proposed method, the network traffic data required for the experiment were collected in an environment very similar to the actual operating environment of a multi-energy system. Finally, the experiment verifies that our method can not only realize effective detection of network attacks, but also accurately classify different types of attacks.</p>
</abstract>
<kwd-group>
<kwd>multi-energy systems</kwd>
<kwd>network attack detection</kwd>
<kwd>attack type classification</kwd>
<kwd>multimodel fusion structure</kwd>
<kwd>dual-head output network</kwd>
</kwd-group>
<custom-meta-wrap>
<custom-meta>
<meta-name>section-at-acceptance</meta-name>
<meta-value>Process and Energy Systems Engineering</meta-value>
</custom-meta>
</custom-meta-wrap>
</article-meta>
</front>
<body>
<sec id="s1">
<title>1 Introduction</title>
<p>A multi-energy system is a comprehensive and integrated approach to energy management that embraces the coexistence and coordination of various energy carriers and sources within a unified framework (<xref ref-type="bibr" rid="B17">Li et al., 2020</xref>; <xref ref-type="bibr" rid="B43">Zhang et al., 2022</xref>). This innovative concept diverges from traditional single-energy systems by acknowledging the diversity of available energy forms and harnessing their synergies to optimize efficiency, enhance reliability, and foster sustainability (<xref ref-type="bibr" rid="B23">Li et al., 2019</xref>). But the increasing reliance on digital communication, smart grid technologies, and interconnected devices in these systems has made them susceptible to various forms of network attacks (<xref ref-type="bibr" rid="B15">Li et al., 2021</xref>; <xref ref-type="bibr" rid="B21">Li et al., 2022</xref>). These attacks pose serious risks to the stability and functionality of multi-energy infrastructures; the economic implications of a successful cyber attack on MES are substantial (<xref ref-type="bibr" rid="B9">Huang et al., 2022</xref>). In addition, with the integration of advanced technologies such as the Internet of Things (IoT) in MES, privacy and safety concerns emerge (<xref ref-type="bibr" rid="B6">Elmaghraby and Losavio, 2014</xref>). The main types of cyber attacks that affect MES include Port Scanning Attacks, Denial-of-Service (DoS) Attacks, and False Data Injection (FDI), among others. A port scanning attack is an attempt by an attacker to discover open network ports on a target system to identify services running on the system and potential vulnerabilities in preparation for subsequent attacks (<xref ref-type="bibr" rid="B29">Moubayed et al., 2019</xref>; <xref ref-type="bibr" rid="B34">Singh et al., 2021</xref>). DoS Attacks involve an attacker preventing normal users from accessing a system or service by overloading the system, blocking communication channels, or using other means (<xref ref-type="bibr" rid="B20">Li et al., 2023</xref>). DoS Attacks can lead to the stagnation of energy services, affect the stability and reliability of the system, and may even lead to widespread power outages (<xref ref-type="bibr" rid="B19">Li et al., 2022</xref>). FDI is a cybersecurity attack strategy where an adversary deliberately introduces inaccurate or deceptive information into a system. This manipulation of data aims to mislead the system&#x2019;s decision-making processes, compromise its integrity, or deceive users relying on the authenticity of the data (<xref ref-type="bibr" rid="B26">Lu and Wu, 2022</xref>; <xref ref-type="bibr" rid="B46">Zhao et al., 2022</xref>). In response to these vulnerabilities, there is a pressing need to develop and implement effective network attack detection mechanisms tailored to the specific characteristics of MES. Research in this area is essential to safeguard the reliability, security, and resilience of multi-energy infrastructures, ensuring their continued contribution to a sustainable and interconnected energy landscape (<xref ref-type="bibr" rid="B18">Li et al., 2021</xref>).</p>
<p>In the realm of academic research, scholars have developed and evaluated various methods for detecting network attacks. These methods encompass diverse strategies aimed at identifying and mitigating cyber threats. The classification of these network attack detection methods can be outlined as follows: Rule-Based Detection methods, Statistical-Based Detection methods, and Machine Learning (ML) methods. Rule-based detection methods use predefined rules or specifications to identify abnormal or malicious activity in a network. These rules can include specific signatures, pattern matching, or specific attributes of network traffic. It is suitable for accurate identification of known attack patterns. For example, in (<xref ref-type="bibr" rid="B3">Birkinshaw et al., 2019</xref>), an intrusion detection system based on a software-defined network design was used to detect and prevent port scanning and DoS attacks in real-time. In (<xref ref-type="bibr" rid="B5">Egala et al., 2021</xref>), a decentralized selective ring-based access control mechanism was introduced along with device authentication and patient records anonymity algorithms to improve the healthcare system&#x2019;s security capabilities (<xref ref-type="bibr" rid="B24">Liu et al., 2022</xref>). Constructed an attack model based on three typical attacks (the Stuxnet-like, DoS, and FDI) and detects anomalies by quantifying the dynamic variations of generalized models implied by operating data. In (<xref ref-type="bibr" rid="B32">Saad et al., 2020</xref>), a practical resilient control algorithm was developed to detect cyber attacks by authenticating every incoming update from the point of common coupling agent to guarantee the system&#x2019;s security. In (<xref ref-type="bibr" rid="B2">Bhayo et al., 2022</xref>), a counter-based detection module reads the logs&#x2019; statistics continuously and determines whether the controller raises the alarm based on defined malicious activity parameters. Additionally, a Payload-Based detection module helps determine whether packets are sent by legitimate users or bots based on the payload size. However, these Rule-based detection methods are less effective against unknown attacks or variants and are not flexible enough to adapt to new threats. Statistical-based detection methods use statistical characteristics of network traffic or system behavior to identify anomalies. This can include statistical analysis of traffic patterns, frequencies, timestamps, etc. It can detect unknown attacks and has a certain adaptability to the changing attack forms. For instance (<xref ref-type="bibr" rid="B12">Kotenko et al., 2020</xref>), used fractal analysis and mathematical statistics to develop an approach for detecting cyber attacks against smart power supply networks by identifying anomalies in network traffic through assessing its self-similarity property (<xref ref-type="bibr" rid="B10">Ilha et al., 2021</xref>). Utilized information-theoretic and statistical analysis to accurately distinguish between normal and abnormal traffic patterns, classifying packets as either legitimate or malicious, thus realizing attack detection. In (<xref ref-type="bibr" rid="B1">Amma et al., 2020</xref>), a Class Scatter Ratio and Feature Distance Map (FDM) based statistical approach was proposed for detecting DoS attacks. The attack is detected by comparing the computed FDM of new traffic with normal and attack profile vectors (<xref ref-type="bibr" rid="B40">Velliangiri et al., 2023</xref>). Also used a statistical method based on FDM to identify DoS attacks. In (<xref ref-type="bibr" rid="B4">&#xc7;akmak&#xe7;&#x131; et al., 2020</xref>), a DDoS detection scheme extracted four entropy-based and four statistical features from network flows as detection metrics. In (<xref ref-type="bibr" rid="B41">Wang et al., 2019</xref>), an interval state estimator based on Unscented Kalman Filter was used to quantify the normal fluctuation range of each state variable; any state that exceeds its normal fluctuation range is treated as an abnormal state. However, these statistics-based detection methods may produce a high false positive rate, requiring high complexity and variability of the network environment.</p>
<p>Rule-based detection methods and Statistics-based detection methods provide a basic, intuitive means of detection, while ML methods leverage algorithms to analyze and learn from network data, enabling the system to autonomously identify patterns associated with malicious activities. These techniques offer adaptive and dynamic detection capabilities to better adapt to unknown attack patterns and variants, helping enhance the system&#x2019;s ability to recognize evolving cyber threat (<xref ref-type="bibr" rid="B45">Zhang et al., 2022</xref>). In (<xref ref-type="bibr" rid="B21">Li et al., 2021</xref>), extreme gradient boosting, light gradient boosting machine and extreme learning machine were separately designed as individual detectors for intrusion identification. In (<xref ref-type="bibr" rid="B8">Gorza&#x142;czany and Rudzinski, 2022</xref>), a data-mining/machine learning approach was adopted to address the intrusion detection problems in Internet of Things systems, this method used a multi-objective evolutionary optimization algorithm to optimize the tradeoff between accuracy and interpretability of the detection system. In (<xref ref-type="bibr" rid="B33">SaiSindhuTheja and Shyam, 2021</xref>), a detection system was proposed to detect DoS attacks, which integrated the Crow Search Algorithm and Opposition Based Learning method to select essential features, then classified using Recurrent Neural Network (RNN) classifier, this method can effectively improve the detection accuracy. In (<xref ref-type="bibr" rid="B30">Rashid et al., 2022</xref>), to address the two problems of over-fitting and higher complexity of model training caused by redundant features, Developed a tree-based stacking model for intrusion detection which considers the ranking of features based on a score and then creates a stacking model built on those features, and adopts the scaling of the input feature and model hyperparameter fine-tuning have been employed. In (<xref ref-type="bibr" rid="B36">Tang et al., 2020</xref>), a new LDoS attack detection method was proposed, Based on an analysis of network traffic, a network feature set was constructed for feature calculation and feature selection of network traffic data, and then the network traffic was classified by the Adaboost algorithm. In (<xref ref-type="bibr" rid="B13">Kravchik and Shabtai, 2022</xref>), this paper examined an attack detection method based on simple and lightweight neural networks, namely one-dimensional convolutional neural networks and autoencoders, these networks were applied to the time and frequency domains of the data, and the pros and cons of each representation approach were discussed. In (<xref ref-type="bibr" rid="B42">Zadsar et al., 2022</xref>), a multilayer perceptron (MLP) model was trained to detect FDI attacks against integrated power and gas systems. In (<xref ref-type="bibr" rid="B27">Martin et al., 2021</xref>), a self-supervised learning framework under a hierarchical model was used to train the encoding network, which is based entirely on a neural network, allows incremental training. In (<xref ref-type="bibr" rid="B39">Tian et al., 2020</xref>), two concurrent models of feature discriminator based on CNN and data discriminator based on FastText were developed, adding the results from the two discriminators in varying proportions for comprehensive decision result. In (<xref ref-type="bibr" rid="B7">Fard et al., 2021</xref>), the lower and upper estimation method based on the feedforward neural network model constructed optimal prediction interval with high confidence level surrounding the forecast target for malicious cyber attacks detection. In addition, compressing data, reducing data dimensions, and retaining only the most important features helps to reduce the storage space required, remove redundant information, and improve detection accuracy (<xref ref-type="bibr" rid="B16">Li et al., 2020</xref>; <xref ref-type="bibr" rid="B22">Li et al., 2021</xref>). So in the field of intrusion detection, more and more attention has been paid to data preprocessing methods of ML, such as PCA (<xref ref-type="bibr" rid="B13">Kravchik and Shabtai, 2022</xref>), Multi-Objective Evolutionary techniques (<xref ref-type="bibr" rid="B28">Mauro et al., 2021</xref>), the XGBoost-based feature selection method (<xref ref-type="bibr" rid="B11">Kasongo and Sun, 2020</xref>), combination of hash functions and embeddings (<xref ref-type="bibr" rid="B27">Martin et al., 2021</xref>), dimensional-reduction technology based on clustering (<xref ref-type="bibr" rid="B15">Li et al., 2022</xref>).</p>
<p>The aforementioned AI-based methods have yielded remarkable outcomes. However, there are two challenges. On the one hand, these AI-based methods (<xref ref-type="bibr" rid="B36">Tang et al., 2020</xref>; <xref ref-type="bibr" rid="B39">Tian et al., 2020</xref>; <xref ref-type="bibr" rid="B7">Fard et al., 2021</xref>; <xref ref-type="bibr" rid="B14">Li et al., 2021</xref>; <xref ref-type="bibr" rid="B27">Martin et al., 2021</xref>; <xref ref-type="bibr" rid="B33">SaiSindhuTheja and Shyam, 2021</xref>; <xref ref-type="bibr" rid="B8">Gorza&#x142;czany and Rudzinski, 2022</xref>; <xref ref-type="bibr" rid="B13">Kravchik and Shabtai, 2022</xref>; <xref ref-type="bibr" rid="B30">Rashid et al., 2022</xref>; <xref ref-type="bibr" rid="B42">Zadsar et al., 2022</xref>) mainly determined whether the network is attacked by extracting features from the data, but these methods either need to improve the extraction ability of data features, or the extraction of data features is too complicated, and the calculation cost and calculation time consumption of the model are too large. To address this issue, a potential approach, inspired by (<xref ref-type="bibr" rid="B37">Tang et al., 2022</xref>; <xref ref-type="bibr" rid="B44">Zhang et al., 2023</xref>) [43], was to utilize parallel CNN-BiLSTM model, which can simultaneously extract and integrate data features, provide efficient model representations, and take full advantage of the power of parallel computing, Significantly improve computing efficiency. On the other hand, the above methods (<xref ref-type="bibr" rid="B3">Birkinshaw et al., 2019</xref>; <xref ref-type="bibr" rid="B41">Wang et al., 2019</xref>; <xref ref-type="bibr" rid="B1">Amma et al., 2020</xref>; <xref ref-type="bibr" rid="B12">Kotenko et al., 2020</xref>; <xref ref-type="bibr" rid="B32">Saad et al., 2020</xref>; <xref ref-type="bibr" rid="B36">Tang et al., 2020</xref>; <xref ref-type="bibr" rid="B39">Tian et al., 2020</xref>; <xref ref-type="bibr" rid="B4">&#xc7;akmak&#xe7;&#x131; et al., 2020</xref>; <xref ref-type="bibr" rid="B5">Egala et al., 2021</xref>; <xref ref-type="bibr" rid="B7">Fard et al., 2021</xref>; <xref ref-type="bibr" rid="B10">Ilha et al., 2021</xref>; <xref ref-type="bibr" rid="B22">Li et al., 2021</xref>; <xref ref-type="bibr" rid="B27">Martin et al., 2021</xref>; <xref ref-type="bibr" rid="B33">SaiSindhuTheja and Shyam, 2021</xref>; <xref ref-type="bibr" rid="B2">Bhayo et al., 2022</xref>; <xref ref-type="bibr" rid="B8">Gorza&#x142;czany and Rudzinski, 2022</xref>; <xref ref-type="bibr" rid="B13">Kravchik and Shabtai, 2022</xref>; <xref ref-type="bibr" rid="B24">Liu et al., 2022</xref>; <xref ref-type="bibr" rid="B30">Rashid et al., 2022</xref>; <xref ref-type="bibr" rid="B42">Zadsar et al., 2022</xref>; <xref ref-type="bibr" rid="B40">Velliangiri et al., 2023</xref>) can only detect one type of network attack, while the actual multi-energy system&#x2019;s network attack situation is very complex, and it is likely to be subjected to more than one type of attack. Accurate detection of network attacks and accurate judgment of attack types are essential for taking appropriate response measures, such as optimizing resource allocation and making it more targeted, so as to improve the overall security of the network. Therefore, it is necessary to classify the detected attack types, and the design of Dual-Head Output models is an effective solution.</p>
<p>To tackle those challenges, the paper proposes a Dual-Head Output network attack detection method that can extract data features in parallel. The main contributions are as follows:<list list-type="simple">
<list-item>
<p>1) We introduce parallel CNN and BiLSTM into the network attack detection method, and make use of their different working principles to extract features from data from different angles, make full use of the potential information of the data, and achieve accurate network attack detection.</p>
</list-item>
<list-item>
<p>2) By using the Dual-Head Output network structure, we upgrade the network attack detection model from single attack detection to accurately identify and classify multiple network attacks.</p>
</list-item>
<list-item>
<p>3) We simulate the normal state and the attacked state of the information network of the multi-energy system on a data acquisition system which is very similar to the real multi-energy system, and collect the network traffic data required by the experiment, which improves the reliability of the experimental results.</p>
</list-item>
<list-item>
<p>4) The network attack detection method proposed in this paper has been verified by experiments, which proves that it can realize accurate classification of network attack types while accurately detecting network attacks.</p>
</list-item>
</list>
</p>
<p>The remainder is summarized as follows. <xref ref-type="sec" rid="s1">Section 1</xref> introduces the Dual-Head Output network attack detection method which can extract data features in parallel in detail. <xref ref-type="sec" rid="s3">Section 3</xref> introduces the data acquisition scheme of the attack detection experiment. <xref ref-type="sec" rid="s4">Section 4</xref> presents simulations to evaluate the performance of the proposed method. Finally, <xref ref-type="sec" rid="s5">Section 5</xref> concludes the paper.</p>
</sec>
<sec id="s2">
<title>2 Network attack detection method</title>
<p>In order to realize effective identification of network attacks and accurate classification of the types of attacks encountered by the network, we proposed a Dual-Head Output attack detection method based on parallel CNN-BiLSTM. The main process of the method is shown in <xref ref-type="fig" rid="F1">Figure 1</xref>, including data preprocessing, time-frequency domain transformation of data based on Mixed-Radix Fast Fourier transform algorithm (Mixed-Radix FFT), data dimension reduction based on PCA and Dual-Head Output attack detection model based on parallel CNN-BiLSTM.</p>
<fig id="F1" position="float">
<label>FIGURE 1</label>
<caption>
<p>The main process of our approach.</p>
</caption>
<graphic xlink:href="fenrg-12-1367199-g001.tif"/>
</fig>
<sec id="s2-1">
<title>2.1 Data preprocessing</title>
<p>Before converting time domain signals into frequency domain signals, some data preprocessing steps are usually required to ensure accurate and meaningful frequency domain representations, which mainly include data normalization and Blackman-Harris window.<list list-type="simple">
<list-item>
<p>1) Data normalization: The data normalization of the time domain signal can ensure that the amplitude of the signal is within a reasonable range and avoid the numerical stability problems caused by too large or too small signal amplitude. In this paper, the Min-Max normalization method as <xref ref-type="disp-formula" rid="e1">Formula (1)</xref> is adopted, which scales the data to a specified range by linear transformation.</p>
</list-item>
</list>
<disp-formula id="e1">
<mml:math id="m1">
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>r</mml:mi>
<mml:mi>m</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>l</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>z</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>l</mml:mi>
<mml:mi>l</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>c</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>min</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>a</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:mi>max</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>a</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>min</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>a</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:math>
<label>(1)</label>
</disp-formula>where <inline-formula id="inf1">
<mml:math id="m2">
<mml:mrow>
<mml:mi>max</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>a</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf2">
<mml:math id="m3">
<mml:mrow>
<mml:mi>min</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>a</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> represent the maximum and minimum values of the column where <inline-formula id="inf3">
<mml:math id="m4">
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>l</mml:mi>
<mml:mi>l</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>c</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> resides, <inline-formula id="inf4">
<mml:math id="m5">
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>r</mml:mi>
<mml:mi>m</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>l</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>z</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the result of the normalization of <inline-formula id="inf5">
<mml:math id="m6">
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>l</mml:mi>
<mml:mi>l</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>c</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>.<list list-type="simple">
<list-item>
<p>2) Window function is a technique often used in signal processing to reduce the amplitude at both ends of the signal and avoid introducing unnecessary leaks in the frequency domain. Compared with other window functions, although the computational complexity of Blackman-Harris window may be higher, it works well in reducing spectral leakage and helps to improve spectral accuracy.</p>
</list-item>
</list>
</p>
<p>After data normalization, the Blackman-Harris window function is applied to the time-domain signal, which is equivalent to introducing a window in the time-domain signal to reduce the discontinuity of the signal at the window boundary, thereby reducing spectrum leakage and improving the accuracy of spectrum analysis. The steps usually involve point-by-point multiplication, that is, multiplying each sample of the signal with the corresponding sample of the window function.</p>
<p>The general form of a Blackman-Harris window is as <xref ref-type="disp-formula" rid="e2">Formula (2)</xref> is adopted:<disp-formula id="e2">
<mml:math id="m7">
<mml:mrow>
<mml:mi>w</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>a</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>a</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>cos</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mi>&#x3c0;</mml:mi>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>N</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi>a</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>cos</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mn>4</mml:mn>
<mml:mi>&#x3c0;</mml:mi>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>N</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>a</mml:mi>
<mml:mn>3</mml:mn>
</mml:msub>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>cos</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mn>6</mml:mn>
<mml:mi>&#x3c0;</mml:mi>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>N</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(2)</label>
</disp-formula>where <inline-formula id="inf6">
<mml:math id="m8">
<mml:mrow>
<mml:mi>N</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> is the window length, <inline-formula id="inf7">
<mml:math id="m9">
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> is the index of the sample in the window, <inline-formula id="inf8">
<mml:math id="m10">
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>2</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:mo>,</mml:mo>
<mml:mi>N</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>, and <inline-formula id="inf9">
<mml:math id="m11">
<mml:mrow>
<mml:msub>
<mml:mi>a</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf10">
<mml:math id="m12">
<mml:mrow>
<mml:msub>
<mml:mi>a</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf11">
<mml:math id="m13">
<mml:mrow>
<mml:msub>
<mml:mi>a</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, and <inline-formula id="inf12">
<mml:math id="m14">
<mml:mrow>
<mml:msub>
<mml:mi>a</mml:mi>
<mml:mn>3</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> are the coefficients.</p>
<p>Suppose there is a time domain signal <inline-formula id="inf13">
<mml:math id="m15">
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>, and the signal <inline-formula id="inf14">
<mml:math id="m16">
<mml:mrow>
<mml:mi>y</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> after applying the window function can be expressed as <xref ref-type="disp-formula" rid="e3">Formula (3)</xref>:<disp-formula id="e3">
<mml:math id="m17">
<mml:mrow>
<mml:mi>y</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x22c5;</mml:mo>
<mml:mi>w</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(3)</label>
</disp-formula>where <inline-formula id="inf15">
<mml:math id="m18">
<mml:mrow>
<mml:mo>&#x22c5;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> stands for point-by-point multiplication.</p>
</sec>
<sec id="s2-2">
<title>2.2 Time-frequency domain transformation of data based on Mixed-Radix FFT</title>
<p>The conversion of the time-domain signal to the frequency-domain representation helps to better understand the frequency component of the signal. Frequency domain analysis has several advantages: First, it provides a more compact representation of the main signal components. Second, it allows the detection of attacks that change the frequency of the usual operating pattern. Finally, attacks that typically evade existing time-domain detection methods are more easily detected in frequency-domain analysis.</p>
<p>Compared with other methods that convert time domain signals into frequency domain signals, Mixed-Radix FFT is a flexible and efficient discrete Fourier transform (DFT) calculation method. By decomgenerating the length of DFT into the product of different prime factors, Mixed-Radix FFT can make more effective use of computing resources, reduce computing complexity and improve computing efficiency, this makes it potentially more advantageous in real-time applications, especially for cases where fast calculations are required, and in addition, the Mixed-Radix FFT can handle transformations of multiple lengths and is not limited to dealing with DFT whose length is a power of 2, so it is more flexible.</p>
<p>The basic formula of DFT is to transform the time domain signal into the frequency domain signal by Fourier transform of the signal sequence. The DFT formula is as <xref ref-type="disp-formula" rid="e4">Formula (4)</xref>:<disp-formula id="e4">
<mml:math id="m19">
<mml:mrow>
<mml:mi>X</mml:mi>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="&#x7c;">
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>M</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:munderover>
</mml:mstyle>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="&#x7c;">
<mml:mrow>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x22c5;</mml:mo>
<mml:msup>
<mml:mi>e</mml:mi>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mi>&#x3c0;</mml:mi>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mi>M</mml:mi>
</mml:mfrac>
<mml:mo>&#x22c5;</mml:mo>
<mml:mi>k</mml:mi>
<mml:mo>&#x22c5;</mml:mo>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
<label>(4)</label>
</disp-formula>where <inline-formula id="inf16">
<mml:math id="m20">
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="&#x7c;">
<mml:mrow>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> represents the time domain sequence, <inline-formula id="inf17">
<mml:math id="m21">
<mml:mrow>
<mml:mi>X</mml:mi>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="&#x7c;">
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> represents the frequency domain sequence, <inline-formula id="inf18">
<mml:math id="m22">
<mml:mrow>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> represents the index in the time domain, <inline-formula id="inf19">
<mml:math id="m23">
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> represents the index in the frequency domain, <inline-formula id="inf20">
<mml:math id="m24">
<mml:mrow>
<mml:mi>M</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> represents the length of the input sequence, which is also the length of the output sequence of the DFT, i is an imaginary unit, full <inline-formula id="inf21">
<mml:math id="m25">
<mml:mrow>
<mml:msup>
<mml:mi>i</mml:mi>
<mml:mn>2</mml:mn>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf22">
<mml:math id="m26">
<mml:mrow>
<mml:msup>
<mml:mi>e</mml:mi>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mi>&#x3c0;</mml:mi>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mi>M</mml:mi>
</mml:mfrac>
<mml:mo>&#x22c5;</mml:mo>
<mml:mi>k</mml:mi>
<mml:mo>&#x22c5;</mml:mo>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> is the rotation factor.</p>
<p>The idea of Mixed-Radix FFT is to divide the calculation task of DFT into smaller subtasks to reduce the complexity of calculation, and it realizes the DFT calculation of the whole signal by recursively applying decomposition and Butterfly Operation. The key steps of the algorithm include:</p>
<p>Decomposition: Decomposition of a DFT of length <inline-formula id="inf23">
<mml:math id="m27">
<mml:mrow>
<mml:mi>R</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> into multiple smaller DFTS, such as <xref ref-type="disp-formula" rid="e5">Formula (5)</xref>:<disp-formula id="e5">
<mml:math id="m28">
<mml:mrow>
<mml:mi>R</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>&#x22c5;</mml:mo>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mo>&#x22c5;</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:mo>&#x22c5;</mml:mo>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mi>l</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
<label>(5)</label>
</disp-formula>
</p>
<p>Groups: The calculation of the DFT is broken down into multiple small-scale DFT calculations. Each small DFT length is one of the prime factors obtained by decomposition. A set of radix is selected, usually 2, 3, and 5 are selected as radix, so that <inline-formula id="inf24">
<mml:math id="m29">
<mml:mrow>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> can be an integer power of 2, 3, and 5 respectively.</p>
<p>Butterfly Operation: Each small DFT is calculated using the butterfly operation. The butterfly operation involves multiplying and adding complex numbers, and its specific form depends on the length <inline-formula id="inf25">
<mml:math id="m30">
<mml:mrow>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> of a small DFT. Each Butterfly Operation involves two inputs and two outputs, one of which is the real part and the other is the imaginary part. The mathematical representation is as <xref ref-type="disp-formula" rid="e6">Formula (6)</xref>:<disp-formula id="e6">
<mml:math id="m31">
<mml:mrow>
<mml:mfenced open="{" close="" separators="&#x7c;">
<mml:mrow>
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>Y</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>X</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msubsup>
<mml:mi>W</mml:mi>
<mml:mi>R</mml:mi>
<mml:mi>l</mml:mi>
</mml:msubsup>
<mml:mo>&#x22c5;</mml:mo>
<mml:msub>
<mml:mi>X</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>Y</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>X</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mi>W</mml:mi>
<mml:mi>R</mml:mi>
<mml:mi>l</mml:mi>
</mml:msubsup>
<mml:mo>&#x22c5;</mml:mo>
<mml:msub>
<mml:mi>X</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
<label>(6)</label>
</disp-formula>where <inline-formula id="inf26">
<mml:math id="m32">
<mml:mrow>
<mml:msubsup>
<mml:mi>W</mml:mi>
<mml:mi>R</mml:mi>
<mml:mi>l</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> is the rotation factor, which can be calculated from <inline-formula id="inf27">
<mml:math id="m33">
<mml:mrow>
<mml:msubsup>
<mml:mi>W</mml:mi>
<mml:mi>R</mml:mi>
<mml:mi>l</mml:mi>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mi>e</mml:mi>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mi>&#x3c0;</mml:mi>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mi>R</mml:mi>
</mml:mfrac>
<mml:mo>&#x22c5;</mml:mo>
<mml:mi>l</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>. <inline-formula id="inf28">
<mml:math id="m34">
<mml:mrow>
<mml:msub>
<mml:mi>Y</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf29">
<mml:math id="m35">
<mml:mrow>
<mml:msub>
<mml:mi>Y</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> are the outputs of the butterfly operation, <inline-formula id="inf30">
<mml:math id="m36">
<mml:mrow>
<mml:msub>
<mml:mi>X</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf31">
<mml:math id="m37">
<mml:mrow>
<mml:msub>
<mml:mi>X</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> are the inputs of the butterfly operation, and <inline-formula id="inf32">
<mml:math id="m38">
<mml:mrow>
<mml:mi>l</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> is the frequency index of the current calculation.</p>
<p>Combination: The results of all small-scale DFT calculations are combined to get the final DFT result. This usually involves an appropriate weighted sum.</p>
</sec>
<sec id="s2-3">
<title>2.3 Data dimension reduction based on PCA</title>
<p>Before the data is input into the machine learning model, PCA is used to reduce the dimension of the data set, which can remove redundant information in the data, retain the most important information in the data set, and reduce the training time of the model, high-dimensional data sets are usually accompanied by more computing overhead, and through dimensionality reduction, the training process of the model can be accelerated. Overall, PCA can help simplify data, improve model performance, reduce computational costs, and provide better interpretability. In addition, PCA assumes that the main information of the data is concentrated in the direction of large variance, and can better play its advantages of reducing the data dimension and extracting the main information when processing the data with strong linear correlation. The process of converting the time domain signal to the frequency domain signal is usually achieved through the FFT, which is linear, so the obtained frequency domain signal can be considered as the data of linear structure. The basic steps of PCA are as follows:</p>
<p>Data standardization: The data is standardized to ensure that each feature contributes equally to the principal component.</p>
<p>Calculate the covariance matrix: Calculate the covariance matrix of the normalized data. The covariance matrix reflects the correlation between different features as <xref ref-type="disp-formula" rid="e7">Formula (7)</xref>.<disp-formula id="e7">
<mml:math id="m39">
<mml:mrow>
<mml:mi>C</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>v</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mi>X</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>Y</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>d</mml:mi>
</mml:munderover>
</mml:mstyle>
<mml:mrow>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mover accent="true">
<mml:mi>X</mml:mi>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mover accent="true">
<mml:mi>Y</mml:mi>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:math>
<label>(7)</label>
</disp-formula>where, <inline-formula id="inf33">
<mml:math id="m40">
<mml:mrow>
<mml:mi>X</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf34">
<mml:math id="m41">
<mml:mrow>
<mml:mi>Y</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> are two features, <inline-formula id="inf35">
<mml:math id="m42">
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf36">
<mml:math id="m43">
<mml:mrow>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> are the eigenvalues of the <inline-formula id="inf37">
<mml:math id="m44">
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> samples of the two characteristics respectively, <inline-formula id="inf38">
<mml:math id="m45">
<mml:mrow>
<mml:mover accent="true">
<mml:mi>X</mml:mi>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf39">
<mml:math id="m46">
<mml:mrow>
<mml:mover accent="true">
<mml:mi>Y</mml:mi>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:math>
</inline-formula> are their average values respectively, and <inline-formula id="inf40">
<mml:math id="m47">
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> is the number of samples.</p>
<p>Calculation of eigenvalues and eigenvectors: The eigenvalue decomposition of covariance matrix is carried out to obtain the eigenvalues and corresponding eigenvectors. The eigenvalue of the covariance matrix represents the variance of the data in the direction of the corresponding eigenvector. The eigenvectors represent these directions. The idea of PCA is to select the eigenvector corresponding to the maximum eigenvalue, that is, to select the direction that can maintain the variance of the original data to the greatest extent.</p>
<p>Select principal components: The eigenvalues are arranged in order from largest to smallest, and the eigenvector with the largest first <inline-formula id="inf41">
<mml:math id="m48">
<mml:mrow>
<mml:mi>h</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> eigenvalues is selected as the principal component.</p>
<p>Projection: The original data is projected onto the selected principal component to obtain a reduced data set.</p>
</sec>
<sec id="s2-4">
<title>2.4 Dual-head output attack detection model based on parallel CNN-BiLSTM</title>
<p>In order to capture the potential relationship between different network traffic data and the frequency dependency in the data, and realize efficient detection of network attacks and accurate classification of network attack types, we proposed a Dual-Head Output model based on parallel CNN-BiLSTM, as shown in <xref ref-type="fig" rid="F2">Figure 2</xref>. The parallel CNN-BiLSTM network, as a shared backbone network of multi-head output structures, can simultaneously process different parts of the input data and make full use of the capability of parallel computation, which significantly improves the computational efficiency and speeds up the model training and reasoning process. In addition, the parallel CNN and BiLSTM layers help to extract and integrate data features simultaneously, which allows us to capture information related to various aspects of the data and provide efficient model representations that improve prediction accuracy. Specifically, the CNN component is used to extract inherent features between different data types within a certain number of frequencies. At the same time, BiLSTM captures deeper frequency features by considering information in both &#x201c;forward&#x201d; and &#x201c;backward&#x201d; directions. The parallel architecture of CNN and BiLSTM allows the independent extraction of inherent features from various data types and then concatenation of these features into a final feature vector. The specially designed Dual-Head Output structure shares the underlying feature representation extracted from the input data by the parallel CNN-BiLSTM network, which helps to improve the efficiency and generalization performance of the model, and can accurately classify the types of network attacks while realizing the detection of network attacks. In order to improve the accuracy of the model for attack detection and type classification at the same time, it is necessary to customize the degree of attention for different tasks. We introduce a Self-Attention Mechanism in the middle layer of the two output headers respectively. The Self-Attention Mechanism is suitable for the task interested in the relationship between the elements in the input sequence, and can capture the global dependency. The middle layer usually contains more information and abstract features, and the Self-Attention Mechanism can flexibly and dynamically focus on the task-related part of the feature vector output from the backbone network, which can effectively improve the performance of the model on different tasks.</p>
<fig id="F2" position="float">
<label>FIGURE 2</label>
<caption>
<p>The dual-head output model based on parallel CNN-BiLSTM.</p>
</caption>
<graphic xlink:href="fenrg-12-1367199-g002.tif"/>
</fig>
<p>
<statement content-type="remark" id="Remark_1">
<label>Remark 1</label>
<p>Multi-head output networks refer to neural network architectures that incorporate multiple output heads, each dedicated to a specific task or objective. Multi-task learning involves training a single model to perform multiple tasks concurrently. The key distinction lies in their architectural design and training strategies. Multi-head Output Networks adopts a modularized structure where each task corresponds to its own output head. During training, the model optimizes the losses from all output heads jointly. This modular design is advantageous when tasks are independent or exhibit significant differences, as it allows for task-specific fine-tuning without compromising the shared foundation. In contrast, multi-task learning takes a holistic approach by jointly training the model on all tasks. The model optimizes a joint objective that encompasses all tasks, promoting the discovery of shared representations. This holistic approach is particularly effective when tasks are interrelated or share underlying structures, fostering a collaborative learning process that benefits multiple objectives simultaneously.</p>
<p>In order to improve the convergence speed of the neural network, reduce the sensitivity to the input feature scale, and improve the generalization ability of the model. When using a deep learning model, the data whose dimensionality has been reduced by PCA needs to be normalized again to ensure that the model can learn and adapt better. The detailed operations were shown in <xref ref-type="disp-formula" rid="e1">Formula 1</xref>.</p>
<p>The normalized data <inline-formula id="inf42">
<mml:math id="m49">
<mml:mrow>
<mml:msub>
<mml:mi>X</mml:mi>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>r</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is modeled as tensor <inline-formula id="inf43">
<mml:math id="m50">
<mml:mrow>
<mml:msub>
<mml:mi>X</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, and two corresponding data labels are modeled, including attack detection label <inline-formula id="inf44">
<mml:math id="m51">
<mml:mrow>
<mml:msub>
<mml:mi>Y</mml:mi>
<mml:mi>d</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> and attack type classification label <inline-formula id="inf45">
<mml:math id="m52">
<mml:mrow>
<mml:msub>
<mml:mi>Y</mml:mi>
<mml:mi>c</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, which correspond to the attack detection output <inline-formula id="inf46">
<mml:math id="m53">
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi>Y</mml:mi>
<mml:mo>&#x5e;</mml:mo>
</mml:mover>
<mml:mi>d</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> and type classification output <inline-formula id="inf47">
<mml:math id="m54">
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi>Y</mml:mi>
<mml:mo>&#x5e;</mml:mo>
</mml:mover>
<mml:mi>c</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> of Dual-Head Output respectively, as shown in the <xref ref-type="disp-formula" rid="e8">Formula (8)</xref>&#x2013;<xref ref-type="disp-formula" rid="e13">Formula (13)</xref>.<disp-formula id="e8">
<mml:math id="m55">
<mml:mrow>
<mml:msub>
<mml:mi>X</mml:mi>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>r</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="&#x7c;">
<mml:mrow>
<mml:msub>
<mml:mi>X</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>n</mml:mi>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>X</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>n</mml:mi>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>X</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>R</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mi>T</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
<label>(8)</label>
</disp-formula>
<disp-formula id="e9">
<mml:math id="m56">
<mml:mrow>
<mml:msub>
<mml:mi>X</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="&#x7c;">
<mml:mrow>
<mml:msub>
<mml:mi>X</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>n</mml:mi>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>X</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>n</mml:mi>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>X</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>S</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mi>T</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
<label>(9)</label>
</disp-formula>
<disp-formula id="e10">
<mml:math id="m57">
<mml:mrow>
<mml:msub>
<mml:mi>Y</mml:mi>
<mml:mi>d</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="&#x7c;">
<mml:mrow>
<mml:msub>
<mml:mi>Y</mml:mi>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>Y</mml:mi>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>Y</mml:mi>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mi>S</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mi>T</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
<label>(10)</label>
</disp-formula>
<disp-formula id="e11">
<mml:math id="m58">
<mml:mrow>
<mml:msub>
<mml:mi>Y</mml:mi>
<mml:mi>c</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="&#x7c;">
<mml:mrow>
<mml:msub>
<mml:mi>Y</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>Y</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>Y</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>S</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mi>T</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
<label>(11)</label>
</disp-formula>
<disp-formula id="e12">
<mml:math id="m59">
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi>Y</mml:mi>
<mml:mo>&#x5e;</mml:mo>
</mml:mover>
<mml:mi>d</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="&#x7c;">
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi>Y</mml:mi>
<mml:mo>&#x5e;</mml:mo>
</mml:mover>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mi>Y</mml:mi>
<mml:mo>&#x5e;</mml:mo>
</mml:mover>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mi>Y</mml:mi>
<mml:mo>&#x5e;</mml:mo>
</mml:mover>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mi>S</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mi>T</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
<label>(12)</label>
</disp-formula>
<disp-formula id="e13">
<mml:math id="m60">
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi>Y</mml:mi>
<mml:mo>&#x5e;</mml:mo>
</mml:mover>
<mml:mi>c</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="&#x7c;">
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi>Y</mml:mi>
<mml:mo>&#x5e;</mml:mo>
</mml:mover>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mi>Y</mml:mi>
<mml:mo>&#x5e;</mml:mo>
</mml:mover>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mi>Y</mml:mi>
<mml:mo>&#x5e;</mml:mo>
</mml:mover>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>S</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mi>T</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
<label>(13)</label>
</disp-formula>where <inline-formula id="inf48">
<mml:math id="m61">
<mml:mrow>
<mml:msub>
<mml:mi>X</mml:mi>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>r</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2208;</mml:mo>
<mml:msup>
<mml:mi mathvariant="double-struck">R</mml:mi>
<mml:mrow>
<mml:mi>R</mml:mi>
<mml:mo>&#xd7;</mml:mo>
<mml:mi>h</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf49">
<mml:math id="m62">
<mml:mrow>
<mml:mi>R</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> represents the first dimension of the time domain data, that is, the total number of samples, and the first dimension of the frequency domain data transformed by DFT, that is, the total number of frequencies; <inline-formula id="inf50">
<mml:math id="m63">
<mml:mrow>
<mml:mi>h</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> is the number of data features retained after PCA reduces the data dimension. <inline-formula id="inf51">
<mml:math id="m64">
<mml:mrow>
<mml:msub>
<mml:mi>X</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>s</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2208;</mml:mo>
<mml:msup>
<mml:mi mathvariant="double-struck">R</mml:mi>
<mml:mrow>
<mml:mi>L</mml:mi>
<mml:mo>&#xd7;</mml:mo>
<mml:mi>h</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> is the <inline-formula id="inf52">
<mml:math id="m65">
<mml:mrow>
<mml:mi>s</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>-th element of the data set <inline-formula id="inf53">
<mml:math id="m66">
<mml:mrow>
<mml:msub>
<mml:mi>X</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2208;</mml:mo>
<mml:msup>
<mml:mi mathvariant="double-struck">R</mml:mi>
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mo>&#xd7;</mml:mo>
<mml:mi>L</mml:mi>
<mml:mo>&#xd7;</mml:mo>
<mml:mi>h</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> that will be fed to the neural network, Data set <inline-formula id="inf54">
<mml:math id="m67">
<mml:mrow>
<mml:msub>
<mml:mi>X</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is divided into <inline-formula id="inf55">
<mml:math id="m68">
<mml:mrow>
<mml:mi>S</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> samples, and each sample contains <inline-formula id="inf56">
<mml:math id="m69">
<mml:mrow>
<mml:mi>L</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> frequency numbers, It should be noted that when each sample is input into CNN network, it needs to be transposed and then input into BiLSTM network at the same time. <inline-formula id="inf57">
<mml:math id="m70">
<mml:mrow>
<mml:msub>
<mml:mi>Y</mml:mi>
<mml:mi>d</mml:mi>
</mml:msub>
<mml:mo>&#x2208;</mml:mo>
<mml:msup>
<mml:mi mathvariant="double-struck">R</mml:mi>
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mo>&#xd7;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> is a set of numbers, each set of numbers has <inline-formula id="inf58">
<mml:math id="m71">
<mml:mrow>
<mml:mi>S</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> numbers, and their values are 0 or 1, 0 indicates that the network is not attacked, and 1 indicates that the network is attacked. <inline-formula id="inf59">
<mml:math id="m72">
<mml:mrow>
<mml:msub>
<mml:mi>Y</mml:mi>
<mml:mi>c</mml:mi>
</mml:msub>
<mml:mo>&#x2208;</mml:mo>
<mml:msup>
<mml:mi mathvariant="double-struck">R</mml:mi>
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mo>&#xd7;</mml:mo>
<mml:mi>b</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> contains <inline-formula id="inf60">
<mml:math id="m73">
<mml:mrow>
<mml:mi>S</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> groups of numbers, each group of numbers has <inline-formula id="inf61">
<mml:math id="m74">
<mml:mrow>
<mml:mi>b</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> values of 0 or 1, the <inline-formula id="inf62">
<mml:math id="m75">
<mml:mrow>
<mml:mi>e</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>-th number in each group corresponds to the <inline-formula id="inf63">
<mml:math id="m76">
<mml:mrow>
<mml:mi>e</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>-th type of network attack, <inline-formula id="inf64">
<mml:math id="m77">
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>2</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:mo>,</mml:mo>
<mml:mi>b</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>, there are <inline-formula id="inf65">
<mml:math id="m78">
<mml:mrow>
<mml:mi>b</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> types of network attacks the network may suffer, 0 indicates that the network is not attacked by the <inline-formula id="inf66">
<mml:math id="m79">
<mml:mrow>
<mml:mi>e</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>-th type, and 1 indicates that the network is attacked by the <inline-formula id="inf67">
<mml:math id="m80">
<mml:mrow>
<mml:mi>e</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>-th type. <inline-formula id="inf68">
<mml:math id="m81">
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi>Y</mml:mi>
<mml:mo>&#x5e;</mml:mo>
</mml:mover>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mi>s</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2208;</mml:mo>
<mml:msup>
<mml:mi mathvariant="double-struck">R</mml:mi>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#xd7;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> means that if you input the <inline-formula id="inf69">
<mml:math id="m82">
<mml:mrow>
<mml:mi>s</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>-th sample into the neural network model, it will output a real number between 0 and 1, according to the size of this real number, determine whether the network is under attack. <inline-formula id="inf70">
<mml:math id="m83">
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi>Y</mml:mi>
<mml:mo>&#x5e;</mml:mo>
</mml:mover>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>s</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2208;</mml:mo>
<mml:msup>
<mml:mi mathvariant="double-struck">R</mml:mi>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#xd7;</mml:mo>
<mml:mi>b</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> means that feeding the <inline-formula id="inf71">
<mml:math id="m84">
<mml:mrow>
<mml:mi>s</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>-th sample to the neural network model will output <inline-formula id="inf72">
<mml:math id="m85">
<mml:mrow>
<mml:mi>b</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> real numbers between 0 and 1 and add up to 1, according to the size of these real numbers to determine what kind of network attacks the network may suffer, the larger the number, the more likely the network is to be subjected to this type of attack.</p>
<p>Suppose that samples with a batch size of <inline-formula id="inf73">
<mml:math id="m86">
<mml:mrow>
<mml:mi>f</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> are input into the neural network each time, <inline-formula id="inf74">
<mml:math id="m87">
<mml:mrow>
<mml:mi>f</mml:mi>
<mml:mo>&#x2264;</mml:mo>
<mml:mi>S</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>, then the attack detection label and attack classification label of the <inline-formula id="inf75">
<mml:math id="m88">
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>-th sample are <inline-formula id="inf76">
<mml:math id="m89">
<mml:mrow>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2208;</mml:mo>
<mml:msup>
<mml:mi mathvariant="double-struck">R</mml:mi>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#xd7;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf77">
<mml:math id="m90">
<mml:mrow>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2208;</mml:mo>
<mml:msup>
<mml:mi mathvariant="double-struck">R</mml:mi>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#xd7;</mml:mo>
<mml:mi>b</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> respectively, and the output value of attack detection and attack classification are <inline-formula id="inf78">
<mml:math id="m91">
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi>y</mml:mi>
<mml:mo>&#x5e;</mml:mo>
</mml:mover>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2208;</mml:mo>
<mml:msup>
<mml:mi mathvariant="double-struck">R</mml:mi>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#xd7;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf79">
<mml:math id="m92">
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi>y</mml:mi>
<mml:mo>&#x5e;</mml:mo>
</mml:mover>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2208;</mml:mo>
<mml:msup>
<mml:mi mathvariant="double-struck">R</mml:mi>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#xd7;</mml:mo>
<mml:mi>b</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> respectively, then the loss function <inline-formula id="inf80">
<mml:math id="m93">
<mml:mrow>
<mml:msub>
<mml:mi>L</mml:mi>
<mml:mi>d</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> of attack detection and the loss function <inline-formula id="inf81">
<mml:math id="m94">
<mml:mrow>
<mml:msub>
<mml:mi>L</mml:mi>
<mml:mi>c</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> of attack type classification are set to as <xref ref-type="disp-formula" rid="e14">Formula (14)</xref>, <xref ref-type="disp-formula" rid="e15">Formula (15)</xref>:<disp-formula id="e14">
<mml:math id="m95">
<mml:mrow>
<mml:msub>
<mml:mi>L</mml:mi>
<mml:mi>d</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>f</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>f</mml:mi>
</mml:munderover>
</mml:mstyle>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>log</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi>y</mml:mi>
<mml:mo>&#x5e;</mml:mo>
</mml:mover>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mi>log</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mi>y</mml:mi>
<mml:mo>&#x5e;</mml:mo>
</mml:mover>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(14)</label>
</disp-formula>
<disp-formula id="e15">
<mml:math id="m96">
<mml:mrow>
<mml:msub>
<mml:mi>L</mml:mi>
<mml:mi>c</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>f</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>f</mml:mi>
</mml:munderover>
</mml:mstyle>
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>b</mml:mi>
</mml:munderover>
</mml:mstyle>
<mml:mrow>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>log</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi>y</mml:mi>
<mml:mo>&#x5e;</mml:mo>
</mml:mover>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(15)</label>
</disp-formula>where <inline-formula id="inf82">
<mml:math id="m97">
<mml:mrow>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2208;</mml:mo>
<mml:msup>
<mml:mi mathvariant="double-struck">R</mml:mi>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#xd7;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> represents the label of the <inline-formula id="inf83">
<mml:math id="m98">
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>-th attack type in the <inline-formula id="inf84">
<mml:math id="m99">
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>-th sample in each batch, and <inline-formula id="inf85">
<mml:math id="m100">
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi>y</mml:mi>
<mml:mo>&#x5e;</mml:mo>
</mml:mover>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2208;</mml:mo>
<mml:msup>
<mml:mi mathvariant="double-struck">R</mml:mi>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#xd7;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> represents the output value of the <inline-formula id="inf86">
<mml:math id="m101">
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>-th attack type corresponding to the <inline-formula id="inf87">
<mml:math id="m102">
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>-th sample in each batch.</p>
<p>We set a hyperparameter <inline-formula id="inf88">
<mml:math id="m103">
<mml:mrow>
<mml:mi>p</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> as the threshold, <inline-formula id="inf89">
<mml:math id="m104">
<mml:mrow>
<mml:mn>0</mml:mn>
<mml:mo>&#x2264;</mml:mo>
<mml:mi>p</mml:mi>
<mml:mo>&#x2264;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>, when <inline-formula id="inf90">
<mml:math id="m105">
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi>y</mml:mi>
<mml:mo>&#x5e;</mml:mo>
</mml:mover>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3e;</mml:mo>
<mml:mi>p</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>, the intermediate parameter <inline-formula id="inf91">
<mml:math id="m106">
<mml:mrow>
<mml:mi>g</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> is set to 1, which proves that the network is under attack, otherwise it is set to 0, which proves that the network is not under attack. Let <inline-formula id="inf92">
<mml:math id="m107">
<mml:mrow>
<mml:mi>q</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>max</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi mathvariant="normal">y</mml:mi>
<mml:mo>&#x5e;</mml:mo>
</mml:mover>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf93">
<mml:math id="m108">
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>2</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:mo>,</mml:mo>
<mml:mi>b</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf94">
<mml:math id="m109">
<mml:mrow>
<mml:mi>q</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> corresponds to the <inline-formula id="inf95">
<mml:math id="m110">
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>-th type of network attack, let <inline-formula id="inf96">
<mml:math id="m111">
<mml:mrow>
<mml:mi>v</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>q</mml:mi>
<mml:mo>&#x22c5;</mml:mo>
<mml:mi>g</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>, Only when <inline-formula id="inf97">
<mml:math id="m112">
<mml:mrow>
<mml:mi>v</mml:mi>
<mml:mo>&#x2260;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> occurs can it be proven that the network has experienced the <inline-formula id="inf98">
<mml:math id="m113">
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>-th type of network attack. <xref ref-type="fig" rid="F3">Figure 3</xref> shows the above determination process.</p>
</statement>
</p>
<fig id="F3" position="float">
<label>FIGURE 3</label>
<caption>
<p>The above determination process.</p>
</caption>
<graphic xlink:href="fenrg-12-1367199-g003.tif"/>
</fig>
</sec>
</sec>
<sec id="s3">
<title>3 Data acquisition scheme</title>
<p>In order to realize effective evaluation of our proposed attack detection and classification algorithm, normal traffic data and abnormal traffic data are collected successively in an environment very similar to the actual operating environment of the multi-power system. In <xref ref-type="sec" rid="s3-1">Section 3.1</xref>, we describe the data acquisition environment. <xref ref-type="sec" rid="s3-2">Section 3.2</xref> describes the three attack scenarios used in the experiment and the attack tools used in each scenario.</p>
<sec id="s3-1">
<title>3.1 Data acquisition environment</title>
<p>The data acquisition environment is shown in <xref ref-type="fig" rid="F4">Figure 4</xref>, is composed of two parts, the physical topology and the communication topology, which ensure the two-way transmission of energy and information respectively (<xref ref-type="bibr" rid="B31">Ren et al., 2023</xref>; <xref ref-type="bibr" rid="B38">Teng et al., 2023</xref>). The physical topology consists of 17 units. It includes three energy carriers of electricity, gas and heat, four energy loads of electricity load, gas load, heat load and colding load, three energy storage devices of electricity storage, heat storage and gas storage, four energy conversion devices of electrical refrigerant, electrical boiler, CHP and refrigerating machine, but also through photovoltaic panels and solar water heaters to use the renewable energy of solar energy, in addition, the voltage is also changed by transformers.</p>
<fig id="F4" position="float">
<label>FIGURE 4</label>
<caption>
<p>Data acquisition environment.</p>
</caption>
<graphic xlink:href="fenrg-12-1367199-g004.tif"/>
</fig>
<p>In the multi-energy system network, the collection of network traffic data mainly involves the equipment and protocol related to network traffic. Multi-energy system communication protocols include Message Queuing Telemetry Transport (MQTT), Constrained Application Protocol (CoAP), OPC Unified Architecture (OPC UA), and Distributed Network Protocol 3 (DNP3). The main communication protocol related to network security is NetFlow, which is used for network traffic monitoring and analysis. In the data collection process of this article, we used a Netflow-enabled switch (HUAWEI-LSS7G48TX6E0), a hardware device that generates NetFlow data and provides detailed information about network traffic. Network traffic data is collected using Switched Port Analyzer (SPAN), which is a local traffic mirroring technology usually provided by a switch. With SPAN, we can select multiple source ports and then copy all traffic on those ports to a destination port dedicated to monitoring. This allows us to get all the data flows through the source port.</p>
<p>To collect normal and abnormal traffic, we configure mirroring on four Netflow-enabled switches and prepare four computers to receive the mirrored traffic. Configure SPAN on the logged in switch, connect the computer&#x2019;s network adapter to the destination port configured with SPAN, and then use Wireshark to extract traffic from each network. Because normal traffic and attack traffic are often mixed together in real networks, in order to better simulate the real environment, it helps the model better learn to work in the real environment. For normal traffic data and attack traffic data, we do not collect them separately, but collect them successively, and label the collected data to make it clear whether each sample is normal traffic or attack traffic, so as to facilitate subsequent model training and evaluation. It is important to note that we only conduct one type of cyber attack at a time, that is, the attack traffic data we collect contains information about only one type of cyber attack, not a mixture of attacks.</p>
</sec>
<sec id="s3-2">
<title>3.2 Attack scenarios</title>
<p>In this study, we choose to generate and collect network traffic data involving common port scanning attack, DoS attack and FDI attack. When the attack data needs to be collected, the attack traffic can be generated by connecting the attack host to the data collection environment. The information on attack traffic is summarized in <xref ref-type="table" rid="T1">Table 1</xref>.<list list-type="simple">
<list-item>
<p>1) For port scanning attack, we chose the easy-to-use nessus with automated scanning and rules engine and the open source NMAP with multi-platform support, the attack types include SYN Scan, UDP Scan, XMAS Scan, and ACK Scan.</p>
</list-item>
<list-item>
<p>2) For DoS attack, we chose the open source LOIC and the powerful Hping3, the Attack types include HTTP Flood Attack and UDP Flood Attack.</p>
</list-item>
<list-item>
<p>3) For FDI attack, we chose the widely used SQL Map and the fast and effective BSQL Hacker, types of attack include tampering with readings from metering devices or sensors and false energy storage data injection.</p>
</list-item>
</list>
</p>
<table-wrap id="T1" position="float">
<label>TABLE 1</label>
<caption>
<p>The information on attack traffic.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="center">Attack types</th>
<th align="center">Attack tools</th>
<th align="center">Attack traffic Volume (bit)</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td rowspan="2" align="center">Port Scanning</td>
<td align="center">Nessus</td>
<td align="center">12,578</td>
</tr>
<tr>
<td align="center">NMAP</td>
<td align="center">63,786</td>
</tr>
<tr>
<td rowspan="3" align="center">DoS</td>
<td align="center">LOIC</td>
<td align="center">138,155</td>
</tr>
<tr>
<td align="center">Slowloris</td>
<td align="center">73,457</td>
</tr>
<tr>
<td align="center">Hping3</td>
<td align="center">57,673</td>
</tr>
<tr>
<td rowspan="2" align="center">FDI</td>
<td align="center">SQL Map</td>
<td align="center">52,634</td>
</tr>
<tr>
<td align="center">BSQL Hacker</td>
<td align="center">37,634</td>
</tr>
</tbody>
</table>
</table-wrap>
</sec>
</sec>
<sec id="s4">
<title>4 Simulations</title>
<p>In this section, we design simulation experiments to verify the effectiveness of the proposed method, <xref ref-type="fig" rid="F5">Figure 5</xref> describes the overall flow chart of the experiment in this paper. In <xref ref-type="sec" rid="s4-1">Section 4.1</xref>, the preparation work and specific details of the experiment are introduced, including dataset, hyperparameters determination, network parameters and performance evaluation metrics. <xref ref-type="sec" rid="s4-2">Section 4.2</xref> evaluates the performance of the proposed method through the experimental results of the test set, including the statistics and description of the experimental results, the comparison with the detection results of several baselines, and the analysis of the attack type classification results. In <xref ref-type="sec" rid="s4-3">Section 4.3</xref>, an ablation analysis was designed to evaluate the function and performance of the method by purposefully removing a portion of the substructure, and the indispensability of each substructure in the method was validated.</p>
<fig id="F5" position="float">
<label>FIGURE 5</label>
<caption>
<p>Overall flow chart of the experiment.</p>
</caption>
<graphic xlink:href="fenrg-12-1367199-g005.tif"/>
</fig>
<p>The calculation formula of the weighted loss involved in the figure is as <xref ref-type="disp-formula" rid="e16">Formula (16)</xref>:<disp-formula id="e16">
<mml:math id="m114">
<mml:mrow>
<mml:mi>W</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>g</mml:mi>
<mml:mi>h</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>d</mml:mi>
<mml:mtext>&#xa0;</mml:mtext>
<mml:mi>L</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>s</mml:mi>
<mml:mi>s</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>w</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>&#x2217;</mml:mo>
<mml:msub>
<mml:mi>L</mml:mi>
<mml:mi>d</mml:mi>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi>w</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mo>&#x2217;</mml:mo>
<mml:msub>
<mml:mi>L</mml:mi>
<mml:mi>c</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
<label>(16)</label>
</disp-formula>where <inline-formula id="inf99">
<mml:math id="m115">
<mml:mrow>
<mml:msub>
<mml:mi>L</mml:mi>
<mml:mi>d</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf100">
<mml:math id="m116">
<mml:mrow>
<mml:msub>
<mml:mi>L</mml:mi>
<mml:mi>c</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> are the loss functions of attack detection and attack type classification respectively, and <inline-formula id="inf101">
<mml:math id="m117">
<mml:mrow>
<mml:msub>
<mml:mi>w</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf102">
<mml:math id="m118">
<mml:mrow>
<mml:msub>
<mml:mi>w</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> are their weights respectively.</p>
<sec id="s4-1">
<title>4.1 Preparation</title>
<sec id="s4-1-1">
<title>4.1.1 Dataset</title>
<p>The data set was collected in a small experimental environment very similar to the actual operating environment of a multi-energy system. In order to ensure data quality, we clean the collected data to remove abnormal or inconsistent samples. The final retained data set contains about 3 to 1 normal traffic data and abnormal traffic data, and the ratio of Port scanning attack, DoS attack and FDI attack is about 5&#x2013;18 to 6. Specifically, it includes data from 460,000 samples at a sampling frequency of 1300&#xa0;Hz, 64 data features, For example, dst_port_count, num_failed_logins, num_connections, src_bytes, src_IP, num_shells, src_BPS_17, and num_root. Non-numeric features are converted to numeric values by label encoding. The data set was divided into training samples and test samples in a ratio of 4 to 1.</p>
</sec>
<sec id="s4-1-2">
<title>4.1.2 Performance evaluation metrics</title>
<p>In network attack detection, the confusion matrix and its derived metrics are crucial for assessing the performance of the model in detecting attack traffic and normal traffic. <xref ref-type="table" rid="T2">Table 2</xref> is a confusion matrix for a binary classification problem, where rows represent the actual categories, and columns represent the predicted categories. In this matrix, TP denotes the number of instances where the model correctly classified positive samples as positive, FP represents the number of instances where the model incorrectly classified negative samples as positive, TN represents the number of instances where the model correctly classified negative samples as negative, and FN represents the number of instances where the model incorrectly classified positive samples as negative.</p>
<table-wrap id="T2" position="float">
<label>TABLE 2</label>
<caption>
<p>Confusion matrix.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="center"/>
<th align="center">Predicted positive</th>
<th align="center">Predicted negative</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="center">Actual Positive</td>
<td align="center">True Positive (TP)</td>
<td align="center">False Negative (FN)</td>
</tr>
<tr>
<td align="center">Actual Negative</td>
<td align="center">False Positive (FP)</td>
<td align="center">True Negative (TN)</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>Based on the confusion matrix, several performance metrics can be calculated. In this experiment, we utilized three common performance metrics, including Accuracy, Precision, and Recall, with the specific formulas as <xref ref-type="disp-formula" rid="e17">Formula (17)</xref>&#x2013;<xref ref-type="disp-formula" rid="e19">Formula (19)</xref>:<disp-formula id="e17">
<mml:math id="m119">
<mml:mrow>
<mml:mi>A</mml:mi>
<mml:mi>c</mml:mi>
<mml:mi>c</mml:mi>
<mml:mi>u</mml:mi>
<mml:mi>r</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>c</mml:mi>
<mml:mi>y</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mi>T</mml:mi>
<mml:mi>P</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>T</mml:mi>
<mml:mi>N</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
<mml:mi>P</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>T</mml:mi>
<mml:mi>N</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>F</mml:mi>
<mml:mi>P</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>F</mml:mi>
<mml:mi>N</mml:mi>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:math>
<label>(17)</label>
</disp-formula>
<disp-formula id="e18">
<mml:math id="m120">
<mml:mrow>
<mml:mi>P</mml:mi>
<mml:mi>r</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>c</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>s</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>n</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mi>T</mml:mi>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
<mml:mi>P</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>F</mml:mi>
<mml:mi>P</mml:mi>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:math>
<label>(18)</label>
</disp-formula>
<disp-formula id="e19">
<mml:math id="m121">
<mml:mrow>
<mml:mi>R</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>c</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>l</mml:mi>
<mml:mi>l</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mi>T</mml:mi>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
<mml:mi>P</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>F</mml:mi>
<mml:mi>N</mml:mi>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:math>
<label>(19)</label>
</disp-formula>where accuracy represents the proportion of the number of correctly classified samples to the total number of samples, which measures the proportion of the correct classification of the model. Precision indicates how many of the samples predicted by the model to be positive classes are actually positive classes, higher accuracy means that the model misclassifies negative classes into positive classes less often. Recall represents the proportion of samples successfully predicted by the model as positive class over samples of actual positive class, the recall rate measures the model&#x2019;s ability to identify positive class samples, i.e. the proportion of attack samples that the model can correctly identify.</p>
</sec>
<sec id="s4-1-3">
<title>4.1.3 Hyperparameters determination</title>
<p>The hyperparameters in this paper include the coefficients <inline-formula id="inf103">
<mml:math id="m122">
<mml:mrow>
<mml:msub>
<mml:mi>a</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf104">
<mml:math id="m123">
<mml:mrow>
<mml:msub>
<mml:mi>a</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf105">
<mml:math id="m124">
<mml:mrow>
<mml:msub>
<mml:mi>a</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, and <inline-formula id="inf106">
<mml:math id="m125">
<mml:mrow>
<mml:msub>
<mml:mi>a</mml:mi>
<mml:mn>3</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> of the window function, the number of data features retained after PCA dimensionality reduction <inline-formula id="inf107">
<mml:math id="m126">
<mml:mrow>
<mml:mi>h</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> and various parameters in the neural network.</p>
<p>Because attack detection involves all data sets, including normal traffic data and attack traffic data. The attack type classification mainly involves only attack traffic data. The data volume ratio is approximately (1 &#x2b; 3) to 1, so we set the weights of the attack detection loss function and the attack type classification loss function to be <inline-formula id="inf108">
<mml:math id="m127">
<mml:mrow>
<mml:msub>
<mml:mi>w</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0.8</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf109">
<mml:math id="m128">
<mml:mrow>
<mml:msub>
<mml:mi>w</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0.2</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>, respectively.</p>
<p>We used the coefficients of the Blackman-Harris (4 coefficients) window, which are mathematically derived and optimized, and validated to meet specific performance metrics, including minimizing the main lobe width and side lobe level, as <xref ref-type="disp-formula" rid="e20">Formula (20)</xref>:<disp-formula id="e20">
<mml:math id="m129">
<mml:mrow>
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>a</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0.35875</mml:mn>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>a</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0.48829</mml:mn>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>a</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0.14128</mml:mn>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>a</mml:mi>
<mml:mn>3</mml:mn>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0.01168</mml:mn>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:math>
<label>(20)</label>
</disp-formula>
</p>
<p>In this paper, the optimal value of window length <inline-formula id="inf110">
<mml:math id="m130">
<mml:mrow>
<mml:mi>N</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> is determined by comparing the value of Recall obtained when different <inline-formula id="inf111">
<mml:math id="m131">
<mml:mrow>
<mml:mi>N</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> is selected. <xref ref-type="fig" rid="F6">Figure 6</xref> shows the experimental results. In order to achieve this goal, we adopted a two-stage experimental design. First, we selected values with large intervals for experiments to ensure that possible optimization Spaces were covered, and possible advantage areas were quickly located for more targeted follow-up optimization. We first select the five numbers of 60, 90, 120, 150, and 180 for experiments. By analyzing the experimental results at this stage, we can preliminarily determine the approximate range of <inline-formula id="inf112">
<mml:math id="m132">
<mml:mrow>
<mml:mi>N</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> between 60 and 120. In this case, we chose a maximum value of 180, not a larger number because a shorter window length provides better time-domain resolution, and in addition, a longer window length leads to increased computational complexity. After the first phase of the experiment, in order to refine the value of <inline-formula id="inf113">
<mml:math id="m133">
<mml:mrow>
<mml:mi>N</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>, we narrowed the experiment interval to capture the performance changes more finely. We selected five numbers of 70, 80, 90, 100, and 110 for the experiment. Through the experiment at this stage, we roughly determined that the optimal value of <inline-formula id="inf114">
<mml:math id="m134">
<mml:mrow>
<mml:mi>N</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> was about 100. Note that when <inline-formula id="inf115">
<mml:math id="m135">
<mml:mrow>
<mml:mi>N</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> is 90, the Recall of the two experiments is different, because two-time machine learning can only get similar but not exactly the same results. In addition, the window function is applied from the starting point of the entire data.</p>
<fig id="F6" position="float">
<label>FIGURE 6</label>
<caption>
<p>Recall-<inline-formula id="inf116">
<mml:math id="m136">
<mml:mrow>
<mml:mi>N</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> curve.</p>
</caption>
<graphic xlink:href="fenrg-12-1367199-g006.tif"/>
</fig>
<p>Determining the best dimension of PCA dimensionality reduction usually involves weighing information retention and the number of dimensions. We use the relationship between the cumulative variance contribution rate and the number of principal components to determine the number of data features retained after PCA dimensionality reduction <inline-formula id="inf117">
<mml:math id="m137">
<mml:mrow>
<mml:mi>h</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>. As can be seen from <xref ref-type="fig" rid="F7">Figure 7</xref>, when <inline-formula id="inf118">
<mml:math id="m138">
<mml:mrow>
<mml:mi>h</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> is 20, there is an inflection point in the figure, and the cumulative variance contribution rate at this time reaches 94%, which ensures that most of the variance of the original data is retained.</p>
<fig id="F7" position="float">
<label>FIGURE 7</label>
<caption>
<p>The relationship between cumulative variance contribution rate and number of components.</p>
</caption>
<graphic xlink:href="fenrg-12-1367199-g007.tif"/>
</fig>
<p>The structural parameters of the Dual-Head Output model based on parallel CNN-BiLSTM are shown in <xref ref-type="table" rid="T3">Table 3</xref>. Parameters of the CNN layer include the size and number of kernels, and stride. The CNN layer has no padding. Parameters of the BiLSTM layer and the Fully Connected (FC) layer refer to the size of hidden units. The parameters of the output header for attack detection (Output 1) and the output header for attack type classification (Output 2) are 1 and 3 respectively. 3 is the number of network attack types. The activation functions of Output 1 and Output 2 are Sigmoid and Softmax respectively, and the activation functions of CNN layer and FC layer are Leaky ReLU. The keep-probability of the CNN layer is 0.5, and the keep-probability of the BiLSTM layer and the FC layer is 0.8. We used the Adam optimizer. The network accepts input data with frequency numbers <inline-formula id="inf119">
<mml:math id="m139">
<mml:mrow>
<mml:mi>L</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>20</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> and feature numbers <inline-formula id="inf120">
<mml:math id="m140">
<mml:mrow>
<mml:mi>h</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>20</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>. The frequency numbers of the training set and the test set are <inline-formula id="inf121">
<mml:math id="m141">
<mml:mrow>
<mml:mi>R</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>368000</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf122">
<mml:math id="m142">
<mml:mrow>
<mml:mi>R</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>92000</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>, and the sample numbers are <inline-formula id="inf123">
<mml:math id="m143">
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>367981</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf124">
<mml:math id="m144">
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>91981</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>, respectively. We chose the batch size as 64, epochs as 10, and the learning rate as 0.0006. We use stochastic gradient descent to iteratively optimize the network parameters during training (<xref ref-type="bibr" rid="B25">Liu et al., 2023</xref>). In our experiment, the mini-batch training method is chosen because compared with the full-batch training, it has the outstanding advantages of processing large-scale data sets, speeding up the training process of the model and saving memory (<xref ref-type="bibr" rid="B35">Song et al., 2023</xref>).</p>
<table-wrap id="T3" position="float">
<label>TABLE 3</label>
<caption>
<p>The structural parameters of neural network.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="center">Section</th>
<th align="center">Type</th>
<th align="center">Index</th>
<th colspan="3" align="center">Argument</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td rowspan="6" align="center">Shared Backbone Network</td>
<td rowspan="3" align="center">CNN</td>
<td align="center">I</td>
<td align="center">4&#x2a;4 6 2</td>
<td align="center">6</td>
<td align="center">2</td>
</tr>
<tr>
<td align="center">II</td>
<td align="center">4&#x2a;4 8 1</td>
<td align="center">8</td>
<td align="center">1</td>
</tr>
<tr>
<td align="center">III</td>
<td align="center">4&#x2a;4 16 1</td>
<td align="center">16</td>
<td align="center">1</td>
</tr>
<tr>
<td rowspan="3" align="center">BiLSTM</td>
<td align="center">I</td>
<td align="center"/>
<td align="center">16</td>
<td align="center"/>
</tr>
<tr>
<td align="center">II</td>
<td align="center"/>
<td align="center">8</td>
<td align="center"/>
</tr>
<tr>
<td align="center">III</td>
<td align="center"/>
<td align="center">4</td>
<td align="center"/>
</tr>
<tr>
<td rowspan="9" align="center">Dual-Head Output Structure</td>
<td rowspan="4" align="center">FC</td>
<td align="center">I</td>
<td align="center"/>
<td align="center">160</td>
<td align="center"/>
</tr>
<tr>
<td align="center">II</td>
<td align="center"/>
<td align="center">80</td>
<td align="center"/>
</tr>
<tr>
<td align="center">III</td>
<td align="center"/>
<td align="center">40</td>
<td align="center"/>
</tr>
<tr>
<td align="center" style="color:#444444">IV</td>
<td align="center"/>
<td align="center">20</td>
<td align="center"/>
</tr>
<tr>
<td align="center">Output</td>
<td align="center">1</td>
<td align="center"/>
<td align="center">1</td>
<td align="center"/>
</tr>
<tr>
<td rowspan="3" align="center">FC</td>
<td align="center">i</td>
<td align="center"/>
<td align="center">160</td>
<td align="center"/>
</tr>
<tr>
<td align="center">ii</td>
<td align="center"/>
<td align="center">80</td>
<td align="center"/>
</tr>
<tr>
<td align="center">iii</td>
<td align="center"/>
<td align="center">40</td>
<td align="center"/>
</tr>
<tr>
<td align="center">Output</td>
<td align="center">2</td>
<td align="center"/>
<td align="center">3</td>
<td align="center"/>
</tr>
</tbody>
</table>
</table-wrap>
<p>For the threshold <inline-formula id="inf125">
<mml:math id="m145">
<mml:mrow>
<mml:mi>p</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> of the neural network, we determined its optimal value through experiment. The decision principle is to classify the samples correctly as much as possible, that is, to select a number that can maximize the accuracy. The experimental result is shown in <xref ref-type="fig" rid="F8">Figure 8</xref>. When <inline-formula id="inf126">
<mml:math id="m146">
<mml:mrow>
<mml:mi>p</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> is 0, accuracy is 25%. As <inline-formula id="inf127">
<mml:math id="m147">
<mml:mrow>
<mml:mi>p</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> increases to 0.3984, accuracy increases to 97.68%. As <inline-formula id="inf128">
<mml:math id="m148">
<mml:mrow>
<mml:mi>p</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> further increases to 1, accuracy decreases to 25%. Therefore, the optimal value of <inline-formula id="inf129">
<mml:math id="m149">
<mml:mrow>
<mml:mi>p</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> is 0.3984.</p>
<fig id="F8" position="float">
<label>FIGURE 8</label>
<caption>
<p>Accuracy-<inline-formula id="inf130">
<mml:math id="m150">
<mml:mrow>
<mml:mi>p</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> curve.</p>
</caption>
<graphic xlink:href="fenrg-12-1367199-g008.tif"/>
</fig>
</sec>
</sec>
<sec id="s4-2">
<title>4.2 Performance evaluation of the proposed method</title>
<sec id="s4-2-1">
<title>4.2.1 Statistics and description of experimental results</title>
<p>For the network attack detection task, a confusion matrix and four values of TP, FP, FN and TN can be obtained by inputting test set data into the trained model, from which the evaluation index can be calculated. For the task of attack classification, we can get the confusion matrix of different attack types and calculate their evaluation indexes by statistical analysis of the experimental results. <xref ref-type="fig" rid="F9">Figure 9</xref> clearly shows the data composition of the experimental results.</p>
<fig id="F9" position="float">
<label>FIGURE 9</label>
<caption>
<p>Data composition of the experimental results.</p>
</caption>
<graphic xlink:href="fenrg-12-1367199-g009.tif"/>
</fig>
<p>
<xref ref-type="fig" rid="F10">Figure 10</xref> is a confusion matrix drawn based on the experimental results of the method in this paper, where 1 represents port scanning attack, 2 represents DoS attack, 3 represents FDI attack, and 4 represents no attack. As can be seen from <xref ref-type="fig" rid="F8">Figure 8</xref>, the color of the squares on the main diagonal is obviously darker than that of the squares in other positions, which proves that our method has a better effect on the detection of attacks and the classification of attack types. The following sections further analyze and prove this conclusion with data and images.</p>
<fig id="F10" position="float">
<label>FIGURE 10</label>
<caption>
<p>The confusion matrix is drawn according to the experimental results.</p>
</caption>
<graphic xlink:href="fenrg-12-1367199-g010.tif"/>
</fig>
</sec>
<sec id="s4-2-2">
<title>4.2.2 Comparative results and analysis of network attack detection</title>
<p>For the attack detection task, we evaluate the performance of our approach by comparing it to several baselines. The baselines include CNN, LSTM, BiLSTM, and CNN-LSTM. <xref ref-type="table" rid="T4">Table 4</xref> shows the evaluation metrics of network attack detection based on several methods, <xref ref-type="fig" rid="F11">Figure 11</xref> compares the evaluation metrics of different methods through a bar chart to intuitively understand the performance differences of different attack detection methods. The following conclusions can be drawn:</p>
<table-wrap id="T4" position="float">
<label>TABLE 4</label>
<caption>
<p>Evaluation metrics of attack detection based on several methods.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="center">Evaluation metrics</th>
<th align="center">Proposed method</th>
<th align="center">BiLSTM</th>
<th align="center">CNN</th>
<th align="center">CNN-LSTM</th>
<th align="center">LSTM</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="center">Accuracy (%)</td>
<td align="center">96.38</td>
<td align="center">89.49</td>
<td align="center">85.16</td>
<td align="center">92.31</td>
<td align="center">86.25</td>
</tr>
<tr>
<td align="center">Precision (%)</td>
<td align="center">90.46</td>
<td align="center">84.54</td>
<td align="center">78.45</td>
<td align="center">86.93</td>
<td align="center">79.84</td>
</tr>
<tr>
<td align="center">Recall (%)</td>
<td align="center">94.68</td>
<td align="center">87.33</td>
<td align="center">84.48</td>
<td align="center">90.53</td>
<td align="center">83.80</td>
</tr>
</tbody>
</table>
</table-wrap>
<fig id="F11" position="float">
<label>FIGURE 11</label>
<caption>
<p>Comparison of evaluation metrics of detection performance based on several methods.</p>
</caption>
<graphic xlink:href="fenrg-12-1367199-g011.tif"/>
</fig>
<p>Compared with the baselines, the proposed method achieves the highest accuracy, the highest precision and the highest recall. The highest accuracy means that the overall performance of the model is the best, including the classification of attack and normal conditions is accurate. The highest precision means that the model has a high precision rate in all samples that are judged to be attack cases. The highest recall means that the model has a higher degree of detection of attack cases, and fewer real attack cases are missed.</p>
<p>In comparison to the CNN-LSTM model, the BiLSTM in our model considers both past and future context information when processing data of different frequencies, which helps the model to better capture long-term dependencies in the data. Similarly, the BiLSTM model performs better detection than the LSTM model.</p>
<p>Compared to the BiLSTM and CNN models, our method can more effectively extract spatial features and the relationship between data of different frequencies from the data set, and has stronger data feature mining ability. Similarly, CNN-LSTM model has better detection effect than LSTM model and CNN model. For the same reason, CNN-LSTM model also has better detection effect than BiLSTM model.</p>
<p>The LSTM model is more accurate and precise than the CNN model, but the recall is lower, possibly because the key information related to network attacks is mainly distributed in local areas. So the LSTM model has a lower recall.</p>
</sec>
<sec id="s4-2-3">
<title>4.2.3 Experimental results and analysis of attack type classification</title>
<p>In the whole test set, the evaluation metrics of network attack detection, port scanning attack, DoS attack and FDI attack are compared.</p>
<p>We make statistical data and confusion matrix according to the test set sample information and experimental results. The four numbers in the confusion matrices of network attack detection, port scanning attack, DoS attack and FDI attack add up to the total number of test set samples. <xref ref-type="table" rid="T5">Table 5</xref>; <xref ref-type="fig" rid="F12">Figure 12</xref> compare the evaluation metrics for the four cases. The following conclusions can be drawn:</p>
<table-wrap id="T5" position="float">
<label>TABLE 5</label>
<caption>
<p>Evaluation metrics of attack classification.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="center">Evaluation metrics</th>
<th align="center">Network attack</th>
<th align="center">Port scanning attack</th>
<th align="center">DoS attack</th>
<th align="center">FDI attack</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="center">Accuracy (%)</td>
<td align="center">96.38</td>
<td align="center">99.21</td>
<td align="center">97.29</td>
<td align="center">99.02</td>
</tr>
<tr>
<td align="center">Precision (%)</td>
<td align="center">90.46</td>
<td align="center">88.98</td>
<td align="center">88.58</td>
<td align="center">88.95</td>
</tr>
<tr>
<td align="center">Recall (%)</td>
<td align="center">94.68</td>
<td align="center">91.91</td>
<td align="center">93.49</td>
<td align="center">91.79</td>
</tr>
</tbody>
</table>
</table-wrap>
<fig id="F12" position="float">
<label>FIGURE 12</label>
<caption>
<p>Evaluation metrics of attack type classification.</p>
</caption>
<graphic xlink:href="fenrg-12-1367199-g012.tif"/>
</fig>
<p>Compared with the accuracy of network attack detection, the accuracy of port scanning attack, DoS attack and FDI attack is slightly higher, This is because the value of TN in the confusion matrix of the three attack types becomes significantly larger. The precision and recall of the three attacks are significantly lower than that of the network attack detection. There may be two reasons for this. First, compared with the output header of network attack detection, the structure design of the output header of attack type classification is relatively simple, and it cannot meet the complex multi-classification task. Second, the three types of attacks may have some similarities in the characteristics of network traffic data, which makes it difficult for the model to accurately distinguish them, which will affect the classification performance of the model for certain types of attacks, especially in terms of Precision and Recall. Examples include higher traffic frequencies, different connection durations than normal traffic, specific destination ports, abnormal traffic patterns, and abnormal IP addresses.</p>
</sec>
</sec>
<sec id="s4-3">
<title>4.3 Ablation analysis</title>
<p>In order to further verify the effectiveness of the proposed method, an ablation analysis was carried out in this case. <xref ref-type="table" rid="T6">Table 6</xref>; <xref ref-type="fig" rid="F13">Figure 13</xref> compare the evaluation metrics of attack detection in these different cases, namely, proposed method, no Blackman-Harris window (Case 1), no time-frequency domain transformation based on Mixed-Radix FFT (Case 2), and no PCA dimensionality reduction (Case 3). <xref ref-type="table" rid="T7">Table 7</xref>; <xref ref-type="fig" rid="F14">Figure 14</xref> compare the evaluation metrics of attack type classification in different cases, including port scanning attack, DoS attack and FDI attack. The following conclusions can be drawn:</p>
<table-wrap id="T6" position="float">
<label>TABLE 6</label>
<caption>
<p>Evaluation metrics of attack detection.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="center">Evaluation metrics</th>
<th align="center">Proposed method</th>
<th align="center">Case 1</th>
<th align="center">Case 2</th>
<th align="center">Case 3</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="center">Accuracy (%)</td>
<td align="center">96.38</td>
<td align="center">94.42</td>
<td align="center">93.15</td>
<td align="center">91.29</td>
</tr>
<tr>
<td align="center">Precision (%)</td>
<td align="center">90.46</td>
<td align="center">89.11</td>
<td align="center">88.33</td>
<td align="center">84.13</td>
</tr>
<tr>
<td align="center">Recall (%)</td>
<td align="center">94.68</td>
<td align="center">92.90</td>
<td align="center">92.84</td>
<td align="center">89.70</td>
</tr>
</tbody>
</table>
</table-wrap>
<fig id="F13" position="float">
<label>FIGURE 13</label>
<caption>
<p>Evaluation metrics of attack detection in these different cases.</p>
</caption>
<graphic xlink:href="fenrg-12-1367199-g013.tif"/>
</fig>
<table-wrap id="T7" position="float">
<label>TABLE 7</label>
<caption>
<p>Evaluation metrics of attack classification.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="center">Types of attacks</th>
<th align="center">Evaluation metrics</th>
<th align="center">Proposed method</th>
<th align="center">Case 1</th>
<th align="center">Case 2</th>
<th align="center">Case 3</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td rowspan="3" align="center">Port Scanning Attack</td>
<td align="center">Accuracy (%)</td>
<td align="center">99.21</td>
<td align="center">96.12</td>
<td align="center">95.46</td>
<td align="center">93.20</td>
</tr>
<tr>
<td align="center">Precision (%)</td>
<td align="center">88.98</td>
<td align="center">88.22</td>
<td align="center">87.15</td>
<td align="center">83.97</td>
</tr>
<tr>
<td align="center">Recall (%)</td>
<td align="center">91.91</td>
<td align="center">92.63</td>
<td align="center">92.15</td>
<td align="center">87.22</td>
</tr>
<tr>
<td rowspan="3" align="center">DoS Attack</td>
<td align="center">Accuracy (%)</td>
<td align="center">97.29</td>
<td align="center">94.81</td>
<td align="center">94.97</td>
<td align="center">92.78</td>
</tr>
<tr>
<td align="center">Precision (%)</td>
<td align="center">88.58</td>
<td align="center">88.59</td>
<td align="center">86.94</td>
<td align="center">84.45</td>
</tr>
<tr>
<td align="center">Recall (%)</td>
<td align="center">93.49</td>
<td align="center">91.72</td>
<td align="center">91.78</td>
<td align="center">88.07</td>
</tr>
<tr>
<td rowspan="3" align="center">FDI Attack</td>
<td align="center">Accuracy (%)</td>
<td align="center">99.02</td>
<td align="center">96.95</td>
<td align="center">95.17</td>
<td align="center">93.73</td>
</tr>
<tr>
<td align="center">Precision (%)</td>
<td align="center">88.95</td>
<td align="center">87.68</td>
<td align="center">87.51</td>
<td align="center">84.20</td>
</tr>
<tr>
<td align="center">Recall (%)</td>
<td align="center">91.79</td>
<td align="center">91.29</td>
<td align="center">90.37</td>
<td align="center">86.10</td>
</tr>
</tbody>
</table>
</table-wrap>
<fig id="F14" position="float">
<label>FIGURE 14</label>
<caption>
<p>Evaluation metrics of attack type classification in different cases.</p>
</caption>
<graphic xlink:href="fenrg-12-1367199-g014.tif"/>
</fig>
<p>The results show that our method has the highest evaluation metrics compared with no Blackman-Harris window, no time-frequency domain transformation based on Mixed-Radix FFT and no PCA dimensionality reduction. This is because Blackman-Harris window can effectively reduce spectrum leakage and improve the accuracy of time-frequency domain transformation. The Mixed-Radix FFT method has both accuracy and computational efficiency, and provides more accurate time-frequency information for complex signals. PCA dimensionality reduction helps to reduce the input feature dimension, improve the efficiency of model training, and filter out redundant information, so as to optimize the performance of the neural network and make it more suitable for processing the data after time-frequency domain transformation. This integrated approach can improve the accuracy of network attack detection and attack type classification.</p>
<p>The evaluation metrics of Case 2 is slightly lower than that of Case 1, and Case 3 has the lowest evaluation metrics. It can be concluded that PCA dimensionality reduction has the greatest impact on the accuracy of network attack detection and attack type classification, because PCA dimensionality reduction directly reduces the number of features and can significantly affect the accuracy. The impact of the time-frequency domain transformation based on Mixed-Radix FFT and Blackman-Harris window on the accuracy of network attack detection and attack type classification is similar, the time-frequency domain transformation based on Mixed-Radix FFT is relatively important, because the time-frequency domain transformation and window function are more related to signal processing. The influence on the detection of network attacks may be more subtle, in addition, the time-frequency domain transformation based on Mixed-Radix FFT has great advantages in capturing the local characteristics of the signal, which helps to improve the performance of the model.</p>
</sec>
</sec>
<sec sec-type="conclusion" id="s5">
<title>5 Conclusion</title>
<p>Aiming at the problem that MES are vulnerable to network attacks, this paper proposes a dual-head output network attack detection and classification method based on parallel CNN-BiLSTM network. This method not only can detect network attacks effectively, but also has the ability to classify attack types accurately. In order to improve the detection and classification effect of the model on network attacks, this paper adopts a series of data preprocessing methods to improve the quality of data, including Blackman-Harris window, time-frequency domain transformation based on Mixed-Radix FFT, data dimension reduction based on PCA. The parallel structure designed to accelerate the inference process of the network can effectively improve the detection and classification efficiency of the model, and at the same time play the advantages of CNN and BiLSTM in capturing data features to improve the performance of the model. The dual-head output structure can accomplish two different tasks of attack detection and attack type classification simultaneously. The data acquisition environment can simulate the normal working state and the state of different network attacks of the multi-energy system to improve the authenticity and availability of data. Finally, a comprehensive analysis of the experimental results verifies the superior performance and effectiveness of our method in network attack detection and attack classification.</p>
</sec>
</body>
<back>
<sec sec-type="data-availability" id="s6">
<title>Data availability statement</title>
<p>The original contributions presented in the study are included in the article/Supplementary materials, further inquiries can be directed to the corresponding author.</p>
</sec>
<sec id="s7">
<title>Author contributions</title>
<p>TL: Writing&#x2013;review and editing. XZ: Writing&#x2013;original draft. HZ: Writing&#x2013;review and editing. JX: Writing&#x2013;original draft. YC: Writing&#x2013;review and editing. SY: Writing&#x2013;review and editing.</p>
</sec>
<sec sec-type="funding-information" id="s8">
<title>Funding</title>
<p>The author(s) declare financial support was received for the research, authorship, and/or publication of this article. This work is supported by the National Key Research and Development Program of China under Grant 2022YFB3105100.</p>
</sec>
<sec sec-type="COI-statement" id="s9">
<title>Conflict of interest</title>
<p>Authors TL and SY were employed by Electric Power Research Institute of State Grid Liaoning Electric Power Co., Ltd. Author YC was employed by State Grid Liaoning Electric Power Supply Co., Ltd.</p>
<p>The remaining authors declare that the research was conducted in the absence of any commercial or financial relationships that could be construed as a potential conflict of interest.</p>
</sec>
<sec sec-type="disclaimer" id="s10">
<title>Publisher&#x2019;s note</title>
<p>All claims expressed in this article are solely those of the authors and do not necessarily represent those of their affiliated organizations, or those of the publisher, the editors and the reviewers. Any product that may be evaluated in this article, or claim that may be made by its manufacturer, is not guaranteed or endorsed by the publisher.</p>
</sec>
<ref-list>
<title>References</title>
<ref id="B1">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Amma</surname>
<given-names>N. G. B.</given-names>
</name>
<name>
<surname>Selvakumar</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Velusamy</surname>
<given-names>R. L.</given-names>
</name>
</person-group> (<year>2020</year>). <article-title>A statistical approach for detection of denial of service attacks in computer networks</article-title>. <source>IEEE Trans. Netw. Serv. Manag.</source> <volume>17</volume> (<issue>4</issue>), <fpage>2511</fpage>&#x2013;<lpage>2522</lpage>. <pub-id pub-id-type="doi">10.1109/TNSM.2020.3022799</pub-id>
</citation>
</ref>
<ref id="B2">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Bhayo</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Jafaq</surname>
<given-names>R.</given-names>
</name>
<name>
<surname>Ahmed</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Hameed</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Shah</surname>
<given-names>S. A.</given-names>
</name>
</person-group> (<year>2022</year>). <article-title>A time-efficient approach toward DDoS attack detection in IoT network using SDN</article-title>. <source>IEEE Internet Things J.</source> <volume>9</volume> (<issue>5</issue>), <fpage>3612</fpage>&#x2013;<lpage>3630</lpage>. <pub-id pub-id-type="doi">10.1109/JIOT.2021.3098029</pub-id>
</citation>
</ref>
<ref id="B3">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Birkinshaw</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Rouka</surname>
<given-names>E.</given-names>
</name>
<name>
<surname>Vassilakis</surname>
<given-names>V. G.</given-names>
</name>
</person-group> (<year>2019</year>). <article-title>Implementing an intrusion detection and prevention system using software-defined networking: defending against port-scanning and denial-of-service attacks</article-title>. <source>J. Netw. Comput. Appl.</source> <volume>136</volume>, <fpage>71</fpage>&#x2013;<lpage>85</lpage>. <pub-id pub-id-type="doi">10.1016/j.jnca.2019.03.005</pub-id>
</citation>
</ref>
<ref id="B4">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>&#xc7;akmak&#xe7;&#x131;</surname>
<given-names>S. D.</given-names>
</name>
<name>
<surname>Kemmerich</surname>
<given-names>T.</given-names>
</name>
<name>
<surname>Ahmed</surname>
<given-names>T.</given-names>
</name>
<name>
<surname>Baykal</surname>
<given-names>N.</given-names>
</name>
</person-group> (<year>2020</year>). <article-title>Online DDoS attack detection using Mahalanobis distance and Kernel-based learning algorithm</article-title>. <source>J. Netw. Comput. Appl.</source> <volume>168</volume>, <fpage>102756</fpage>. <pub-id pub-id-type="doi">10.1016/j.jnca.2020.102756</pub-id>
</citation>
</ref>
<ref id="B5">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Egala</surname>
<given-names>B. S.</given-names>
</name>
<name>
<surname>Pradhan</surname>
<given-names>A. K.</given-names>
</name>
<name>
<surname>Badarla</surname>
<given-names>V.</given-names>
</name>
<name>
<surname>Mohanty</surname>
<given-names>S. P.</given-names>
</name>
</person-group> (<year>2021</year>). <article-title>Fortified-chain: a blockchain-based framework for security and privacy-assured Internet of medical Things with effective access control</article-title>. <source>IEEE Internet Things J.</source> <volume>8</volume> (<issue>14</issue>), <fpage>11717</fpage>&#x2013;<lpage>11731</lpage>. <pub-id pub-id-type="doi">10.1109/JIOT.2021.3058946</pub-id>
</citation>
</ref>
<ref id="B6">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Elmaghraby</surname>
<given-names>A. S.</given-names>
</name>
<name>
<surname>Losavio</surname>
<given-names>M. M.</given-names>
</name>
</person-group> (<year>2014</year>). <article-title>Cyber security challenges in Smart Cities: safety, security and privacy</article-title>. <source>J. Adv. Res.</source> <volume>5</volume>, <fpage>491</fpage>&#x2013;<lpage>497</lpage>. <pub-id pub-id-type="doi">10.1016/j.jare.2014.02.006</pub-id>
</citation>
</ref>
<ref id="B7">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Fard</surname>
<given-names>A. K.-</given-names>
</name>
<name>
<surname>Su</surname>
<given-names>W.</given-names>
</name>
<name>
<surname>Jin</surname>
<given-names>T.</given-names>
</name>
</person-group> (<year>2021</year>). <article-title>A machine-learning-based cyber attack detection model for wireless sensor networks in microgrids</article-title>. <source>IEEE Trans. Industrial Inf.</source> <volume>17</volume> (<issue>1</issue>), <fpage>650</fpage>&#x2013;<lpage>658</lpage>. <pub-id pub-id-type="doi">10.1109/TII.2020.2964704</pub-id>
</citation>
</ref>
<ref id="B8">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Gorza&#x142;czany</surname>
<given-names>M. B.</given-names>
</name>
<name>
<surname>Rudzi&#x144;ski</surname>
<given-names>F.</given-names>
</name>
</person-group> (<year>2022</year>). <article-title>Intrusion detection in Internet of Things with MQTT protocol&#x2014;an accurate and interpretable genetic-fuzzy rule-based solution</article-title>. <source>IEEE Internet Things J.</source> <volume>9</volume> (<issue>24</issue>), <fpage>24843</fpage>&#x2013;<lpage>24855</lpage>. <pub-id pub-id-type="doi">10.1109/JIOT.2022.3194837</pub-id>
</citation>
</ref>
<ref id="B9">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Huang</surname>
<given-names>B.</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Zhan</surname>
<given-names>F.</given-names>
</name>
<name>
<surname>Sun</surname>
<given-names>Q.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>H.</given-names>
</name>
</person-group> (<year>2022</year>). <article-title>A distributed robust economic dispatch strategy for integrated energy system considering cyber-attacks</article-title>. <source>IEEE Trans. Industrial Inf.</source> <volume>18</volume> (<issue>2</issue>), <fpage>880</fpage>&#x2013;<lpage>890</lpage>. <pub-id pub-id-type="doi">10.1109/TII.2021.3077509</pub-id>
</citation>
</ref>
<ref id="B10">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Ilha</surname>
<given-names>A. d. S.</given-names>
</name>
<name>
<surname>Lapolli</surname>
<given-names>&#xc2;. C.</given-names>
</name>
<name>
<surname>Marques</surname>
<given-names>J. A.</given-names>
</name>
<name>
<surname>Gaspary</surname>
<given-names>L. P.</given-names>
</name>
</person-group> (<year>2021</year>). <article-title>Euclid: a fully in-network, P4-based approach for real-time DDoS attack detection and mitigation</article-title>. <source>IEEE Trans. Netw. Serv. Manag.</source> <volume>18</volume> (<issue>3</issue>), <fpage>3121</fpage>&#x2013;<lpage>3139</lpage>. <pub-id pub-id-type="doi">10.1109/TNSM.2020.3048265</pub-id>
</citation>
</ref>
<ref id="B11">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Kasongo</surname>
<given-names>S. M.</given-names>
</name>
<name>
<surname>Sun</surname>
<given-names>Y.</given-names>
</name>
</person-group> (<year>2020</year>). <article-title>Performance analysis of intrusion detection systems using a feature selection method on the UNSW-NB15 dataset</article-title>. <source>J. Big Data</source> <volume>7</volume> (<issue>105</issue>), <fpage>105</fpage>. <pub-id pub-id-type="doi">10.1186/s40537-020-00379-6</pub-id>
</citation>
</ref>
<ref id="B12">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Kotenko</surname>
<given-names>I.</given-names>
</name>
<name>
<surname>Saenko</surname>
<given-names>I.</given-names>
</name>
<name>
<surname>Lauta</surname>
<given-names>O.</given-names>
</name>
<name>
<surname>Kribel</surname>
<given-names>A.</given-names>
</name>
</person-group> (<year>2020</year>). <article-title>An approach to detecting cyber attacks against smart power grids based on the analysis of network traffic self-similarity</article-title>. <source>Energies</source> <volume>13</volume> (<issue>19</issue>), <fpage>5031</fpage>. <pub-id pub-id-type="doi">10.3390/en13195031</pub-id>
</citation>
</ref>
<ref id="B13">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Kravchik</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Shabtai</surname>
<given-names>A.</given-names>
</name>
</person-group> (<year>2022</year>). <article-title>Efficient cyber attack detection in industrial control systems using lightweight neural networks and PCA</article-title>. <source>IEEE Trans. Dependable Secure Comput.</source> <volume>19</volume> (<issue>4</issue>), <fpage>2179</fpage>&#x2013;<lpage>2197</lpage>. <pub-id pub-id-type="doi">10.1109/TDSC.2021.3050101</pub-id>
</citation>
</ref>
<ref id="B14">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Li</surname>
<given-names>T.</given-names>
</name>
<name>
<surname>Chen</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Jensen</surname>
<given-names>C. S.</given-names>
</name>
<name>
<surname>Pedersen</surname>
<given-names>T. B.</given-names>
</name>
</person-group> (<year>2021c</year>). <article-title>TRACE: real-time compression of streaming trajectories in road networks</article-title>. <source>Proc. VLDB Endow.</source> <volume>14</volume> (<issue>7</issue>), <fpage>1175</fpage>&#x2013;<lpage>1187</lpage>. <pub-id pub-id-type="doi">10.14778/3450980.3450987</pub-id>
</citation>
</ref>
<ref id="B15">
<citation citation-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Li</surname>
<given-names>T.</given-names>
</name>
<name>
<surname>Chen</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Jensen</surname>
<given-names>C. S.</given-names>
</name>
<name>
<surname>Pedersen</surname>
<given-names>T. B.</given-names>
</name>
<name>
<surname>Gao</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Hu</surname>
<given-names>J.</given-names>
</name>
</person-group> (<year>2022c</year>). &#x201c;<article-title>Evolutionary clustering of moving objects</article-title>,&#x201d; in <conf-name>2022 IEEE 38th International Conference on Data Engineering</conf-name>, <conf-loc>Kuala Lumpur, Malaysia</conf-loc>, <conf-date>May, 2022</conf-date>, <fpage>2399</fpage>&#x2013;<lpage>2411</lpage>. <pub-id pub-id-type="doi">10.1109/ICDE53745.2022.00225</pub-id>
</citation>
</ref>
<ref id="B16">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Li</surname>
<given-names>T.</given-names>
</name>
<name>
<surname>Huang</surname>
<given-names>R.</given-names>
</name>
<name>
<surname>Chen</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Jensen</surname>
<given-names>C. S.</given-names>
</name>
<name>
<surname>Pedersen</surname>
<given-names>T. B.</given-names>
</name>
</person-group> (<year>2020b</year>). <article-title>Compression of uncertain trajectories in road networks</article-title>. <source>Proc. VLDB Endow.</source> <volume>13</volume> (<issue>7</issue>), <fpage>1050</fpage>&#x2013;<lpage>1063</lpage>. <pub-id pub-id-type="doi">10.14778/3384345.3384353</pub-id>
</citation>
</ref>
<ref id="B17">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Li</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Gao</surname>
<given-names>D. W.</given-names>
</name>
<name>
<surname>Gao</surname>
<given-names>W.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Zhou</surname>
<given-names>J.</given-names>
</name>
</person-group> (<year>2020a</year>). <article-title>Double-mode energy management for multi-energy system via distributed dynamic event-triggered Newton-raphson algorithm</article-title>. <source>IEEE Trans. Smart Grid</source> <volume>11</volume> (<issue>6</issue>), <fpage>5339</fpage>&#x2013;<lpage>5356</lpage>. <pub-id pub-id-type="doi">10.1109/TSG.2020.3005179</pub-id>
</citation>
</ref>
<ref id="B18">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Li</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Gao</surname>
<given-names>D. W.</given-names>
</name>
<name>
<surname>Gao</surname>
<given-names>W.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Zhou</surname>
<given-names>J.</given-names>
</name>
</person-group> (<year>2021a</year>). <article-title>A distributed double-Newton descent algorithm for cooperative energy management of multiple energy bodies in energy Internet</article-title>. <source>IEEE Trans. Industrial Inf.</source> <volume>17</volume> (<issue>9</issue>), <fpage>5993</fpage>&#x2013;<lpage>6003</lpage>. <pub-id pub-id-type="doi">10.1109/TII.2020.3029974</pub-id>
</citation>
</ref>
<ref id="B19">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Li</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>T.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Xie</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Sun</surname>
<given-names>Q.</given-names>
</name>
</person-group> (<year>2022a</year>). <article-title>Distributed resilient double-gradient-descent based energy management strategy for multi-energy system under DoS attacks</article-title>. <source>IEEE Trans. Netw. Sci. Eng.</source> <volume>9</volume> (<issue>4</issue>), <fpage>2301</fpage>&#x2013;<lpage>2316</lpage>. <pub-id pub-id-type="doi">10.1109/TNSE.2022.3162669</pub-id>
</citation>
</ref>
<ref id="B20">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Li</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Ren</surname>
<given-names>R.</given-names>
</name>
<name>
<surname>Huang</surname>
<given-names>B.</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>R.</given-names>
</name>
<name>
<surname>Sun</surname>
<given-names>Q.</given-names>
</name>
<name>
<surname>Gao</surname>
<given-names>D. W.</given-names>
</name>
<etal/>
</person-group> (<year>2023</year>). <article-title>Distributed hybrid-triggering-based secure dispatch approach for smart grid against DoS attacks</article-title>. <source>IEEE Trans. Syst. Man, Cybern. Syst.</source> <volume>53</volume> (<issue>6</issue>), <fpage>3574</fpage>&#x2013;<lpage>3587</lpage>. <pub-id pub-id-type="doi">10.1109/TSMC.2022.3228780</pub-id>
</citation>
</ref>
<ref id="B21">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Li</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>R.</given-names>
</name>
<name>
<surname>Gao</surname>
<given-names>D. W.</given-names>
</name>
<name>
<surname>Sun</surname>
<given-names>Q.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>H.</given-names>
</name>
</person-group> (<year>2022b</year>). <article-title>A switched Newton&#x2013;Raphson-Based distributed energy management algorithm for multienergy system under persistent DoS attacks</article-title>. <source>IEEE Trans. Automation Sci. Eng.</source> <volume>19</volume> (<issue>4</issue>), <fpage>2985</fpage>&#x2013;<lpage>2997</lpage>. <pub-id pub-id-type="doi">10.1109/TASE.2021.3104393</pub-id>
</citation>
</ref>
<ref id="B22">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Li</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Xue</surname>
<given-names>W.</given-names>
</name>
<name>
<surname>Wu</surname>
<given-names>T.</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Zhou</surname>
<given-names>B.</given-names>
</name>
<name>
<surname>Aziz</surname>
<given-names>S.</given-names>
</name>
<etal/>
</person-group> (<year>2021b</year>). <article-title>Intrusion detection of cyber physical energy system based on multivariate ensemble classification</article-title>. <source>Energy</source> <volume>218</volume>, <fpage>119505</fpage>. <pub-id pub-id-type="doi">10.1016/j.energy.2020.119505</pub-id>
</citation>
</ref>
<ref id="B23">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Li</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Liang</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Huang</surname>
<given-names>B.</given-names>
</name>
</person-group> (<year>2019</year>). <article-title>Event-triggered-based distributed cooperative energy management for multienergy systems</article-title>. <source>IEEE Trans. Industrial Inf.</source> <volume>15</volume> (<issue>4</issue>), <fpage>2008</fpage>&#x2013;<lpage>2022</lpage>. <pub-id pub-id-type="doi">10.1109/TII.2018.2862436</pub-id>
</citation>
</ref>
<ref id="B24">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Liu</surname>
<given-names>B.</given-names>
</name>
<name>
<surname>Chen</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Hu</surname>
<given-names>Y.</given-names>
</name>
</person-group> (<year>2022</year>). <article-title>Mode division-based anomaly detection against integrity and availability attacks in industrial cyber-physical systems</article-title>. <source>Comput. Industry</source> <volume>137</volume>, <fpage>103609</fpage>. <pub-id pub-id-type="doi">10.1016/j.compind.2022.103609</pub-id>
</citation>
</ref>
<ref id="B25">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Liu</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Guan</surname>
<given-names>P.</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>T.</given-names>
</name>
<name>
<surname>Yu</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Taherkordi</surname>
<given-names>A.</given-names>
</name>
<etal/>
</person-group> (<year>2024</year>). <article-title>FedAGL: a communication-efficient federated vehicular network</article-title>. <source>IEEE Trans. Intelligent Veh.</source> <volume>9</volume>, <fpage>3704</fpage>&#x2013;<lpage>3720</lpage>. <pub-id pub-id-type="doi">10.1109/TIV.2024.3349655</pub-id>
</citation>
</ref>
<ref id="B26">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Lu</surname>
<given-names>K.-D.</given-names>
</name>
<name>
<surname>Wu</surname>
<given-names>Z.-G.</given-names>
</name>
</person-group> (<year>2022</year>). <article-title>Multi-objective false data injection attacks of cyber&#x2013;physical power systems</article-title>. <source>IEEE Trans. Circuits Syst. II Express Briefs</source> <volume>69</volume> (<issue>9</issue>), <fpage>3924</fpage>&#x2013;<lpage>3928</lpage>. <pub-id pub-id-type="doi">10.1109/TCSII.2022.3181827</pub-id>
</citation>
</ref>
<ref id="B27">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Martin</surname>
<given-names>M. L.-</given-names>
</name>
<name>
<surname>Carro</surname>
<given-names>B.</given-names>
</name>
<name>
<surname>Arribas</surname>
<given-names>J. I.</given-names>
</name>
<name>
<surname>Sanchez-Esguevillas</surname>
<given-names>A.</given-names>
</name>
</person-group> (<year>2021</year>). <article-title>Network intrusion detection with a novel hierarchy of distances between embeddings of hash IP addresses</article-title>. <source>Knowledge-Based Syst.</source> <volume>219</volume>, <fpage>106887</fpage>. <pub-id pub-id-type="doi">10.1016/j.knosys.2021.106887</pub-id>
</citation>
</ref>
<ref id="B28">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Mauro</surname>
<given-names>M. D.</given-names>
</name>
<name>
<surname>Galatro</surname>
<given-names>G.</given-names>
</name>
<name>
<surname>Fortino</surname>
<given-names>G.</given-names>
</name>
<name>
<surname>Liotta</surname>
<given-names>A.</given-names>
</name>
</person-group> (<year>2021</year>). <article-title>Supervised feature selection techniques in network intrusion detection: a critical review</article-title>. <source>Eng. Appl. Artif. Intell.</source> <volume>101</volume>, <fpage>104216</fpage>. <pub-id pub-id-type="doi">10.1016/j.engappai.2021.104216</pub-id>
</citation>
</ref>
<ref id="B29">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Moubayed</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Refaey</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Shami</surname>
<given-names>A.</given-names>
</name>
</person-group> (<year>2019</year>). <article-title>Software-defined perimeter (SDP): state of the art secure solution for modern networks</article-title>. <source>IEEE Netw.</source> <volume>33</volume> (<issue>5</issue>), <fpage>226</fpage>&#x2013;<lpage>233</lpage>. <pub-id pub-id-type="doi">10.1109/MNET.2019.1800324</pub-id>
</citation>
</ref>
<ref id="B30">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Rashid</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Kamruzzaman</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Imam</surname>
<given-names>T.</given-names>
</name>
<name>
<surname>Wibowo</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Gordon</surname>
<given-names>S.</given-names>
</name>
</person-group> (<year>2022</year>). <article-title>A tree-based stacking ensemble technique with feature selection for network intrusion detection</article-title>. <source>Appl. Intell.</source> <volume>52</volume>, <fpage>9768</fpage>&#x2013;<lpage>9781</lpage>. <pub-id pub-id-type="doi">10.1007/s10489-021-02968-1</pub-id>
</citation>
</ref>
<ref id="B31">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Ren</surname>
<given-names>R.</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Sun</surname>
<given-names>Q.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Gao</surname>
<given-names>D. W.</given-names>
</name>
<name>
<surname>Maharjan</surname>
<given-names>S.</given-names>
</name>
</person-group> (<year>2023</year>). <article-title>Switched surplus-based distributed security dispatch for smart grid with persistent packet loss</article-title>. <source>IEEE Internet Things J.</source> <volume>11</volume>, <fpage>6185</fpage>&#x2013;<lpage>6198</lpage>. <pub-id pub-id-type="doi">10.1109/JIOT.2023.3311758</pub-id>
</citation>
</ref>
<ref id="B32">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Saad</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Faddel</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Youssef</surname>
<given-names>T.</given-names>
</name>
<name>
<surname>Mohammed</surname>
<given-names>O. A.</given-names>
</name>
</person-group> (<year>2020</year>). <article-title>On the implementation of IoT-based digital twin for networked microgrids resiliency against cyber attacks</article-title>. <source>IEEE Trans. Smart Grid</source> <volume>11</volume> (<issue>6</issue>), <fpage>5138</fpage>&#x2013;<lpage>5150</lpage>. <pub-id pub-id-type="doi">10.1109/TSG.2020.3000958</pub-id>
</citation>
</ref>
<ref id="B33">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>SaiSindhuTheja</surname>
<given-names>R.</given-names>
</name>
<name>
<surname>Shyam</surname>
<given-names>G. K.</given-names>
</name>
</person-group> (<year>2021</year>). <article-title>An efficient metaheuristic algorithm based feature selection and recurrent neural network for DoS attack detection in cloud computing environment</article-title>. <source>Appl. Soft Comput.</source> <volume>100</volume>, <fpage>106997</fpage>. <pub-id pub-id-type="doi">10.1016/j.asoc.2020.106997</pub-id>
</citation>
</ref>
<ref id="B34">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Singh</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Bello</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Hussein</surname>
<given-names>A. R.</given-names>
</name>
<name>
<surname>Erbad</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Mohamed</surname>
<given-names>A.</given-names>
</name>
</person-group> (<year>2021</year>). <article-title>Hierarchical security paradigm for IoT multiaccess edge computing</article-title>. <source>IEEE Internet Things J.</source> <volume>8</volume> (<issue>7</issue>), <fpage>5794</fpage>&#x2013;<lpage>5805</lpage>. <pub-id pub-id-type="doi">10.1109/JIOT.2020.3033265</pub-id>
</citation>
</ref>
<ref id="B35">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Song</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>Gu</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>T.</given-names>
</name>
<name>
<surname>Sun</surname>
<given-names>Q.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Jensen</surname>
<given-names>C. S.</given-names>
</name>
<etal/>
</person-group> (<year>2023</year>). <article-title>ADGNN: towards scalable GNN training with aggregation-difference aware sampling</article-title>. <source>Proc. ACM Manag. Data</source> <volume>1</volume> (<issue>229</issue>), <fpage>1</fpage>&#x2013;<lpage>26</lpage>. <pub-id pub-id-type="doi">10.1145/3626716</pub-id>
</citation>
</ref>
<ref id="B36">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Tang</surname>
<given-names>D.</given-names>
</name>
<name>
<surname>Tang</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Dai</surname>
<given-names>R.</given-names>
</name>
<name>
<surname>Chen</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Rodrigues</surname>
<given-names>J. J.</given-names>
</name>
</person-group> (<year>2020</year>). <article-title>MF-Adaboost: LDoS attack detection based on multi-features and improved Adaboost</article-title>. <source>Future Gener. Comput. Syst.</source> <volume>106</volume>, <fpage>347</fpage>&#x2013;<lpage>359</lpage>. <pub-id pub-id-type="doi">10.1016/j.future.2019.12.034</pub-id>
</citation>
</ref>
<ref id="B37">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Tang</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Yang</surname>
<given-names>K.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>Z.</given-names>
</name>
</person-group> (<year>2022</year>). <article-title>Photovoltaic power forecasting: a hybrid deep learning model incorporating transfer learning strategy</article-title>. <source>Renew. Sustain. Energy Rev.</source> <volume>162</volume>, <fpage>112473</fpage>. <pub-id pub-id-type="doi">10.1016/j.rser.2022.112473</pub-id>
</citation>
</ref>
<ref id="B38">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Teng</surname>
<given-names>F.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Yang</surname>
<given-names>T.</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>T.</given-names>
</name>
<name>
<surname>Xiao</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>Y.</given-names>
</name>
</person-group> (<year>2023</year>). <article-title>Distributed optimal energy management for we-energy considering operation security</article-title>. <source>IEEE Trans. Netw. Sci. Eng.</source> <volume>11</volume>, <fpage>225</fpage>&#x2013;<lpage>235</lpage>. <pub-id pub-id-type="doi">10.1109/TNSE.2023.3295079</pub-id>
</citation>
</ref>
<ref id="B39">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Tian</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>Luo</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Qiu</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Du</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Guizani</surname>
<given-names>M.</given-names>
</name>
</person-group> (<year>2020</year>). <article-title>A distributed deep learning system for web attack detection on edge devices</article-title>. <source>IEEE Trans. Industrial Inf.</source> <volume>16</volume> (<issue>3</issue>), <fpage>1963</fpage>&#x2013;<lpage>1971</lpage>. <pub-id pub-id-type="doi">10.1109/TII.2019.2938778</pub-id>
</citation>
</ref>
<ref id="B40">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Velliangiri</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Amma</surname>
<given-names>N. G. B.</given-names>
</name>
<name>
<surname>Baik</surname>
<given-names>N.-K.</given-names>
</name>
</person-group> (<year>2023</year>). <article-title>Detection of DoS attacks in smart city networks with feature distance maps: a statistical approach</article-title>. <source>IEEE Internet Things J.</source> <volume>10</volume> (<issue>21</issue>), <fpage>18853</fpage>&#x2013;<lpage>18860</lpage>. <pub-id pub-id-type="doi">10.1109/JIOT.2023.3264670</pub-id>
</citation>
</ref>
<ref id="B41">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Wang</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Meng</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Liu</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Fu</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Cao</surname>
<given-names>G.</given-names>
</name>
</person-group> (<year>2019</year>). <article-title>Unscented Kalman Filter based interval state estimation of cyber physical energy system for detection of dynamic attack</article-title>. <source>Energy</source> <volume>188</volume>, <fpage>116036</fpage>. <pub-id pub-id-type="doi">10.1016/j.energy.2019.116036</pub-id>
</citation>
</ref>
<ref id="B42">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Zadsar</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Abazari</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Ameli</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Yan</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Ghafouri</surname>
<given-names>M.</given-names>
</name>
</person-group> (<year>2023</year>). <article-title>Prevention and detection of coordinated false data injection attacks on integrated power and gas systems</article-title>. <source>IEEE Trans. Power Syst.</source> <volume>38</volume> (<issue>5</issue>), <fpage>4252</fpage>&#x2013;<lpage>4268</lpage>. <pub-id pub-id-type="doi">10.1109/TPWRS.2022.3216118</pub-id>
</citation>
</ref>
<ref id="B43">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Zhang</surname>
<given-names>N.</given-names>
</name>
<name>
<surname>Sun</surname>
<given-names>Q.</given-names>
</name>
<name>
<surname>Yang</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>Y.</given-names>
</name>
</person-group> (<year>2022a</year>). <article-title>Event-triggered distributed hybrid control scheme for the integrated energy system</article-title>. <source>IEEE Trans. Industrial Inf.</source> <volume>18</volume> (<issue>2</issue>), <fpage>835</fpage>&#x2013;<lpage>846</lpage>. <pub-id pub-id-type="doi">10.1109/TII.2021.3075718</pub-id>
</citation>
</ref>
<ref id="B44">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Zhang</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>T.</given-names>
</name>
<name>
<surname>Gui</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Sun</surname>
<given-names>Q.</given-names>
</name>
<name>
<surname>Gao</surname>
<given-names>D. W.</given-names>
</name>
</person-group> (<year>2023</year>). <article-title>Digital twin empowered PV power prediction</article-title>. <source>J. Mod. Power Syst. Clean Energy</source>. <pub-id pub-id-type="doi">10.35833/MPCE.2023.000351</pub-id>
</citation>
</ref>
<ref id="B45">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Zhang</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>Ning</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Shi</surname>
<given-names>F.</given-names>
</name>
<name>
<surname>Farha</surname>
<given-names>F.</given-names>
</name>
<name>
<surname>Xu</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Xu</surname>
<given-names>J.</given-names>
</name>
<etal/>
</person-group> (<year>2022b</year>). <article-title>Artificial intelligence in cyber security: research advances, challenges, and opportunities</article-title>. <source>Artif. Intell. Rev.</source> <volume>55</volume>, <fpage>1029</fpage>&#x2013;<lpage>1053</lpage>. <pub-id pub-id-type="doi">10.1007/s10462-021-09976-0</pub-id>
</citation>
</ref>
<ref id="B46">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Zhao</surname>
<given-names>P.</given-names>
</name>
<name>
<surname>Cao</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>Zeng</surname>
<given-names>D. D.</given-names>
</name>
<name>
<surname>Gu</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>Xiang</surname>
<given-names>Y.</given-names>
</name>
<etal/>
</person-group> (<year>2022</year>). <article-title>Cyber-resilient multi-energy management for complex systems</article-title>. <source>IEEE Trans. Industrial Inf.</source> <volume>18</volume> (<issue>3</issue>), <fpage>2144</fpage>&#x2013;<lpage>2159</lpage>. <pub-id pub-id-type="doi">10.1109/TII.2021.3097760</pub-id>
</citation>
</ref>
</ref-list>
</back>
</article>