<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE article  PUBLIC "-//NLM//DTD Journal Publishing DTD v3.0 20080202//EN" "http://dtd.nlm.nih.gov/publishing/3.0/journalpublishing3.dtd"><article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" dtd-version="3.0" xml:lang="en" article-type="research article"><front><journal-meta><journal-id journal-id-type="publisher-id">JIS</journal-id><journal-title-group><journal-title>Journal of Information Security</journal-title></journal-title-group><issn pub-type="epub">2153-1234</issn><publisher><publisher-name>Scientific Research Publishing</publisher-name></publisher></journal-meta><article-meta><article-id pub-id-type="doi">10.4236/jis.2019.101001</article-id><article-id pub-id-type="publisher-id">JIS-88945</article-id><article-categories><subj-group subj-group-type="heading"><subject>Articles</subject></subj-group><subj-group subj-group-type="Discipline-v2"><subject>Computer Science&amp;Communications</subject></subj-group></article-categories><title-group><article-title>
 
 
  Implementation of Network Intrusion Detection System Using Soft Computing Algorithms (Self Organizing Feature Map and Genetic Algorithm)
 
</article-title></title-group><contrib-group><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Joël</surname><given-names>T. Hounsou</given-names></name><xref ref-type="aff" rid="aff1"><sup>1</sup></xref></contrib><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Thierry</surname><given-names>Nsabimana</given-names></name><xref ref-type="aff" rid="aff1"><sup>1</sup></xref><xref ref-type="corresp" rid="cor1"><sup>*</sup></xref></contrib><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Jules</surname><given-names>Degila</given-names></name><xref ref-type="aff" rid="aff1"><sup>1</sup></xref></contrib></contrib-group><aff id="aff1"><addr-line>Institut de Mathématiques et de Sciences Physiques, Porto-Novo, Benin, Université d’Abomey Calavi</addr-line></aff><pub-date pub-type="epub"><day>04</day><month>12</month><year>2018</year></pub-date><volume>10</volume><issue>01</issue><fpage>1</fpage><lpage>24</lpage><history><date date-type="received"><day>14,</day>	<month>October</month>	<year>2018</year></date><date date-type="rev-recd"><day>1,</day>	<month>December</month>	<year>2018</year>	</date><date date-type="accepted"><day>4,</day>	<month>December</month>	<year>2018</year></date></history><permissions><copyright-statement>&#169; Copyright  2014 by authors and Scientific Research Publishing Inc. </copyright-statement><copyright-year>2014</copyright-year><license><license-p>This work is licensed under the Creative Commons Attribution International License (CC BY). http://creativecommons.org/licenses/by/4.0/</license-p></license></permissions><abstract><p>
 
 
  In today’s world, computer network is evolving very rapidly. Most public or/and private companies set up their own local networks system for the purpose of promoting communication and data sharing within the companies. Unfortunately, their data and local networks system are under risks. With the advanced computer networks, the unauthorized users attempt to access their local networks system so as to compromise the integrity, confidentiality and availability of resources. Multiple methods and approaches have to be applied to protect their data and local networks system against malicious attacks. The main aim of our paper is to provide an intrusion detection system based on soft computing algorithms such as Self Organizing Feature Map Artificial Neural Network and Genetic Algorithm to network intrusion detection system. KDD Cup 99 and 1998 DARPA dataset were employed for training and testing the intrusion detection rules. However, GA’s traditional Fitness Function was improved in order to evaluate the efficiency and effectiveness of the algorithm in classifying network attacks from KDD Cup 99 and 1998 DARPA dataset. SOFM ANN and GA training parameters were discussed and implemented for performance evaluation. The experimental results demonstrated that SOFM ANN achieved better performance than GA, where in SOFM ANN high attack detection rate is 99.98%, 99.89%, 100%, 100%, 100% and low false positive rate is 0.01%, 0.1%, 0%, 0%, 0% for DoS, R2L, Probe, U2R attacks, and Normal traffic respectively.
 
</p></abstract><kwd-group><kwd>SOFM</kwd><kwd> Intrusion Detection Systems</kwd><kwd> False Positive Rate</kwd><kwd> Detection Rate</kwd><kwd> KDD Cup 99</kwd><kwd> GA</kwd></kwd-group></article-meta></front><body><sec id="s1"><title>1. General Introduction</title><p>In computer security field, an attacker or a hacker can be understood as an unauthorized user attempts to penetrate the security defenses and gain access to the network system in order to violate the integrity, confidentiality and availability of resources. The hackers constantly invent new attacks and disseminate them over the internet [<xref ref-type="bibr" rid="scirp.88945-ref1">1</xref>] . Securing network is a delicate step to protect a company from the most common risks emanating from the Internet as well as from its own local network system. To prevent attacks or to reduce their severity, many solutions exist but no one can be considered satisfactory and complete [<xref ref-type="bibr" rid="scirp.88945-ref2">2</xref>] .</p><p>An Intrusion Detection System (IDS) is currently a powerful tool used in many companies, institutions, universities and so for to protect their computer systems or/and computer networks from dangerous risks. It is divided into two parts such as Host based IDS and Network based IDS. Network based IDS monitoring all the traffic packets incoming and outgoing through the Internet, whereas Host based IDS is deployed locally on each host computer and monitoring only the host on which it is installed [<xref ref-type="bibr" rid="scirp.88945-ref3">3</xref>] . And then, there are two general categories of IDSs [<xref ref-type="bibr" rid="scirp.88945-ref4">4</xref>] : misuse detection and anomaly based. Misuse detection systems are most widely used and they detect intruders with known patterns. The signatures and patterns used to identify attacks consist of various fields of a network packet, like source address, destination address, source and destination ports or even some key words of the payload of a packet. These systems exhibit a drawback in the sense that only the attacks that already exist in the attack database can be detected, so this model needs continuous updating, but they have a virtue of having very low false positive rate. Anomaly detection systems identify deviations from normal behaviour and alert to potential unknown or novel attacks without having any prior knowledge of them. They exhibit higher rate of false alarms, but they have the ability of detecting unknown attacks and perform their task of looking for deviations much faster.</p><p>Self Organizing Feature Map Artificial Neural Network (SOFMANN) is unsupervised learning algorithm. For that reason, no human assistance needed during the training process. It is used in varied domains like in computer security as detector module. It can detect both known and novel attacks. Each sample data point from the input data space is shown in parallel to all the neurons in the SOM, and the winner is chosen to be the neuron that responds best [<xref ref-type="bibr" rid="scirp.88945-ref5">5</xref>] . It is a delicate algorithm used for visualization and presentation of complex data. It converts the input nodes from high dimensional to the low dimensional output nodes (1-D, 2-D or 3-D).</p><p>Genetic Algorithm (GA) operates on a population of potential solutions applying the principle of survival of the fittest to produce better and better approximations to the solution of the problem that GA is trying to solve and at each generation, a new set of approximations is created by the process of selecting individuals according to their level of fitness value in the problem domain and breeding them together using the operators borrowed from the genetic process performed in nature, i.e. crossover and mutation [<xref ref-type="bibr" rid="scirp.88945-ref6">6</xref>] .</p><p>GA is chosen because of some of its nice properties, e.g., robust to noise, no gradient information is required to find a global optimal or sub-optimal solution, self-learning capabilities, etc. Using GAs for network intrusion detection has proven to be a cost-effective approach [<xref ref-type="bibr" rid="scirp.88945-ref7">7</xref>] [<xref ref-type="bibr" rid="scirp.88945-ref8">8</xref>] [<xref ref-type="bibr" rid="scirp.88945-ref9">9</xref>] [<xref ref-type="bibr" rid="scirp.88945-ref10">10</xref>] . Moreover, Self Organizing Feature Maps (SOFM) is chosen among the soft computing algorithms because it is proven technique for automated clustering and visual organization and anomaly detection in IDS.</p><p>Our main aim is to provide an intrusion detection system based on soft computing algorithms such as Self Organizing Feature Map Artificial Neural Network and Genetic Algorithm to network intrusion detection system so as to classify four categories of network attacks including normal traffic namely DOS, Probe, R2L, U2L and Normal. KDD Cup 99 and 1998 DARPA dataset were applied for training and testing the intrusion detection rules. The traditional Fitness Function of Genetic Algorithm was also improved for performance evaluation. The experimental results shown good detection rate and law false positive rate for different attack types trained and tested with SOFM, whereas GA has maintained very high detection rate for different attack types but with high false positive rate which leads to very poor accuracy of anomaly detection system.</p><p>The main contribution of this work is to demonstrate the performance of the SOFM artificial neural network compared with the GA in the detection rate comparison of different attack types, including normal traffic.</p><p>The remainder of the paper is articulated into seven sections: Section 2 discusses problem statement. Section 3 presents a brief overview of Self Organizing Feature Map Artificial Neural Network (SOFMANN) and Genetic Algorithm (GA). Section 4 describes related works. Section 5 demonstrates our proposed Network Intrusion Detection System Framework. Section 6 presents the experimental results and Section 7 presents the conclusion and future work.</p></sec><sec id="s2"><title>2. Problem Statement</title><p>Most public or/and private companies, Banks, Institutions and Universities defeat against network attacks by applying varied traditional or advanced security methods namely firewalls, Antivirus and intrusion detection systems. The IT Managers of the companies, Banks, Institutions and Universities suffer from the lack of efficient security methods to secure multiple departments of their Companies, Banks and Universities before computer network attack. It is a challenging security issues for IT Managers of the companies to protect their data and network systems from attacks with rapidly growing volume of network traffic and the number of attacks. Multiple commercials and open source Network Intrusion Detection Systems are currently used in the companies, banks and so far to protect their information and local network systems from attacks. Unfortunately, the Intrusions Detection Systems (IDSs) suffer from high false positive rate generated by Anomaly detection method which leads to very poor accuracy of anomaly detection system and high false negative rate generated by Misuse or Signature detection method due to the inability of detecting unknown attacks.</p></sec><sec id="s3"><title>3. Brief Overview of Self Organizing Feature Map Artificial Neural Network and Genetic Algorithm</title><sec id="s3_1"><title>3.1. Brief Overview of Self Organizing Feature Map Artificial Neural Network</title><p>Self Organizing Feature Map is a type of neural network. Neural network is classified into two types of learning namely unsupervised and supervised learning. Unsupervised learning comprises two categories of Algorithms namely Self Organizing Feature Map (SOFM) and Adaptive Resonance Theory (ART), whereas Supervised learning comprises Radial Basis Function (RBF) and Multi Layer Perceptron Algorithms. The SOFM is an unsupervised learning algorithm because no human assistance needed during the learning process. The main role of the SOFM is to transform high dimensional of the input vector randomly chosen to low dimensional (1-D or 2-D). The SOFM algorithm is first developed by Teuvo Kohonen, Finnish Professor in 1982 known as Kohonen SOFM. It is designed for visualization and representation of huge amount of data, where human brain can easly undastand. And then, the structure of the SOFM is a single feed forward network [<xref ref-type="bibr" rid="scirp.88945-ref11">11</xref>] , where each input vector is directory connected to each neuron in the Map. But the neurons in the Kohonen Map are not linked to each other. The number of the input dimensions is usually higher than the output dimensions. It is used in various applications namely image processing, voice recognition, speech recognition, spatial data mapping, data compression, pattern recognition, text mining and so on [<xref ref-type="bibr" rid="scirp.88945-ref12">12</xref>] .</p><p>The Self Organizing Feature Map is a competitive learning algorithm, where each neuron in the Map competes so that the neuron which responds better is selected as the Best Matching Unit (BMU) or winning neuron. The neurons which are around the winner, is called neighborhood. The weights of the neurons close to the winning neuron are also adjusted but the magnitude of the change depends on the physical distance from the winning neuron and it is also decreased with the time [<xref ref-type="bibr" rid="scirp.88945-ref13">13</xref>] . Six stage of the learning process are listed and briefly described below:</p><p>• Stage 1: Each neuron’s weights in the network of x dimension is randomly initialized;</p><p>• Stage 2: The randomly selected input vectors from huge amount of training datasets are fred to SOFM network;</p><p>• Stage 3: The Euclidean Distance between the input vectors and neuron’s weights are computed to determine the winning neuron or Best Matching Unit (BMU).</p><p>To determine the Best Matching Unit (BMU), an iterative process is performed by each node in the network and the Euclidean Distance between the weight vector of each node and the current input vector is calculated. The node with the weight vector closest to the input vector is labeled as BMU [<xref ref-type="bibr" rid="scirp.88945-ref14">14</xref>] . To do that, we have two points such as I ( I 1 , I 2 , ⋯ , I n ) known as input vector and W ( W 1 , W 2 , ⋯ , W n ) known as weight vector of each neuron. The Euclidean Distance is computed as follows:</p><p>D = ‖ I n − W n ‖ = ( I 1 − W 1 ) 2 + ( I 2 − W 2 ) 2 + ⋯ + ( I n − W n ) 2 (1)</p><p>• Stage 4: The radius of the neighborhood closer to the winning neuron or BMU has the chance to be computed but the farthest one from the Best Matching Unit has no chance to be calculated.</p><p>The size of the neighborhood decreases progressively with n Epoch. All of the neurons around this radius are labeled neighbors of the winning neuron. To determine the neighborhood in the SOFM network which are closer the BMU, radius must be computed as follows:</p><p>r ( t ) = r 0 exp ( − t / λ ) (2)</p><p>where r(t) means the width of the lattice in time t, r 0 means the width of the lattice in time t 0 , t means a time or an iteration of the epoch and λ means a constant time t (current time).</p><p>• Stage 5: Both the Best Matching Unit neuron and its neighborhood weights are adjusted in order to respond better. The closest neurons within the neighborhood are more adjusted than the furthest neurons;</p><p>W ( t + 1 ) = W ( t ) + Θ ( t ) K ( t ) ( I ( t ) − W ( t ) ) (3)</p><p>where t means the time and K means the learning rate at time t, which decreases progressively in time. And then, the weight at time t + 1 is set to neighborhood nodes from the current instant weight W(t), plus a fraction K(t), the difference between the current weight of “W(t)” neuron and the input vector called I(t), adjusted (theta) based on distance from the BMU [<xref ref-type="bibr" rid="scirp.88945-ref15">15</xref>] .</p><p>In Equation (3) the learning rate at time t can be calculated using an exponential decay function.</p><p>K ( t ) = K 0 exp ( − t / λ ) (4)</p><p>In Equation (3), represents the amount of influence that the distance from one node to the BMU has on their learning, in the current time instant is calculated using Gaussian curve [<xref ref-type="bibr" rid="scirp.88945-ref15">15</xref>] .</p><p>Θ ( t ) = exp ( − D 2 / 2 r 2 ( t ) ) (5)</p><p>where D is a distance from one neuron to the winning neuron and r is the radius of the neighborhood. The function also decreases progressively in time.</p><p>• Stage 6: Go to Stage 2 if the number of epochs is not reached.</p></sec><sec id="s3_2"><title>3.2. Brief Overview of Genetic Algorithm</title><p>Genetic Algorithm is an optimization technique using an evolutionary process [<xref ref-type="bibr" rid="scirp.88945-ref16">16</xref>] . Network connection in dataset is represented as chromosome. Fitness Function of Genetic Algorithm is a powerful metric used to evaluate each individual population in the training dataset so as to determine the good solution and to discard the bad one. An evolutionary process of Genetic Algorithm starts where initial population is randomly generated. Each population is now evaluated to find out the best results based on the predefined criteria. For that reason, the fitness value of each population or chromosomes are determined using the Fitness Function. The best fitness values are kept and the worst are prunned from the top list. The best individual populations are selected and undergo crossover and mutation to reproduce new children. This new children knwon as new population is applied for the next generation. The process continues until the number of generations or epochs has been terminated. <xref ref-type="fig" rid="fig1">Figure 1</xref> showed the Genetic Algorithm process.</p><p>As displayed in <xref ref-type="fig" rid="fig1">Figure 1</xref>, Genetic Algorithm (GA) consists of three operators namely selection, crossover or recombination and mutation.</p></sec><sec id="s3_3"><title>3.3. Data Structure</title><p>In Genetic Algorithm data structure is represented as chromosome. The rules to match the attacks are randomly generated and are encoded as an integer array with seven attributes, as displayed in <xref ref-type="table" rid="table1">Table 1</xref>. The first six attributes of the chromosome match the condition A of an attack. The seventh attribute identifies the attack type that the first six attributes identify when they match. The same data representation is also used by Ms.Lata Jadhav [<xref ref-type="bibr" rid="scirp.88945-ref16">16</xref>] .</p><table-wrap id="table1" ><label><xref ref-type="table" rid="table1">Table 1</xref></label><caption><title> Selected attributes</title></caption><table><tbody><thead><tr><th align="center" valign="middle" >Feature Name</th><th align="center" valign="middle" >Format</th><th align="center" valign="middle" >Number of Genes</th></tr></thead><tr><td align="center" valign="middle" >Duration</td><td align="center" valign="middle" >h:m:s</td><td align="center" valign="middle" >3</td></tr><tr><td align="center" valign="middle" >Protocol</td><td align="center" valign="middle" >Int</td><td align="center" valign="middle" >1</td></tr><tr><td align="center" valign="middle" >Source_port</td><td align="center" valign="middle" >Int</td><td align="center" valign="middle" >1</td></tr><tr><td align="center" valign="middle" >Destination_port</td><td align="center" valign="middle" >Int</td><td align="center" valign="middle" >1</td></tr><tr><td align="center" valign="middle" >Source_IP</td><td align="center" valign="middle" >a.b.c.d</td><td align="center" valign="middle" >4</td></tr><tr><td align="center" valign="middle" >Destination_IP</td><td align="center" valign="middle" >a.b.c.d</td><td align="center" valign="middle" >4</td></tr><tr><td align="center" valign="middle" >Attack_name</td><td align="center" valign="middle" >Int</td><td align="center" valign="middle" >1</td></tr></tbody></table></table-wrap><p>Before evaluating the individual population from training dataset, the rules to match the attack types must be constructed correctly in order to classify successfull abnormal behaviours and normal traffic. And thus, Too many wildcards in the constructed rules are forbidden because they sometime block the connections and lead to very poor accuracy. The gene representation follows the simple rule if A then B, where if the first six attributes are logically and-ed together are true (A), then the rule matches the attack (B) [<xref ref-type="bibr" rid="scirp.88945-ref16">16</xref>] . The rule used to classify network connection in training data as well as U2R attack rlogin is explained below:</p><p>if (Duration = “0:0:14” and Protocol = “rlogin” and Source_port = 1022 and Destination_ port = 513 and Source_ip = “192.168.1.30” and Destination_ip = “192.168.0.20”) then Attack_name = “rlogin”.</p><p>The above rule shows that if a network packet is originated from source IP address 192.168.1.30 and source port 1022, and sent to destination IP address 192.168.0.20 and destination port 513 using the protocol rlogin, and the connection duration is 0:0:14 second, then it is a network attack of type rlogin.</p></sec><sec id="s3_4"><title>3.4. The Existing and Improved Traditional Fitness Function</title><p>Traditional Fitness Function was defined by Man Leung Wong and Kwong Sak Leung (2000) [<xref ref-type="bibr" rid="scirp.88945-ref17">17</xref>] . It is based on the support-confidence framework and It is a performance measure used to determine the fitness value of individuals in the population. The best individuals in the population are selected according to the predefined fitness value threshhold. The fitness value is evaluated by determining how many attack connections the rule matches [<xref ref-type="bibr" rid="scirp.88945-ref18">18</xref>] . The traditional Fitness Function is built with two weights parameters such as w1 and w2 with default values 0.2, 0.8 respectively. Those weights are used to control the balance between the confidence and support during the training. This traditional Fitness Function generates in one hand the rules with low fitness value and the other hand with good fitness value.</p><p>To increase the fitness value of the generated rules, we have proposed two paramaters such as l1 and l2 known as lifts. The lifts l1 and l2, whose values are in the range of [−1.0.0.1.0], are used to increase the fitness value of the rules used in classifying the attack types, and used also to control the balance between the support and confidence. The generated rule with less fitness value has no chance to identify attack types. On the contrary, the rules with high fitness value have the chance in identifying attack types successful. <xref ref-type="fig" rid="fig2">Figure 2</xref> shows the existing traditional Fitness Function, whereas <xref ref-type="fig" rid="fig3">Figure 3</xref> shows the improved traditional Fitness Function. An experimental assessment of this improved traditional Fitness Function is presented in Section 6.1.</p><p>1) The existing traditional Fitness Function:</p><p>N: Total number of network connection rules in the training dataset;</p><p>|A|: Number of rules match the condition A;</p><p>|A and B|: Number of network connections match the rule if A then B;</p><p>w1, w2: weights employed to balance or control support and confidence.</p><p>2) The Improved traditional Fitness Function</p><p>T: Total number of connection rules in the training dataset;</p><p>|X|: Number of connections matching the condition X;</p><p>|X and Y|: Connection matching rule if X then Y;</p><p>w1, w2: weights used to balance or control two terms: support and confidence;</p><p>l1, l2: lifts used to increase the fitness value of rules and to balance the support-confidence. lift values is in the range of [−1.0.0.1.0].</p><p><xref ref-type="table" rid="table2">Table 2</xref> displays a sample of a population individual rule t matching against a training dataset. We need to compute the fitness value using the two formulas carried out on <xref ref-type="fig" rid="fig2">Figure 2</xref> and <xref ref-type="fig" rid="fig3">Figure 3</xref>. And thus, the training data and population individual rule t are displayed on <xref ref-type="table" rid="table2">Table 2</xref>. The condition part of the first 14 network features of the rule 4 and 11 in the training data match a population individual t. Moreover, the rule of 4 and 11 match the outcome part of 15 network features, where It indicates the classification of attack type.</p><p>The obtained results trained with the existing traditional Fitness Function is displayed on <xref ref-type="fig" rid="fig4">Figure 4</xref> and the obtained results trained with the improved traditional Fitness Function is shown on <xref ref-type="fig" rid="fig5">Figure 5</xref>.</p><p>However, after computation of fitness value using both formulas, the fitness value of 90.6% found using the improved traditional Fitness Function is greater than the fitness value of 83.2% obtained using the existing traditional Fitness Function. It was concluded that the best population individual’s fitness value obtained from the improved traditional Fitness Function has chance to identify attack types successfully. For that reason, this improved trational Fitness Function will be applied in our experiments to generate best rules used in identifying malicious attacks from the KDD Cup 99 and 1998 DARPA dataset.</p></sec><sec id="s3_5"><title>3.5. Crossover and Mutation Operators</title><p>1) Individual Crossover Operator</p><table-wrap id="table2" ><label><xref ref-type="table" rid="table2">Table 2</xref></label><caption><title> Sample of a population individual rule t matching against a training dataset</title></caption><table><tbody><thead><tr><th align="center" valign="middle"  rowspan="2"  >ID</th><th align="center" valign="middle"  colspan="3"  >DURATION</th><th align="center" valign="middle"  rowspan="2"  >PROTOCOL</th><th align="center" valign="middle"  rowspan="2"  >SRC PORT</th><th align="center" valign="middle"  rowspan="2"  >DST PORT</th><th align="center" valign="middle"  colspan="4"  >SRC IP</th><th align="center" valign="middle"  colspan="4"  >DST IP</th><th align="center" valign="middle"  rowspan="2"  >ATTACK NAME</th></tr></thead><tr><td align="center" valign="middle" >H</td><td align="center" valign="middle" >M</td><td align="center" valign="middle" >S</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >2</td><td align="center" valign="middle" >3</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >2</td><td align="center" valign="middle" >3</td></tr><tr><td align="center" valign="middle" >1</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >126</td><td align="center" valign="middle" >telnet</td><td align="center" valign="middle" >1754</td><td align="center" valign="middle" >23</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >30</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >20</td><td align="center" valign="middle" >-</td></tr><tr><td align="center" valign="middle" >2</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >htp</td><td align="center" valign="middle" >1784</td><td align="center" valign="middle" >80</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >30</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >40</td><td align="center" valign="middle" >phf</td></tr><tr><td align="center" valign="middle" >3</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >finger</td><td align="center" valign="middle" >240</td><td align="center" valign="middle" >79</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >30</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >40</td><td align="center" valign="middle" >port-scan</td></tr><tr><td align="center" valign="middle" >4</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >14</td><td align="center" valign="middle" >rlogin</td><td align="center" valign="middle" >1022</td><td align="center" valign="middle" >513</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >30</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >20</td><td align="center" valign="middle" >rlogin</td></tr><tr><td align="center" valign="middle" >5</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >2</td><td align="center" valign="middle" >rsh</td><td align="center" valign="middle" >1023</td><td align="center" valign="middle" >1021</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >30</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >20</td><td align="center" valign="middle" >rcp</td></tr><tr><td align="center" valign="middle" >6</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >38</td><td align="center" valign="middle" >telnet</td><td align="center" valign="middle" >1042</td><td align="center" valign="middle" >23</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >30</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >20</td><td align="center" valign="middle" >-</td></tr><tr><td align="center" valign="middle" >7</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >smtp</td><td align="center" valign="middle" >43494</td><td align="center" valign="middle" >25</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >40</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >30</td><td align="center" valign="middle" >-</td></tr><tr><td align="center" valign="middle" >8</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >smtp</td><td align="center" valign="middle" >43493</td><td align="center" valign="middle" >25</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >40</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >30</td><td align="center" valign="middle" >-</td></tr><tr><td align="center" valign="middle" >9</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >telnet</td><td align="center" valign="middle" >1769</td><td align="center" valign="middle" >23</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >30</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >20</td><td align="center" valign="middle" >-</td></tr><tr><td align="center" valign="middle" >10</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >22</td><td align="center" valign="middle" >telnet</td><td align="center" valign="middle" >1906</td><td align="center" valign="middle" >23</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >30</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >20</td><td align="center" valign="middle" >guess</td></tr><tr><td align="center" valign="middle" >11</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >14</td><td align="center" valign="middle" >rlogin</td><td align="center" valign="middle" >1022</td><td align="center" valign="middle" >513</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >30</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >20</td><td align="center" valign="middle" >rlogin</td></tr><tr><td align="center" valign="middle" >12</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >4</td><td align="center" valign="middle" >telnet</td><td align="center" valign="middle" >1914</td><td align="center" valign="middle" >23</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >30</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >20</td><td align="center" valign="middle" >telnet</td></tr><tr><td align="center" valign="middle"  colspan="16"  >Population Individual rule</td></tr><tr><td align="center" valign="middle" >t</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >14</td><td align="center" valign="middle" >-1</td><td align="center" valign="middle" >-1</td><td align="center" valign="middle" >-1</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >30</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >20</td><td align="center" valign="middle" >rlogin</td></tr></tbody></table></table-wrap><p>In the crossover operation, the best population individuals undergo crossover operator, where population individuals randomly selected involved in swapping genes of two parents with one an another to form two new children from each pair of parents. Crossover probability for a pair of parents were used in our experiments for performance evaluation of our implemented system. In Genetic Algorithm, there are three categories of crossover namely one point crossover, two point crossover and uniform crossover. Two point crossover technique will be used in our experiments. <xref ref-type="fig" rid="fig6">Figure 6</xref> shows a sample of crossover operator.</p><p>2) Individual Mutation Operator</p><p>Mutation operator participates in modifying one or more genes value of single population individual due to the repeated use of crossover operator. For our experiment, mutation probability was employed. <xref ref-type="fig" rid="fig7">Figure 7</xref> shows a sample of mutation operator carried out on single population individual.</p></sec></sec><sec id="s4"><title>4. Related Work</title><p>An Intrusion Detection System is a powerful tool used to secure company’s data from risks emanating from the public Internet as well as from their own local network system. Too many papers based on an IDS were published and some contributions were given. And thus, multiple soft computing algorithms were also used to support an Intrusion Detection System for reducing False Negative rate and False Positive rate generated by Anomaly detection method and Signature detection method. Most of them are Genetic Algorithms, Self Organizing Feature Maps Neural Network, Fuzzy Logic and so for. When used for intrusion detection, soft computing is a general term for describing a set of optimization and processing techniques that are tolerant of imprecision and uncertainty [<xref ref-type="bibr" rid="scirp.88945-ref19">19</xref>] .</p><p>In 2012, Xueying Jiang and Kean Liu [<xref ref-type="bibr" rid="scirp.88945-ref20">20</xref>] described some of the issues of SOM neural network algorithm such as: false alarm rate, false negative rate, training time and give an improved anomaly detection SOM algorithm. They also give the intelligent detection model and the model of the training module, designed the main realization of FPSOM neural network algorithm. The simulation experiments were carried out in KDDCUP data sets. In 2009, E. J. Palomo, E. Domnguez, R. M. Luque, and J. Muoz [<xref ref-type="bibr" rid="scirp.88945-ref21">21</xref>] proposed a neural network model based on self organization for detecting intrusions. Growing Hierarchical SOM (GHSOM) was proposed to addresse the limitations of the SOM related to the static architecture of this model. KDD Cup 1999 benchmark was used for training the proposed GHSOM. In 2015, EMIRO DE LA HOZ FRANCO and ANDRES ORTIZ GARCIA [<xref ref-type="bibr" rid="scirp.88945-ref14">14</xref>] provided an implementation of an Intrusion Detection System based on Self Organizing Map and identified a methodology to validate the effectiveness of an Intrusion Detection Systems proposed in three phases (selection, training and classification) using FDR to feature selection and Self Organizing Maps to training-classification. In 2014, Kruti Choksi and Prof. Bhavin Shah [<xref ref-type="bibr" rid="scirp.88945-ref5">5</xref>] presented a survey which focused on IDS using Self Organizing Map and their survey shows that the existing IDS based on SOM have poor detection rate for U2R and R2L attacks. To overcome these issues, the improvement should be conducted. The normalization technique should be used to improve it. During the survey they also found that HSOM and GHSOM are advance model of SOM which have their own unique feature for better performance of IDS. In 2009, M. Bahrololum, E. Salahi and M. Khaleghi [<xref ref-type="bibr" rid="scirp.88945-ref22">22</xref>] proposed a new approach to design the system using a hybrid of misuse and anomaly detection for training of normal and attack packets respectively and the combination of unsupervised and supervised Neural Network (NN) for Intrusion Detection System were used. By the unsupervised NN based on Self Organizing Map (SOM), attacks will be classified into smaller categories considering their similar features. In 2006, Liberios VOKOROKOS and Anton BAL [<xref ref-type="bibr" rid="scirp.88945-ref23">23</xref>] present intrusion detections systems and design architecture of intrusion detection based on neural network self organizing map and described base problematic of neural network and intrusion detection system. Their work deals with specific design of intrusion detection architecture based on user anomaly behavior.</p><p>In the work done by B. Abdullah [<xref ref-type="bibr" rid="scirp.88945-ref6">6</xref>] , he implemented an Intrusion Detction System by using Genetic Algorithm. Genetic parameters were discussed and implemented. He also applied a linear structure rule to classify normal connections and abnormal connections successfully. KDD99 Benchmark was evaluated with the implemented system. The obtained results showed high detection rate 99.87% and low False Positive rate 0.003%. His results were compared with available machine learning technique. Nitin Gupta [<xref ref-type="bibr" rid="scirp.88945-ref24">24</xref>] for him, he carried out an implementation of a network Intrusion Detction System using Genetic Algorithm to detect Denial of Service attacks. The implemented IDS was used to detect network intrusions. Fitness and Probabilistic approach were used to compute the optimality of the proposed new attack pattern. NSL-KDD dataset was used for training and testing purpose. Thus, Ms. Lata Jadhav [<xref ref-type="bibr" rid="scirp.88945-ref16">16</xref>] , he implemented an IDS using Genetic Algorithm approach to derive the set of classification rules from audit data and traditional fitness function with support-confidence framework was used to measure the quality of each rule. The generated rules were used to detect or identify network intrusions. Experimental results show high detection rates based on Benchmark DARPA dataset.</p></sec><sec id="s5"><title>5. Proposed Network Intrusion Detection System Framework</title><p>Our proposed Network Intrusion Detection System Framework based on soft computing algorithms (Self Organizing Feature Map Artificial Neural Network and Genetic Algorithm) is split into four phases namely: Datasets mining Phase, Preprocessing Phase, Training and Testing Phase. As displayed in <xref ref-type="fig" rid="fig8">Figure 8</xref>.</p><sec id="s5_1"><title>5.1. Datasets Mining Phase</title><p>For the first phase of our system, the datasets to be mined with our proposed NIDS are KDD CUP 99 and 1998 DARPA dataset. The KDD CUP 99 is one of the most datasets used to train and to test the intrusion detection rules. The KDD Cup 99 dataset is the subset of 1998 DARPA dataset that was collected by simulation of the operation of a typical USA Air Force Local Area Network (LAN) with multiple attacks classified into four categories: probe, denial of service, user to root and remote to local. KDD Cup 99 dataset records contain 41 features which fall into four categories: basic, traffic, content and host related ones [<xref ref-type="bibr" rid="scirp.88945-ref25">25</xref>] . And thus, 1998 DARPA Dataset (Defense Advanced Research Projects Agency) was invented in 1998 by MIT Lincoln Labs for the purpose of evaluating intrusion detection systems on offline environment. Moreover, many existing datasets such as KDD 99, DARPA, Kyoto 2006 and other public dataset, are uncontrollable, unmodifiable, and may contain old types of attack [<xref ref-type="bibr" rid="scirp.88945-ref26">26</xref>] .</p></sec><sec id="s5_2"><title>5.2. Preprocessing Phase</title><p>Genetic Algorithm (GA) and Self Organizing Feature Maps Neural Network (SOFM) cannot handle symbolic features. For that reason, two subsets training and testing dataset from KDD Cup 99 dataset were picked, the transformation of string to numerical value were carried out, the normalization of the transformed data was done and suitable network features were selected for better accuracy. The preprocessing phase of our proposed system consists of three parts, as can be seen in <xref ref-type="fig" rid="fig8">Figure 8</xref>:</p><p>• Extraction of datasets: Training and testing datasets were picked from KDD Cup 99 dataset. These two subsets data were used to measure the performance of GA and SOFM Neural Network in intrusion detection rules.</p><p>• Converting string to numerical values: The network features containing the symbolic form named protocol type, Service and Flag were converted to numerical values by affecting unique number for each network feature.</p><p>• Normalization of the numerical values: After conversion to numerical values, we then convert the numerical vector into the binary or normalized (in interval [0,1]) [<xref ref-type="bibr" rid="scirp.88945-ref27">27</xref>] , this was done 1) to ensure that one feature did not overpower another (for those with large units) and 2) to speed up training and convergence time by using smaller numbers and the precise method is represented by this equation:</p><p>Data_Normalized = ( X − mean ( X ) ) / stddev ( X ) (6)</p><p>where X represents each column in the dataset.</p><p>• Network features selection: 41 network features in the KDD Cup 99 dataset were selected and trained, tested with Genetic Algorithm and Self Organizing Feature Map Artificial Neural Network. And 7 network features in 1998 DARPA dataset was selected and trained with Genetic Algorithm for producing rules used in identifying network attacks.</p></sec><sec id="s5_3"><title>5.3. Training and Testing Phase Using GA and SOFM</title><p>The proposed Network Intrusion Detection System based on soft computing algorithms SOFM Artificial Neural Network and GA comprises two modules namely Training and testing phase. In the training phase, a set of classification rules are generated from KDD Cup 99 and 1998 DARPA using the SOFM and GA in an offline environment, whereas, in the testing phase, the generated rules are used to classify incoming network connections in the real time environment and once the rules are generated, the intrusion detection is simple and efficient [<xref ref-type="bibr" rid="scirp.88945-ref6">6</xref>] .</p></sec><sec id="s5_4"><title>5.4. The Proposed Architecture of SOFM Artificial Neural Network</title><p>The proposed architecture of Self Organizing Feature Map ANN is displayed in <xref ref-type="fig" rid="fig9">Figure 9</xref>.</p><p>Our proposed architecture of Self Organizing Feature Map artificial neural network consists of two layers namely: an input node and an output node. The input nodes indicates 41 network features from KDD CUP 99 dataset, which are symbolized in short form as F1, F2, F3, ..., F40 and F41 means Feature 1, Feature 2, Feature 3 until Feature 41. In other way, we have 41 dimensions of the input nodes. The output nodes consists of five outputs N1, N2, N3, N4 and N5 known as nodes were to classify five class of attack types including normal traffic namely DoS, Probe, R2L, U2L and Normal as classification problem. Each node’s map namely N1, N2, N3, N4 and N5 receives 41 coordinates (w11, w12, w13, ..., w140, w141) and each node’s Map is connected to each input node but node’s Map are not connected to each other in the Kohonen network. The Map dimension was initially set (25,25), epochs were initially set 100, learning rate was initially set 0.2 and neighborhood radius was initially set 16. Our proposed SOFM Neural Network was trained for each class of attack types as classification problem in order to evaluate the performance of the algorithm on individual attacks.</p></sec></sec><sec id="s6"><title>6. Experimental Results</title><p>In this section, we present the obtained results using Genetic Algorithm (GA) and Self Organizing Feature Map Artificial Neural Network trained and tested on KDD Cup 99 and 1998 DARPA. The purpose of our experiments is to show the detection rate, False Positive rate and Classification time comparison for different attack types. The experiments were performed on EliteBook 6930p laptop with Intel<sup>&#174;</sup> core<sup>TM</sup> 2 Duo CPU P8600@ 2.40 GHz &#215; 2 and 4 GB of RAM. The operating system was type 64-bit using Debian 9 stretch and hard drive 350 GB. Our system was implemented using Python 2.7.13.</p><sec id="s6_1"><title>6.1. Performance Measures</title><p>To evaluate our system, the two standard metrics of detection rate and false positive rate developed for network intrusions, have been used [<xref ref-type="bibr" rid="scirp.88945-ref6">6</xref>] : Detection rate (DR) is computed as the ratio between the number of correctly detected intrusions and the total number of intrusions, that is</p><p>DR = True Positive False Negative + True Positive (7)</p><p>False positive (FP) (also said false alarm) rate is computed as the ratio between the numbers of normal connections that are incorrectly classifies as intrusions and the total number of normal.</p><p>FP = False Positive True Negative + False Positive (8)</p></sec><sec id="s6_2"><title>6.2. Self Organizing Feature Map and Genetic Algorithm Training Parameters</title><p><xref ref-type="table" rid="table3">Table 3</xref> displayed the used Genetic Algorithm training parameters during the traing and testing process of our system. And thus, <xref ref-type="table" rid="table4">Table 4</xref> is shown the SOFM training parameters.</p></sec><sec id="s6_3"><title>6.3. Simulation Outcomes Obtained Using GA and SOFM</title><p>Our first experiment compares our own solutions generated by our implemented GAIDS which applies the improved traditional Fitness Function as</p><table-wrap id="table3" ><label><xref ref-type="table" rid="table3">Table 3</xref></label><caption><title> GA parameters for performance evaluation</title></caption><table><tbody><thead><tr><th align="center" valign="middle"  colspan="5"  >GA parameters for performance evaluation</th></tr></thead><tr><td align="center" valign="middle" >w1</td><td align="center" valign="middle" >w2</td><td align="center" valign="middle" >Generation number</td><td align="center" valign="middle" >Population size</td><td align="center" valign="middle" >Crossover_Technique</td></tr><tr><td align="center" valign="middle" >0.2</td><td align="center" valign="middle" >0.8</td><td align="center" valign="middle" >5000</td><td align="center" valign="middle" >400</td><td align="center" valign="middle" >two points crossover</td></tr></tbody></table></table-wrap><table-wrap id="table4" ><label><xref ref-type="table" rid="table4">Table 4</xref></label><caption><title> Self organizing feature map neural network parameters</title></caption><table><tbody><thead><tr><th align="center" valign="middle"  colspan="4"  >Simulation parameters for SOFM</th></tr></thead><tr><td align="center" valign="middle" >Cluster Unit</td><td align="center" valign="middle" >Epochs</td><td align="center" valign="middle" >Learning rate</td><td align="center" valign="middle" >Neighborhood_Radius</td></tr><tr><td align="center" valign="middle" >625</td><td align="center" valign="middle" >100</td><td align="center" valign="middle" >0.2</td><td align="center" valign="middle" >16</td></tr></tbody></table></table-wrap><p>shown on <xref ref-type="fig" rid="fig3">Figure 3</xref> with NetGA [<xref ref-type="bibr" rid="scirp.88945-ref28">28</xref>] which uses traditional fitness function [<xref ref-type="bibr" rid="scirp.88945-ref17">17</xref>] [<xref ref-type="bibr" rid="scirp.88945-ref29">29</xref>] [<xref ref-type="bibr" rid="scirp.88945-ref30">30</xref>] , and both are trained with 1998 DARPA training sample dataset bsm. list [<xref ref-type="bibr" rid="scirp.88945-ref31">31</xref>] using the Genetic Algorithm parameters as displayed in <xref ref-type="table" rid="table3">Table 3</xref>.</p><p><xref ref-type="table" rid="table5">Table 5</xref> shows the rules generated by NetGA and <xref ref-type="table" rid="table6">Table 6</xref>, <xref ref-type="table" rid="table7">Table 7</xref> show the rules produced by our Implemented GAIDS. The simulation outcomes produced by NetGA shows that this system was able to print to the standard</p><table-wrap id="table5" ><label><xref ref-type="table" rid="table5">Table 5</xref></label><caption><title> Outcomes from NetGA [<xref ref-type="bibr" rid="scirp.88945-ref28">28</xref>] </title></caption><table><tbody><thead><tr><th align="center" valign="middle" ></th><th align="center" valign="middle" >H</th><th align="center" valign="middle" >M</th><th align="center" valign="middle" >S</th><th align="center" valign="middle" >Protocol</th><th align="center" valign="middle" >Src Port</th><th align="center" valign="middle" >Dest</th><th align="center" valign="middle"  colspan="4"  >Source IP Address</th><th align="center" valign="middle"  colspan="4"  >Destination</th><th align="center" valign="middle" >Attack</th><th align="center" valign="middle" >Fitness</th></tr></thead><tr><td align="center" valign="middle" >1</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >5</td><td align="center" valign="middle" >Telnet</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >30</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >20</td><td align="center" valign="middle" >rcp</td><td align="center" valign="middle" >0</td></tr><tr><td align="center" valign="middle" >2</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >42</td><td align="center" valign="middle" >telnet</td><td align="center" valign="middle" >1832</td><td align="center" valign="middle" >513</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >30</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >20</td><td align="center" valign="middle" >rcp</td><td align="center" valign="middle" >0</td></tr><tr><td align="center" valign="middle" >3</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >19</td><td align="center" valign="middle" >rsh</td><td align="center" valign="middle" >1022</td><td align="center" valign="middle" >23</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >30</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >20</td><td align="center" valign="middle" >rlogin</td><td align="center" valign="middle" >0</td></tr><tr><td align="center" valign="middle" >4</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >20</td><td align="center" valign="middle" >smtp</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >23</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >30</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >20</td><td align="center" valign="middle" >rcp</td><td align="center" valign="middle" >0</td></tr><tr><td align="center" valign="middle" >5</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >14</td><td align="center" valign="middle" >rsh</td><td align="center" valign="middle" >43587</td><td align="center" valign="middle" >23</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >30</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >20</td><td align="center" valign="middle" >rcp</td><td align="center" valign="middle" >0</td></tr><tr><td align="center" valign="middle" >6</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >rlogin</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >23</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >40</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >20</td><td align="center" valign="middle" >guess</td><td align="center" valign="middle" >0</td></tr><tr><td align="center" valign="middle" >7</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >20</td><td align="center" valign="middle" >rsh</td><td align="center" valign="middle" >1906</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >30</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >20</td><td align="center" valign="middle" >rsh</td><td align="center" valign="middle" >0</td></tr><tr><td align="center" valign="middle" >8</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >rlogin</td><td align="center" valign="middle" >1906</td><td align="center" valign="middle" >513</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >30</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >20</td><td align="center" valign="middle" >rcp</td><td align="center" valign="middle" >0</td></tr><tr><td align="center" valign="middle" >9</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >20</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >513</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >30</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >20</td><td align="center" valign="middle" >guess</td><td align="center" valign="middle" >0</td></tr><tr><td align="center" valign="middle" >10</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >14</td><td align="center" valign="middle" >telnet</td><td align="center" valign="middle" >1832</td><td align="center" valign="middle" >23</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >30</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >20</td><td align="center" valign="middle" >rlogin</td><td align="center" valign="middle" >0</td></tr><tr><td align="center" valign="middle" >11</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >11</td><td align="center" valign="middle" >exec</td><td align="center" valign="middle" >43497</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >30</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >20</td><td align="center" valign="middle" >rcp</td><td align="center" valign="middle" >0</td></tr><tr><td align="center" valign="middle" >12</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >23</td><td align="center" valign="middle" >rlogin</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >40</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >20</td><td align="center" valign="middle" >rcp</td><td align="center" valign="middle" >0</td></tr><tr><td align="center" valign="middle" >13</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >48</td><td align="center" valign="middle" >telnet</td><td align="center" valign="middle" >1876</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >30</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >20</td><td align="center" valign="middle" >port-scan</td><td align="center" valign="middle" >0</td></tr><tr><td align="center" valign="middle" >14</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >rsh</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >30</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >20</td><td align="center" valign="middle" >rcp</td><td align="center" valign="middle" >0.2698</td></tr><tr><td align="center" valign="middle" >15</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >rsh</td><td align="center" valign="middle" >1023</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >30</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >20</td><td align="center" valign="middle" >rcp</td><td align="center" valign="middle" >0.8031</td></tr><tr><td align="center" valign="middle" >16</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >2</td><td align="center" valign="middle" >rsh</td><td align="center" valign="middle" >1023</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >30</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >20</td><td align="center" valign="middle" >rcp</td><td align="center" valign="middle" >0.8031</td></tr><tr><td align="center" valign="middle" >17</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >14</td><td align="center" valign="middle" >rlogin</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >513</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >30</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >20</td><td align="center" valign="middle" >rsh</td><td align="center" valign="middle" >0.8031</td></tr><tr><td align="center" valign="middle" >18</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >14</td><td align="center" valign="middle" >rlogin</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >513</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >30</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >20</td><td align="center" valign="middle" >rsh</td><td align="center" valign="middle" >0.8031</td></tr><tr><td align="center" valign="middle" >19</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >512</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >30</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >20</td><td align="center" valign="middle" >port-scan</td><td align="center" valign="middle" >0.8031</td></tr><tr><td align="center" valign="middle" >20</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >rsh</td><td align="center" valign="middle" >1023</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >30</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >20</td><td align="center" valign="middle" >rcp</td><td align="center" valign="middle" >0.8031</td></tr><tr><td align="center" valign="middle" >21</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >2</td><td align="center" valign="middle" >rsh</td><td align="center" valign="middle" >1023</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >30</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >20</td><td align="center" valign="middle" >rcp</td><td align="center" valign="middle" >0.8031</td></tr><tr><td align="center" valign="middle" >22</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >2</td><td align="center" valign="middle" >rsh</td><td align="center" valign="middle" >1023</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >30</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >20</td><td align="center" valign="middle" >rcp</td><td align="center" valign="middle" >0.8031</td></tr><tr><td align="center" valign="middle" >23</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >2</td><td align="center" valign="middle" >rsh</td><td align="center" valign="middle" >1023</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >30</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >20</td><td align="center" valign="middle" >rcp</td><td align="center" valign="middle" >0.8031</td></tr><tr><td align="center" valign="middle" >24</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >23</td><td align="center" valign="middle" >telnet</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >23</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >30</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >20</td><td align="center" valign="middle" >guess</td><td align="center" valign="middle" >0.8063</td></tr><tr><td align="center" valign="middle" >25</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >23</td><td align="center" valign="middle" >telnet</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >23</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >30</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >20</td><td align="center" valign="middle" >guess</td><td align="center" valign="middle" >0.8063</td></tr><tr><td align="center" valign="middle" >26</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >5</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >30</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >20</td><td align="center" valign="middle" >port-scan</td><td align="center" valign="middle" >0.8063</td></tr><tr><td align="center" valign="middle" >27</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >5</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >30</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >20</td><td align="center" valign="middle" >port-scan</td><td align="center" valign="middle" >0.8063</td></tr><tr><td align="center" valign="middle" >28</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >23</td><td align="center" valign="middle" >telnet</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >23</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >30</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >20</td><td align="center" valign="middle" >guess</td><td align="center" valign="middle" >0.8063</td></tr><tr><td align="center" valign="middle" >29</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >5</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >30</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >20</td><td align="center" valign="middle" >port-scan</td><td align="center" valign="middle" >0.8063</td></tr><tr><td align="center" valign="middle" >30</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >5</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >30</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >20</td><td align="center" valign="middle" >port-scan</td><td align="center" valign="middle" >0.8063</td></tr></tbody></table></table-wrap><table-wrap id="table6" ><label><xref ref-type="table" rid="table6">Table 6</xref></label><caption><title> Outcomes from our implemented GAIDS</title></caption><table><tbody><thead><tr><th align="center" valign="middle" ></th><th align="center" valign="middle" >H</th><th align="center" valign="middle" >M</th><th align="center" valign="middle" >S</th><th align="center" valign="middle" >Protocol</th><th align="center" valign="middle" >Src Port</th><th align="center" valign="middle" >Dest</th><th align="center" valign="middle"  colspan="4"  >Source IP Address</th><th align="center" valign="middle"  colspan="4"  >Destination</th><th align="center" valign="middle" >Attack</th><th align="center" valign="middle" >Fitness</th></tr></thead><tr><td align="center" valign="middle" >0</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >2</td><td align="center" valign="middle" >rsh</td><td align="center" valign="middle" >1022</td><td align="center" valign="middle" >1021</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >30</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >20</td><td align="center" valign="middle" >rsh</td><td align="center" valign="middle" >0.8771</td></tr><tr><td align="center" valign="middle" >1</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >2</td><td align="center" valign="middle" >rsh</td><td align="center" valign="middle" >1022</td><td align="center" valign="middle" >1021</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >30</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >rsh</td><td align="center" valign="middle" >0.8771</td></tr><tr><td align="center" valign="middle" >2</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >2</td><td align="center" valign="middle" >rsh</td><td align="center" valign="middle" >1022</td><td align="center" valign="middle" >1021</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >30</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >20</td><td align="center" valign="middle" >rsh</td><td align="center" valign="middle" >0.8771</td></tr><tr><td align="center" valign="middle" >3</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >2</td><td align="center" valign="middle" >rsh</td><td align="center" valign="middle" >1022</td><td align="center" valign="middle" >1021</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >30</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >20</td><td align="center" valign="middle" >rsh</td><td align="center" valign="middle" >0.8771</td></tr><tr><td align="center" valign="middle" >4</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >2</td><td align="center" valign="middle" >rsh</td><td align="center" valign="middle" >1022</td><td align="center" valign="middle" >1021</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >30</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >20</td><td align="center" valign="middle" >rsh</td><td align="center" valign="middle" >0.8771</td></tr><tr><td align="center" valign="middle" >5</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >2</td><td align="center" valign="middle" >rsh</td><td align="center" valign="middle" >1022</td><td align="center" valign="middle" >1021</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >30</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >20</td><td align="center" valign="middle" >rsh</td><td align="center" valign="middle" >0.8771</td></tr><tr><td align="center" valign="middle" >6</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >rsh</td><td align="center" valign="middle" >1022</td><td align="center" valign="middle" >1021</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >30</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >20</td><td align="center" valign="middle" >rsh</td><td align="center" valign="middle" >0.8771</td></tr><tr><td align="center" valign="middle" >7</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >2</td><td align="center" valign="middle" >rsh</td><td align="center" valign="middle" >1022</td><td align="center" valign="middle" >1021</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >30</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >20</td><td align="center" valign="middle" >rsh</td><td align="center" valign="middle" >0.8771</td></tr><tr><td align="center" valign="middle" >8</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >rsh</td><td align="center" valign="middle" >1022</td><td align="center" valign="middle" >1021</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >30</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >20</td><td align="center" valign="middle" >rsh</td><td align="center" valign="middle" >0.8771</td></tr><tr><td align="center" valign="middle" >9</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >2</td><td align="center" valign="middle" >rsh</td><td align="center" valign="middle" >1022</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >30</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >20</td><td align="center" valign="middle" >rsh</td><td align="center" valign="middle" >0.8771</td></tr><tr><td align="center" valign="middle" >10</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >23</td><td align="center" valign="middle" >telnet</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >23</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >30</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >20</td><td align="center" valign="middle" >guess</td><td align="center" valign="middle" >0.8802</td></tr><tr><td align="center" valign="middle" >11</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >23</td><td align="center" valign="middle" >telnet</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >30</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >20</td><td align="center" valign="middle" >guess</td><td align="center" valign="middle" >0.8802</td></tr><tr><td align="center" valign="middle" >12</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >23</td><td align="center" valign="middle" >telnet</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >23</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >30</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >guess</td><td align="center" valign="middle" >0.8802</td></tr><tr><td align="center" valign="middle" >13</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >23</td><td align="center" valign="middle" >telnet</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >23</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >30</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >20</td><td align="center" valign="middle" >guess</td><td align="center" valign="middle" >0.8802</td></tr><tr><td align="center" valign="middle" >14</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >23</td><td align="center" valign="middle" >telnet</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >30</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >20</td><td align="center" valign="middle" >guess</td><td align="center" valign="middle" >0.8802</td></tr><tr><td align="center" valign="middle" >15</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >23</td><td align="center" valign="middle" >telnet</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >23</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >30</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >20</td><td align="center" valign="middle" >guess</td><td align="center" valign="middle" >0.8802</td></tr><tr><td align="center" valign="middle" >16</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >23</td><td align="center" valign="middle" >telnet</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >23</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >30</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >20</td><td align="center" valign="middle" >guess</td><td align="center" valign="middle" >0.8802</td></tr><tr><td align="center" valign="middle" >17</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >23</td><td align="center" valign="middle" >telnet</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >23</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >30</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >20</td><td align="center" valign="middle" >guess</td><td align="center" valign="middle" >0.8802</td></tr><tr><td align="center" valign="middle" >18</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >23</td><td align="center" valign="middle" >telnet</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >23</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >30</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >20</td><td align="center" valign="middle" >guess</td><td align="center" valign="middle" >0.8802</td></tr><tr><td align="center" valign="middle" >19</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >23</td><td align="center" valign="middle" >telnet</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >23</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >20</td><td align="center" valign="middle" >guess</td><td align="center" valign="middle" >0.8802</td></tr><tr><td align="center" valign="middle" >20</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >5</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >30</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >20</td><td align="center" valign="middle" >port-scan</td><td align="center" valign="middle" >0.8802</td></tr><tr><td align="center" valign="middle" >21</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >5</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >30</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >20</td><td align="center" valign="middle" >port-scan</td><td align="center" valign="middle" >0.8802</td></tr><tr><td align="center" valign="middle" >22</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >5</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >30</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >20</td><td align="center" valign="middle" >port-scan</td><td align="center" valign="middle" >0.8802</td></tr><tr><td align="center" valign="middle" >23</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >5</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >30</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >20</td><td align="center" valign="middle" >port-scan</td><td align="center" valign="middle" >0.8802</td></tr><tr><td align="center" valign="middle" >24</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >5</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >30</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >20</td><td align="center" valign="middle" >port-scan</td><td align="center" valign="middle" >0.8802</td></tr><tr><td align="center" valign="middle" >25</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >5</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >30</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >20</td><td align="center" valign="middle" >port-scan</td><td align="center" valign="middle" >0.8802</td></tr><tr><td align="center" valign="middle" >26</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >5</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >30</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >20</td><td align="center" valign="middle" >port-scan</td><td align="center" valign="middle" >0.8802</td></tr><tr><td align="center" valign="middle" >27</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >5</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >30</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >20</td><td align="center" valign="middle" >port-scan</td><td align="center" valign="middle" >0.8802</td></tr><tr><td align="center" valign="middle" >28</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >5</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >30</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >20</td><td align="center" valign="middle" >port-scan</td><td align="center" valign="middle" >0.8802</td></tr><tr><td align="center" valign="middle" >29</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >5</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >30</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >20</td><td align="center" valign="middle" >port-scan</td><td align="center" valign="middle" >0.8802</td></tr><tr><td align="center" valign="middle" >30</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >2</td><td align="center" valign="middle" >rsh</td><td align="center" valign="middle" >1023</td><td align="center" valign="middle" >1021</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >30</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >20</td><td align="center" valign="middle" >rcp</td><td align="center" valign="middle" >0.8771</td></tr></tbody></table></table-wrap><table-wrap id="table7" ><label><xref ref-type="table" rid="table7">Table 7</xref></label><caption><title> Outcomes from our implemented GAIDS continued</title></caption><table><tbody><thead><tr><th align="center" valign="middle" ></th><th align="center" valign="middle" >H</th><th align="center" valign="middle" >M</th><th align="center" valign="middle" >S</th><th align="center" valign="middle" >Protocol</th><th align="center" valign="middle" >Src Port</th><th align="center" valign="middle" >Dest</th><th align="center" valign="middle"  colspan="4"  >Source IP Address</th><th align="center" valign="middle"  colspan="4"  >Destination</th><th align="center" valign="middle" >Attack</th><th align="center" valign="middle" >Fitness</th></tr></thead><tr><td align="center" valign="middle" >31</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >2</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >1023</td><td align="center" valign="middle" >1021</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >30</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >20</td><td align="center" valign="middle" >rcp</td><td align="center" valign="middle" >0.8771</td></tr><tr><td align="center" valign="middle" >32</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >2</td><td align="center" valign="middle" >rsh</td><td align="center" valign="middle" >1023</td><td align="center" valign="middle" >1021</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >30</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >rcp</td><td align="center" valign="middle" >0.8771</td></tr><tr><td align="center" valign="middle" >33</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >2</td><td align="center" valign="middle" >rsh</td><td align="center" valign="middle" >1023</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >30</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >20</td><td align="center" valign="middle" >rcp</td><td align="center" valign="middle" >0.8771</td></tr><tr><td align="center" valign="middle" >34</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >2</td><td align="center" valign="middle" >rsh</td><td align="center" valign="middle" >1023</td><td align="center" valign="middle" >1021</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >20</td><td align="center" valign="middle" >rcp</td><td align="center" valign="middle" >0.8771</td></tr><tr><td align="center" valign="middle" >35</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >2</td><td align="center" valign="middle" >rsh</td><td align="center" valign="middle" >1023</td><td align="center" valign="middle" >1021</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >30</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >20</td><td align="center" valign="middle" >rcp</td><td align="center" valign="middle" >0.8771</td></tr><tr><td align="center" valign="middle" >36</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >2</td><td align="center" valign="middle" >rsh</td><td align="center" valign="middle" >1023</td><td align="center" valign="middle" >1021</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >30</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >rcp</td><td align="center" valign="middle" >0.8771</td></tr><tr><td align="center" valign="middle" >37</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >2</td><td align="center" valign="middle" >rsh</td><td align="center" valign="middle" >1023</td><td align="center" valign="middle" >1021</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >30</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >20</td><td align="center" valign="middle" >rcp</td><td align="center" valign="middle" >0.8771</td></tr><tr><td align="center" valign="middle" >38</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >2</td><td align="center" valign="middle" >rsh</td><td align="center" valign="middle" >1023</td><td align="center" valign="middle" >1021</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >30</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >20</td><td align="center" valign="middle" >rcp</td><td align="center" valign="middle" >0.8771</td></tr><tr><td align="center" valign="middle" >39</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >2</td><td align="center" valign="middle" >rsh</td><td align="center" valign="middle" >1023</td><td align="center" valign="middle" >1021</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >30</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >20</td><td align="center" valign="middle" >rcp</td><td align="center" valign="middle" >0.8771</td></tr><tr><td align="center" valign="middle" >40</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >14</td><td align="center" valign="middle" >rlogin</td><td align="center" valign="middle" >1023</td><td align="center" valign="middle" >513</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >30</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >20</td><td align="center" valign="middle" >rlogin</td><td align="center" valign="middle" >0.8771</td></tr><tr><td align="center" valign="middle" >41</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >14</td><td align="center" valign="middle" >rlogin</td><td align="center" valign="middle" >1023</td><td align="center" valign="middle" >513</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >30</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >20</td><td align="center" valign="middle" >rlogin</td><td align="center" valign="middle" >0.8771</td></tr><tr><td align="center" valign="middle" >42</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >14</td><td align="center" valign="middle" >rlogin</td><td align="center" valign="middle" >1023</td><td align="center" valign="middle" >513</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >30</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >20</td><td align="center" valign="middle" >rlogin</td><td align="center" valign="middle" >0.8771</td></tr><tr><td align="center" valign="middle" >43</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >14</td><td align="center" valign="middle" >rlogin</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >513</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >30</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >20</td><td align="center" valign="middle" >rlogin</td><td align="center" valign="middle" >0.8771</td></tr><tr><td align="center" valign="middle" >44</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >14</td><td align="center" valign="middle" >rlogin</td><td align="center" valign="middle" >1023</td><td align="center" valign="middle" >513</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >30</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >20</td><td align="center" valign="middle" >rlogin</td><td align="center" valign="middle" >0.8771</td></tr><tr><td align="center" valign="middle" >45</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >14</td><td align="center" valign="middle" >rlogin</td><td align="center" valign="middle" >1023</td><td align="center" valign="middle" >513</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >30</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >20</td><td align="center" valign="middle" >rlogin</td><td align="center" valign="middle" >0.8771</td></tr><tr><td align="center" valign="middle" >46</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >14</td><td align="center" valign="middle" >rlogin</td><td align="center" valign="middle" >1023</td><td align="center" valign="middle" >513</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >30</td><td align="center" valign="middle" >192</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >rlogin</td><td align="center" valign="middle" >0.8771</td></tr></tbody></table></table-wrap><p>output the top 30 rules. From the first rule to thirteenth rules, the fitness value is equal to 0%. These rules have no effectiveness in identifying network attacks (DoS, R2L, Probes and U2L). Thus, from fourteenth rules to thirtieth rules, fitness values vary between 26.98% and 80.63%. Such rules can identify network attacks (DoS, R2L, Probes and U2L) successful. On the contrary, the rules produced by our implemented GAIDS, was able to print to the standard output 46 top rules. From the index zero to the index 46, we have very high fitness values which vary between 87.71% and 88.24%. These rules generated by GAIDS have effectiveness in identifying network attacks than rules produced by NetGA. Hence, we can conclude that the rules produced by our GAIDS using the improved traditional Fitness Function have maintained high fitness value than NetGA. For that reason, it has a powerful in classifying network attacks (DoS, R2L, Probes and U2L).</p><p>For the last experiment simulates the test module to use the generated Network Intrusion Detection System rules against the KDD Cup 99 test to measure the quality of the rules generated from our implemented system’s training module. After our implemented system has been trained with the training KDD Cup 99 dataset [<xref ref-type="bibr" rid="scirp.88945-ref32">32</xref>] , the generated rules are then integrated to the test module. <xref ref-type="table" rid="table8">Table 8</xref> showed the class distribution of experimental on KDD Cup 99 dataset and the class distribution of our experimental is summarized by the graph of <xref ref-type="fig" rid="fig1">Figure 1</xref>0.</p><table-wrap id="table8" ><label><xref ref-type="table" rid="table8">Table 8</xref></label><caption><title> Class distribution of experimental on KDD CUP 99 dataset</title></caption><table><tbody><thead><tr><th align="center" valign="middle"  rowspan="2"  ></th><th align="center" valign="middle"  colspan="2"  >DoS Attacks</th><th align="center" valign="middle"  colspan="2"  >Probe Attacks</th><th align="center" valign="middle"  colspan="2"  >R2L Attacks</th><th align="center" valign="middle"  colspan="2"  >U2L Attacks</th><th align="center" valign="middle"  colspan="2"  >Normal</th><th align="center" valign="middle"  colspan="2"  ></th></tr></thead><tr><td align="center" valign="middle" >Attacks number</td><td align="center" valign="middle" >%</td><td align="center" valign="middle" >Attacks number</td><td align="center" valign="middle" >%</td><td align="center" valign="middle" >Attacks number</td><td align="center" valign="middle" >%</td><td align="center" valign="middle" >Attacks number</td><td align="center" valign="middle" >%</td><td align="center" valign="middle" >Normal number</td><td align="center" valign="middle" >%</td><td align="center" valign="middle" >SUM</td><td align="center" valign="middle" >%</td></tr><tr><td align="center" valign="middle" >Training Dataset</td><td align="center" valign="middle" >20,000</td><td align="center" valign="middle" >44.94</td><td align="center" valign="middle" >15,000</td><td align="center" valign="middle" >33.7</td><td align="center" valign="middle" >5200</td><td align="center" valign="middle" >11.68</td><td align="center" valign="middle" >4300</td><td align="center" valign="middle" >9.66</td><td align="center" valign="middle" >34</td><td align="center" valign="middle" >0.07</td><td align="center" valign="middle" >44,534</td><td align="center" valign="middle" >100</td></tr><tr><td align="center" valign="middle" >Testing Dataset</td><td align="center" valign="middle" >10,000</td><td align="center" valign="middle" >46.08</td><td align="center" valign="middle" >7000</td><td align="center" valign="middle" >32.25</td><td align="center" valign="middle" >3283</td><td align="center" valign="middle" >14.74</td><td align="center" valign="middle" >1500</td><td align="center" valign="middle" >6.91</td><td align="center" valign="middle" >498</td><td align="center" valign="middle" >2.23</td><td align="center" valign="middle" >22,281</td><td align="center" valign="middle" >100</td></tr><tr><td align="center" valign="middle" >Generalization Dataset</td><td align="center" valign="middle" >5000</td><td align="center" valign="middle" >0.4</td><td align="center" valign="middle" >3000</td><td align="center" valign="middle" >0.24</td><td align="center" valign="middle" >2000</td><td align="center" valign="middle" >0.16</td><td align="center" valign="middle" >2500</td><td align="center" valign="middle" >0.2</td><td align="center" valign="middle" >3</td><td align="center" valign="middle" >0.02</td><td align="center" valign="middle" >12,503</td><td align="center" valign="middle" >100</td></tr></tbody></table></table-wrap><p>The overall simulation outcomes and their related statistical calculations are displayed in <xref ref-type="table" rid="table9">Table 9</xref>, <xref ref-type="table" rid="table1">Table 1</xref>0 and <xref ref-type="table" rid="table1">Table 1</xref>1. It is concluded that the Network Intrusion Detection System rules generated by SOFM Artificial Neural Network when trained with KDD Cup 99 can detect for different attack types successful with high attack detection rate and law false positive rate.</p><p>Tables 12-14 show that the rules generated by Genetic Algorithm when trained with KDD Cup 99 can successful detect for different attack types in the training dataset namely DoS, Probe, R2L, U2R including normal traffic with very high attack detection rate but with very high false positive rate which may lead to very poor accuracy of anomaly detection system.</p><p><xref ref-type="table" rid="table1">Table 1</xref>5 compares our implemented algorithms (Genetic Algorithm and Self Organizing Feature Map Artificial Neural Network). In particular, we demonstrated the Detection rate, False Positive rate and classification rate. In training, testing and generalization detection rate, the detection rate generated by GA is better than SOFM but the false positive rate generated by SOFM is very low, better than the false positive rate in GA which may lead to very poor accuracy of Anomaly detection System. It is very difficult to compare the classification time of each attack types because the training speed depends on various factors such as implementation of the algorithms, condition of the hardware and software</p><table-wrap id="table9" ><label><xref ref-type="table" rid="table9">Table 9</xref></label><caption><title> Training detection rate comparison for different attack types using SOFM on KDD Cup 99</title></caption><table><tbody><thead><tr><th align="center" valign="middle" >Attack types and Normal</th><th align="center" valign="middle" >Detection rate (%)</th><th align="center" valign="middle" >False Positive rate (%)</th><th align="center" valign="middle" >Classification Time (s)</th></tr></thead><tr><td align="center" valign="middle" >DoS</td><td align="center" valign="middle" >99.98</td><td align="center" valign="middle" >0.01</td><td align="center" valign="middle" >7274.78</td></tr><tr><td align="center" valign="middle" >Probe</td><td align="center" valign="middle" >100</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >8995.55</td></tr><tr><td align="center" valign="middle" >R2L</td><td align="center" valign="middle" >99.89</td><td align="center" valign="middle" >0.10</td><td align="center" valign="middle" >14,490.77</td></tr><tr><td align="center" valign="middle" >U2R</td><td align="center" valign="middle" >100</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >10,569.26</td></tr><tr><td align="center" valign="middle" >Normal</td><td align="center" valign="middle" >100</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >10,916.12</td></tr></tbody></table></table-wrap><table-wrap id="table10" ><label><xref ref-type="table" rid="table1">Table 1</xref>0</label><caption><title> Testing detection rate comparison for different attack types using SOFM on KDD Cup 99</title></caption><table><tbody><thead><tr><th align="center" valign="middle" >Attack types and Normal connections</th><th align="center" valign="middle" >Detection rate (%)</th><th align="center" valign="middle" >False Positive rate (%)</th><th align="center" valign="middle" >Classification Time (s)</th></tr></thead><tr><td align="center" valign="middle" >DOS</td><td align="center" valign="middle" >99.93</td><td align="center" valign="middle" >0.06</td><td align="center" valign="middle" >3654.03</td></tr><tr><td align="center" valign="middle" >Probe</td><td align="center" valign="middle" >99.86</td><td align="center" valign="middle" >0.13</td><td align="center" valign="middle" >3886.96</td></tr><tr><td align="center" valign="middle" >R2L</td><td align="center" valign="middle" >99.91</td><td align="center" valign="middle" >0.08</td><td align="center" valign="middle" >4304.89</td></tr><tr><td align="center" valign="middle" >U2R</td><td align="center" valign="middle" >99.84</td><td align="center" valign="middle" >0.15</td><td align="center" valign="middle" >4509.60</td></tr><tr><td align="center" valign="middle" >Normal</td><td align="center" valign="middle" >99.91</td><td align="center" valign="middle" >0.08</td><td align="center" valign="middle" >3876.71</td></tr></tbody></table></table-wrap><table-wrap id="table11" ><label><xref ref-type="table" rid="table1">Table 1</xref>1</label><caption><title> Generalization detection rate comparison for different attack types using SOFM on KDD Cup 99</title></caption><table><tbody><thead><tr><th align="center" valign="middle" >Attack types and Normal connections</th><th align="center" valign="middle" >Detection rate (%)</th><th align="center" valign="middle" >False Positive rate (%)</th><th align="center" valign="middle" >Classification Time (s)</th></tr></thead><tr><td align="center" valign="middle" >DOS</td><td align="center" valign="middle" >99.96</td><td align="center" valign="middle" >0.03</td><td align="center" valign="middle" >2133.17</td></tr><tr><td align="center" valign="middle" >Probe</td><td align="center" valign="middle" >100</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >2326.36</td></tr><tr><td align="center" valign="middle" >R2L</td><td align="center" valign="middle" >100</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >2652.01</td></tr><tr><td align="center" valign="middle" >U2R</td><td align="center" valign="middle" >100</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >1901.46</td></tr><tr><td align="center" valign="middle" >Normal</td><td align="center" valign="middle" >100</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >2452.61</td></tr></tbody></table></table-wrap><table-wrap id="table12" ><label><xref ref-type="table" rid="table1">Table 1</xref>2</label><caption><title> Training detection rate comparison for different attack types using GA on KDD Cup 99</title></caption><table><tbody><thead><tr><th align="center" valign="middle" >Attack types and Normal connections</th><th align="center" valign="middle" >Detection rate (%)</th><th align="center" valign="middle" >False Positive rate (%)</th><th align="center" valign="middle" >Classification Time (s)</th></tr></thead><tr><td align="center" valign="middle" >DOS</td><td align="center" valign="middle" >100</td><td align="center" valign="middle" >15.1</td><td align="center" valign="middle" >19,723.99</td></tr><tr><td align="center" valign="middle" >Probe</td><td align="center" valign="middle" >100</td><td align="center" valign="middle" >8.8</td><td align="center" valign="middle" >2716</td></tr><tr><td align="center" valign="middle" >R2L</td><td align="center" valign="middle" >100</td><td align="center" valign="middle" >11.9</td><td align="center" valign="middle" >1835.32</td></tr><tr><td align="center" valign="middle" >U2R</td><td align="center" valign="middle" >100</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >1181.53</td></tr><tr><td align="center" valign="middle" >Normal</td><td align="center" valign="middle" >100</td><td align="center" valign="middle" >3.05</td><td align="center" valign="middle" >3612.49</td></tr></tbody></table></table-wrap><table-wrap id="table13" ><label><xref ref-type="table" rid="table1">Table 1</xref>3</label><caption><title> Testing detection rate comparison for different attack types using GA on KDD Cup 99</title></caption><table><tbody><thead><tr><th align="center" valign="middle" >Attack types and Normal connections</th><th align="center" valign="middle" >Detection rate (%)</th><th align="center" valign="middle" >False Positive rate (%)</th><th align="center" valign="middle" >Classification Time (s)</th></tr></thead><tr><td align="center" valign="middle" >DOS</td><td align="center" valign="middle" >100</td><td align="center" valign="middle" >13.5</td><td align="center" valign="middle" >1178.15</td></tr><tr><td align="center" valign="middle" >Probe</td><td align="center" valign="middle" >100</td><td align="center" valign="middle" >0.5</td><td align="center" valign="middle" >175.52</td></tr><tr><td align="center" valign="middle" >R2L</td><td align="center" valign="middle" >100</td><td align="center" valign="middle" >1.14</td><td align="center" valign="middle" >615.71</td></tr><tr><td align="center" valign="middle" >U2R</td><td align="center" valign="middle" >100</td><td align="center" valign="middle" >9.51</td><td align="center" valign="middle" >985.83</td></tr><tr><td align="center" valign="middle" >Normal</td><td align="center" valign="middle" >100</td><td align="center" valign="middle" >17.58</td><td align="center" valign="middle" >2336.81</td></tr></tbody></table></table-wrap><table-wrap id="table14" ><label><xref ref-type="table" rid="table1">Table 1</xref>4</label><caption><title> Generalization detection rate comparison for different attack types using GA on KDD Cup 99</title></caption><table><tbody><thead><tr><th align="center" valign="middle" >Attack types and Normal connections</th><th align="center" valign="middle" >Detection rate (%)</th><th align="center" valign="middle" >False Positive rate (%)</th><th align="center" valign="middle" >Classification Time (s)</th></tr></thead><tr><td align="center" valign="middle" >DOS</td><td align="center" valign="middle" >100</td><td align="center" valign="middle" >10.05</td><td align="center" valign="middle" >1352.11</td></tr><tr><td align="center" valign="middle" >Probe</td><td align="center" valign="middle" >100</td><td align="center" valign="middle" >7.23</td><td align="center" valign="middle" >1026.07</td></tr><tr><td align="center" valign="middle" >R2L</td><td align="center" valign="middle" >100</td><td align="center" valign="middle" >15.05</td><td align="center" valign="middle" >458.03</td></tr><tr><td align="center" valign="middle" >U2R</td><td align="center" valign="middle" >100</td><td align="center" valign="middle" >8.10</td><td align="center" valign="middle" >435.84</td></tr><tr><td align="center" valign="middle" >Normal</td><td align="center" valign="middle" >100</td><td align="center" valign="middle" >3.04</td><td align="center" valign="middle" >485.71</td></tr></tbody></table></table-wrap><table-wrap id="table15" ><label><xref ref-type="table" rid="table1">Table 1</xref>5</label><caption><title> Detection rate (%) comparisons between GA and SOFM</title></caption><table><tbody><thead><tr><th align="center" valign="middle"  rowspan="2"  >Classifier algorithms</th><th align="center" valign="middle"  rowspan="2"  >Attack types and Normal</th><th align="center" valign="middle"  colspan="3"  >Training detection rate</th><th align="center" valign="middle"  colspan="3"  >Testing detection rate</th><th align="center" valign="middle"  colspan="3"  >Generalization detection rate</th></tr></thead><tr><td align="center" valign="middle" >DR (%)</td><td align="center" valign="middle" >FPR (%)</td><td align="center" valign="middle" >Classification Time (s)</td><td align="center" valign="middle" >DR (%)</td><td align="center" valign="middle" >FPR (%)</td><td align="center" valign="middle" >Classification Time (s)</td><td align="center" valign="middle" >DR (%)</td><td align="center" valign="middle" >FPR (%)</td><td align="center" valign="middle" >Classification Time (s)</td></tr><tr><td align="center" valign="middle"  rowspan="5"  >SOFM</td><td align="center" valign="middle" >DOS</td><td align="center" valign="middle" >99.98</td><td align="center" valign="middle" >0.01</td><td align="center" valign="middle" >7274.78</td><td align="center" valign="middle" >99.93</td><td align="center" valign="middle" >0.06</td><td align="center" valign="middle" >3654.03</td><td align="center" valign="middle" >99.96</td><td align="center" valign="middle" >0.03</td><td align="center" valign="middle" >2133.17</td></tr><tr><td align="center" valign="middle" >Probe</td><td align="center" valign="middle" >100</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >8995.55</td><td align="center" valign="middle" >99.86</td><td align="center" valign="middle" >0.13</td><td align="center" valign="middle" >3886.96</td><td align="center" valign="middle" >100</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >2326.36</td></tr><tr><td align="center" valign="middle" >R2L</td><td align="center" valign="middle" >99.89</td><td align="center" valign="middle" >0.10</td><td align="center" valign="middle" >14,490.77</td><td align="center" valign="middle" >99.91</td><td align="center" valign="middle" >0.08</td><td align="center" valign="middle" >4304.89</td><td align="center" valign="middle" >100</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >2652.01</td></tr><tr><td align="center" valign="middle" >U2L</td><td align="center" valign="middle" >100</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >10,569.26</td><td align="center" valign="middle" >99.84</td><td align="center" valign="middle" >0.15</td><td align="center" valign="middle" >4509.60</td><td align="center" valign="middle" >100</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >1901.46</td></tr><tr><td align="center" valign="middle" >Normal</td><td align="center" valign="middle" >100</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >10,916.12</td><td align="center" valign="middle" >99.91</td><td align="center" valign="middle" >0.08</td><td align="center" valign="middle" >3876.71</td><td align="center" valign="middle" >100</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >2452.61</td></tr><tr><td align="center" valign="middle"  rowspan="5"  >GA</td><td align="center" valign="middle" >DOS</td><td align="center" valign="middle" >100</td><td align="center" valign="middle" >15.1</td><td align="center" valign="middle" >19,723.99</td><td align="center" valign="middle" >100</td><td align="center" valign="middle" >13.5</td><td align="center" valign="middle" >1178.15</td><td align="center" valign="middle" >100</td><td align="center" valign="middle" >10.05</td><td align="center" valign="middle" >1352.11</td></tr><tr><td align="center" valign="middle" >Probe</td><td align="center" valign="middle" >100</td><td align="center" valign="middle" >8.8</td><td align="center" valign="middle" >2716</td><td align="center" valign="middle" >100</td><td align="center" valign="middle" >0.5</td><td align="center" valign="middle" >175.52</td><td align="center" valign="middle" >100</td><td align="center" valign="middle" >7.23</td><td align="center" valign="middle" >1026.07</td></tr><tr><td align="center" valign="middle" >R2L</td><td align="center" valign="middle" >100</td><td align="center" valign="middle" >11.9</td><td align="center" valign="middle" >1835.32</td><td align="center" valign="middle" >100</td><td align="center" valign="middle" >1.14</td><td align="center" valign="middle" >615.71</td><td align="center" valign="middle" >100</td><td align="center" valign="middle" >15.05</td><td align="center" valign="middle" >458.84</td></tr><tr><td align="center" valign="middle" >U2L</td><td align="center" valign="middle" >100</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >1181.53</td><td align="center" valign="middle" >100</td><td align="center" valign="middle" >9.51</td><td align="center" valign="middle" >985.83</td><td align="center" valign="middle" >100</td><td align="center" valign="middle" >8.10</td><td align="center" valign="middle" >435.84</td></tr><tr><td align="center" valign="middle" >Normal</td><td align="center" valign="middle" >100</td><td align="center" valign="middle" >3.05</td><td align="center" valign="middle" >3612.49</td><td align="center" valign="middle" >100</td><td align="center" valign="middle" >17.58</td><td align="center" valign="middle" >2336.81</td><td align="center" valign="middle" >100</td><td align="center" valign="middle" >3.04</td><td align="center" valign="middle" >485.71</td></tr></tbody></table></table-wrap><p>platform and size of the training dataset. In general the obtained results in SOFM have maintained both high detection rate and low false positive rate than GA. But GA has maintained very high detection rate but it suffer from very high false positive rate, for that reason, It leads to very poor accuracy of Anormaly detection system.</p></sec></sec><sec id="s7"><title>7. Conclusion and Future Work</title><p>In the experimental results obtained in the training detection rate comparison for different attack types, in the testing detection rate comparison for different attack types and in the generalization detection rate comparison for different attack types using GA and SOFM as classifier algorithms, and KDD Cup 99, 1998 DARPA as a dataset, the Self Organizing Feature Map Artificial Neural Network has maintained very high detection rate with low false positive rate than GA. The obtained results from GA are shown the best detection rate but with the highest false positive rate which can lead to very poor accuracy of Anomaly detection system. However, the highest attack detection rate and the lowest false positive rate obtained using SOFM on KDD Cup 99 demonstrated the efficiency and effectiveness of the algorithm in classifying attack types from KDD Cup 99 dataset. For that reason, the SOFM Artificial Neural Network can either classify malicious attacks or normal traffic successful. And thus, the rules produced by our GAIDS using the improved traditional Fitness Function have maintained high fitness value than NetGA. The training speed depends on various factors such as the implementation of the algorithms, conditions of the hardware and software platform and the size of the training dataset. For future work, this work will be extended for other classifier algorithms.</p></sec><sec id="s8"><title>Conflicts of Interest</title><p>The authors declare no conflicts of interest regarding the publication of this paper.</p></sec><sec id="s9"><title>Cite this paper</title><p>Hounsou, J.T., Nsabimana, T. and Degila, J. (2019) Implementation of Network Intrusion Detection System Using Soft Computing Algorithms (Self Organizing Feature Map and Genetic Algorithm). Journal of Information Security, 10, 1-24. https://doi.org/10.4236/jis.2019.101001</p></sec></body><back><ref-list><title>References</title><ref id="scirp.88945-ref1"><label>1</label><mixed-citation publication-type="other" xlink:type="simple">Ibrahim, L.M., Basheer, D.T. and Mahmod, M.S. (2013) A Comparison Study for Intrusion Database (Kdd99, Nsl-Kdd) Based on Self Organization Map (SOM) Artificial Neural Network. Journal of Engineering Science and Technology, 8, 107-119.</mixed-citation></ref><ref id="scirp.88945-ref2"><label>2</label><mixed-citation publication-type="other" xlink:type="simple">Sharma, G.D. and Kumar, V. (2016) Towards Configured Intrusion Detection Systems. Global Journals Inc., USA, Vol. 16, Version 1.0.</mixed-citation></ref><ref id="scirp.88945-ref3"><label>3</label><mixed-citation publication-type="other" xlink:type="simple">Bunel, P. (2004) An Introduction to Intrusion Detection Systems. SANS Institute, GIAC Security Essentials, Certificate (GSEC), Practical Assignment, Version 1.4c, SANS Conference, London.</mixed-citation></ref><ref id="scirp.88945-ref4"><label>4</label><mixed-citation publication-type="other" xlink:type="simple">Bankovi, Z., Stepanovi, D., Bojani, S. and Nieto-Taladriz, O. (2007) Improving Network Security Using Genetic Algorithm Approach. Computers and Electrical Engineering, 33, 438-451. https://doi.org/10.1016/j.compeleceng.2007.05.010</mixed-citation></ref><ref id="scirp.88945-ref5"><label>5</label><mixed-citation publication-type="book" xlink:type="simple">Ramadas, M., Ostermann, S. and Tjaden, B. (2003) Detecting Anomalous Network Traffic with Self-Organizing Maps. In: Vigna, G., Kruegel, C. and Jonsson, E., Eds., Recent Advances in Intrusion Detection. RAID 2003. Lecture Notes in Computer Science, Vol. 2820, Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-45248-5_3</mixed-citation></ref><ref id="scirp.88945-ref6"><label>6</label><mixed-citation publication-type="other" xlink:type="simple">Abdullah, B., Abd-Alghafar, I., Salama, G.I. and Abd-Alhafez, A. (2009) Performance Evaluation of a Genetic Algorithm Based Approach to Network Intrusion Detection System. 13th International Conference on Aerospace Sciences and Aviation Technology, ASAT-13, Military Technical College, Cairo, Egypt, 26-28 May 2009, 1-17.</mixed-citation></ref><ref id="scirp.88945-ref7"><label>7</label><mixed-citation publication-type="other" xlink:type="simple">Bridges, S.M. and Vaughn, R.B. (2000) Fuzzy Data Mining And Genetic Algorithms Applied to Intrusion Detection. Proceedings of 12th Annual Canadian Information Technology Security Symposium, Ottawa, Canada, 19-23 June 2000, 109-122.</mixed-citation></ref><ref id="scirp.88945-ref8"><label>8</label><mixed-citation publication-type="other" xlink:type="simple">Chittur, A. (2001) Model Generation for an Intrusion Detection System Using Genetic Algorithms. High School Honors Thesis, Ossining High School. In cooperation with Columbia Univ.</mixed-citation></ref><ref id="scirp.88945-ref9"><label>9</label><mixed-citation publication-type="other" xlink:type="simple">Crosbie, M. and Spafford, G. (1995) Applying Genetic Programming to Intrusion Detection. In Working Notes for the AAAI Symposium on Genetic Programming, MIT Press, Cambridge, MA, 1-8.</mixed-citation></ref><ref id="scirp.88945-ref10"><label>10</label><mixed-citation publication-type="other" xlink:type="simple">Li, W. (2004) A Genetic Algorithm Approach to Network Intrusion Detection. SANS Institute, USA, Vol. 15, 209-216.</mixed-citation></ref><ref id="scirp.88945-ref11"><label>11</label><mixed-citation publication-type="other" xlink:type="simple">Oksuz, A. (2007) Unsupervised Intrusion Detection System. Master’s Thesis, Technical University of Denmark, DTU, DK-2800 Kgs. Lyngby, Denmark.</mixed-citation></ref><ref id="scirp.88945-ref12"><label>12</label><mixed-citation publication-type="other" xlink:type="simple">Choksi, K., Shah, B. and Kale, O. (2014) Intrusion Detection System Using Self Organizing Map: A Survey. International Journal of Engineering Research and Applications, 4, 11-16.</mixed-citation></ref><ref id="scirp.88945-ref13"><label>13</label><mixed-citation publication-type="other" xlink:type="simple">Patole, V.A., Pachghare, V.K. and Kulkarni, P. (2010) Self Organizing Maps to Build Intrusion Detection Systems. Journal of Computer Applications, 1.</mixed-citation></ref><ref id="scirp.88945-ref14"><label>14</label><mixed-citation publication-type="other" xlink:type="simple">De La Hoz Franco, E., Ortiz Garcia, A., Ortega Lopera, J., De La Hoz Correa, E. and Mendoza Palechor, F. (2015) Implementation of an Intrusion Detection System Based on Self Organizing Map. Journal of Theoretical and Applied Information Technology, 71.</mixed-citation></ref><ref id="scirp.88945-ref15"><label>15</label><mixed-citation publication-type="other" xlink:type="simple">Sayad, S. (2010) Self-Organizing Maps (SOM). Bahen Centre Information Technology, Toronto, Ontario, Canada.</mixed-citation></ref><ref id="scirp.88945-ref16"><label>16</label><mixed-citation publication-type="other" xlink:type="simple">Jadhav, M.L. and Gaikwad, C.M. (2014) Implementation of Intrusion Detection System Using GA. International Journal of Innovative Research in Electrical, Electronics, Instrumentation and Control Engineering (IJIREEICE), 2, 1733-1736.</mixed-citation></ref><ref id="scirp.88945-ref17"><label>17</label><mixed-citation publication-type="other" xlink:type="simple">Wong, M.L. and Leung, K.S. (2000) Data Mining Using Grammar Based Genetic Programming and Applications. Kluwer Academic Publishers, Dordrecht.</mixed-citation></ref><ref id="scirp.88945-ref18"><label>18</label><mixed-citation publication-type="other" xlink:type="simple">Paliwal, S. and Gupta, R. (2012) Denial-of-Service, Probing and Remote to User (R2L) Attack Detection Using Genetic Algorithm. International Journal of Computer Applications, 60, 57-62.</mixed-citation></ref><ref id="scirp.88945-ref19"><label>19</label><mixed-citation publication-type="other" xlink:type="simple">Sunita, S., Chandrakanta, B.J. and Chinmayee, R. (2016) A Hybrid Approach of Intrusion Detection Using ANN and FCM. European Journal of Advances in Engineering and Technology, 3, 6-14.</mixed-citation></ref><ref id="scirp.88945-ref20"><label>20</label><mixed-citation publication-type="other" xlink:type="simple">Jiang, X., Liu, K., Yan, J. and Chen, W. (2012) Application of Improved SOM Neural Network in Anomaly Detection. Physics Procedia, 33, 1093-1099. https://doi.org/10.1016/j.phpro.2012.05.179</mixed-citation></ref><ref id="scirp.88945-ref21"><label>21</label><mixed-citation publication-type="other" xlink:type="simple">Palomo, E.J., Domnguez, E., Luque, R.M. and Muoz, J. (2009) An Intrusion Detection System Based on Hierarchical Self-Organization. In: Proceedings of the International Workshop on Computational Intelligence in Security for Information Systems, Springer, Berlin, Heidelberg, 139-146. https://doi.org/10.1007/978-3-540-88181-0_18</mixed-citation></ref><ref id="scirp.88945-ref22"><label>22</label><mixed-citation publication-type="other" xlink:type="simple">Bahrololum, M., Salahi, E. and Khaleghi, M. (2009) Anomaly Intrusion Detection Design Using Hybrid of Unsupervised and Supervised Neural Network. International Journal of Computer Networks and Communications, 1, 26-33.</mixed-citation></ref><ref id="scirp.88945-ref23"><label>23</label><mixed-citation publication-type="other" xlink:type="simple">Vokorokos, L., Balaz, A. and Chovanec, M. (2006) Intrusion Detection System Using Self Organizing Map. Acta Electrotechnica et Informatica, 6, 1-6.</mixed-citation></ref><ref id="scirp.88945-ref24"><label>24</label><mixed-citation publication-type="other" xlink:type="simple">Gupta, N., Pareek, N. and Pandey, K. (2011) Genetic Algorithm Based Network Intrusion Detection System. International Journal of Advanced Research in Computer Science, 2, 480-483.</mixed-citation></ref><ref id="scirp.88945-ref25"><label>25</label><mixed-citation publication-type="other" xlink:type="simple">Proti, D.D. (2018) Review of KDD Cup’99, NSL-KDD and Kyoto 2006+ Datasets. Vojnotehniki Glasnik, 66, 580-596. https://doi.org/10.5937/vojtehg66-16670</mixed-citation></ref><ref id="scirp.88945-ref26"><label>26</label><mixed-citation publication-type="other" xlink:type="simple">Alzahrani, S. and Hong, L. (2018) Generation of DDoS Attack Dataset for Effective IDS Development and Evaluation. Journal of Information Security, 9, 225-241. https://doi.org/10.4236/jis.2018.94016</mixed-citation></ref><ref id="scirp.88945-ref27"><label>27</label><mixed-citation publication-type="other" xlink:type="simple">Amini, M., Jalili, R. and Shahriari, H.R. (2006) RT-UNNID: A Practical Solution to Real-Time Network-Based Intrusion Detection Using Unsupervised Neural Networks. Computers and Security, 25, 459-468. https://doi.org/10.1016/j.cose.2006.05.003</mixed-citation></ref><ref id="scirp.88945-ref28"><label>28</label><mixed-citation publication-type="other" xlink:type="simple">Lavender, B.E. (2010) Implementation of Genetic Algorithms into a Network Intrusion Detection System (netGA), and Integration into NProbe. Thesis Work, California State University, Sacramento.</mixed-citation></ref><ref id="scirp.88945-ref29"><label>29</label><mixed-citation publication-type="other" xlink:type="simple">Gong, R.H., Zulkernine, M. and Abolmaesumi, P. (2005) A Software Implementation of a Genetic Algorithm Based Approach to Network Intrusion Detection. Proceedings of the 6th International Conference on Software Engineering, Artificial Intelligence, Networking and Parallel/Distributed Computing and 1st ACIS International Workshop on Self-Assembling Wireless Networks, May 2005, 246–253.</mixed-citation></ref><ref id="scirp.88945-ref30"><label>30</label><mixed-citation publication-type="other" xlink:type="simple">Lu, W. and Traore, I. (2004) Detecting New Forms of Network Intrusion Using Genetic Programming. Computational Intelligence, 20, 475-494. https://doi.org/10.1111/j.0824-7935.2004.00247.x</mixed-citation></ref><ref id="scirp.88945-ref31"><label>31</label><mixed-citation publication-type="other" xlink:type="simple">https://www.ll.mit.edu/r-d/datasets/1998-darpa-intrusion-detection-evaluation-dataset</mixed-citation></ref><ref id="scirp.88945-ref32"><label>32</label><mixed-citation publication-type="other" xlink:type="simple">The Third International Knowledge Discovery and Data Mining Tools Competition. http://kdd.ics.uci.edu/databases/kddcup99/kddcup99.html</mixed-citation></ref></ref-list></back></article>