<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Publishing DTD v1.1 20151215//EN" "http://jats.nlm.nih.gov/publishing/1.1/JATS-journalpublishing1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" article-type="research-article" dtd-version="1.1">
<front>
<journal-meta>
<journal-id journal-id-type="pmc">CMC</journal-id>
<journal-id journal-id-type="nlm-ta">CMC</journal-id>
<journal-id journal-id-type="publisher-id">CMC</journal-id>
<journal-title-group>
<journal-title>Computers, Materials &#x0026; Continua</journal-title>
</journal-title-group>
<issn pub-type="epub">1546-2226</issn>
<issn pub-type="ppub">1546-2218</issn>
<publisher>
<publisher-name>Tech Science Press</publisher-name>
<publisher-loc>USA</publisher-loc>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="publisher-id">22540</article-id>
<article-id pub-id-type="doi">10.32604/cmc.2022.022540</article-id>
<article-categories>
<subj-group subj-group-type="heading">
<subject>Article</subject>
</subj-group>
</article-categories>
<title-group>
<article-title>ICMPTend: Internet Control Message Protocol Covert Tunnel Attack Intent Detector</article-title>
<alt-title alt-title-type="left-running-head">ICMPTend: Internet Control Message Protocol Covert Tunnel Attack Intent Detector</alt-title>
<alt-title alt-title-type="right-running-head">ICMPTend: Internet Control Message Protocol Covert Tunnel Attack Intent Detector</alt-title>
</title-group>
<contrib-group content-type="authors">
<contrib id="author-1" contrib-type="author">
<name name-style="western"><surname>Tu</surname><given-names>Tengfei</given-names></name>
<xref ref-type="aff" rid="aff-1">1</xref>
<xref ref-type="aff" rid="aff-2">2</xref>
</contrib>
<contrib id="author-2" contrib-type="author">
<name name-style="western"><surname>Yin</surname><given-names>Wei</given-names></name>
<xref ref-type="aff" rid="aff-3">3</xref>
</contrib>
<contrib id="author-3" contrib-type="author" corresp="yes">
<name name-style="western"><surname>Zhang</surname><given-names>Hua</given-names></name>
<xref ref-type="aff" rid="aff-1">1</xref>
<xref ref-type="aff" rid="aff-2">2</xref><email>zhanghua_288@bupt.edu.cn</email>
</contrib>
<contrib id="author-4" contrib-type="author">
<name name-style="western"><surname>Zeng</surname><given-names>Xingyu</given-names></name>
<xref ref-type="aff" rid="aff-1">1</xref>
</contrib>
<contrib id="author-5" contrib-type="author">
<name name-style="western"><surname>Deng</surname><given-names>Xiaoxiang</given-names></name>
<xref ref-type="aff" rid="aff-1">1</xref>
</contrib>
<contrib id="author-6" contrib-type="author">
<name name-style="western"><surname>Zhou</surname><given-names>Yuchen</given-names></name>
<xref ref-type="aff" rid="aff-1">1</xref>
</contrib>
<contrib id="author-7" contrib-type="author">
<name name-style="western"><surname>Liu</surname><given-names>Xu</given-names></name>
<xref ref-type="aff" rid="aff-4">4</xref>
</contrib>
<aff id="aff-1"><label>1</label><institution>State Key Laboratory of Networking and Switching Technology, Beijing University of Posts and Telecommunications</institution>, <addr-line>Beijing, 100876</addr-line>, <country>China</country></aff>
<aff id="aff-2"><label>2</label><institution>State Key Laboratory of Cryptology</institution>, <addr-line>Beijing, 100878</addr-line>, <country>China</country></aff>
<aff id="aff-3"><label>3</label><institution>National Computer Network Emergency Response Technical Team/Coordination Center of China</institution>, <addr-line>100029</addr-line>, <country>China</country></aff>
<aff id="aff-4"><label>4</label><institution>Pennsylvania State University, State College</institution>, <addr-line>16801</addr-line>, <country>USA</country></aff>
</contrib-group>
<author-notes>
<corresp id="cor1"><label>&#x002A;</label>Corresponding Author: Hua Zhang. Email: <email>zhanghua_288@bupt.edu.cn</email></corresp>
</author-notes>
<pub-date pub-type="epub" date-type="pub" iso-8601-date="2021-11-29"><day>29</day>
<month>11</month>
<year>2021</year></pub-date>
<volume>71</volume>
<issue>2</issue>
<fpage>2315</fpage>
<lpage>2331</lpage>
<history>
<date date-type="received"><day>10</day><month>8</month><year>2021</year></date>
<date date-type="accepted"><day>16</day><month>9</month><year>2021</year></date>
</history>
<permissions>
<copyright-statement>&#x00A9; 2022 Tu et al.</copyright-statement>
<copyright-year>2022</copyright-year>
<copyright-holder>Tu et al.</copyright-holder>
<license xlink:href="https://creativecommons.org/licenses/by/4.0/">
<license-p>This work is licensed under a <ext-link ext-link-type="uri" xlink:type="simple" xlink:href="https://creativecommons.org/licenses/by/4.0/">Creative Commons Attribution 4.0 International License</ext-link>, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.</license-p>
</license>
</permissions>
<self-uri content-type="pdf" xlink:href="TSP_CMC_22540.pdf"></self-uri>
<abstract>
<p>The Internet Control Message Protocol (ICMP) covert tunnel refers to a network attack that encapsulates malicious data in the data part of the ICMP protocol for transmission. Its concealment is stronger and it is not easy to be discovered. Most detection methods are detecting the existence of channels instead of clarifying specific attack intentions. In this paper, we propose an ICMP covert tunnel attack intent detection framework ICMPTend, which includes five steps: data collection, feature dictionary construction, data preprocessing, model construction, and attack intent prediction. ICMPTend can detect a variety of attack intentions, such as shell attacks, sensitive directory access, communication protocol traffic theft, filling tunnel reserved words, and other common network attacks. We extract features from five types of attack intent found in ICMP channels. We build a multi-dimensional dictionary of malicious features, including shell attacks, sensitive directory access, communication protocol traffic theft, filling tunnel reserved words, and other common network attack keywords. For the high-dimensional and independent characteristics of ICMP traffic, we use a support vector machine (SVM) as a multi-class classifier. The experimental results show that the average accuracy of ICMPTend is 92&#x0025;, training ICMPTend only takes 55 s, and the prediction time is only 2 s, which can effectively identify the attack intention of ICMP.</p>
</abstract>
<kwd-group kwd-group-type="author">
<kwd>Internet control message protocol</kwd>
<kwd>support vector machine</kwd>
<kwd>covert tunnel</kwd>
<kwd>network analysis</kwd>
</kwd-group>
</article-meta>
</front>
<body>
<sec id="s1"><label>1</label><title>Introduction</title>
<p>Internet Control Message Protocol (ICMP) covert tunnel is used to transmitting special information to processes or users prevented from accessing the information. It is more hidden and more difficult to detect than malware traffic. The purpose of using covert channels is to send data in the network while ensuring that the sending is unnoticed by a third party and without alerting any firewalls or Intrusion Detection Systems (IDS) on the network. Studies have shown that a large website may have 26 gigabyte (GB) of information illegally stolen by covert tunnels in a year, assuming that an ICMP packet only carries 1 bit of data [<xref ref-type="bibr" rid="ref-1">1</xref>&#x2013;<xref ref-type="bibr" rid="ref-3">3</xref>].</p>
<p>Several researchers have oriented their research axes to detect covert channel attacks using multiple methods and techniques. Currently, covert tunnel detection is mainly studied in terms of both traffic behavior and signature.</p>
<p>The detection method based on traffic behavior uses behavior characteristics such as the maximum, minimum, average time interval, message size, and the ratio of the number of request and response messages within a specified time window as the detection basis. This method takes all traffic within a specified time window as a detection object, and can only determine whether a covert tunnel has been established at both ends of the communication within a certain time window, and cannot locate specific malicious traffic [<xref ref-type="bibr" rid="ref-4">4</xref>&#x2013;<xref ref-type="bibr" rid="ref-8">8</xref>]. On the other hand, the data features containing specific attack commands are not extracted to clarify the specific attack intent of the covert tunnel. All these have brought inconvenience to security personnel in taking targeted defensive measures [<xref ref-type="bibr" rid="ref-9">9</xref>&#x2013;<xref ref-type="bibr" rid="ref-12">12</xref>]. In order to determine the attacking intent of the covert tunnel more accurately, it is necessary to analyze the detection of the ICMP covert channel from the perspective of data.</p>
<p>Signature-based detection [<xref ref-type="bibr" rid="ref-12">12</xref>,<xref ref-type="bibr" rid="ref-13">13</xref>] detects attacks by detecting signatures in the data part of the ICMP traffic. It does not detect unknown attacks, and its generalization ability is weak. For example, the ICMP covert tunnel tool icmptunnel [<xref ref-type="bibr" rid="ref-14">14</xref>] generates covert tunnel traffic containing the keyword &#x201C;TUNL&#x201D; by default, so the way to detect such covert tunnels is to identify the signature of &#x201C;TUNL&#x201D;, but when the attacker deliberately modifies the keyword or does not use the keyword, the detection is invalid. Because signature-based detection relies on expert knowledge to extract keywords and perform strict matching.</p>
<p>Through the analysis of a large number of ICMP covert tunnel traffic, we found that ICMP covert tunnel traffic has obvious and specific attack intentions in the data part, such as shell attacks, access to sensitive directories and other illegal behaviors. Corresponding shell commands, sensitive directories, communication protocol keywords, tunnel reserved words, and common network attack keywords often appear in the data part of the malicious traffic of ICMP covert tunnel. For example, the Hypertext Transfer Protocol (HTTP) keyword &#x201C;www&#x201D;, the sensitive directory &#x201C;User&#x201D; in the Windows operating system, the reserved word &#x201C;TUNL&#x201D; in the tunnel tool ptunnel, the shell command &#x201C;docker pull nginx; /bin/sh shell.sh&#x201D;. With these types of keywords as features, the attack intention of the covert tunnel can be effectively detected, and targeted defensive measures can be taken.</p>
<p>A large number of studies have proved that machine learning methods have good generalization in traffic detection. Among them, SVM [<xref ref-type="bibr" rid="ref-15">15</xref>] is a classification model that shows many unique features in solving small and medium-sized data samples, non-linear and high-dimensional pattern recognition. It solves the problem of linearly indistinguishable data sets by mapping linearly indistinguishable data to a high-dimensional feature space through a kernel function. It divides the data set by a hyperplane related to only a small number of support vectors, so it requires only a small amount of data to build a model and is insensitive to noisy data. The flow of ICMP covert tunnels happens to be high-dimensional, linearly indistinguishable, and there are a lot of noise data, so we believe that the SVM model is an effective solution for ICMP covert tunnel detection.</p>
<p>In this paper, we propose ICMPTend, an ICMP covert tunnel attack detector, by extracting the corresponding keyword features for common ICMP covert tunnel attack intent and using SVM as a classifier algorithm.</p>
<p>In summary, we make the following contributions in this paper:
<list list-type="bullet">
<list-item><p>We propose a systematic ICMP covert tunnel attack intent detection framework ICMPTend, which consists of five steps: data collection, feature lexicon construction, data preprocessing, model construction, and attack intent prediction. It can detect a variety of attack intentions, such as shell attacks, sensitive directory access, communication protocol traffic stealing, filling tunnel reserved words, and other common network attacks.</p></list-item>
<list-item><p>We build a multi-dimensional malicious feature lexicon containing keywords for shell attacks, sensitive directory access, communication protocol traffic theft, filling tunnel reserved words, and other common network attacks.</p></list-item>
<list-item><p>The experimental results show that the average accuracy of ICMPTend reaches 92&#x0025;, the training time is only 55 s, and the prediction time is only 2 s, which can effectively identify the attacking intention of ICMP.</p></list-item>
</list></p>
</sec>
<sec id="s2"><label>2</label><title>Preliminaries</title>
<p>With the rapid development and progress of network technology, our daily work is increasingly dependent on the network. While network technology brings us convenience, it also brings hidden security threats. Many researchers have begun to study the application of artificial intelligence technology in network attack detection [<xref ref-type="bibr" rid="ref-16">16</xref>] and intrusion detection system construction [<xref ref-type="bibr" rid="ref-17">17</xref>]. As a typical network attack method, the ICMP covert channel has attracted the attention of network attackers and security researchers. At present, common network attack detection methods are based on behavior statistics and signature-based methods.</p>
<p>In the detection method based on statistical behavior, [<xref ref-type="bibr" rid="ref-18">18</xref>] counted 12 behavioral characteristics of covert tunnels by analyzing data characteristic information such as packet size, tunnel traffic type, and fixed format of data, and established an SVM machine learning model to detect covert tunnels. In [<xref ref-type="bibr" rid="ref-19">19</xref>], authors established an information entropy-based detection model by calculating the confusion level of the data portion of ICMP. Reference [<xref ref-type="bibr" rid="ref-20">20</xref>] synthesized the criteria and behavior of ICMP to build an efficient tunnel detection system for ICMP. However, there are two problems with the above studies: first, hackers can bypass this detection method by imitating the communication behavior of normal ICMP traffic; second, only the signature left by the tunnel tool is used for the data part of ICMP containing malicious data without extracting the data features containing specific attack commands, which cannot clearly conceal the specific attack intent of the tunnel. All these bring inconvenience to security personnel to take targeted defense measures. In order to determine the attacking intent of the covert tunnel more accurately, the detection of ICMP covert tunnels needs to be analyzed from the perspective of data.</p>
<p>In signature-based detection methods, the main focus is to match the data part with a specific signature. Some covert tunnel tools generate traffic with distinct signatures, e.g., icmptunnel generates tunnel traffic with the signature string &#x201C;TUNL&#x201D;. Some ICMP covert channels will also be used to transmit the content of other protocols, such as HTTP and Domain Network System (DNS). Keywords &#x201C;TUNL&#x201D;, &#x201C;http://&#x201D; and &#x201C;DNS&#x201D; can be used as typical signature features. There are two problems with detection based on data signatures: first, it needs to accumulate signatures continuously, unable detect unknown attacks, and its generalization ability is weak; second, the detection unit of this method is a single traffic flow, and it cannot detect context-sensitive covert tunnel which splits payload into multiple traffic for delivery.</p>
<p>Symbols used in this paper and their meanings are shown in the following <?A3B2 "tbl1",5,"anchor"?><xref ref-type="table" rid="table-1">Tab. 1</xref>.</p>
<table-wrap id="table-1"><label>Table 1</label><caption><title>Symbols table</title></caption>
<table frame="hsides">
<colgroup>
<col align="left"/>
<col align="left" charoff="28"/>
</colgroup>
<thead>
<tr>
<th align="left">Symbols</th>
<th align="left">Meaning</th>
</tr>
</thead>
<tbody>
<tr>
<td align="left">FD<italic><sub>i</sub></italic></td>
<td align="left">The feature word numbered <italic>i</italic> in the feature word bank</td>
</tr>
<tr>
<td align="left">&#x007C;&#x02217;&#x007C;</td>
<td align="left">Number of &#x02217; elements</td>
</tr>
<tr>
<td align="left">&#x00A0;<inline-formula id="ieqn-11"><mml:math id="mml-ieqn-11"><mml:mi>v</mml:mi></mml:math></inline-formula></td>
<td align="left">Feature vectors <italic>v</italic> constructed from ICMP traffic</td>
</tr>
<tr>
<td align="left">&#x00A0;<inline-formula id="ieqn-12"><mml:math id="mml-ieqn-12"><mml:mrow><mml:msub><mml:mi>T</mml:mi><mml:mi>j</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></td>
<td align="left">The <inline-formula id="ieqn-13"><mml:math id="mml-ieqn-13"><mml:mi>j</mml:mi></mml:math></inline-formula>th ICMP traffic</td>
</tr>
<tr>
<td align="left">&#x00A0;<inline-formula id="ieqn-14"><mml:math id="mml-ieqn-14"><mml:mrow><mml:msub><mml:mi>f</mml:mi><mml:mrow><mml:mi>j</mml:mi><mml:mo>,</mml:mo><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula></td>
<td align="left">Term Frequency-Inverse Document Frequency (TF-IDF) value of the corresponding feature <inline-formula id="ieqn-15"><mml:math id="mml-ieqn-15"><mml:mrow><mml:msub><mml:mi>v</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> of the <italic>j</italic>th ICMP traffic</td>
</tr>
<tr>
<td align="left">&#x00A0;<inline-formula id="ieqn-16"><mml:math id="mml-ieqn-16"><mml:mi>m</mml:mi></mml:math></inline-formula></td>
<td align="left">Dimension of the feature vector</td>
</tr>
<tr>
<td align="left">&#x00A0;<inline-formula id="ieqn-17"><mml:math id="mml-ieqn-17"><mml:mrow><mml:msub><mml:mi>d</mml:mi><mml:mi>j</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></td>
<td align="left">The data portion of the <inline-formula id="ieqn-18"><mml:math id="mml-ieqn-18"><mml:mi>j</mml:mi></mml:math></inline-formula>th ICMP traffic</td>
</tr>
<tr>
<td align="left">&#x00A0;<inline-formula id="ieqn-19"><mml:math id="mml-ieqn-19"><mml:mrow><mml:msub><mml:mi>y</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></td>
<td align="left">ICMP traffic labels, <italic>i</italic> from 0 to 5 indicate NORMAL labels, SHELL_ATTACKS labels, ACCESS_SENSITIVE_DIRS labels, STEAL_PROTOCOLS labels, FILL_RESERVED_WORDS labels, and COMMON_CYBER_ATTACKS labels, respectively</td>
</tr>
</tbody>
</table>
</table-wrap>
</sec>
<sec id="s3"><label>3</label><title>Detection Framework</title>
<p>The detection framework of ICMPTend is shown in <?A3B2 "fig1",5,"anchor"?><xref ref-type="fig" rid="fig-1">Fig. 1</xref>, which is divided into two phases: training and prediction. The training phase includes four steps: data acquisition, feature database construction, data preprocessing and model construction. The data in the prediction phase is predicted using the trained model after data preprocessing.</p>
<fig id="fig-1"><label>Figure 1</label><caption><title>Framework of ICMPTend</title></caption><graphic mimetype="image" mime-subtype="png" xlink:href="CMC_22540-fig-1.png"/></fig>
<sec id="s3_1"><label>3.1</label><title>Training Phase</title>
<p><bold>Step I</bold> Data Acquisition: An extensive collection of five types of malicious samples including shell attacks, accessing sensitive directories, stealing communication protocol traffic, filling tunnel reserved words, and common network attacks, and using 0&#x2013;5 tags to indicate classification methods, such as obtaining them from websites such as GitHub to build concealment tunnel sandbox, etc.</p>
<p><bold>Step II</bold> Feature Database Construction: Collect feature words from the perspectives of shell commands, sensitive directories, communication protocol keywords, tunnel reserved words, and common network attack keywords, and build a characteristic database.</p>
<p><bold>Step III</bold> Data Preprocessing: After three steps of hexadecimal decoding, common encryption method decoding, and text feature representation, the original ICMP hexadecimal is converted into a tensor that the model can learn.</p>
<p><bold>Step IV</bold> Model Construction: Construction of ICMPTend covert tunnel detection model base on SVM classifier.</p>
</sec>
<sec id="s3_2"><label>3.2</label><title>Prediction Phase</title>
<p><bold>Step V</bold> Convert the data part of the ICMP traffic to be detected into a tensor that can represent features as model inputs. After the <bold>Step VI</bold> detection phase, the output of the model is a label, which can indicate the specific attack intention of the hidden tunnel or confirm that there is no covert tunnel.</p>
</sec>
</sec>
<sec id="s4"><label>4</label><title>Implementation</title>
<sec id="s4_1"><label>4.1</label><title>Data Acquisition</title>
<p>Extracting features from the perspective of specific attack intentions of ICMP covert tunnels to identify hidden tunnels is essentially a multi-classification task of ICMP hidden tunnels based on attack intentions. In this paper, we mainly consider a large number of attack intents in covert tunnels, such as shell attacks, access to sensitive directories, stealing communication protocol traffic, filling tunnel reserved words, and common network attacks. There are five types of specific attack intentions. The benign samples come from normal ICMP traffic in the campus network of Beijing University of Posts and Telecommunications (BUPT), with a total of 1,000; the malicious samples come from the following sources:
<list list-type="simple">
<list-item><label>(1)</label><p>Sample ICMP tunnel traffic collected from sites such as GitHub, counting 442 entries.</p></list-item>
<list-item><label>(2)</label><p>Rules and other ICMP covert tunnel detection models judged as malicious, and manually sampled and labeled malicious traffic in the campus network, totaling 659 items.</p></list-item>
<list-item><label>(3)</label><p>The malicious traffic was constructed and communicated using ICMP covert tunnel tools such as icmptunnel, ptunnel, and icmpsh, and then crawled using Wireshark, counting 3,361 entries.</p></list-item>
</list></p>
<p>A total of 4,462 malicious samples with malicious attack intent were obtained, and the number of samples with specific attack intent of 5 types is shown in <?A3B2 "tbl2",5,"anchor"?><xref ref-type="table" rid="table-2">Tab. 2</xref>. The samples are divided into the training set and testing set in the ratio of 7:3 for experiment.</p>
<table-wrap id="table-2"><label>Table 2</label><caption><title>Five types of specific attack intent and sample data distribution</title></caption>
<table frame="hsides">
<colgroup>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
</colgroup>
<thead>
<tr>
<th align="left">Label (<inline-formula id="ieqn-20"><mml:math id="mml-ieqn-20"><mml:mrow><mml:msub><mml:mi>y</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>)</th>
<th align="left">Training set</th>
<th align="left">Testing set</th>
<th align="left">Total</th>
</tr>
</thead>
<tbody>
<tr>
<td align="left"><inline-formula id="ieqn-21"><mml:math id="mml-ieqn-21"><mml:mrow><mml:msub><mml:mi>y</mml:mi><mml:mn>0</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>: NORMAL</td>
<td align="left">700</td>
<td align="left">300</td>
<td align="left">1000</td>
</tr>
<tr>
<td align="left"><inline-formula id="ieqn-22"><mml:math id="mml-ieqn-22"><mml:mrow><mml:msub><mml:mi>y</mml:mi><mml:mn>1</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>: SHELL_ATTACKS</td>
<td align="left">660</td>
<td align="left">282</td>
<td align="left">942</td>
</tr>
<tr>
<td align="left"><inline-formula id="ieqn-23"><mml:math id="mml-ieqn-23"><mml:mrow><mml:msub><mml:mi>y</mml:mi><mml:mn>2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>: ACCESS_SENSITIVE_DIRS</td>
<td align="left">520</td>
<td align="left">222</td>
<td align="left">742</td>
</tr>
<tr>
<td align="left"><inline-formula id="ieqn-24"><mml:math id="mml-ieqn-24"><mml:mrow><mml:msub><mml:mi>y</mml:mi><mml:mn>3</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>: STEAL_PROTOCOLS</td>
<td align="left">686</td>
<td align="left">294</td>
<td align="left">980</td>
</tr>
<tr>
<td align="left"><inline-formula id="ieqn-25"><mml:math id="mml-ieqn-25"><mml:mrow><mml:msub><mml:mi>y</mml:mi><mml:mn>4</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>: FILL_RESERVED_WORDS</td>
<td align="left">474</td>
<td align="left">203</td>
<td align="left">667</td>
</tr>
<tr>
<td align="left"><inline-formula id="ieqn-26"><mml:math id="mml-ieqn-26"><mml:mrow><mml:msub><mml:mi>y</mml:mi><mml:mn>5</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>: COMMON_CYBER_ATTACKS</td>
<td align="left">784</td>
<td align="left">336</td>
<td align="left">1120</td>
</tr>
<tr>
<td align="left">Total</td>
<td align="left">3824</td>
<td align="left">1638</td>
<td align="left">5462</td>
</tr>
</tbody>
</table>
</table-wrap>
</sec>
<sec id="s4_2"><label>4.2</label><title>Feature Database Construction</title>
<p>Feature words are mainly composed of letters, numbers and special symbols, and different feature databases have different construction methods. Some commercial software constructs feature databases by directly querying the feature signature of malware [<xref ref-type="bibr" rid="ref-6">6</xref>]. In [<xref ref-type="bibr" rid="ref-18">18</xref>], the feature databases were constructed by directly cutting words. In our paper, we found that ICMP covert tunnel traffic has obvious and specific attack intentions in the data part, such as SHELL_ATTACKS, ACCESS_SENSITIVE_DIRS, etc. In order to extract keywords that can represent these attack intents, corresponding to the above attack intents, feature keywords from the perspective of shell commands, sensitive directories and their operations, communication protocols and related information, tunnel reserved words and common network attacks. The database is constructed as follows:
<list list-type="simple">
<list-item><label>(1)</label><p>SHELL_ATTACKS keywords: Shell attacks are essentially composed of various shell commands, and shell commands are divided into built-in commands and external commands. Therefore, this paper combines the malicious samples in the training set to collects 78 keywords of built-in shell commands and 33 common keywords. There are 111 external commands, such as the built-in command keyword &#x201C;kill&#x201D; for forcibly terminating the startup process and the external command keyword &#x201C;sh&#x201D; for starting a shell script, which constitute the keyword set for shell attacks.</p></list-item>
<list-item><label>(2)</label><p>ACCESS_SENSITIVE_DIRS keywords: When hackers enter sensitive directories, they may add, delete, change, check, copy, upload and download files in sensitive directories. Therefore, this article combines the malicious samples in the training set to collect 241 common sensitive directories, sensitive file names, and keywords for sensitive file operations in Linux and Windows operating systems, such as sensitive directories &#x201C;etc&#x201D; and &#x201C;bin&#x201D; in Linux. And the keyword &#x201C;read(&#x2009;)&#x201D; for Python functions used to read and write the contents of a file. For example, the sensitive directories &#x201C;etc&#x201D; and &#x201C;bin&#x201D; in Linux, and the keywords &#x201C;read(&#x2009;)&#x201D; and &#x201C;write&#x201D; of the Python function used to read and write the contents of files are used to construct the keyword set for sensitive directory access.</p></list-item>
<list-item><label>(3)</label><p>STEAL_PROTOCOLS keywords: After some ICMP covert tunnels are established, traffic from the controlled side using any communication protocol will be sent to the control side through the covert tunnel. In this paper, we combine the malicious samples in the training set to collect the names of common communication protocols and a total of 86 keywords related to each communication protocol, such as &#x201C;http://&#x201D; involving HTTP protocol, &#x201C;www.&#x201D;, &#x201C;.com&#x201D; and &#x201C;.cn&#x201D; etc. are used to construct a keyword set for the theft of communication protocol traffic.</p></list-item>
<list-item><label>(4)</label><p>FILL_RESERVED_WORDS keywords: Some ICMP covert tunnel tools [<xref ref-type="bibr" rid="ref-19">19</xref>,<xref ref-type="bibr" rid="ref-20">20</xref>] and some hackers deliberately fill in some reserved words in ICMP covert tunnel traffic as their identities. In this paper, we collect 76 reserved words, such as &#x201C;TUNL&#x201D;, &#x201C;tun0&#x201D; and &#x201C;signature&#x201D; from the malicious samples in the training set, and build the tunnel reserved word keyword word set.</p></list-item>
<list-item><label>(5)</label><p>COMMON_CYBER_ATTACKS keywords: After the ICMP covert tunnels are established, some attackers send common network scripts such as SQL injection, command execution, cross-site scripting attacks to the controlled end through the covert tunnel, and the controlled end launches corresponding attacks on the target server, thus evading the security personnel&#x0027;s tracking by means of this intermediate bridge. In this paper, we collect a total of 150 common network attack keywords with malicious samples in the training set, such as &#x201C;select&#x201D;, &#x201C;union&#x201D; and &#x201C;from&#x201D; frequently used in SQL injection, and &#x201C;&#x0003C;script&#x003E;&#x201D;, &#x201C;alert&#x201D; and &#x201C;&#x003C;img&#x003E;&#x201D;, frequently used in cross-site scripting attacks.</p></list-item>
</list></p>
<p>The final set of these five types of keywords are combined into a feature database (FD) containing 637 unique feature words. The composition and description of the feature database are shown in <?A3B2 "tbl3",5,"anchor"?><xref ref-type="table" rid="table-3">Tab. 3</xref>.</p>
<table-wrap id="table-3"><label>Table 3</label><caption><title>Composition and instances of feature database</title></caption>
<table frame="hsides">
<colgroup>
<col align="left"/>
<col align="left"/>
<col align="left"/>
</colgroup>
<thead>
<tr>
<th align="left">Keyword</th>
<th align="left">FDi</th>
<th align="left">Feature word instances</th>
</tr>
</thead>
<tbody>
<tr>
<td align="left">SHELL_ATTACKS</td>
<td align="left">111</td>
<td align="left">rm, cd, mkdir, wget, cat, echo, kill, sh</td>
</tr>
<tr>
<td align="left">ACCESS_SENSITIVE_DIRS</td>
<td align="left">241</td>
<td align="left">etc., admin, bin, read, write, db, C:<inline-formula id="ieqn-1000"><mml:math id="mml-ieqn-1000"><mml:mi mathvariant="normal">&#x2216;</mml:mi></mml:math></inline-formula>Program Files</td>
</tr>
<tr>
<td align="left">STEAL_PROTOCOLS</td>
<td align="left">86</td>
<td align="left">http, www, .com, .cn, .gov, https, ssh, scp, irp, if</td>
</tr>
<tr>
<td align="left">FILL_RESERVED_WORDS</td>
<td align="left">76</td>
<td align="left">TUNL, tun0, signature, tunnel, DataBuffer</td>
</tr>
<tr>
<td align="left">COMMON_CYBER_ATTACKS</td>
<td align="left">150</td>
<td align="left">select, from, union, insert, alert, &#x0003C;script&#x003E;, &#x0003C;img&#x003E;<break/>,<break/></td>
</tr>
<tr>
<td align="left">TOTAL (unique words)</td>
<td align="left">637</td>
<td align="center"/>
</tr>
</tbody>
</table>
</table-wrap>
</sec>
<sec id="s4_3"><label>4.3</label><title>Data Preprocessing</title>
<p>Data preprocessing is the process of converting the hexadecimal data of ICMP data part into tensors that can be recognized by the machine learning model after hexadecimal decoding, string decoding, and text feature representation. The specific process is as follows:
<list list-type="simple">
<list-item><p>Step 1: Hexadecimal Decode</p></list-item>
</list></p>
<p>The data field of the original ICMP traffic stores data in the form of a hexadecimal stream. In order to extract the text features of the transmitted content, the hexadecimal data needs to be decoded. The decoding function is shown in <xref ref-type="disp-formula" rid="eqn-1">Eq. (1)</xref>.
<disp-formula id="eqn-1"><label>(1)</label><mml:math id="mml-eqn-1" display="block"><mml:mrow><mml:mrow><mml:mi mathvariant="normal">d</mml:mi><mml:mi mathvariant="normal">e</mml:mi><mml:mi mathvariant="normal">c</mml:mi><mml:mi mathvariant="normal">o</mml:mi><mml:mi mathvariant="normal">d</mml:mi><mml:mi mathvariant="normal">e</mml:mi></mml:mrow></mml:mrow><mml:mspace width="thickmathspace" /><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="normal">H</mml:mi><mml:mi mathvariant="normal">E</mml:mi><mml:mi mathvariant="normal">X</mml:mi></mml:mrow></mml:mrow></mml:mrow><mml:mo stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:mrow><mml:mrow><mml:mi mathvariant="normal">e</mml:mi><mml:mi mathvariant="normal">n</mml:mi><mml:mi mathvariant="normal">c</mml:mi><mml:mi mathvariant="normal">o</mml:mi><mml:mi mathvariant="normal">d</mml:mi><mml:mi mathvariant="normal">e</mml:mi><mml:mi mathvariant="normal">d</mml:mi></mml:mrow></mml:mrow><mml:mspace width="thinmathspace" /><mml:mrow><mml:mrow><mml:mi mathvariant="normal">S</mml:mi><mml:mi mathvariant="normal">t</mml:mi><mml:mi mathvariant="normal">r</mml:mi><mml:mi mathvariant="normal">i</mml:mi><mml:mi mathvariant="normal">n</mml:mi><mml:mi mathvariant="normal">g</mml:mi></mml:mrow></mml:mrow></mml:math></disp-formula>
</p>
<p>As shown in <?A3B2 "fig2",5,"anchor"?><xref ref-type="fig" rid="fig-2">Fig. 2</xref>, the ICMP covert tunnel is to transmit a shell attack statement-&#x201C;docker pull nginx; L2Jpbi9zaCBzaGVsbC5zaA&#x003D;&#x003D;&#x201D;, but the actual after hexadecimal encoding, what is passed is &#x201C;646f636b6572 &#x2026;&#x2026;&#x201D;, where &#x201C;docker&#x201D; is encoded as &#x201C;646f636b6572&#x201D;, &#x201C;pull&#x201D; is encoded as &#x201C;707566c6c&#x201D;, and &#x201C;nginx&#x201D; is encoded as &#x201C;6e67696e78&#x201D;. Both the training model and the prediction stage need to encode the ICMP data.
<list list-type="simple">
<list-item><p>Step 2: String Decode</p></list-item>
</list></p>
<p>With the continuous development of various encryption technologies, attackers use Uniform Resource Locator (URL) encoding [<xref ref-type="bibr" rid="ref-21">21</xref>], BASE64 encoding [<xref ref-type="bibr" rid="ref-22">22</xref>] and other encoding methods [<xref ref-type="bibr" rid="ref-23">23</xref>] to encode attack traffic to evade the detection of security detection system and thus hide their information. Attack intent, normal URL decoding and BASE64 decoding of text can effectively restore the original traffic and improve the detection efficiency. The decoding function is shown in <xref ref-type="disp-formula" rid="eqn-2">Eq. (2)</xref>.
<disp-formula id="eqn-2"><label>(2)</label><mml:math id="mml-eqn-2" display="block"><mml:mrow><mml:mrow><mml:mi mathvariant="normal">d</mml:mi><mml:mi mathvariant="normal">e</mml:mi><mml:mi mathvariant="normal">c</mml:mi><mml:mi mathvariant="normal">o</mml:mi><mml:mi mathvariant="normal">d</mml:mi></mml:mrow></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mrow><mml:mi>e</mml:mi></mml:mrow></mml:mrow><mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="normal">b</mml:mi><mml:mi mathvariant="normal">a</mml:mi><mml:mi mathvariant="normal">s</mml:mi><mml:mi mathvariant="normal">e</mml:mi></mml:mrow></mml:mrow><mml:mn>64</mml:mn><mml:mo>,</mml:mo><mml:mrow><mml:mrow><mml:mi mathvariant="normal">U</mml:mi><mml:mi mathvariant="normal">R</mml:mi><mml:mi mathvariant="normal">L</mml:mi></mml:mrow></mml:mrow></mml:mrow></mml:msub></mml:mrow><mml:mspace width="thickmathspace" /><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="normal">e</mml:mi><mml:mi mathvariant="normal">n</mml:mi><mml:mi mathvariant="normal">c</mml:mi><mml:mi mathvariant="normal">o</mml:mi><mml:mi mathvariant="normal">d</mml:mi><mml:mi mathvariant="normal">e</mml:mi><mml:mi mathvariant="normal">d</mml:mi></mml:mrow></mml:mrow><mml:mspace width="thinmathspace" /><mml:mrow><mml:mrow><mml:mi mathvariant="normal">S</mml:mi><mml:mi mathvariant="normal">t</mml:mi><mml:mi mathvariant="normal">r</mml:mi><mml:mi mathvariant="normal">i</mml:mi><mml:mi mathvariant="normal">n</mml:mi><mml:mi mathvariant="normal">g</mml:mi></mml:mrow></mml:mrow></mml:mrow><mml:mo stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:mrow><mml:mrow><mml:mi mathvariant="normal">S</mml:mi><mml:mi mathvariant="normal">t</mml:mi><mml:mi mathvariant="normal">r</mml:mi><mml:mi mathvariant="normal">i</mml:mi><mml:mi mathvariant="normal">n</mml:mi><mml:mi mathvariant="normal">g</mml:mi></mml:mrow></mml:mrow></mml:math></disp-formula>
</p>
<fig id="fig-2"><label>Figure 2</label><caption><title>The instance of ICMP covert tunnel traffic before and after decoding</title></caption><graphic mimetype="image" mime-subtype="png" xlink:href="CMC_22540-fig-2.png"/></fig>
<p>As shown in <?A3B2 "fig3",5,"anchor"?><xref ref-type="fig" rid="fig-3">Fig. 3</xref>, the hexadecimal decoded text &#x201C;docker pull nginx; L2Jpbi9zaCBzaGVsbC5 zaA &#x003D;&#x003D;&#x201D; is decoded by BASE64 and becomes &#x201C;docker pull nginx; /bin/sh shell.sh&#x201D;, the key part of the shell attack &#x201C;/bin/sh shell.sh&#x201D; is restored.</p>
<fig id="fig-3"><label>Figure 3</label><caption><title>The instances of the traffic before and after BASE64 decoding</title></caption><graphic mimetype="image" mime-subtype="png" xlink:href="CMC_22540-fig-3.png"/></fig>
<list list-type="simple">
<list-item><p>Step 3: Text Feature Representation</p></list-item>
</list>
<p>In this paper, we use word frequency-inverse document frequency (TF-IDF) [<xref ref-type="bibr" rid="ref-24">24</xref>] for text feature representation, through which the text content can be converted into a feature-representing tensor, which can be input into the model for learning. TF-IDF is a statistical method used to evaluate the importance of a word to a sample in the training set. The core idea is that the importance of a word increases in proportion to the number of times it appears in the sample, but it is not in the sample. The number of occurrences is inversely proportional to the frequency in the training set. The algorithm flow of text feature representation is as follows. The text feature representation of the example ICMP covert tunnel traffic is shown in <?A3B2 "fig4",5,"anchor"?><xref ref-type="fig" rid="fig-4">Fig. 4</xref>.
<list list-type="simple">
<list-item><label>1)</label><p>Each word in the FD is numbered, which corresponds to the index in the feature vector with a latitude size of, <inline-formula id="ieqn-1"><mml:math id="mml-ieqn-1"><mml:mrow><mml:mtext>m</mml:mtext></mml:mrow><mml:mo>=</mml:mo><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:mrow><mml:mrow><mml:mtext>FD</mml:mtext></mml:mrow></mml:mrow><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:mrow><mml:mover><mml:mi>v</mml:mi><mml:mo stretchy="false">&#x2192;</mml:mo></mml:mover></mml:mrow><mml:mo>=</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mover><mml:mrow><mml:msub><mml:mi>v</mml:mi><mml:mn>0</mml:mn></mml:msub></mml:mrow><mml:mo>&#x2192;</mml:mo></mml:mover><mml:mo>,</mml:mo><mml:mover><mml:mrow><mml:msub><mml:mi>v</mml:mi><mml:mn>1</mml:mn></mml:msub></mml:mrow><mml:mo>&#x2192;</mml:mo></mml:mover><mml:mo>,</mml:mo><mml:mo>&#x22EF;</mml:mo><mml:mo>,</mml:mo><mml:mover><mml:mrow><mml:msub><mml:mi>v</mml:mi><mml:mrow><mml:mi>m</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo>&#x2192;</mml:mo></mml:mover></mml:mrow><mml:mo stretchy="false">)</mml:mo><mml:mover><mml:mrow><mml:msub><mml:mi>v</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow><mml:mo>&#x2192;</mml:mo></mml:mover><mml:mo>=</mml:mo><mml:mn>0</mml:mn><mml:mtext>&#xA0;</mml:mtext><mml:mrow><mml:mi mathvariant="normal">f</mml:mi><mml:mi mathvariant="normal">o</mml:mi><mml:mi mathvariant="normal">r</mml:mi></mml:mrow><mml:mtext>&#xA0;</mml:mtext><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>0</mml:mn><mml:mo>,</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:mi>m</mml:mi></mml:math></inline-formula> (637 in this paper).</p></list-item>
<list-item><label>2)</label><p>Initialize a vector for each ICMP traffic <italic>T<sub>j</sub></italic></p></list-item>
</list>
<disp-formula id="eqn-3"><label>(3)</label><mml:math id="mml-eqn-3" display="block"><mml:mrow><mml:mover><mml:mi>v</mml:mi><mml:mo stretchy="false">&#x2192;</mml:mo></mml:mover></mml:mrow><mml:mo>=</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mover><mml:mrow><mml:msub><mml:mrow><mml:mi>v</mml:mi></mml:mrow><mml:mn>0</mml:mn></mml:msub></mml:mrow><mml:mo>&#x2192;</mml:mo></mml:mover><mml:mo>,</mml:mo><mml:mover><mml:mrow><mml:msub><mml:mrow><mml:mi>v</mml:mi></mml:mrow><mml:mn>1</mml:mn></mml:msub></mml:mrow><mml:mo>&#x2192;</mml:mo></mml:mover><mml:mo>,</mml:mo><mml:mo>&#x22EF;</mml:mo><mml:mo>,</mml:mo><mml:mover><mml:mrow><mml:msub><mml:mrow><mml:mi>v</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mi>m</mml:mi></mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo>&#x2192;</mml:mo></mml:mover></mml:mrow><mml:mo stretchy="false">)</mml:mo><mml:mover><mml:mrow><mml:msub><mml:mrow><mml:mi>v</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo>&#x2192;</mml:mo></mml:mover><mml:mo>=</mml:mo><mml:mn>0</mml:mn><mml:mtext>&#xA0;</mml:mtext><mml:mrow><mml:mi>f</mml:mi><mml:mi>o</mml:mi><mml:mi>r</mml:mi><mml:mtext>&#xA0;</mml:mtext><mml:mi>i</mml:mi></mml:mrow><mml:mo>=</mml:mo><mml:mrow><mml:mn>0</mml:mn></mml:mrow><mml:mo>,</mml:mo><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mo>&#x2026;</mml:mo><mml:mrow><mml:mi>m</mml:mi></mml:mrow><mml:mo>.</mml:mo></mml:math></disp-formula>
</p>
<p><italic>vi</italic> in <xref ref-type="disp-formula" rid="eqn-3">Eq. (3)</xref> represents the mapping of the corresponding numbered words in the feature database. The corresponding TF-IDF value is then calculated for this flow. <inline-formula id="ieqn-2"><mml:math id="mml-ieqn-2"><mml:mrow><mml:mover><mml:mi>v</mml:mi><mml:mo stretchy="false">&#x2192;</mml:mo></mml:mover></mml:mrow><mml:mo>=</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mover><mml:mrow><mml:msub><mml:mi>v</mml:mi><mml:mn>0</mml:mn></mml:msub></mml:mrow><mml:mo>&#x2192;</mml:mo></mml:mover><mml:mo>,</mml:mo><mml:mover><mml:mrow><mml:msub><mml:mi>v</mml:mi><mml:mn>1</mml:mn></mml:msub></mml:mrow><mml:mo>&#x2192;</mml:mo></mml:mover><mml:mo>,</mml:mo><mml:mo>&#x22EF;</mml:mo><mml:mo>,</mml:mo><mml:mrow><mml:msub><mml:mi>f</mml:mi><mml:mrow><mml:mi>j</mml:mi><mml:mo>,</mml:mo><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo>,</mml:mo><mml:mo>&#x22EF;</mml:mo><mml:mo>,</mml:mo><mml:mover><mml:mrow><mml:msub><mml:mi>v</mml:mi><mml:mrow><mml:mi>m</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo>&#x2192;</mml:mo></mml:mover></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula></p>
<fig id="fig-4"><label>Figure 4</label><caption><title>The instances of textual feature representation of ICMP covert tunnel traffic</title></caption><graphic mimetype="image" mime-subtype="png" xlink:href="CMC_22540-fig-4.png"/></fig>
</sec>
<sec id="s4_4"><label>4.4</label><title>Model Construction</title>
<p>In order to clarify the specific attack intentions of ICMP covert tunnel, ICMP traffic flow needs to be classified into multiple categories. There are six categories of multi-classification, namely, normal traffic, shell attack, sensitive directory access, communication protocol traffic stealing, filling tunnel reserved words, and common network attacks as shown in the aforementioned <xref ref-type="table" rid="table-1">Tab. 1</xref>. ICMPTend model construction process is shown in <?A3B2 "fig5",5,"anchor"?><xref ref-type="fig" rid="fig-5">Fig. 5</xref>, which is divided into two phases: training and testing. In the training phase, the input is pre-labeled benign and malicious sample data in the training set, and the output is a multi-class model with attack intention prediction capabilities. In the prediction phase, the input is the actual data part of the unlabeled ICMP traffic, and the output is the possible attack intent of the traffic. The purpose is to obtain a multi-classification model ICMPTend, which can predict the attack intention of ICMP traffic in real situations.</p>
<p>ICMPTend uses SVM as the classification algorithm. SVM has maintained its unique advantage in solving classification problems for small and medium samples, high-dimensional, and linearly indistinguishable datasets. The ICMP covert tunnel dataset constructed in this paper happens to be small-sample, high-dimensional, and linearly indistinguishable, so theoretically SVM is suitable for the situation in this paper.</p>
<p>The ICMPTend receives the data part of ICMP traffic as input, and outputs the label of the category to which the traffic belongs. The label corresponds to the specific attack intent. Suppose the training set contains the data part of ICMP traffic. <inline-formula id="ieqn-3"><mml:math id="mml-ieqn-3"><mml:mo fence="false" stretchy="false">{</mml:mo><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mrow><mml:msub><mml:mi>d</mml:mi><mml:mn>1</mml:mn></mml:msub></mml:mrow><mml:mo>,</mml:mo><mml:mrow><mml:msub><mml:mi>y</mml:mi><mml:mn>1</mml:mn></mml:msub></mml:mrow></mml:mrow><mml:mo stretchy="false">)</mml:mo><mml:mo>,</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mrow><mml:msub><mml:mi>d</mml:mi><mml:mn>2</mml:mn></mml:msub></mml:mrow><mml:mo>,</mml:mo><mml:mrow><mml:msub><mml:mi>y</mml:mi><mml:mn>2</mml:mn></mml:msub></mml:mrow></mml:mrow><mml:mo stretchy="false">)</mml:mo><mml:mo>,</mml:mo><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mrow><mml:msub><mml:mi>d</mml:mi><mml:mi>T</mml:mi></mml:msub></mml:mrow><mml:mo>,</mml:mo><mml:mrow><mml:msub><mml:mi>y</mml:mi><mml:mi>T</mml:mi></mml:msub></mml:mrow></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo fence="false" stretchy="false">}</mml:mo><mml:mo>,</mml:mo><mml:mrow><mml:msub><mml:mi>d</mml:mi><mml:mi>t</mml:mi></mml:msub></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>t</mml:mi><mml:mo>=</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>T</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> denotes the data portion of a flow. <inline-formula id="ieqn-4"><mml:math id="mml-ieqn-4"><mml:mrow><mml:msub><mml:mi>y</mml:mi><mml:mi>t</mml:mi></mml:msub></mml:mrow><mml:mo>&#x2208;</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:mrow><mml:mn>0</mml:mn><mml:mo>,</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:mn>5</mml:mn></mml:mrow><mml:mo fence="false" stretchy="false">}</mml:mo></mml:math></inline-formula> indicates the label of ICMP traffic, 0 to 5 indicate normal traffic class, shell attack class, sensitive directory access class, communication protocol traffic stealing class, filling tunnel reserved word class, and common network attack class, respectively. The model first needs to obtain the feature representation of the data part, i.e., <inline-formula id="ieqn-5"><mml:math id="mml-ieqn-5"><mml:mrow><mml:msub><mml:mi>d</mml:mi><mml:mi>t</mml:mi></mml:msub></mml:mrow><mml:mo stretchy="false">&#x2192;</mml:mo><mml:mrow><mml:msub><mml:mi>v</mml:mi><mml:mi>t</mml:mi></mml:msub></mml:mrow><mml:mo>,</mml:mo><mml:mrow><mml:msub><mml:mi>v</mml:mi><mml:mi>t</mml:mi></mml:msub></mml:mrow><mml:mo>&#x2208;</mml:mo><mml:mrow><mml:msup><mml:mi>R</mml:mi><mml:mi>n</mml:mi></mml:msup></mml:mrow></mml:math></inline-formula>. Next, a classification function needs to be fitted, assuming that the predicted label is <inline-formula id="ieqn-6"><mml:math id="mml-ieqn-6"><mml:mrow><mml:msub><mml:mrow><mml:mover><mml:mi>y</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mi>t</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>. Then <inline-formula id="ieqn-7"><mml:math id="mml-ieqn-7"><mml:mrow><mml:msub><mml:mrow><mml:mover><mml:mi>y</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mi>t</mml:mi></mml:msub></mml:mrow><mml:mo>=</mml:mo><mml:mi>f</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mrow><mml:msub><mml:mi>v</mml:mi><mml:mi>t</mml:mi></mml:msub></mml:mrow></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> gives the result that the data portion of an ICMP traffic is predicted to be a certain class. <inline-formula id="ieqn-8"><mml:math id="mml-ieqn-8"><mml:mrow><mml:mtext>P</mml:mtext></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mrow><mml:mover><mml:mi>y</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow></mml:mrow><mml:mi>t</mml:mi></mml:msub></mml:mrow><mml:mo>=</mml:mo><mml:mi>f</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mrow><mml:msub><mml:mi>v</mml:mi><mml:mi>t</mml:mi></mml:msub></mml:mrow></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo stretchy="false">)</mml:mo><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>=</mml:mo><mml:mn>0</mml:mn><mml:mo>,</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:mn>5</mml:mn></mml:math></inline-formula> indicates the probability that the data part is predicted to be a certain category, Finally, the prediction label corresponding to <inline-formula id="ieqn-9"><mml:math id="mml-ieqn-9"><mml:mi>m</mml:mi><mml:mi>a</mml:mi><mml:mi>x</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mrow><mml:mtext>P</mml:mtext></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mrow><mml:mover><mml:mi>y</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow></mml:mrow><mml:mi>t</mml:mi></mml:msub></mml:mrow><mml:mo>=</mml:mo><mml:mi>f</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mrow><mml:msub><mml:mi>v</mml:mi><mml:mi>t</mml:mi></mml:msub></mml:mrow></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo stretchy="false">)</mml:mo><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>=</mml:mo><mml:mn>0</mml:mn><mml:mo>,</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:mn>5</mml:mn></mml:math></inline-formula> is selected as the final prediction output, which corresponds to the specific covert tunnel attack intent. During training, the model needs to minimize the loss function <inline-formula id="ieqn-10"><mml:math id="mml-ieqn-10"><mml:munderover><mml:mrow><mml:mo movablelimits="false">&#x2211;</mml:mo></mml:mrow><mml:mn>1</mml:mn><mml:mi>T</mml:mi></mml:munderover><mml:mo>&#x2061;</mml:mo><mml:mrow><mml:msub><mml:mi>L</mml:mi><mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mrow><mml:mover><mml:mi>y</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow></mml:mrow><mml:mi>t</mml:mi></mml:msub></mml:mrow><mml:mo>&#x2260;</mml:mo><mml:mrow><mml:msub><mml:mi>y</mml:mi><mml:mi>t</mml:mi></mml:msub></mml:mrow></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> over the entire training set, and L denotes the function that calculates the loss in case of classification errors.</p>
<fig id="fig-5"><label>Figure 5</label><caption><title>ICMPTend model architecture diagram</title></caption><graphic mimetype="image" mime-subtype="png" xlink:href="CMC_22540-fig-5.png"/></fig>
</sec>
</sec>
<sec id="s5"><label>5</label><title>Evaluation</title>
<p>In order to verify the effectiveness and practicability of the database-based SVM covert tunnel attack intent detection model proposed in this article, this section answers the following four questions through related experiments:</p>
<p><bold>Question 1 (Q1): Are the features constructed in this article effective?</bold></p>
<p><bold>Question 2 (Q2): Is it appropriate to choose SVM as a classifier?</bold></p>
<p><bold>Question 3 (Q3): What are the advantages of building a feature lexicon based on specific attack intent?</bold></p>
<p><bold>Question 4 (Q4): Compared with the anomaly detection capabilities of two categories, is the attack intent detection of multiple categories acceptable?</bold></p>
<p>The software environment used in this paper is Python 3.7, Scikit-Learn 0.21.3, Wireshark 3.2.7.0, the operating system is Ubuntu 16.04, and the hardware environment is Intel(R) Core(TM) i7-8550U @ 1.80&#x2005;GHz central processing unit (CPU), 8 GB random-access memory (RAM). The goal of this article is to measure the effectiveness of the model, which is essentially a standard multi-class model. Therefore, precision, recall, F1 score, accuracy and macro average are used as evaluation indicators to evaluate the experimental results of the multi-class model. This is shown in the following <?A3B2 "tbl4",5,"anchor"?><xref ref-type="table" rid="table-4">Tab. 4</xref>.</p>
<table-wrap id="table-4"><label>Table 4</label><caption><title>Evaluation indicators and their meaning</title></caption>
<table frame="hsides">
<colgroup>
<col align="left"  charoff="15"/>
<col align="left"  charoff="19"/>
</colgroup>
<thead>
<tr>
<td align="left">Evaluation indicators and formulas</td>
<td align="left">Meanings in this paper</td>
</tr>
</thead>
<tbody>
<tr>
<td align="left"><inline-formula id="ieqn-27"><mml:math id="mml-ieqn-27"><mml:mrow><mml:mtext>Precision</mml:mtext></mml:mrow><mml:mo>=</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mrow><mml:mrow><mml:mtext>TP</mml:mtext></mml:mrow></mml:mrow><mml:mrow><mml:mrow><mml:mtext>TP</mml:mtext></mml:mrow><mml:mo>+</mml:mo><mml:mrow><mml:mtext>FP</mml:mtext></mml:mrow></mml:mrow></mml:mfrac></mml:mstyle></mml:math></inline-formula> [<xref ref-type="bibr" rid="ref-24">24</xref>]</td>
<td align="left">The percentage of samples correctly identified by the model as ICMP covert tunnel intentions out of the total number of samples identified by the model itself.</td>
</tr>
<tr>
<td align="left"><inline-formula id="ieqn-28"><mml:math id="mml-ieqn-28"><mml:mrow><mml:mtext>Recall</mml:mtext></mml:mrow><mml:mo>=</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mrow><mml:mrow><mml:mtext>TP</mml:mtext></mml:mrow></mml:mrow><mml:mrow><mml:mrow><mml:mtext>TP</mml:mtext></mml:mrow><mml:mo>+</mml:mo><mml:mrow><mml:mtext>FN</mml:mtext></mml:mrow></mml:mrow></mml:mfrac></mml:mstyle></mml:math></inline-formula> [<xref ref-type="bibr" rid="ref-24">24</xref>]</td>
<td align="left">The percentage of attacks that are correctly classified as ICMP covert tunnels among all samples in this category of data set.</td>
</tr>
<tr>
<td align="left"><inline-formula id="ieqn-29"><mml:math id="mml-ieqn-29"><mml:mrow><mml:mtext>F</mml:mtext></mml:mrow><mml:mn>1</mml:mn><mml:mo>&#x2212;</mml:mo><mml:mrow><mml:mtext>score</mml:mtext></mml:mrow><mml:mo>=</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mrow><mml:mn>2</mml:mn><mml:mo>&#x00D7;</mml:mo><mml:mrow><mml:mtext>precision</mml:mtext></mml:mrow><mml:mo>&#x00D7;</mml:mo><mml:mrow><mml:mtext>recall</mml:mtext></mml:mrow></mml:mrow><mml:mrow><mml:mrow><mml:mtext>precision</mml:mtext></mml:mrow><mml:mo>+</mml:mo><mml:mrow><mml:mtext>recall</mml:mtext></mml:mrow></mml:mrow></mml:mfrac></mml:mstyle></mml:math></inline-formula> [<xref ref-type="bibr" rid="ref-24">24</xref>]</td>
<td align="left">When determining the accuracy rate, the larger the F1 score, the larger the proportion of the ICMP covert tunnel traffic correctly classified by the model to the total number of malicious traffic samples in the data set. When determining the recall rate, the larger the F1 score, the larger the proportion of the ICMP hidden tunnel traffic correctly classified by the model to the total number of malicious traffic samples identified by the model.</td>
</tr>
<tr>
	<td align="left"><inline-formula id="ieqn-30"><mml:math id="mml-ieqn-30"><mml:mrow><mml:mtext>Accuracy</mml:mtext></mml:mrow><mml:mo>=</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mrow><mml:mrow><mml:mtext>TP</mml:mtext></mml:mrow><mml:mo>+</mml:mo><mml:mrow><mml:mtext>TN</mml:mtext></mml:mrow></mml:mrow><mml:mrow><mml:mrow><mml:mtext>TP</mml:mtext></mml:mrow><mml:mo>+</mml:mo><mml:mrow><mml:mtext>TN</mml:mtext></mml:mrow><mml:mo>+</mml:mo><mml:mrow><mml:mtext>FP</mml:mtext></mml:mrow><mml:mo>+</mml:mo><mml:mrow><mml:mtext>FN</mml:mtext></mml:mrow></mml:mrow></mml:mfrac></mml:mstyle></mml:math></inline-formula> [<xref ref-type="bibr" rid="ref-25">25</xref>]</td>
		<td align="left">The percentage of traffic that the model correctly judges to the total traffic. The higher the accuracy of the model, the more effective the model.</td>
	</tr>
<tr>
	<td align="left"><inline-formula id="ieqn-31"><mml:math id="mml-ieqn-31"><mml:mrow><mml:mtext>MacroP</mml:mtext></mml:mrow><mml:mo>=</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mn>1</mml:mn><mml:mrow><mml:mtext>n</mml:mtext></mml:mrow></mml:mfrac><mml:munderover><mml:mrow><mml:mo movablelimits="false">&#x2211;</mml:mo></mml:mrow><mml:mrow><mml:mrow><mml:mtext>i</mml:mtext></mml:mrow><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mtext>n</mml:mtext></mml:mrow></mml:munderover><mml:mo>&#x2061;</mml:mo><mml:mo movablelimits="true" form="prefix">Pr</mml:mo><mml:mrow><mml:mtext>ecisio</mml:mtext></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mtext>n</mml:mtext></mml:mrow><mml:mrow><mml:mtext>i</mml:mtext></mml:mrow></mml:msub></mml:mrow></mml:mstyle></mml:math></inline-formula> [<xref ref-type="bibr" rid="ref-25">25</xref>]<break/><inline-formula id="ieqn-32"><mml:math id="mml-ieqn-32"><mml:mrow><mml:mtext>MacroR</mml:mtext></mml:mrow><mml:mo>=</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mn>1</mml:mn><mml:mrow><mml:mtext>n</mml:mtext></mml:mrow></mml:mfrac><mml:munderover><mml:mrow><mml:mo movablelimits="false">&#x2211;</mml:mo></mml:mrow><mml:mrow><mml:mrow><mml:mtext>i</mml:mtext></mml:mrow><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mtext>n</mml:mtext></mml:mrow></mml:munderover><mml:mo>&#x2061;</mml:mo><mml:mrow><mml:mi>Re</mml:mi></mml:mrow><mml:mrow><mml:mtext>cal</mml:mtext></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mtext>l</mml:mtext></mml:mrow><mml:mrow><mml:mtext>i</mml:mtext></mml:mrow></mml:msub></mml:mrow></mml:mstyle></mml:math></inline-formula> [<xref ref-type="bibr" rid="ref-25">25</xref>]</td>
				<td align="left">In the multi-class evaluation index, the higher the macro mean, the better the model.</td>
				</tr>
</tbody>
</table>
</table-wrap>
<sec id="s5_1"><label>5.1</label><title>Answer to Q1 and Q2</title>
<p>In order to answer Q1 and Q2, we build a feature dictionary based on the attack intent of shell attacks, access to sensitive directories, stealing communication protocol traffic, filling tunnel reserved words, and common network attacks, and construct feature vectors based on the feature dictionary as input to the model. In order to verify the effectiveness of the feature construction method in this paper, the feature vector is input into a separate model for training and prediction, and the effectiveness of the detection is evaluated.</p>
<p>The results of the comparison experiments using SVM, logistic regression (LR), and Naive Bayesian (NB) models are shown in <?A3B2 "tbl5",5,"anchor"?><xref ref-type="table" rid="table-5">Tab. 5</xref>. It can be found that inputting the feature vectors constructed by the feature construction method in this paper into multiple models for testing has achieved good results in terms of accuracy, recall, F1 score, and accuracy. Even in the NB model, which has the worst combined effect, the precision, recall, F1 score and accuracy reach at least 0.86, 0.80, 0.83, and 0.89, respectively. This indicates that the method of constructing features in this paper is effective.</p>
<table-wrap id="table-5"><label>Table 5</label><caption><title>Evaluation result metrics</title></caption>
<table frame="hsides">
<colgroup>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
</colgroup>
<thead>
<tr>
<th align="left">Model</th>
<th align="left">Class</th>
<th align="left">Precision</th>
<th align="left">Recall</th>
<th align="left">F1</th>
<th align="left">Accuracy</th>
</tr>
</thead>
<tbody>
<tr>
<td align="left" rowspan="6">SVM</td>
<td align="left">NORMAL</td>
<td align="left">0.91</td>
<td align="left">0.90</td>
<td align="left">0.90</td>
<td align="left" rowspan="6">0.92</td>
</tr>
<tr>
<td align="left">SHELL_ATTACKS</td>
<td align="left">0.89</td>
<td align="left">0.89</td>
<td align="left">0.89</td>
</tr>
<tr>
<td align="left">ACCESS_SENSITIVE_DIRS</td>
<td align="left">0.92</td>
<td align="left">0.90</td>
<td align="left">0.91</td>
</tr>
<tr>
<td align="left">STEAL_PROTOCOLS</td>
<td align="left">0.93</td>
<td align="left">0.88</td>
<td align="left">0.90</td>
</tr>
<tr>
<td align="left">FILL_RESERVED_WORDS</td>
<td align="left">0.91</td>
<td align="left">0.90</td>
<td align="left">0.90</td>
</tr>
<tr>
<td align="left">OTHER_ CYBER_ATTACKS</td>
<td align="left">0.89</td>
<td align="left">0.86</td>
<td align="left">0.87</td>
</tr>
<tr>
<td align="left" rowspan="6">LR</td>
<td align="left">NORMAL</td>
<td align="left">0.89</td>
<td align="left">0.89</td>
<td align="left">0.89</td>
<td align="left" rowspan="6">0.91</td>
</tr>
<tr>
<td align="left">SHELL_ATTACKS</td>
<td align="left">0.87</td>
<td align="left">0.88</td>
<td align="left">0.87</td>
</tr>
<tr>
<td align="left">ACCESS_SENSITIVE_DIRS</td>
<td align="left">0.90</td>
<td align="left">0.88</td>
<td align="left">0.89</td>
</tr>
<tr>
<td align="left">STEAL_PROTOCOLS</td>
<td align="left">0.91</td>
<td align="left">0.86</td>
<td align="left">0.88</td>
</tr>
<tr>
<td align="left">FILL_RESERVED_WORDS</td>
<td align="left">0.91</td>
<td align="left">0.90</td>
<td align="left">0.90</td>
</tr>
<tr>
<td align="left">OTHER_ CYBER_ATTACKS</td>
<td align="left">0.88</td>
<td align="left">0.86</td>
<td align="left">0.87</td>
</tr>
<tr>
<td align="left" rowspan="6">NB</td>
<td align="left">NORMAL</td>
<td align="left">0.87</td>
<td align="left">0.87</td>
<td align="left">0.87</td>
<td align="left" rowspan="6">0.89</td>
</tr>
<tr>
<td align="left">SHELL_ATTACKS</td>
<td align="left">0.89</td>
<td align="left">0.89</td>
<td align="left">0.89</td>
</tr>
<tr>
<td align="left">ACCESS_SENSITIVE_DIRS</td>
<td align="left">0.86</td>
<td align="left">0.80</td>
<td align="left">0.83</td>
</tr>
<tr>
<td align="left">STEAL_PROTOCOLS</td>
<td align="left">0.89</td>
<td align="left">0.88</td>
<td align="left">0.88</td>
</tr>
<tr>
<td align="left">FILL_RESERVED_WORDS</td>
<td align="left">0.88</td>
<td align="left">0.87</td>
<td align="left">0.87</td>
</tr>
<tr>
<td align="left">OTHER_ CYBER_ATTACKS</td>
<td align="left">0.86</td>
<td align="left">0.84</td>
<td align="left">0.85</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>Comparing the detection effect of the SVM model with that of the LR and NB models, the SVM model is also superior to other models in all aspects. This show that the SVM model is more appropriate in discerning the specific attack intent of the covert tunnel. The feature construction method in this paper is effective and SVM can be used as a classifier for covert tunnel specific attack intent detection [<xref ref-type="bibr" rid="ref-26">26</xref>,<xref ref-type="bibr" rid="ref-27">27</xref>].</p>
<p><bold>Observation 1:</bold> (1) The keywords of shell attacks, access to sensitive directories, stealing communication protocol traffic, filling tunnel reserved words, and common network attacks are often found in the data portion of malicious traffic in ICMP covert tunnels, so extracting these types of keywords to construct features would be effective; (2) The SVM is suitable for high-dimensional, linearly indistinguishable data, and ICMP traffic happens to be high-dimensional and linearly indistinguishable, so SVM is more appropriate than other machine learning models.</p>
</sec>
<sec id="s5_2"><label>5.2</label><title>Answer to Q3</title>
<p>The general method of using keywords for classification in machine learning is to use the collection of all words in the training set after sample word separation to form a vocabulary to form a large-dimensional vocabulary, which often requires further dimensionality reduction. In order to verify the effectiveness of this dimensionality reduction method, a comparative experiment before and after dimensionality reduction was constructed. The pre-dimensionalization experiment is to split the data part of each traffic in the training set with spaces and special symbols, and use the set of all words obtained after splitting as a feature dictionary, which contains about 30,000 words. The dimensionality reduction experiment adopts the feature dictionary construction method of this article. The other experimental steps are the same.</p>
<p>As shown in <?A3B2 "tbl6",5,"anchor"?><xref ref-type="table" rid="table-6">Tab. 6</xref>, after dimensionality reduction, the precision, recall, and F1 scores of each category are higher than those before dimensionality reduction by at least 0.02, 0.01, and 0.02, the accuracy rate is improved by 0.05, and the training time after dimensionality reduction is also reduced to about 1/8 of that before dimensionality reduction. This show that the dimensionality reduction method used in this paper is effective, not only improves the training speed, but also improves the evaluation indicators of each category. Before and after dimensionality reduction, the accuracy rate can be improved, and the time efficiency can be significantly improved.</p>
<p>In terms of CPU resource consumption, as shown in <?A3B2 "fig6",5,"anchor"?><xref ref-type="fig" rid="fig-6">Fig. 6</xref>, after dimensionality reduction, the CPU usage during training is significantly lower than before. Only a single core is required to meet the training requirements, while before dimensionality reduction, an eight-core CPU is required to meet the training requirements. This shows that the dimensionality reduction method used in this paper can effectively reduce the consumption of CPU resources.</p>
<p>In terms of memory resource consumption, as shown in <?A3B2 "fig7",5,"anchor"?><xref ref-type="fig" rid="fig-7">Fig. 7</xref>, the memory utilization during training after dimensionality reduction is 45.4&#x0025; lower than that before dimensionality reduction. This shows that the dimensionality reduction method used in this paper can make more effective use of memory resources.</p>
<table-wrap id="table-6"><label>Table 6</label><caption><title>Comparative experimental results before and after dimensionality reduction</title></caption>
<table frame="hsides">
<colgroup>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
</colgroup>
<thead>
<tr>
<th align="left">Dimensions</th>
<th align="left">Class</th>
<th align="left">Precision</th>
<th align="left">Recall</th>
<th align="left">F1</th>
<th align="left">Accuracy</th>
<th align="left">Train time</th>
</tr>
</thead>
<tbody>
<tr>
<td align="left" rowspan="6">About30000</td>
<td align="left">NORMAL</td>
<td align="left">0.86</td>
<td align="left">0.80</td>
<td align="left">0.83</td>
<td align="left" rowspan="6">0.87</td>
<td align="left" rowspan="6">4&#x2005;min</td>
</tr>
<tr>
<td align="left">SHELL_ATTACKS</td>
<td align="left">0.87</td>
<td align="left">0.81</td>
<td align="left">0.84</td>
</tr>
<tr>
<td align="left">ACCESS_SENSITIVE_DIRS</td>
<td align="left">0.89</td>
<td align="left">0.88</td>
<td align="left">0.88</td>
</tr>
<tr>
<td align="left">STEAL_PROTOCOLS</td>
<td align="left">0.80</td>
<td align="left">0.80</td>
<td align="left">0.80</td>
</tr>
<tr>
<td align="left">FILL_RESERVED_WORDS</td>
<td align="left">0.87</td>
<td align="left">0.86</td>
<td align="left">0.87</td>
</tr>
<tr>
<td align="left">OTHER_ CYBER_ATTACKS</td>
<td align="left">0.86</td>
<td align="left">0.85</td>
<td align="left">0.85</td>
</tr>
<tr>
<td align="left" rowspan="6">637</td>
<td align="left">NORMAL</td>
<td align="left">0.91</td>
<td align="left">0.90</td>
<td align="left">0.90</td>
<td align="left" rowspan="6">0.92</td>
<td align="left" rowspan="6">0.5&#x2005;min</td>
</tr>
<tr>
<td align="left">SHELL_ATTACKS</td>
<td align="left">0.89</td>
<td align="left">0.89</td>
<td align="left">0.89</td>
</tr>
<tr>
<td align="left">ACCESS_SENSITIVE_DIRS</td>
<td align="left">0.92</td>
<td align="left">0.90</td>
<td align="left">0.91</td>
</tr>
<tr>
<td align="left">STEAL_PROTOCOLS</td>
<td align="left">0.93</td>
<td align="left">0.88</td>
<td align="left">0.91</td>
</tr>
<tr>
<td align="left">FILL_RESERVED_WORDS</td>
<td align="left">0.91</td>
<td align="left">0.90</td>
<td align="left">0.90</td>
</tr>
<tr>
<td align="left">OTHER_CYBER_ATTACKS</td>
<td align="left">0.89</td>
<td align="left">0.86</td>
<td align="left">0.87</td>
</tr>
</tbody>
</table>
</table-wrap>
<fig id="fig-6"><label>Figure 6</label><caption><title>CPU utilization during training</title></caption><graphic mimetype="image" mime-subtype="png" xlink:href="CMC_22540-fig-6.png"/></fig>
<fig id="fig-7"><label>Figure 7</label><caption><title>Memory utilization during training</title></caption><graphic mimetype="image" mime-subtype="png" xlink:href="CMC_22540-fig-7.png"/></fig>
<p><bold>Observation 2:</bold> Using the feature lexicon constructed in this paper, the dimension of the final feature vector is reduced from more than 30,000 to 637 compared to the dictionary constructed after direct word segmentation. Therefore, dimensionality reduction can undoubtedly improve the efficiency of the model. At the same time, choosing an appropriate dimensionality reduction method can filter out noise or irrelevant information, thereby helping the model to better learn the main features, and the model can obtain better detection results.</p>
</sec>
<sec id="s5_3"><label>5.3</label><title>Answer to Q4</title>
<p>In order to clarify the gap of detection capability between attack intention detection based on multi classification and anomaly detection based on binary classification, we aggregate all types of malicious samples into malicious samples, and conducts anomaly detection experiments based on two classifications. And compare the results of the anomaly detection experiment with the results of the attack intention detection experiment.</p>
<p>The experimental results are shown in <?A3B2 "tbl7",5,"anchor"?><xref ref-type="table" rid="table-7">Tab. 7</xref>. The macro-average accuracy, macro-average recall, and accuracy of attack intent detection based on multi-classification are 0.05, 0.06, and 0.05 lower than that of anomaly detection based on two-classification, and the gap is controlled within 0.1. At the same time, the lowest accuracy rate and the lowest recall rate in the multi-classification also reached 0.89 and 0.86 respectively, achieving a better multi-classification effect.</p>
<table-wrap id="table-7"><label>Table 7</label><caption><title>Comparison experiments of multi-classification-based attack intent detection and binary classification-based anomaly detection</title></caption>
<table frame="hsides">
<colgroup>
<col align="left" charoff="6"/>
<col align="left" charoff="10"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
</colgroup>
<thead>
<tr>
<th align="left">Model</th>
<th align="left">Category</th>
<th align="left">Precision</th>
<th align="left">Recall</th>
<th align="left">Macro- Precision</th>
<th align="left">Macro- Recall</th>
<th align="left">Accu-racy</th>
</tr>
</thead>
<tbody>
<tr>
<td align="left" rowspan="6">Multi- Classification</td>
<td align="left">NORMAL</td>
<td align="left">0.91</td>
<td align="left">0.90</td>
<td align="left" rowspan="6">0.91</td>
<td align="left" rowspan="6">0.89</td>
<td align="left" rowspan="6">0.92</td>
</tr>
<tr>
<td align="left">SHELL_ATTACKS</td>
<td align="left">0.89</td>
<td align="left">0.89</td>
</tr>
<tr>
<td align="left">ACCESS_SENSITIVE_DIRS</td>
<td align="left">0.92</td>
<td align="left">0.90</td>
</tr>
<tr>
<td align="left">STEAL_PROTOCOLS</td>
<td align="left">0.93</td>
<td align="left">0.88</td>
</tr>
<tr>
<td align="left">FILL_RESERVED_WORDS</td>
<td align="left">0.91</td>
<td align="left">0.90</td>
</tr>
<tr>
<td align="left">OTHER_ CYBER_ATTACKS</td>
<td align="left">0.89</td>
<td align="left">0.86</td>
</tr>
<tr>
<td align="left" rowspan="2">Binary classification</td>
<td align="left">NORMAL</td>
<td align="left">0.95</td>
<td align="left">0.94</td>
<td align="left" rowspan="2">0.96</td>
<td align="left" rowspan="2">0.95</td>
<td align="left" rowspan="2">0.97</td>
</tr>
<tr>
<td align="left">ABNORMAL</td>
<td align="left">0.96</td>
<td align="left">0.96</td>
</tr>
</tbody>
</table>
</table-wrap>
<p><bold>Observation 3:</bold> Compared with anomaly detection based on binary classification, attack intention detection based on multi-classification has better detection capabilities.</p>
</sec>
</sec>
<sec id="s6"><label>6</label><title>Conclusion</title>
<p>This paper uses ICMP data as the starting point to extract malicious attack intention keywords from five perspectives: shell commands, sensitive directories, communication protocol keywords, tunnel reserved words, and common network attack keywords, and build an ICMPTend detection model. Compared with the use of dictionary suffix cutting to construct feature vectors, it reduces noise interference and greatly reduces the dimensionality of feature vectors, which can clarify the attack intention of malicious traffic contained in the data part.</p>
</sec>
</body>
<back>
<fn-group>
<fn fn-type="other"><p><bold>Funding Statement:</bold> This research was supported by National Natural Science Foundation of China (Grant Nos. 61972048, 62072051).</p></fn>
<fn fn-type="conflict"><p><bold>Conflicts of Interest:</bold> The authors declare that they have no conflicts of interest to report regarding the present study.</p></fn>
</fn-group>
<ref-list content-type="authoryear">
<title>References</title>
<ref id="ref-1"><label>[1]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>Y. B.</given-names> <surname>He</surname></string-name>, <string-name><given-names>Y. F.</given-names> <surname>Zhu</surname></string-name> and <string-name><given-names>W.</given-names> <surname>Lin</surname></string-name></person-group>, &#x201C;<article-title>HTTP tunnel trojan detection model based on deep learning</article-title>,&#x201D; <source>Journal of Physics: Conference Series</source><italic>,</italic> vol. <volume>1187</volume>, no. <issue>4</issue>, pp. <fpage>1</fpage>&#x2013;<lpage>11</lpage>, <year>2019</year>.</mixed-citation></ref>
<ref id="ref-2"><label>[2]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>M.</given-names> <surname>Chen</surname></string-name>, <string-name><given-names>X. J.</given-names> <surname>Wang</surname></string-name>, <string-name><given-names>M. S.</given-names> <surname>He</surname></string-name>, <string-name><given-names>L.</given-names> <surname>Jin</surname></string-name>, <string-name><given-names>K.</given-names> <surname>Javeed</surname></string-name> <etal>et al.,</etal></person-group> &#x201C;<article-title>A network traffic classification model based on metric learning</article-title>,&#x201D; <source>Computers, Materials &#x0026; Continua</source><italic>,</italic> vol. <volume>64</volume>, no. <issue>2</issue>, pp. <fpage>941</fpage>&#x2013;<lpage>959</lpage>, <year>2020</year>.</mixed-citation></ref>
<ref id="ref-3"><label>[3]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>C. L.</given-names> <surname>Du</surname></string-name>, <string-name><given-names>S. H.</given-names> <surname>Liu</surname></string-name>, <string-name><given-names>L.</given-names> <surname>Si</surname></string-name>, <string-name><given-names>Y. H.</given-names> <surname>Guo</surname></string-name> and <string-name><given-names>T.</given-names> <surname>Jin</surname></string-name></person-group>, &#x201C;<article-title>Using object detection network for malware detection and identification in network traffic packets</article-title>,&#x201D; <source>Computers, Materials &#x0026; Continua</source><italic>,</italic> vol. <volume>64</volume>, no. <issue>3</issue>, pp. <fpage>1785</fpage>&#x2013;<lpage>1796</lpage>, <year>2020</year>.</mixed-citation></ref>
<ref id="ref-4"><label>[4]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>M.</given-names> <surname>Aiello</surname></string-name>, <string-name><given-names>M.</given-names> <surname>Mongelli</surname></string-name> and <string-name><given-names>G.</given-names> <surname>Papaleo</surname></string-name></person-group>, &#x201C;<article-title>DNS tunnel detection through statistical fingerprints of protocol messages and machine learning</article-title>,&#x201D; <source>International Journal of Communication Systems</source><italic>,</italic> vol. <volume>28</volume>, no. <issue>14</issue>, pp. <fpage>1987</fpage>&#x2013;<lpage>2002</lpage>, <year>2015</year>.</mixed-citation></ref>
<ref id="ref-5"><label>[5]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>C. L.</given-names> <surname>Li</surname></string-name>, <string-name><given-names>X. M.</given-names> <surname>Sun</surname></string-name> and <string-name><given-names>J. H.</given-names> <surname>Cai</surname></string-name></person-group>, &#x201C;<article-title>Intelligent mobile drone system based on real-time object detection</article-title>,&#x201D; <source>Journal on Artificial Intelligence</source><italic>,</italic> vol. <volume>1</volume>, no. <issue>1</issue>, pp. <fpage>1</fpage>&#x2013;<lpage>8</lpage>, <year>2019</year>.</mixed-citation></ref>
<ref id="ref-6"><label>[6]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>M.</given-names> <surname>Crotti</surname></string-name>, <string-name><given-names>M.</given-names> <surname>Dusi</surname></string-name>, <string-name><given-names>F.</given-names> <surname>Gringoli</surname></string-name> and <string-name><given-names>L.</given-names> <surname>Salgarelli</surname></string-name></person-group>, &#x201C;<article-title>Detecting http</article-title> <article-title>tunnels with statistical mechanisms</article-title>,&#x201D; in <conf-name>Proc. 2007 IEEE Int. Conf. on Communications</conf-name>, <conf-loc>Glasgow, Scotland</conf-loc>, pp. <fpage>6162</fpage>&#x2013;<lpage>6168</lpage>, <year>2007</year>.</mixed-citation></ref>
<ref id="ref-7"><label>[7]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>P.</given-names> <surname>Engelstad</surname></string-name>, <string-name><given-names>B.</given-names> <surname>Feng</surname></string-name> and <string-name><given-names>T.</given-names> <surname>van Do</surname></string-name></person-group>, &#x201C;<article-title>Detection of DNS tunnel in mobile networks using machine learning</article-title>,&#x201D; in <conf-name>Proc. Int. Conf. on Information Science and Applications</conf-name>, <conf-loc>Macau</conf-loc>, pp. <fpage>221</fpage>&#x2013;<lpage>230</lpage>, <year>2017</year>.</mixed-citation></ref>
<ref id="ref-8"><label>[8]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>J. K.</given-names> <surname>Liu</surname></string-name>, <string-name><given-names>S. H.</given-names> <surname>Li</surname></string-name>, <string-name><given-names>Y. S.</given-names> <surname>Zhang</surname></string-name>, <string-name><given-names>J.</given-names> <surname>Xiao</surname></string-name>, <string-name><given-names>P.</given-names> <surname>Chang</surname></string-name> <etal>et al.,</etal></person-group> &#x201C;<article-title>Detecting DNS tunnel through binary-classification based on behavior features</article-title>,&#x201D; in <conf-name>Proc. 2017 IEEE Trustcom/BigDataSE/ICESS</conf-name>, <conf-loc>Sydney, Australia</conf-loc>, pp. <fpage>339</fpage>&#x2013;<lpage>346</lpage>, <year>2017</year>.</mixed-citation></ref>
<ref id="ref-9"><label>[9]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>A.</given-names> <surname>Almusawi</surname></string-name> and <string-name><given-names>H.</given-names> <surname>Amintoosi</surname></string-name></person-group>, &#x201C;<article-title>Dns tunnel detection method based on multi-label support vector machine</article-title>,&#x201D; <source>Security and Communication Networks</source><italic>,</italic> vol. <volume>2018</volume>, no. <issue>2018</issue>, pp. <fpage>1</fpage>&#x2013;<lpage>9</lpage>, <year>2018</year>.</mixed-citation></ref>
<ref id="ref-10"><label>[10]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>Y. J.</given-names> <surname>Ding</surname></string-name> and <string-name><given-names>W. D.</given-names> <surname>Cai</surname></string-name></person-group>, &#x201C;<article-title>A method for HTTP-tunnel detection based on statistical features of traffic</article-title>,&#x201D; in <conf-name>Proc. 2011 IEEE 3rd Int. Conf. on Communication Software and Networks</conf-name>, <conf-loc>Xian, China</conf-loc>, pp. <fpage>247</fpage>&#x2013;<lpage>250</lpage>, <year>2011</year>.</mixed-citation></ref>
<ref id="ref-11"><label>[11]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>M.</given-names> <surname>Dusi</surname></string-name>, <string-name><given-names>M.</given-names> <surname>Crotti</surname></string-name>, <string-name><given-names>F.</given-names> <surname>Gringoli</surname></string-name> and <string-name><given-names>L.</given-names> <surname>Salgarelli</surname></string-name></person-group>, &#x201C;<article-title>Tunnel hunter: Detecting application-layer tunnels with statistical fingerprinting</article-title>,&#x201D; <source>Computer Networks</source><italic>,</italic> vol. <volume>53</volume>, no. <issue>1</issue>, pp. <fpage>81</fpage>&#x2013;<lpage>97</lpage>, <year>2009</year>.</mixed-citation></ref>
<ref id="ref-12"><label>[12]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>K.</given-names> <surname>Borders</surname></string-name> and <string-name><given-names>A.</given-names> <surname>Prakash</surname></string-name></person-group>, &#x201C;<article-title>Web tap: Detecting covert web traffic</article-title>,&#x201D; in <conf-name>Proc. 11th ACM Conf. on Computer and Communications Security</conf-name>, <conf-loc>Washington DC, USA</conf-loc>, pp. <fpage>110</fpage>&#x2013;<lpage>120</lpage>, <year>2004</year>.</mixed-citation></ref>
<ref id="ref-13"><label>[13]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>T.</given-names> <surname>Sohn</surname></string-name>, <string-name><given-names>J.</given-names> <surname>Moon</surname></string-name>, <string-name><given-names>S.</given-names> <surname>Lee</surname></string-name>, <string-name><given-names>D. H.</given-names> <surname>Lee</surname></string-name> and <string-name><given-names>J.</given-names> <surname>Lim</surname></string-name></person-group>, &#x201C;<article-title>Covert channel detection in the ICMP payload using support vector machine</article-title>,&#x201D; in <conf-name>Proc. Int. Sym. on Computer and Information Sciences</conf-name>, <conf-loc>Berlin, Heidelberg</conf-loc>, pp. <fpage>828</fpage>&#x2013;<lpage>835</lpage>, <year>2003</year>.</mixed-citation></ref>
<ref id="ref-14"><label>[14]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>Y.</given-names> <surname>Insu</surname></string-name>, <string-name><given-names>D.</given-names> <surname>Kapil</surname></string-name> and <string-name><given-names>T.</given-names> <surname>Kim</surname></string-name></person-group>, &#x201C;<article-title>Automatic techniques to systematically discover new heap exploitation primitives,</article-title>&#x201D; in <conf-name>Proc. 29th USENIX Security Sym. (USENIX Security &#x0027;20)</conf-name>, <conf-loc>pp.</conf-loc> <fpage>1111</fpage>&#x2013;<lpage>1128</lpage>, <year>2020</year>.</mixed-citation></ref>
<ref id="ref-15"><label>[15]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>C.</given-names> <surname>Cortes</surname></string-name> and <string-name><given-names>V.</given-names> <surname>Vapnik</surname></string-name></person-group>, &#x201C;<article-title>Support-vector networks</article-title>,&#x201D; <source>Machine Learning</source><italic>,</italic> vol. <volume>20</volume>, no. <issue>3</issue>, pp. <fpage>273</fpage>&#x2013;<lpage>297</lpage>, <year>1995</year>.</mixed-citation></ref>
<ref id="ref-16"><label>[16]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>N. V.</given-names> <surname>Sharma</surname></string-name> and <string-name><given-names>N. S.</given-names> <surname>Yadav</surname></string-name></person-group>, &#x201C;<article-title>An optimal intrusion detection system using recursive feature elimination and ensemble of classifiers</article-title>,&#x201D; <source>Microprocessors and Microsystems</source><italic>,</italic> vol. <volume>85</volume>, pp. <fpage>104293</fpage>, <year>2021</year>.</mixed-citation></ref>
<ref id="ref-17"><label>[17]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>N. V.</given-names> <surname>Sharma</surname></string-name> and <string-name><given-names>G.</given-names> <surname>Agarwal</surname></string-name></person-group>, &#x201C;<article-title>Network attacks and intrusion detection system: A brief</article-title>,&#x201D; in <conf-name>Proc. 2nd Int. Conf. on Intelligent Communication and Computational Techniques (ICCT)</conf-name>, <conf-loc>Manipal University Jaipur</conf-loc>, <conf-loc>pp.</conf-loc> <fpage>280</fpage>&#x2013;<lpage>283</lpage>, <year>2019</year>.</mixed-citation></ref>
<ref id="ref-18"><label>[18]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>H. Q.</given-names> <surname>Lin</surname></string-name>, <string-name><given-names>G.</given-names> <surname>Liu</surname></string-name> and <string-name><given-names>Z.</given-names> <surname>Yan</surname></string-name></person-group>, &#x201C;<article-title>Detection of application-layer tunnels with rules and machine learning</article-title>,&#x201D; in <conf-name>Proc. Int. Conf. on Security, Privacy and Anonymity in Computation, Communication and Storage</conf-name><conf-loc>, Georgia, United States</conf-loc>, pp. <fpage>441</fpage>&#x2013;<lpage>455</lpage>, <year>2019</year>.</mixed-citation></ref>
<ref id="ref-19"><label>[19]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>X. D.</given-names> <surname>Xu</surname></string-name>, <string-name><given-names>C. A.</given-names> <surname>Wang</surname></string-name> and <string-name><given-names>S. R.</given-names> <surname>Zhu</surname></string-name></person-group>, &#x201C;<article-title>Covert channel detection in ICMP payload based on information entropy SVM</article-title>,&#x201D; <source>Journal of Computer Applications</source><italic>,</italic> vol. <volume>2009</volume>, no. <issue>2009</issue>, pp. <fpage>1</fpage>&#x2013;<lpage>7</lpage>, <year>2009</year>.</mixed-citation></ref>
<ref id="ref-20"><label>[20]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>S.</given-names> <surname>Sayadi</surname></string-name>, <string-name><given-names>T.</given-names> <surname>Abbes</surname></string-name> and <string-name><given-names>A.</given-names> <surname>Bouhoula</surname></string-name></person-group>, &#x201C;<article-title>Detection of covert channels over ICMP protocol</article-title>,&#x201D; in <conf-name>Proc. 2017 IEEE/ACS 14th Int. Conf. on Computer Systems and Applications</conf-name>, <conf-loc>Hammamet, Tunisia</conf-loc>, pp. <fpage>1247</fpage>&#x2013;<lpage>1252</lpage>, <year>2017</year>.</mixed-citation></ref>
<ref id="ref-21"><label>[21]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>B. L.</given-names> <surname>Zhang</surname></string-name>, <string-name><given-names>S.</given-names> <surname>Zhou</surname></string-name>, <string-name><given-names>L.</given-names> <surname>Yang</surname></string-name>, <string-name><given-names>J. H.</given-names> <surname>Lv</surname></string-name> and <string-name><given-names>M. J.</given-names> <surname>Zhong</surname></string-name></person-group>, &#x201C;<article-title>Study on multi-label classification of medical dispute documents</article-title>,&#x201D; <source>Computers, Materials &#x0026; Continua</source><italic>,</italic> vol. <volume>65</volume>, no. <issue>3</issue>, pp. <fpage>1975</fpage>&#x2013;<lpage>1986</lpage>, <year>2020</year>.</mixed-citation></ref>
<ref id="ref-22"><label>[22]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>V. N.</given-names> <surname>Vapnik</surname></string-name></person-group>, &#x201C;<article-title>An overview of statistical learning theory,</article-title>&#x201D; <source>IEEE Transactions on Neural Networks</source><italic>,</italic> vol. <volume>10</volume>, no. <issue>5</issue>, pp. <fpage>988</fpage>&#x2013;<lpage>999</lpage>, <year>1999</year>.</mixed-citation></ref>
<ref id="ref-23"><label>[23]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>Z. T.</given-names> <surname>Li</surname></string-name>, <string-name><given-names>J. W.</given-names> <surname>Kang</surname></string-name>, <string-name><given-names>R.</given-names> <surname>Yu</surname></string-name>, <string-name><given-names>D. D.</given-names> <surname>Ye</surname></string-name>, <string-name><given-names>Q. Y.</given-names> <surname>Deng</surname></string-name> <etal>et al.,</etal></person-group> &#x201C;<article-title>Consortium blockchain for secure energy trading in industrial internet of things</article-title>,&#x201D; <source>IEEE Transactions on Industrial Informatics</source><italic>,</italic> vol. <volume>14</volume>, no. <issue>8</issue>, pp. <fpage>3690</fpage>&#x2013;<lpage>3700</lpage>, <year>2017</year>.</mixed-citation></ref>
<ref id="ref-24"><label>[24]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>Z. T.</given-names> <surname>Li</surname></string-name>, <string-name><given-names>J.</given-names> <surname>Zhang</surname></string-name>, <string-name><given-names>K. H.</given-names> <surname>Zhang</surname></string-name> and <string-name><given-names>Z. Y.</given-names> <surname>Li</surname></string-name></person-group>, &#x201C;<article-title>Visual tracking with weighted adaptive local sparse appearance model via spatio-temporal context learning</article-title>,&#x201D; <source>IEEE Transactions on Image Processing</source><italic>,</italic> vol. <volume>27</volume>, no. <issue>9</issue>, pp. <fpage>4478</fpage>&#x2013;<lpage>4489</lpage>, <year>2018</year>.</mixed-citation></ref>
<ref id="ref-25"><label>[25]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>Z.</given-names> <surname>Li</surname></string-name>, <string-name><given-names>W.</given-names> <surname>Li</surname></string-name>, <string-name><given-names>F.</given-names> <surname>Lin</surname></string-name>, <string-name><given-names>Y.</given-names> <surname>Sun</surname></string-name>, <string-name><given-names>M.</given-names> <surname>Yang</surname></string-name> <etal>et al.,</etal></person-group> &#x201C;<article-title>Hybrid malware detection approach with feedback-directed machine learning</article-title>,&#x201D; <source>Science China Information Sciences</source><italic>,</italic> vol. <volume>63</volume>, no. <issue>139103</issue>, pp. <fpage>1</fpage>&#x2013;<lpage>3</lpage>, <year>2020</year>.</mixed-citation></ref>
<ref id="ref-26"><label>[26]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>M. I.</given-names> <surname>Jordan</surname></string-name> and <string-name><given-names>T. M.</given-names> <surname>Mitchell</surname></string-name></person-group>, &#x201C;<article-title>Machine learning: Trends, perspectives, and prospects</article-title>,&#x201D; <source>Science</source><italic>,</italic> vol. <volume>349</volume>, no. <issue>6245</issue>, pp. <fpage>255</fpage>&#x2013;<lpage>260</lpage>, <year>2015</year>.</mixed-citation></ref>
<ref id="ref-27"><label>[27]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>C.</given-names> <surname>Schuldt</surname></string-name>, <string-name><given-names>I.</given-names> <surname>Laptev</surname></string-name> and <string-name><given-names>B.</given-names> <surname>Caputo</surname></string-name></person-group>, &#x201C;<article-title>Recognizing human actions: A local SVM approach</article-title>,&#x201D; in <conf-name>Proc. of the 17th Int. Conf. on Pattern Recognition</conf-name>, <conf-loc>Cambridge, United Kingdom</conf-loc>, pp. <fpage>32</fpage>&#x2013;<lpage>36</lpage>, <year>2004</year>.</mixed-citation></ref>
</ref-list>
</back>
</article>