<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>System for detecting network anomalies using a hybrid of an uncontrolled and controlled neural network</article-title>
      </title-group>
      <contrib-group>
        <aff id="aff0">
          <label>0</label>
          <institution>National University “Zaporizhzhya Polytechnic”</institution>
          ,
          <addr-line>64, Zhukovsky Str., Zaporizhzhia, 69063</addr-line>
          ,
          <country country="UA">Ukraine</country>
        </aff>
      </contrib-group>
      <fpage>0000</fpage>
      <lpage>0002</lpage>
      <abstract>
        <p>In this article realization method of attacks and anomalies detection with the use of training of ordinary and attacking packages, respectively. The method that was used to teach an attack on is a combination of an uncontrollable and controlled neural network. In an uncontrolled network, attacks are classified in smaller categories, taking into account their features and using the selforganized map. To manage clusters, a neural network based on back-propagation method used. We use PyBrain as the main framework for designing, developing and learning perceptron data. This framework has a sufficient number of solutions and algorithms for training, designing and testing various types of neural networks. Software architecture is presented using a procedural-object approach. Because there is no need to save intermediate result of the program (after learning entire perceptron is stored in the file), all the progress of learning is stored in the normal files on hard disk.</p>
      </abstract>
      <kwd-group>
        <kwd>neural network</kwd>
        <kwd>learning</kwd>
        <kwd>intrusion</kwd>
        <kwd>anomalies detection</kwd>
        <kwd>SOM</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>The probability of threats in computer networks increases every year and is a rather
serious issue, so the use of intrusion detection technologies is an important issue in
providing network and computer security. The process of detecting an attack is
implemented as a monitoring of events in the system or computer network, and allows
you to determine, with the indicated probability, an intrusion or not.</p>
      <p>Modern filters of network traffic, detection systems and counteraction interventions
become ever less effective when dealing with large volumes of traffic in high-speed
networks and also unsuitable for recognizing new types and methods of attacks on
computer systems and networks. Inductive methods provide the opportunity to obtain
accurate identification or prediction of various complex processes in the case of short
or noisy input data. This is relevant for network traffic recognition based on protocol
classification because most of the normal network thread meets the RFC standards set
by the developers, and the anomalies most often manifest themselves in non-standard
behavior and packet status.
___________________
Copyright © 2019 for this paper by its authors. Use permitted under Creative Commons License
Attribution 4.0 International (CC BY 4.0).</p>
      <p>
        The system of intrusion detection verifies the network traffic that is being
investigated for suspicious activity and also alerts the system or system administrator
of possible attacks. The main purpose of intrusion detection system is to protect the
availability, confidentiality and integrity of critical network information systems. Two
main approaches to the system of intrusion detection are used: the detection of abuses
and abnormalities [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ].
      </p>
      <p>Detection of misuse is based on the description of known dangerous actions. This
description is often modeled as a set of rules that are referred to as signature attacks.
The Anomaly Detection ID looks for a threat and applies the rules or predefined terms:
the normal and abnormal activity of the system. In the future, we use it to detect the
difference in threats from the normal system behavior, to monitor the report, or to block
the threats when they arise. Different methods of artificial intelligence are used in
intrusion detection system (IDS) anomalies, such as machine learning [11; 14],
intelligent data analysis, image recognition and neural networks [18].</p>
      <p>To identify abnormalities, it is more rational to develop an interactive intrusion
detection system than regular rules and programs that work under the normal principle
of detecting and responding to anomalies in the network. Therefore, it makes sense to
integrate the classical approaches of IDS and approaches to data analysis using neural
networks, which is considered a more flexible approach to the analysis and data
classification [6; 9; 15].
2</p>
    </sec>
    <sec id="sec-2">
      <title>Formulation of problem</title>
      <p>The aim of this work is to develop an IDS system prototype based on a hybrid neural
network to detect anomalies and threats from the network, based on the principle of
self-organizing maps and the error backpropagation of neural network (learning with
teacher). The object of research is the implementation process of modules for detecting
threats and anomalies in network. The subject is to formulate model and
implementation methods of system prototype.</p>
      <p>Research has made it possible to determine that the software should perform
analysis and separate the usual and dangerous data based on the input data, in this case,
on the basis of network packets. But after revealing the dangerous data, he still needs
to carry out the classification of the threat type.</p>
      <p>The approach to using neural networks (perceptrons) is chosen as the basis for
fulfilling the tasks. These are neural networks based on self-organizing maps used to
analyze data and to detect ordinary packets on the network when filtering traffic. After
analyzing the data in the first neural network, potentially dangerous data is transmitted
to the next neural network to detect the threat type based on the reverse error
propagation. In this case, both perceptrons need to be trained to distinguish between
suspicious packages and types of threats, respectively. The data used in the study of
perceptrons is a dataset of the Lincoln Laboratory of Massachusetts University of
Technology. This set is designed to evaluate DARPA intrusion detection systems and
is considered to be a benchmark for IDS research [1; 7; 17].</p>
      <p>In conducting the experiment for classifying network traffic models, in accordance
with the taxonomy of the five templates, we use a data set consisting of five classes of
packages, which include: ordinary packages, packages for sensing and scanning
infrastructure, packets that caused denial of service equipment, packages that have
increased user privileges to super user and external threat packages.
3</p>
    </sec>
    <sec id="sec-3">
      <title>Software tools and solutions</title>
      <p>It was decided to use two interceptors for a more convenient scaling and use software
with independent modules. This simplifies not only the ability to scale but also reduces
the concentration of responsibility on each of the software modules. That is to teach
and arrange two smaller perceptrons is much easier than one big one. Hybrid network
approach based on a neural network without a teacher (first module) and a neural
network with a teacher (second module) is used when developing a network threats
analyzer. As a network without a teacher, use self-organizing maps.</p>
      <p>One of the main approaches to solving cluster analysis problems is a self-organizing
maps (SOM) [10; 12]. They are adapted for using learning without teacher, that is,
without the end result.</p>
      <p>
        The method of back propagation is a learning method that is controlled by the
training of artificial neural networks [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ]. The purpose of back propagation is to prepare
the network to achieve a balance between the ability to respond correctly to the input
models used for learning (memorization) and the ability to give intelligent input
responses, as in the training.
      </p>
      <p>The process of learning without a teacher in SOM can be briefly described in three
stages. In the first stage, weights of the connection are assigned small random numbers
and the choice of the speed learning parameter is made.</p>
      <p>At the second stage, the best matching block is fixed, with determination of neuron
with the greatest weight in the layer of neural network, Euclidean square is used to
measure the distance between the input vector and the weight vector, and also the unit
chosen whose weight vector has the smallest Euclidean distance from the input vector
is selected.</p>
      <p>
        At the last stage, weights are updated according to the rule of training of Kohonen
network according to formula (1):
ωijnew =ωijold + α(xi − ωijold),
(1)
where xi is the i-th input vector, ωij is the j-th column of the weight matrix, and α, the
learning rate, decreases as learning proceeds. Updating neuronal weight in the network
occurs only for active output neurons. It is allowed to teach a unit whose weighted
vector is closest to the input vector [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ].
      </p>
      <p>Learning process itself continues until all input vectors are processed. Criterion of
convergence in neural networks is an epoch. This is one iteration in the learning
process, which includes representation of all examples from training set, as well as
verification of quality training in a controlled set. Epoch determines how many times
all input vectors must be submitted to the SOM for learning.</p>
      <p>This algorithm is also called the gradient descent algorithm because the strategy of
selecting such an important parameter as the weight for each neuron of a multi-layered
network is based on the gradient method. Continuous target function as a measure of
network success in the general case is defined as quadratic amount difference between
an actual result and expected output value. Algorithm for the reverse distribution of a
learning error uses two extensions of the network - direct and reverse.</p>
      <p>At the very beginning of the algorithm there is a direct passage where input data in
the form of a vector implement distribution among the layers, from the original to the
last. As a result of direct pass, a set of output signals is generated, which determines
response of the network to the input data. During a straight pass, all synaptic weights
of network are fixed. The second stage of algorithm is return pass where parameters
(all synaptic weights) are adjusted according to the error correction rules. The essence
of the rule is as follows: expected output values subtract resulting (resulting) value of
an actual output and error signal is generated as a result of such an operation. Error
signal extends like an echo in opposite synaptic bonds, so the algorithm got this name.
And synaptic scales, in turn, are adapted to maximize expected output of network’s
output signal.</p>
      <p>Scales are adjusted to reduce the error by distributing original error back through
the network. Training kit is supplied several times to the network, and the weight values
are corrected until overall error exceeds the specified one. Developed system uses
identification process of abnormal and normal packets in a computer network. Whole
process of system development can be divided into 2 stages. The first is the stage of
training in which the SOM neural networks and reverse error propagation have been
trained for a certain amount of time (epoch), it is shown in Fig. 1.</p>
      <p>Next step is to detect threats or testing yourself. Model of method functioning is
shown in Fig. 2. Since the usual packet-transfer analysis operations are specified and
they display the expected behavior, we can initiate knowledge-based definitions
(improper use), whereas the non-typical packet activity (the invasion is likely to
indicate the non-typical behavior of the packet) is constantly being developed and can’t
be regarded as defined an attack, so identifying IDS abnormalities is performed on
attacks.</p>
      <p>An uncontrolled neural network based on a self-organizing map (SOM) divides
classification of threats into smaller categories, taking into account their similar
features, and then, clustering of threats is performed based on the error of
nonpropagation of the neural network.</p>
      <p>The SOM training is implemented on the basis of data from KDD-99 (knowledge
discovery in databases), which is a set of data used during the second international
competition on open knowledge and data mining.</p>
      <p>Connections in KDD-99 are presented in the form of functions, each of which is
located in significantly different ranges, in one of the continuous, discrete, and
symbolic forms. Functions in this set are protocol type, service type and respectively.
The protocol type value can match tcp, udp or icmp; the service type may be one of the
different network services, such as http, smtp, etc.; the checkbox corresponds to one of
11 values, such as SF or S2. Other parameters in these connections are the length of
connection; number of bytes of data from the beginning to destination and vice versa;
number of connections to the same end node as the current connection in the last two
seconds, etc. The full list of attributes set for the connection records is given in
corresponding sources of information [3; 7].</p>
    </sec>
    <sec id="sec-4">
      <title>System for detecting network anomalies</title>
      <p>In the process of designing and system software implementation, authors developed
software (utility) that allows you to fulfill the purpose of the work – detection and
classification of threats in network traffic (packets).</p>
      <p>As a software method, Python has been selected as an interpreted object-oriented
programming language that supports module packs and several programming
paradigms: object-oriented, procedural, functional, and aspect-oriented [4; 8]. The
choice has been influenced by: Python’s support of object-oriented approach, simplicity
of syntax, and availability of built-in functions and data structures. Also, in this
language, a large number of ready-made solutions and documentation in the field of
development and training of perceptrons is realized.</p>
      <p>We use PyBrain as the main framework for designing, developing and learning
perceptron data. This framework has a sufficient number of solutions and algorithms
for training, designing and testing various types of neural networks. Software
architecture is presented using a procedural-object approach. Because there is no need
to save intermediate result of the program (after learning entire perceptron is stored in
the file), all the progress of learning is stored in the normal files on hard disk.</p>
      <p>We use setuptools as the main software, when creating this utility, to simplify the
construction of the main framework of the system.</p>
      <p>
        Program consists of the main function that is called when the program is started and
after class initialization [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ].
from __future__ import __all__
from scipy import random
from scipy.ndimage import minimum_position
from scipy import mgrid, zeros, tile, array, floor, sum
from module import Module
class Kohonen_SOM_Map(Module):
learn_rate = 0.01
neighbourd = 0.9999
outdim, winner, neurons_num, dist_matrix, inputs_num, diff,
neurons, outputFullMap = None, None, None, None, None, None
def __init__(self, dim, neurons_num, name=None,
output_full_map=False):
outdim = 2 if output_full_map else neurons_num ** 2
Module.__init__(self, dim, outdim, name)
Kohonen_SOM_Map.outputFullMap = output_full_map
      </p>
      <p>Kohonen_SOM_Map.neurons = random.random((neurons_num,
neurons_num, dim))</p>
      <p>Kohonen_SOM_Map.winner = zeros(2)
Kohonen_SOM_Map.diff = zeros(self.neurn.shape)
Kohonen_SOM_Map.inputs_num = dim
# Init matrix of predicates</p>
      <p>Kohonen_SOM_Map.__dist_matrix_create()
def _forward_err_implement(self, inbuf, outbuf):</p>
      <p>Kohonen_SOM_Map.diff = Kohonen_SOM_Map.neurons - tile(inbuf,
(Kohonen_SOM_Map.neurons_num, Kohonen_SOM_Map.neurons_num, 1))
error = sum(Kohonen_SOM_Map.diff ** 2, 2)
Kohonen_SOM_Map.winner = array(minimum_position(error))
if not Kohonen_SOM_Map.outputFullMap:</p>
      <p>
        outbuf[:] = Kohonen_SOM_Map.winner
@classmethod
def _backward_err_implement(cls):
n = floor(cls.neighbours)
cls.neighbours *= cls.neighbourdecay
tl = (cls.winner - n)
br = (cls.winner + n + 1)
tl[tl &lt; 0] = 0
br[br &gt; cls.neurons_num + 1] = cls.neurons_num + 1
# calculate distance matrix
tempm = 1 - sum(abs(cls.dist_matrix - cls.winner.reshape(1, 1,
2)), 2) / cls.neurons_num
tempm[tempm &lt; 0] = 0
distm = zeros((cls.neurons_num, cls.neurons_num, cls.nInput))
for i in range(cls.nInput):
distm[:, :, i] = tempm
distm[:, :, i] = tempm
cls.neurons[tl[0]:br[0], tl[
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]:br[
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]] -= cls.learningrate *
cls.diff[tl[0]:br[0], tl[
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]:br[
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]] * distm[tl[0]:br[0],
tl[
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]:br[
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]]
@classmethod
def __dist_matrix_create(cls):
if not cls.neurons_num:
      </p>
      <p>print ("Kohonen_map: not setted neural layers")
distx, disty = mgrid[0:cls.neurons_num, 0:cls.neurons_num]
cls.dist_matrix = zeros((cls.neurons_num, cls.neurons_num, 2))
cls.dist_matrix[:, :, 0] = distx
cls.dist_matrix[:, :, 1] = disty
The KohonenMap _forward_err_implement method assigns one of the neurons to input
dates in the input buffer and fixed coordinates of neurons in the output buffer, and also
performs calculation of the largest neuron, calculating data with the slightest error using
square of difference.</p>
      <p>The KohonenMap _backward_err_implement method training the Kohonen map in
an uncontrolled mode, moving the closest neuron and neurons adjacent to it closer to
the input template [4; 13].</p>
      <p>The main function performs initialization of an instance of the class, namely, it
creates the KohonenMap object and assigns variable to given object. After that, in the
input buffer, training data is asked in order to conduct training of this object. Learning
result is stored on the hard disk after training for several cycles.</p>
      <p>The obtained results confirm that the quality of the classification of packages
depends on the number of standards of separate classes in the educational voter. If the
number is small, then the detection rate of the attacks is high and the number of detected
intrusions by class is improved. This indicates that the method works in real-time with
high performance.
5</p>
    </sec>
    <sec id="sec-5">
      <title>Conclusion</title>
      <p>The purpose of this work is to develop a hybrid neural network (perceptron) based on
2 other neural networks, namely, the Kohonen neural network and the neural network
with back propagation. Data set from the Lincoln Laboratories of Massachusetts
Technology University from United Stateswas used as learning data sets. This data set
includes type of package, its useful data and metadata. The Python language and
PyBrain framework are selected as the software component.</p>
      <p>When developing software based on the idea of hybridization of neural networks,
the problem was solved to ensure protection of internal network from external threats
using packet filtering for threats such as denial of service and unauthorized increase of
user privileges. Effectiveness of methods to protect computer networks from harmful
traffic has been increased using prior analysis of packets risk. Also, in this neural
network, the so called boosting is applied - an increase in the efficiency of the neural
network at the expense of another neural network, which delivers already filtered
information to the inputs.</p>
      <p>In the following, the possibility of using this software on operating system for such
routers as OpenWrt is considered. This integration will not only increase an efficiency
of this system while protecting the network, but also will increase an accuracy of the
perceptron through the adoption of a large number of network traffic with self-study of
neural networks.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Akbar</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rao</surname>
            ,
            <given-names>K.N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Chandulal</surname>
            ,
            <given-names>J.A.</given-names>
          </string-name>
          :
          <article-title>Intrusion detection system methodologies based on data analysis</article-title>
          .
          <source>International Journal of Computer Applications</source>
          <volume>5</volume>
          (
          <issue>2</issue>
          ),
          <fpage>10</fpage>
          -
          <lpage>20</lpage>
          (
          <year>2010</year>
          ). doi:
          <volume>10</volume>
          .5120/
          <fpage>892</fpage>
          -
          <lpage>1266</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Bahrololum</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Salahi</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Khaleghi</surname>
            ,
            <given-names>M.:</given-names>
          </string-name>
          <article-title>An improved intrusion detection technique based on two strategies using decision tree and neural network</article-title>
          .
          <source>Journal of Convergence Information Technology</source>
          <volume>4</volume>
          (
          <issue>4</issue>
          ),
          <fpage>96</fpage>
          -
          <lpage>101</lpage>
          (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Chebrolu</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Abraham</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Thomas</surname>
            ,
            <given-names>J.P.</given-names>
          </string-name>
          :
          <article-title>Feature deduction and ensemble design of intrusion detection systems</article-title>
          .
          <source>Computers &amp; Security</source>
          <volume>24</volume>
          (
          <issue>4</issue>
          ),
          <fpage>295</fpage>
          -
          <lpage>307</lpage>
          (
          <year>2005</year>
          ). doi:
          <volume>10</volume>
          .1016/j.cose.
          <year>2004</year>
          .
          <volume>09</volume>
          .008
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <given-names>Dierbach</given-names>
            <surname>Ch</surname>
          </string-name>
          .:
          <article-title>Python as a first programming language</article-title>
          .
          <source>Journal of Computing Sciences in Colleges</source>
          <volume>29</volume>
          (
          <issue>6</issue>
          ),
          <fpage>153</fpage>
          -
          <lpage>154</lpage>
          (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>García-Teodoro</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Díaz-Verdejoa</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Maciá-Fernández</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Vázquez</surname>
          </string-name>
          , E.:
          <article-title>Anomaly-based network intrusion detection: Techniques, systems and challenges</article-title>
          .
          <source>Computers &amp; Security</source>
          <volume>28</volume>
          (
          <issue>1-2</issue>
          ),
          <fpage>18</fpage>
          -
          <lpage>28</lpage>
          (
          <year>2009</year>
          ). doi:
          <volume>10</volume>
          .1016/j.cose.
          <year>2008</year>
          .
          <volume>08</volume>
          .003
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Imamverdiyev</surname>
            ,
            <given-names>Y.N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sukhostat</surname>
            ,
            <given-names>L.V.</given-names>
          </string-name>
          :
          <article-title>Obnaruzhenie anomalii v setevom trafike na osnove informativnykh priznakov (Network traffic anomalies detection based on informative features)</article-title>
          .
          <source>Radio electronics, computer science, control 3</source>
          ,
          <fpage>113</fpage>
          -
          <lpage>120</lpage>
          (
          <year>2017</year>
          ) doi:10.15588/
          <fpage>1607</fpage>
          -3274-2017-3-13
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>KDD</surname>
          </string-name>
          <article-title>Cup 1998 Data</article-title>
          . http://kdd.ics.uci.edu//databases/kddcup98/kddcup98.html (
          <year>1999</year>
          ).
          <source>Accessed 21 Mar 2019</source>
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Kirichek</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kurai</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          :
          <article-title>Implementation quadtree method for comparison of images</article-title>
          .
          <source>In: 14th International Conference on Advanced Trends in Radioelectronics</source>
          , Telecommunications and Computer Engineering (TCSET), pp.
          <fpage>129</fpage>
          -
          <lpage>132</lpage>
          . IEEE (
          <year>2018</year>
          ) doi:10.1109/TCSET.
          <year>2018</year>
          .8336171
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Kirichek</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Tymoshenko</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rudkovskyi</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hrushko</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <article-title>Decentralized System for Run Services</article-title>
          .
          <source>CEUR Workshop Proceedings</source>
          <volume>2353</volume>
          ,
          <fpage>860</fpage>
          -
          <lpage>872</lpage>
          (
          <year>2019</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Kohonen</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          :
          <string-name>
            <surname>Self-Organizing Maps</surname>
          </string-name>
          . Springer-Verlag, Berlin, Heidelberg (
          <year>2001</year>
          ). doi:
          <volume>10</volume>
          .1007/978-3-
          <fpage>642</fpage>
          -56927-2
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Mukkamala</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Janoski</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sung</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Intrusion detection using neural networks and support vector machines</article-title>
          .
          <source>In: Proceedings of the 2002 International Joint Conference on Neural Networks. IJCNN'02</source>
          .
          <string-name>
            <surname>Honolulu</surname>
            ,
            <given-names>HI</given-names>
          </string-name>
          , USA, pp.
          <fpage>1702</fpage>
          -
          <lpage>1707</lpage>
          (
          <year>2002</year>
          ). doi:
          <volume>10</volume>
          .1109/IJCNN.
          <year>2002</year>
          .1007774
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Ritter</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Martinetz</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Schulten</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Barsky</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Tesch</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kates</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          :
          <source>Neural Computation and Self-Organizing Maps: An Introduction. Addison-Wesley</source>
          , Reading (
          <year>1992</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Rueckstiess</surname>
            <given-names>T.</given-names>
          </string-name>
          :
          <article-title>Python PyBrain package v0.3, pybrain.structure.modules.kohonen module source code :: PyDoc.net</article-title>
          . http://pydoc.net/PyBrain/0.3/pybrain.structure.modules.kohonen (
          <year>2009</year>
          ).
          <source>Accessed 17 Aug 2019</source>
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Sabhnani</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Serpen</surname>
          </string-name>
          , G.:
          <article-title>Application of Machine Learning Algorithms to KDD Intrusion Detection Dataset within Misuse Detection Context</article-title>
          .
          <source>In: Proceedings of the International Conference on Machine Learning; Models, Technologies and Applications</source>
          . MLMTA'
          <volume>03</volume>
          ,
          <string-name>
            <surname>June</surname>
          </string-name>
          23-26,
          <year>2003</year>
          ,
          <string-name>
            <given-names>Las</given-names>
            <surname>Vegas</surname>
          </string-name>
          , Nevada, USA, pp.
          <fpage>209</fpage>
          -
          <lpage>215</lpage>
          . CSREA Press (
          <year>2003</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Salnik</surname>
            ,
            <given-names>S.V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Salnyk</surname>
            ,
            <given-names>V.V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Symonenko</surname>
            ,
            <given-names>O.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sova</surname>
            ,
            <given-names>O.Ya.</given-names>
          </string-name>
          :
          <article-title>Metod vyiavlennia vtorhnen v mobilni radiomerezhi na osnovi neironnykh merezh (Method of intrusion detection in mobile radio networks on the basis of neurals networks)</article-title>
          .
          <source>Science and Technology the Air Force of Ukraine</source>
          <volume>4</volume>
          (
          <issue>21</issue>
          ),
          <fpage>82</fpage>
          -
          <lpage>90</lpage>
          (
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Semerikov</surname>
            ,
            <given-names>S.O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Teplytskyi</surname>
            ,
            <given-names>I.O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Yechkalo</surname>
            ,
            <given-names>Yu.V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kiv</surname>
            ,
            <given-names>A.E.</given-names>
          </string-name>
          :
          <article-title>Computer Simulation of Neural Networks Using Spreadsheets: The Dawn of the Age of Camelot</article-title>
          . In: Kiv,
          <string-name>
            <given-names>A.E.</given-names>
            ,
            <surname>Soloviev</surname>
          </string-name>
          , V.N. (eds.)
          <source>Proceedings of the 1st International Workshop on Augmented Reality in Education (AREdu</source>
          <year>2018</year>
          ), Kryvyi Rih, Ukraine, October 2,
          <year>2018</year>
          .
          <source>CEUR Workshop Proceedings</source>
          <volume>2257</volume>
          ,
          <fpage>122</fpage>
          -
          <lpage>147</lpage>
          . http://ceur-ws.
          <source>org/</source>
          Vol-
          <volume>2257</volume>
          /paper14.pdf (
          <year>2018</year>
          ).
          <source>Accessed 30 Nov 2018</source>
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <surname>Tavallaee</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bagheri</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lu</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ghorbani</surname>
            ,
            <given-names>A.A.</given-names>
          </string-name>
          :
          <article-title>A detailed analysis of the KDD CUP 99 data set</article-title>
          .
          <source>In: 2009 IEEE Symposium on Computational Intelligence for Security and Defense Applications</source>
          , pp.
          <fpage>1</fpage>
          -
          <lpage>6</lpage>
          . IEEE (
          <year>2009</year>
          ). doi:
          <volume>10</volume>
          .1109/CISDA.
          <year>2009</year>
          .
          <volume>5356528</volume>
          18. Zhang,
          <string-name>
            <given-names>Z.</given-names>
            ,
            <surname>Manikopoulos</surname>
          </string-name>
          ,
          <string-name>
            <surname>C.</surname>
          </string-name>
          :
          <article-title>Neural networks in statistical anomaly intrusion detection</article-title>
          .
          <source>Neural network world 11(3)</source>
          ,
          <fpage>305</fpage>
          -
          <lpage>316</lpage>
          (
          <year>2001</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>