<!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>A Software Architecture for Classifying Users in e-Payment Systems</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Gianluigi Folino</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Francesco Sergio Pisani</string-name>
          <email>fspisani@icar.cnr.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Institute of High Performance Computing and Networking</institution>
          ,
          <addr-line>ICAR-CNR</addr-line>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2017</year>
      </pub-date>
      <fpage>76</fpage>
      <lpage>85</lpage>
      <abstract>
        <p>In modern payment systems, the user is often the weakest link in the security chain. To identify the key vulnerabilities associated with the user behavior and to implement a number of measures useful to protect the payment systems against these kinds of vulnerability is a real hard task. To this aim, we designed an architecture useful to divide the users of a payment system into pre-defined classes according to the type of vulnerability enabled. In this way, it is possible to address actions (information campaigns, alerts, etc.) towards targeted users of a specific group. Unfortunately, the data useful to classify the user typically presents many missing features. To overcome this issue, a tool was developed, based on artificial intelligence and adopting a meta-ensemble model, to operate efficiently with missing data. Each ensemble evolves a function for combining the classifiers, which does not need of any extra phase of training on the original data. The approach is validated on a well-known real dataset of Unix users demonstrating its goodness.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>
        In the last few years, as a consequence of our interconnected society, the interest in cyber security
problems has really been increasing and cyber crime seriously threatens national governments
and the economy of many industries [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. Countermeasures must be undertaken to protect
security vulnerabilities and weaknesses of the systems from the potential attacks, in order to
minimize the risks. In addition, computer network activities, human actions, etc. generate
large amounts of data and this aspect must be seriously taken into account.
      </p>
      <p>
        Many works present in literature [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ][
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] remark that most serious threats and vulnerabilities
concern the user and its wrong behaviors. In modern payment systems, the user is often the
weakest link in the security chain. Indeed, in 2015, according to Kaspersky Lab research1, 73%
of organizations had internal data breach issues that can severely compromise their business.
Typical examples are the use of insecure passwords, saving critical data not encrypted on a
notebook, etc. In particular for e-payment systems, the users, the operators and even the top
managers of these systems are often unaware of the risks associated with vulnerabilities enabled
by their behavior and that can be dangerous and costly. Therefore, a system for the protection
of payment systems can not be separated from the analysis of the vulnerabilities related to the
users so that the appropriate countermeasures can be undertaken.
      </p>
      <p>In light of these considerations, it is a very hard task to identify the key vulnerabilities
associated with the user behavior and to implement a number of measures useful to protect the
payment systems against these kinds of vulnerabilities.</p>
      <p>A scalable solution for operating with the security weaknesses derived from the human factor
must consider a number of critical aspects, such as profiling users for better and more focused
actions, analyzing large logs in real-time and also it should work efficiently in the case of missing
data.</p>
      <p>
        Data mining techniques could be used to fight efficiently, to alleviate the effect or to prevent
the action of cybercriminals, especially in the presence of large datasets [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. In particular,
classification is used efficiently for many cyber security applications, i.e. classification of the
user behavior, risk and attack analysis, intrusion detection systems, etc. However, in this
particular domain, datasets often have different number of features and each attribute could
have different importance and cost. Furthermore, the entire system must also work if some
features are missing. Therefore, a single classification algorithm performing well for all the
datasets would be really unlikely, especially in the presence of changes and with constraints of
real time and scalability. In the ensemble learning paradigm [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ][
        <xref ref-type="bibr" rid="ref7">7</xref>
        ], multiple classification models
are trained by a predictive algorithm, and then their predictions are combined to classify new
tuples. This paradigm presents a number of advantages with regard to using a single model,
i.e., it reduces the variance of the error, the bias, and the dependence on a single dataset and
works well in the case of unbalanced classes; furthermore, the ensemble can be build in an
incremental way and can be easily implemented on a distributed environment.
      </p>
      <p>
        In order to protect the e-payment systems from the problems concerning the user behavior,
in this work, a general architecture was designed. It is useful to monitor the user behavior,
divide the users of a payment system into pre-defined classes according to the type of
vulnerability enabled and to make possible to address suitable actions (information campaigns, alerts,
etc.) towards targeted users of a specific group. Typically, the data useful to classify the user
presents many missing features. To overcome this issue, a classification tool was also used,
based on artificial intelligence (i.e., an evolutionary-based algorithm) and adopting a
metaensemble model to operate efficiently with missing data. For each ensemble, the function for
combining the classifiers, which does not need of any extra phase of training on the original
data, is evolved by a genetic programming (GP) tool. Therefore, in the case of changes in the
data, the function can be recomputed in an incremental way, with a moderate computational
effort; this aspect together with the advantages of running on parallel/distributed architectures
make the algorithm suitable to operate with the real time constraints typical of a cyber security
problem. The tool was developed in a previous work [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], but here it is adopted in this novel
architecture.
      </p>
      <p>
        Among the strategies operating with ensemble for coping with missing data, we remember
the work in [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]. The authors build all the possible LCP (Local Complete Pattern), i.e., a
partition of the original datasets into complete datasets, without any missing features; a different
classifier is built on each LCP, and then they are combined to predict the class label, basing
on a voting matrix. The experiments compared the proposed approach with two techniques
to cope with missing data, i.e., deletion and imputation, on small datasets and show how the
approach outperforms the other two techniques. However, the phase of building the LCP could
be really expensive. Another correlate work is Learn++.MF [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ], which is an ensemble-based
algorithm with base classifiers trained on a random subset of the features of the original dataset.
The approach generates a large number of classifiers, each trained on a different feature subset.
In practice, the instances with missing attributes are classified by the models generated on
the subsets of the remaining features. Then, the algorithm uses a majority voting strategy in
order to assign the correct class under the condition that at least one classifier must cover the
instance. When the number of attributes is high, it is unfeasible to build classifiers with all
the possible sets of features; therefore, the subset of the features is iteratively updated to favor
the selection of those features that were previously undersampled. However, this limits the real
applicability of the approach to datasets with a low number of attributes
      </p>
      <p>The rest of the paper is structured as follows: in Section 2 some related works concerning
the classification of user profiles are illustrated; Section 3 introduces the general architecture
of the proposed approach; Section 4 is devoted to some background information concerning
the problem of missing data and incomplete datasets and the ensemble of classifiers; in Section
5, the main algorithm used to classify the user is explained; Section 6 shows the experiments
conducted to verify the effectiveness of the approach and to compare it with other similar
approaches; finally, Section 7 concludes the work.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Methods for classifying user profiles</title>
      <p>The inspiration of the approach taken in this paper comes from a project on cyber security, in
which one of the main tasks consists in dividing the users of an e-payments systems into
homogenous groups on the basis of their weakness or vulnerabilities from the cyber security point
of view. In this way, the provider of an e-payment system can conduct a different information
and prevention campaign for each class of users, with obvious advantages in terms of time and
cost savings. In addition, specialized security policies can be conducted towards the users of a
specific class.</p>
      <p>This technique is usually named segmentation, i.e. the process of classifying customers into
homogenous groups (segments), so that each group of customers shares enough characteristics
in common to make it viable for a company to design specific offerings or products for it.
It is based on a preliminary investigation in order to individuate the variables (segmentation
variables) necessary to distinguish one class of customers from others. Typically, the goal is to
increase the purchases and/or to improve customer satisfaction.</p>
      <p>
        Different techniques can be employed to perform this task; in order to cope with large
datasets, the most used are based on data mining approaches, mainly clustering and
classification; anyway, many other techniques can be employed (see [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ] for a survey of these techniques).
      </p>
      <p>
        Another issue to be considered in order to construct the different profiles is the information
collection process used to gather raw information about the user, which can be conducted
through direct user intervention, or implicitly, through software that monitors user activity.
Finally, profiles maintaining the same information over time are considered static, in contrast
to dynamic profiles that can be modified or improved over time [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ].
      </p>
      <p>
        In the general case of computer user profiling, the entire audit source can include information
from a variety of sources, such as command line calls issued by users, system calls monitoring
for unusual application use/events, database/file accesses, and the organization policy
management rules and compliance logs. The type of analysis used is primarily the modeling of
statistical features, such as the frequency of events, the duration of events, the co-occurrence of
multiple events combined through logical operators, and the sequence or transition of events.
An interesting approach to computer user modeling is the process of learning about ordinary
computer users by observing the way they use the computer. In this case, a computer user
behavior is represented as the sequence of commands she/he types during her/his work. This
sequence is transformed into a distribution of relevant subsequences of commands in order to
find out a profile that defines its behavior. The ABCD (Agent behavior Classification based
on Distributions of relevant events) algorithm discussed in [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] is an interesting approach using
this technique.
3
      </p>
    </sec>
    <sec id="sec-3">
      <title>Background: Classification, Ensemble and Missing Data</title>
      <p>In this section, some background is given; in particular, the main methods to cope with missing
data and incomplete datasets are illustrated, together with the interesting paradigma of the
ensemble of classifiers used for the data mining task of classification.</p>
      <p>Classification is one of the most important data mining tasks and consists in assigning a
class label (among a pre-defined set of a classes) to a set of unclassified cases on the basis of
the input data. Typically, the algorithm of classification is trained on a dataset, named the
training set, consisting of multiple records each having multiple attributes or features. The
final result is an accurate description or model for each class using the features present in the
data. Finally, this model is used to classify test data for which the class is not known.</p>
      <p>
        The ensemble paradigma combines multiple (heterogenous or homogenous) models in order
to classify new unseen instances. Usually, ensemble model improves accuracy and robustness
over single model methods. For example, in hard domains, such cyber security, having
realtime requirements, which do not permit re-training the base models, ensemble strategies can
use some functions, which can be combined without using the original training set [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ] [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ] and
also works in an incremental way [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ].
      </p>
      <p>Different schemas can be considered to generate the classifiers and to combine the ensemble,
i.e. the same learning algorithm can be trained on different datasets or/and different algorithms
can be trained on the same dataset. In practice, after a number of classifiers are built usually
using part of the dataset, the predictions of the different classifiers are combined and a common
decision is taken.</p>
      <p>When we consider data with missing features, some main patterns are commonly used. We
remember: missing completely at random (MCAR), to describe data, in which the complete
cases are a random sample of the originally dataset, i.e., the probability of a feature being
missing is independent of the value of that or any other feature in the dataset; missing at random
(MAR) describe data that are missing for reasons related to completely observed variables in
the data set. Finally, the MNAR case considers the probability that an entry will be missing
depends on both observed and unobserved values in the data set. Therefore, even if MCAR is
more easy to handle, we try to cope with the MAR case, as it is a more realistic model and it
is suitable to many real-world applications, i.e., the cyber security scenario.</p>
      <p>
        Data mining and in particular classification algorithms must handle the problem of missing
values on useful features. The presence of missing features complicates the classification process,
as the effective prediction may depend heavily on the way missing values are treated. Typically,
missing values are present in both the training and the testing data, i.e., the same sources of
data are not available for all the users. However, in our approach, without any loss of generality,
we suppose that the training dataset is complete. Even in the case of the presence of a moderate
number of tuples presenting missing data, it can be reported to the previous case, simply by
deleting all the incomplete tuples. However, handling missing data by eliminating cases with
missing data will bias results, if the remaining cases are not representative of the entire sample.
Therefore, different techniques can be used to handle these missing features (see [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ] for a
detailed list of them). In addition to the above-mentioned strategy to remove any tuple with
missing values, we remember the option of using a classification algorithm, which can deal with
missing values in the training phase and the strategy of imputing all missing values before
training the classification algorithm, i.e., replace the missing value with a meaningful estimate.
      </p>
      <p>Indeed, in our particular problem, we are more interested in handling groups of missing
features, and consequently, we focus on constructing a classifier on the incomplete dataset
directly.</p>
      <p>More formally, in our scenario, we have D1, D2, . . . , Dk datasets; typically each dataset
comes from a different source of data, but can be used to predict the same class. Therefore, the
corresponding ith tuple of the different datasets can be used to predict the class of the same
user. However, a particular tuple of a dataset can be missing, i.e., all the features belonging to
the same source of data of that tuple are missing.</p>
      <p>Without any loss of generality, even a problem of missing features of an incomplete dataset
can be reported to the previous one, by grouping tuples with the same missing features.
4</p>
    </sec>
    <sec id="sec-4">
      <title>An architecture for classification of user profiles in epayment systems</title>
      <p>
        In our scenario, the classes, in which the users will be divided, are individuated on the basis
of their expertise in computer science and in the domain of the e-payments systems. Indeed,
most of the vulnerabilities are associated with the behavior and the practices correlated with
the knowledge of the computer and/or of the e-payment system. As example, contrarily to the
normal belief, a vulnerability study confirmed that software developers are the most vulnerable
to attacks [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. Furthermore, an excess of confidence and the consequent download and
installation of a number of applications can cause vulnerabilities; in the same way, misconfigurations
of the system due to inconsistent application of security associated with a lack of competency
could abilitate other kinds of vulnerabilities. Similar behaviors could be seen in the activities
of users of the e-payments system.
      </p>
      <p>Given these considerations, Figure 1 shows the general architecture proposed in this work
to handle the problem of mitigating the consequences of the user behavior. The information
concerning the user is supplied by using different sources of information or monitoring tools
(i.e. generally automatic software analyzing the action and the behavior of the users). Going
more into detail, user datasets can include demographic and education information, e.g., name,
age, country, education level, computer knowledge, task knowledge, etc. and may also includes
information concerning the contest in which the users operate and the roles they have in the
systems. In addition to these data, which usually do not change if we consider a reasonable
amount of time, the monitoring tool collects operational and behavioral data (e.g. IP addresses
from which users connect to the system, operating system and browser used, the duration of
the session, etc.), for which changes over time should be also considered. Finally, we also collect
user input (i.e., commands entered using the keyboard or via GUI, using the mouse, etc.) This
information should be captured in a dynamic way, by logging user actions. Unfortunately, all
these kinds of data are not present for each user for clear reasons of privacy and for a number
of different motivations (i.e., we have users with different roles and therefore, it is possible
to monitor only some types of user, some users do not want to give authorization to disclose
some data, etc.). Therefore, for different users, some sources are missing and this problem
must be faced efficiently in order to obtain an accurate classification. Using these data, the
users of the e-payment system are classified into pre-defined classes according to the type of
vulnerability enabled by using the meta-ensemble approach, described in detail in the next
section. Finally, suitable actions (information campaigns, alerts, periodic checks, etc.) can be
undertaken towards targeted users of a specific group.
5</p>
    </sec>
    <sec id="sec-5">
      <title>A Meta-Ensemble Approach for Classifying user profiles</title>
      <p>In this section, we illustrate the software architecture and we detail the main steps of the
meta-ensemble approach used to classify the user profiles, also in the case of missing data.</p>
      <p>The overall software architecture of the meta-ensemble approach, named CAGE-MetaCombiner,
is illustrated in Figure 2.</p>
      <p>
        In practice, an ensemble is built for each dataset by using a distributed GP tool, used
to generate the combiner function.This GP tool is a distributed/parallel GP implementation,
named CellulAr GEnetic programming (CAGE) [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ], running both on distributed-memory
parallel computers and on distributed environments. The learning models (classifiers) composing
the ensemble are taken from the well-known WEKA tool.
      </p>
      <p>This tool is used to evolve the combiner functions, which the ensemble will adopt to classify
new tuples. Implicitly, the function selects the more suitable classifiers/models to the specific
datasets considered.</p>
      <p>The different ensembles perform a weighted vote in order to decide the correct class. It is
worth remembering that each ensemble evolves a function for combining the classifiers, which
does not need any extra phase of training on the original data. The final classification is
obtained computing the error using the same formulae as the Adaboost.M2 algorithm used
by the boosting algorithm, by computing the error of the entire ensemble instead of a single
classifier as in the original boosting algorithm.</p>
      <p>Note that the approach is also suitable to work on incomplete datasets (named D1, D2, . . . , Dk
in the figure). It is worth noticing that, as described in the background section, it is
equivalent whether each dataset comes from a different source of data, or they are obtained from
a partition of an incomplete dataset by removing groups of missing features. The only strong
assumption is that each corresponding tuple of the different datasets is used to predict the same
class, i.e., the class of the user of the scenario shown in section 4. The corresponding tuple can
be missing in one or more datasets, but if it is missing in all the datasets, it will be discarded
and counted as a wrong prediction in the evaluation phase.</p>
      <p>The entire process can be summarized as follows, by considering a dataset partitioned into
training, validation and test set:
1. The base classifiers are trained on the training set; then, a weight, proportional to the
error on the training set, is associated with each classifier together with the support for
each class, i.e. the decision support matrix is built. This phase could be computationally
expensive, but it is performed in parallel, as the different algorithms are independent of
each other.
2. The combiner function is evolved by using the distributed GP tool, CAGE, on the
validation set. No extra computation on the data is necessary, as validation is only used to verify
whether the correct class is assigned and consequently to compute the fitness function.
3. The final function is used to combine the base classifiers and classify new data (test set).</p>
      <p>This phase can be performed in parallel, by partitioning the test set among different nodes
and applying the function to each partition.</p>
      <p>
        A complete description of the meta-ensemble algorithm can be found in [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ].
6
      </p>
    </sec>
    <sec id="sec-6">
      <title>Experimental Results</title>
      <p>In this section, the experiments conducted to analyze the capacity of our approach on handling
missing features are described together with the main parameters and the main characteristics
of the dataset used.</p>
      <p>
        The software must be validated with real data to prove the validity of the approach. But it
is very hard to find useful dataset with personal data and information about the behavioural
profiles. The nature of the data limits the availability of public release of this kind of dataset.
For this reason, we have chosen the UNIX dataset, described in [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ]. It contains data about
users working on linux consoles. The users are profiled according to their expertise with console
commands. The high number of features gives us the opportunity to test the performance of
the algorithm for the case of missing features.
      </p>
      <p>
        All the experiments were performed on a Linux cluster with 16 Itanium2 1.4GHz nodes,
each with 2 GBytes of main memory and connected by a Myrinet high performance network.
No tuning phase has been conducted for the GP algorithm, but the same parameters used
in the original paper [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ] were used, listed in the following: a probability of crossover of 0.7
and of mutation of 0.1, a maximum depth of 7, and a population of 132 individuals per node.
The algorithm was run on 4 nodes, using 1000 generations and the original training set was
partitioned among the 4 nodes. All the results were obtained by averaging 30 runs.
      </p>
      <p>
        Two type of experiments were performed in order to evaluate the ability of the
CAGEMetaCombiner approach in handling missing features. The first type analyzes the behavior
of the algorithm when we vary the percentage of tuples with missing data. The second one
compares the performance of our software with the EvABCD algorithm [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ], described in the
introduction.
      </p>
      <p>
        The dataset is preprocessed in the same way used in [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ]. For each user we consider the
first 100 and 500 commands used; then the commands subsequences of fixed length (from
3 to 6) are extracted from the list. Each user represents a record in the processed dataset
and all the distinct subsequences are used as record attribute and the attribute value is the
number of times the subsequence is typed by the user (0 means that the subsequence is never
typed). In addition, the dataset is partitioned in four subsets, each one with the same number
of features. It is worth remembering that we are interested in handling cases in which entire
groups of features are missing and not in coping with random patterns of missing features. To
simulate the missing data, for each partition a tuple can be removed according to a probability
threshold, i.e., this parameter controls the percentage of tuples, which have missing attributes.
For instance, if this parameter is set to 10%, the entire partition of the features belonging to
this tuple has a probability of 0.1 to be missing. If all the partitions of a tuple are missing, this
tuple will be considered as an error of classification. We choose the values for the threshold in
the range 0-80%, with an interval of 10%, with 0% means no missing data.
In Table 1, we show the Cage-MetaCombiner performance on the Unix dataset using different
subsequence lengths and different percentage of missing data. The classification rate for the
100 commands experiment is slightly better than for the case with 500 commands probably
because the increase in the number of commands could lead to an increment in the number of
features and consequently the training phase becomes harder than the previous case. Owing to
the high number of features, the results are not much affected by the missing rate, that is the
algorithm has good performance with all the percentages of missing data.
      </p>
      <p>
        In Table 2 the results of comparison between Cage-MetaCombiner and EvABCD are
reported [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ]. The EvABCD algorithm is a technique for classification of the behavior profiles
of users. As Cage-MetaCombiner, it learns different behaviors from training data. For a
different profile, it builds one or more prototypes computing the frequency of all the sequences
of commands with a defined length. Moreover, it updates the models in an incremental way.
Our algorithm performs better than EvABCD in most cases. By using Cage-MetaCombiner,
the results for a different number of commands extracted do not influence the accuracy much,
while the EvABCD algorithm improves its accuracy when using 500 commands.
7
      </p>
    </sec>
    <sec id="sec-7">
      <title>Conclusions and Future work</title>
      <p>A general architecture for profiling users for better and more focused actions is proposed. The
proposed methodology also works whether some logs, concerning the behavior of the users,
are missing. In particular, a meta-ensemble-based framework for classifying datasets was
designed and implemented. It is based on data mining and artificial intelligence (inspired to the
evolutionary theory) techniques and permits to handle missing features, as each ensemble is
specialized to operate with a different group of features. Experimental results, conducted on a real
dataset, demonstrate the proposed system has a better accuracy in comparison with a
correlated approach. In particular, the accuracy does not degrade significantly when the percentage
of missing data increases. Future works aim to test the framework on a real environment.</p>
    </sec>
    <sec id="sec-8">
      <title>Acknowledgment References</title>
      <p>This work has been partially supported by MIUR-PON under project PON03PE 00032 2 within
the framework of the Technological District on Cyber Security.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>G.</given-names>
            <surname>Folino</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Sabatino</surname>
          </string-name>
          ,
          <article-title>Ensemble based collaborative and distributed intrusion detection systems: A survey</article-title>
          ,
          <source>J. Netw. Comput. Appl</source>
          . 66 (C) (
          <year>2016</year>
          )
          <fpage>1</fpage>
          -
          <lpage>16</lpage>
          . doi:
          <volume>10</volume>
          .1016/j.jnca.
          <year>2016</year>
          .
          <volume>03</volume>
          .011. URL http://dx.doi.org/10.1016/j.jnca.
          <year>2016</year>
          .
          <volume>03</volume>
          .011
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>G.</given-names>
            <surname>Folino</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F. S.</given-names>
            <surname>Pisani</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Sabatino</surname>
          </string-name>
          ,
          <article-title>A distributed intrusion detection framework based on evolved specialized ensembles of classifiers</article-title>
          , in: Applications of Evolutionary Computation - 19th European Conference,
          <source>EvoApplications</source>
          <year>2016</year>
          , Porto, Portugal, March 30 - April 1,
          <year>2016</year>
          , Proceedings,
          <string-name>
            <surname>Part</surname>
            <given-names>I</given-names>
          </string-name>
          , Vol.
          <volume>9597</volume>
          of Lecture Notes in Computer Science, Springer,
          <year>2016</year>
          , pp.
          <fpage>315</fpage>
          -
          <lpage>331</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>CERT</given-names>
            <surname>Australia</surname>
          </string-name>
          ,
          <article-title>Cyber crime and security survey report</article-title>
          ,
          <source>Tech. rep. (</source>
          <year>2012</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>V.</given-names>
            <surname>Subrahmanian</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Ovelgonne</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Dumitras</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B. A.</given-names>
            <surname>Prakash</surname>
          </string-name>
          ,
          <source>The Global Cyber-Vulnerability Report, 1st Edition</source>
          , Springer,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <surname>M. van Zadelhoff</surname>
          </string-name>
          ,
          <article-title>The biggest cybersecurity threats are inside your company, Digital article - Harvard Business Review (</article-title>
          <year>2016</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>L.</given-names>
            <surname>Breiman</surname>
          </string-name>
          , Bagging predictors,
          <source>Machine Learning 24 (2)</source>
          (
          <year>1996</year>
          )
          <fpage>123</fpage>
          -
          <lpage>140</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>Y.</given-names>
            <surname>Freund</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Shapire</surname>
          </string-name>
          ,
          <article-title>Experiments with a new boosting algorithm</article-title>
          ,
          <source>in: Machine Learning, Proceedings of the Thirteenth International Conference (ICML '96)</source>
          , Morgan Kaufmann,
          <year>1996</year>
          , pp.
          <fpage>148</fpage>
          -
          <lpage>156</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>Y.</given-names>
            <surname>Wang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Gao</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Shen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Yang</surname>
          </string-name>
          ,
          <article-title>Selective ensemble approach for classification of datasets with incomplete values</article-title>
          ,
          <source>in: Foundations of Intelligent Systems</source>
          , Springer,
          <year>2012</year>
          , pp.
          <fpage>281</fpage>
          -
          <lpage>286</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>R.</given-names>
            <surname>Polikar</surname>
          </string-name>
          , J. DePasquale,
          <string-name>
            <given-names>H. S.</given-names>
            <surname>Mohammed</surname>
          </string-name>
          , G. Brown,
          <string-name>
            <surname>L. I. Kuncheva</surname>
          </string-name>
          , Learn++. mf:
          <article-title>A random subspace approach for the missing feature problem</article-title>
          ,
          <source>Pattern Recognition</source>
          <volume>43</volume>
          (
          <issue>11</issue>
          ) (
          <year>2010</year>
          )
          <fpage>3817</fpage>
          -
          <lpage>3832</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>D.</given-names>
            <surname>Godoy</surname>
          </string-name>
          ,
          <string-name>
            <surname>A. Amandi,</surname>
          </string-name>
          <article-title>User profiling in personal information agents: A survey</article-title>
          ,
          <source>Knowl. Eng. Rev</source>
          .
          <volume>20</volume>
          (
          <issue>4</issue>
          ) (
          <year>2005</year>
          )
          <fpage>329</fpage>
          -
          <lpage>361</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>S.</given-names>
            <surname>Gauch</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Speretta</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Chandramouli</surname>
          </string-name>
          ,
          <string-name>
            <surname>A. Micarelli,</surname>
          </string-name>
          <article-title>User profiles for personalized information access</article-title>
          , in: P.
          <string-name>
            <surname>Brusilovsky</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Kobsa</surname>
          </string-name>
          , W. Nejdl (Eds.),
          <source>The Adaptive Web</source>
          , Vol.
          <volume>4321</volume>
          of Lecture Notes in Computer Science, Springer,
          <year>2007</year>
          , pp.
          <fpage>54</fpage>
          -
          <lpage>89</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>J. A.</given-names>
            <surname>Iglesias</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P. P.</given-names>
            <surname>Angelov</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Ledezma</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Sanchis</surname>
          </string-name>
          ,
          <article-title>Creating evolving user behavior profiles automatically</article-title>
          ,
          <source>IEEE Trans. Knowl. Data Eng</source>
          .
          <volume>24</volume>
          (
          <issue>5</issue>
          ) (
          <year>2012</year>
          )
          <fpage>854</fpage>
          -
          <lpage>867</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>L.</given-names>
            <surname>Kuncheva</surname>
          </string-name>
          , Combining Pattern Classifiers:
          <article-title>Methods and Algorithms</article-title>
          , Wiley-Interscience,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>G.</given-names>
            <surname>Folino</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F. S.</given-names>
            <surname>Pisani</surname>
          </string-name>
          ,
          <article-title>Combining ensemble of classifiers by using genetic programming for cyber security applications</article-title>
          , in: Applications of Evolutionary Computation - 18th European Conference,
          <source>EvoApplications</source>
          <year>2015</year>
          , Copenhagen, Denmark, April 8-
          <issue>10</issue>
          ,
          <year>2015</year>
          , Proceedings, Vol.
          <volume>9028</volume>
          of Lecture Notes in Computer Science, Springer,
          <year>2015</year>
          , pp.
          <fpage>54</fpage>
          -
          <lpage>66</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>G.</given-names>
            <surname>Folino</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F. S.</given-names>
            <surname>Pisani</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Sabatino</surname>
          </string-name>
          ,
          <article-title>An incremental ensemble evolved by using genetic programming to efficiently detect drifts in cyber security datasets</article-title>
          ,
          <source>in: Genetic and Evolutionary Computation Conference, GECCO</source>
          <year>2016</year>
          , Denver, CO, USA, July
          <volume>20</volume>
          -
          <issue>24</issue>
          ,
          <year>2016</year>
          ,
          <string-name>
            <given-names>Companion</given-names>
            <surname>Material</surname>
          </string-name>
          <string-name>
            <surname>Proceedings</surname>
          </string-name>
          ,
          <year>2016</year>
          , pp.
          <fpage>1103</fpage>
          -
          <lpage>1110</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>R. J. A.</given-names>
            <surname>Little</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D. B.</given-names>
            <surname>Rubin</surname>
          </string-name>
          ,
          <article-title>Statistical Analysis with Missing Data</article-title>
          , John Wiley &amp; Sons, Inc., New York, NY, USA,
          <year>1986</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>G.</given-names>
            <surname>Folino</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Pizzuti</surname>
          </string-name>
          , G. Spezzano,
          <article-title>Cage: A tool for parallel genetic programming applications</article-title>
          , in: J.
          <string-name>
            <given-names>F.</given-names>
            <surname>Miller</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Tomassini</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P. L.</given-names>
            <surname>Lanzi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Ryan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A. G. B.</given-names>
            <surname>Tettamanzi</surname>
          </string-name>
          , W. B.
          <string-name>
            <surname>Langdon</surname>
          </string-name>
          (Eds.),
          <source>Proceedings of EuroGP'2001</source>
          , Vol.
          <year>2038</year>
          of LNCS, Springer-Verlag, Lake Como, Italy,
          <year>2001</year>
          , pp.
          <fpage>64</fpage>
          -
          <lpage>73</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <given-names>G.</given-names>
            <surname>Folino</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F. S.</given-names>
            <surname>Pisani</surname>
          </string-name>
          ,
          <article-title>Evolving meta-ensemble of classifiers for handling incomplete and unbalanced datasets in the cyber security domain</article-title>
          ,
          <source>Appl. Soft Comput</source>
          .
          <volume>47</volume>
          (
          <year>2016</year>
          )
          <fpage>179</fpage>
          -
          <lpage>190</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <given-names>S.</given-names>
            <surname>Greenberg</surname>
          </string-name>
          ,
          <article-title>Using unix: Collected traces of 168 users</article-title>
          ,
          <source>in: Research Report</source>
          <volume>88</volume>
          /333/45., Department of Computer Science, University of Calgary, Calgary, Canada.,
          <year>1988</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <given-names>G.</given-names>
            <surname>Folino</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Pizzuti</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            <surname>Spezzano</surname>
          </string-name>
          ,
          <article-title>A scalable cellular implementation of parallel genetic programming</article-title>
          ,
          <source>IEEE Transactions on Evolutionary Computation</source>
          <volume>7</volume>
          (
          <issue>1</issue>
          ) (
          <year>2003</year>
          )
          <fpage>37</fpage>
          -
          <lpage>53</lpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>