## A compression based framework for the detection of anomalies in heterogeneous data sources

Gonzalo de la Torre-Abaitua , Luis F. Lago-Fernández , David Arroyo a a b, ∗

- a Departamento de Ingeniería Informática, Escuela Politécnica Superior, Universidad Autónoma de Madrid, 28049 Madrid, Spain
- b Institute of Physical and Information Technologies (ITEFI), Spanish National Research Council (CSIC), 28006 Madrid, Spain

## Abstract

Nowadays, information and communications technology systems are fundamental assets of our social and economical model, and thus they should be properly protected against the malicious activity of cybercriminals. Defence mechanisms are generally articulated around tools that trace and store information in several ways, the simplest one being the generation of plain text files coined as security logs. This log files are usually inspected, in a semi-automatic way, by security analysts to detect events that may affect system integrity. On this basis, we propose a parameterfree methodology to detect security incidents from structured text regardless its nature. We use the Normalized Compression Distance to obtain a set of features that can be used by a Support Vector Machine to classify events from a heterogeneous cybersecurity environment. In specific, we explore and validate the application of our methodology in four different cybersecurity domains: HTTP anomaly identification, spam detection, Domain Generation Algorithms tracking and sentiment analysis. The results obtained show the validity and flexibility of our approach in different security scenarios with a low configuration burden.

Keywords: intrusion detection systems, anomaly detection, normalized compression distance, text mining, data-driven security

## 1. Introduction

We live in a complex world with multiple and intricate interactions among countries, companies and people, which are not always well-intended. In our time, those relations are preferentially conducted by Information and Communication Technologies (ICT) [1]. As the number of devices that are connected to the Internet has increased, so has grown the number of malicious agents that try to get profit from systems vulnerabilities. These malicious actors can target governments, companies or individuals using several kinds of attacks. Malicious activities range from simple attacks such as parameter tampering, spam or phishing, to more complex menaces such as botnets, Advanced Persistent Threats (APTs) or social engineering attacks that leverage Domain Generation Algorithms (DGAs) and Open Source Intelligence techniques (OSINT) [2]. In order to help to protect their networks, systems and information assets, cybersecurity analysts use different tools, such as Intrusion Detection Systems (IDS), Firewalls or Antivirus. These tools generate huge amounts of information in the form of text logs with a blend of normal user interactions and malicious interactions. Moreover, the proper implementation of the security lifecycle is highly dependent on the adequate aggregation of additional records of activity and other sources of digital evidence [3, 4]. Due to the ever increasing size of security related data, the automatic treatment and analysis of text logs is a key component in the deployment of adaptive and robust defensive strategies [5]. Acknowledging this fact, it is interesting to have a single methodology that can be used with these logs to simplify and help analysts with their duties and decision making. Our approach consists of developing parameter-free methods for such a goal [6].

As a departing point, we are considering five binary classification problems in four different cybersecurity related areas that enclose anomalous versus normal URLs, spam versus non spam messages, normal versus malicious Internet domains and malicious versus normal messages in fora

∗ Corresponding author: David Arroyo (david.arroyo@csic.es).

or social networks. This is a heterogeneous landscape where the common nexus is determined by sources of information that can be treated as text. It can be shown that the use of compression information techniques comes helpful to process textual data with different codification systems. Indeed, these techniques have been successfully used in several domains, such as clustering and classification of genomic information [7], language identification [8], plagiarism detection [9] or URL anomaly detection [10].

In this work, we explore and validate the use of a previous framework based on compression information techniques [11] in a wider scenario that encompasses several binary classification problems in the current cybersecurity context. These include spam detection, malicious URL identification, DGA targeting and sentiment analysis in Twitter and in movie reviews. We use the Normalized Compression Distance (NCD) [9] to extract a set of features that characterise the textual data associated to each problem, and train a Support Vector Machine (SVM) that classifies the data using these features. Our results on the different problems show the generality of this approach, which shows up as a unified framework for the analysis of textual information in a general cybersecurity context.

The rest of the paper is organized as follows: Section 2 describes previous works on each of the considered domains, Section 3 describes the proposed methodology, Section 4 explains the details and results of each of the experiments and Section 5 outlines the conclusions.

## 2. Anomaly detection in cybersecurity

This section discusses different strategies followed by the cybersecurity community to tackle some of the threats they face. Traditional approaches involve the use of anomaly detection techniques, which have been applied, for example, for virus or intrusion detection. More recently, with the rise of social networks and open sources of information, the attack surface has increased [2]. To overcome these new risks, cybersecurity researchers have started using Natural Language Processing (NLP) techniques, such as sentiment analysis. For instance, NLP has been applied for cyberbulling detection [12], malware detection [13], or prediction of cyber-attacks [14]. In this article we focus on four representative domains where the analysis of textual information is also relevant. In the following paragraphs we describe the problems and the main approaches used to cope with them.

## 2.1. HTTP anomaly detection

Usually, the detection of anomalies in the cybersecurity field is done using IDS [15]. IDS can be targeted at analysing either network or host activity. Moreover, we can adopt a static approach by comparing activity traces to concrete patterns or signatures, or we can apply a dynamic approach in terms of behaviour analysis. The latter is the one that has focused most research efforts. In the field of HTTP traffic anomaly detection several techniques are applied, which can be classified into seven general groups: statistical models, static analysis, statistical distances, data mining and pattern analysis, Markov models, machine learning and knowledge based [15, 16, 17, 18, 19, 20]. Different features of the HTTP packets and the HTTP protocol, including the text of the URL, are used to model the normal network behaviour.

## 2.2. Spam detection

Spam detection is another area that has been broadly studied in the cybersecurity context. Several machine learning techniques have been applied, ranging from Naïve Bayes to logistic regression or neural networks [21]. As this problem has a big dependence on text, text analysis and clustering techniques have also been widely studied, with the Term Frequency (TF) and Term Frequency Inverse Document Frequency (TFIDF) statistics [22] usually applied for attribute construction, as well as edit distances [23]. Of particular interest to our work is the application of compression based techniques [24, 25]. These have a good performance and are quite robust against noise in the channel that eventually could induce an erroneous classification [26].

## 2.3. DGA detection

DGA is a technique used by malware to conceal its Command and Control (C&amp;C) panel. It consists of the generation of random domain names and is one of the techniques used by botnets

(groups of infected computers or IoT devices ) to communicate and hide the real address of its 1 C&amp;C.

The main techniques applied to detect DGA domains analyze the DNS traffic in a specific network. They use features such as the frequency and the number of domains that do not resolve (NXDomain) to cluster and identify malware families [27, 28]. Another approach involves the use of the domain name to identify whether it has been generated by a DGA. This is done by the detection of patterns, and usually requires a feature extraction step before applying algorithms such as Neural Networks [29, 30] or n-grams [31, 32].

## 2.4. Sentiment analysis

Sentiment analysis is a field of text mining that has attracted the attention of cybersecurity researchers. Some examples of application of sentiment analysis in the security context include the identification of threats, radicalism and conflicts in fora [33], the detection of cybercrime facilitators in underground economy based on customer feedback [34], and the use of Twitter to anticipate attacks [35] and generate alerts [36]. The main strategies consist of a feature selection step using techniques such as TFIDF or Point-wise Mutual Information (PMI), followed by a sentiment classification step using either machine learning or lexicon based approaches [37, 38]. The use of Deep Learning techniques, including Convolutional Neural Networks [39, 40] and Word Embeddings [41], is also extended.

## 3. Methodology

It is worth noting that most of the previously reviewed techniques are problem specific. Even though all the presented problems involve some kind of analysis of textual information, the field lacks a general methodology that faces all these issues from a common perspective. This section describes a general mechanism to extract a set of numerical attributes that characterize a text using a compression based metric, such as the NCD. Given a text T , the main idea is to compute the distance between T and a set of k additional texts { g , g 1 2 , ..., g k } , known as attribute generators (AGs). This provides a vector of k numbers that represents the text T in a k -dimensional attribute space, and can be used as input for a classification algorithm such as a SVM [11].

For a dataset consisting of text strings belonging to two different classes, the detailed procedure is as follows. We randomly divide the data into two disjoint groups, G and I . Both groups are balanced, meaning that they contain the same number of strings from each of the two classes. The first group, G , is used to build the attribute generators. To do so, the strings in G are packed into a set of k generator files, each one with strings from one class only. Thus we have k/ 2 generators for each class. The second group, I , contains the set of strings that are used to train the classifier, after being characterized by the distances to the attribute generators. That is, for each string s i in I , we compute the distance between s i and each of the k attribute generators to obtain the vector:

$$S _ { i } & = ( x _ { i 1 }, x _ { i 2 }, \dots, x _ { i k } ) & ( 1 )$$

which is used to characterize the string s i . The components x ij of S i are given by:

$$x _ { i j } = D ( g _ { j }, s _ { i } )$$

where D g , s ( j i ) is the normalized conditional compressed information [9] between the generator g j and the string s i :

$$D ( g _ { j }, s _ { i } ) = \frac { C ( s _ { i } | g _ { j } ) } { C ( s _ { i } ) } = \frac { C ( g _ { j } \cdot s _ { i } ) - C ( g _ { j } ) } { C ( s _ { i } ) }$$

where C x ( ) is the compressed size of x and the dot operator represents concatenation. We use the gzip compressor because it has a better speed performance than other compression algorithms [42].

Once the attribute vectors have been generated for all the strings in I , we use them to train a SVM with a RBF kernel that predicts the class associated to each string. We use the scikit-learn Python library [43] for the implementation, and measure the quality of the classifiers by using the accuracy (ACC) and the area under the receiver operating curve (AUC) metrics. The results

1 https://www.trendmicro.com/vinfo/us/security/definition/botnet . Last access 05/07/2019.

presented in Section 4 are averages over different partitions of the data into the G and I sets, following the same validation procedure as in [11]. Figure 1 shows the end to end process, from the initial dataset to the final classification.

Figure 1: End to end representation of the proposed methodology. The set of texts composing the dataset are first divided into two groups, G and I . The texts in the G group are further divided into k additional groups, or attribute generators . Then the distance between each text in I , s i , and each generator g j is computed in order to obtain a n × k attribute matrix which is used to train and validate a SVM.

![image](https://ac.marcodsn.me/arxiv-markdown-images/1908.00417v1-figure-fb406395-354b-4cb0-9ca2-9988b508615f.jpg)

## 4. Experiments

To assess the validity of the proposed methodology, we have performed experiments in four different and heterogeneous domains. Concretely, we have explored the detection of malicious HTTP requests (Section 4.1), the identification of spam in SMS messages (Section 4.2), the detection of DGA domains (Section 4.3) and the analysis of sentiment both in Twitter (Section 4.4) and in movie reviews (Section 4.5). All the problems consist of a set of strings belonging to two different classes, for example normal versus anomalous HTTP requests or positive versus negative sentiment in tweets. Nevertheless the characteristics of each dataset are unique, and we observe a high variability both with respect to the string length (table 1) and to the string content (tables 2, 4, 6, 8 and 10). Despite this variability, the features extracted following the presented methodology are able to provide a good description of the problem data in all the cases, and the classifiers trained on them obtain state of the art accuracy. The following subsections describe in detail each of the experiments carried out.

Table 1: Average (Avg.) and median (Med.) of the string length for each of the problems and classes.

|      | URL    | URL   | DGA    | DGA   | spam   | spam   | Twitter   | Twitter   | Movie reviews   | Movie reviews   |
|------|--------|-------|--------|-------|--------|--------|-----------|-----------|-----------------|-----------------|
|      | normal | anom. | normal | DGA   | normal | spam   | posit.    | negat.    | posit.          | negat.          |
| Avg. | 139    | 152   | 15     | 20    | 72     | 139    | 74        | 75        | 1325            | 1295            |
| Med. | 72     | 95    | 15     | 19    | 53     | 150    | 69        | 70        | 969             | 974             |

## 4.1. Experiment 1 - Malicious URL

This experiment tackles the issue of identifying a malicious HTTP request only using the related URL string. Usually, this problem has been faced analysing additional information, such as the URL length, the number of URL parameters or the parameter values [44]. Our methodology simplifies the preprocessing step by considering the raw text of the URL, hence avoiding any sort of manual attribute construction.

## 4.1.1. Data Preparation.

We use the public CSIC -2010 dataset [45], which contains examples of both normal and anomalous HTTP queries. We extract all the POST requests, remove duplicates and balance the queries. This results in a total of 9600 queries, 4800 of each class. After this preprocessing step, we divide the dataset into the I set, with 1600 randomly chosen queries (800 normal and 800 anomalous) and the G set, with 8000 queries (4000 normal and 4000 anomalous). Some examples of normal and anomalous queries are shown in Table 2.

Table 2: Sample strings for 4 normal and 4 anomalous queries in the CSIC -2010 dataset. Normal queries

modo=registro&amp;login=beveridg&amp;password=camale%F3nica&amp;nombre=Stefani&amp;apellidos=Gimeno+Cadaveira&amp; email=morando%40sandrasummer.gy&amp;dni=91059337Z&amp;direccion=C%2F+Bobala+111+4A&amp;ciudad=Mog%E1n&amp; cp=46293&amp;provincia=Castell%F3n&amp;ntc=8975566519527853&amp;B1=Registrar id=1&amp;nombre=Queso+Manchego&amp;precio=39&amp;cantidad=57&amp;B1=A%F1adir+al+carrito

modo=insertar&amp;precio=5588&amp;B1=Confirmar modo=registro&amp;login=ouellett2&amp;password=radicalmente&amp;nombre=Ranquel&amp;apellidos=Orra&amp;

email=hodo%40deltamarina.my&amp;dni=18518539C&amp;direccion=Fructuoso+Alvarez%2C+55+&amp;

ciudad=Bay%E1rcal&amp;cp=17742&amp;provincia=Palencia&amp;ntc=3322562441567993&amp;B1=Registrar

## Anomalous queries

modo=insertar&amp;precioA=900&amp;B1=Pasar+por+caja modo=entrar&amp;login=dedie&amp;pwd=M50879RIST44&amp;

remember=bob%40%3CSCRipt%3Ealert%28Paros%29%3C%2FscrIPT%3E.parosproxy.org&amp;B1=Entrar modo=registro&amp;login=alix&amp;password=venI%21A&amp;nombreA=Imelda&amp;apellidos=Delb%F3n+Coll&amp;

email=holister%40brunoseguridad.cf&amp;dni=80525673M&amp;direccion=Plza.+Noria+De+La+Huerta+68%2C+&amp;

ciudad=Alcudia+de+Veo&amp;cp=28690&amp;provincia=%C1vila&amp;ntc=6551003767368321&amp;B1=Registrar modo=entrar&amp;login=bienek&amp;pwd=cloqu%27e%2Fro&amp;remember=off&amp;B1=Entrar

## 4.1.2. Results.

We have performed experiments using a number of attributes, k , ranging from 8 to 160. The results can be seen in Table 3. The highest accuracy is obtained for k = 80 , with a 95% of correctly classified HTTP queries. This value is similar to other results reported in the literature [46]. Nevertheless, our approach does not require a feature selection step and depends on a smaller number of hyperparameters.

Table 3: Results on the HTTP problem. Mean accuracy (Acc.) and area under ROC (AUC) for each of the considered k values. The best values are shown in boldface.

|   k |   C |   γ | Acc.            |   AUC |
|-----|-----|-----|-----------------|-------|
|   8 |   1 | 100 | 0 . 84 ± 0 . 03 | 0.909 |
|  16 |  10 |  10 | 0 . 88 ± 0 . 03 | 0.946 |
|  32 |   1 |  10 | 0 . 93 ± 0 . 02 | 0.968 |
|  80 |   1 |  10 | 0 . 95 ± 0 . 02 | 0.975 |
| 160 |   2 |   5 | 0 . 95 ± 0 . 02 | 0.974 |

## 4.2. Experiment 2 - spam

In this experiment we apply the methodology to the problem of discriminating between legitimate and spam SMS messages. One of the main characteristics of this kind of messages is that they are usually written using a very informal language, with many invented terms and abbreviations which are not always grammatically correct. This fact may be a problem for traditional NLP methods based on lemmatization or parsing [47]. The method here proposed is however agnostic to the grammar or the rules followed by the messages, and it can be directly applied to this problem without any adaptation. The next paragraphs describe the data preparation and the results obtained.

## 4.2.1. Data Preparation.

We use the SMS Spam Collection v.1, a public dataset that can be obtained from the authors' page 2 and also from Kaggle . 3 It contains 5574 SMS messages, 747 of them labeled as spam and the rest, 4827 , labeled as neutral, or ham . We balance the dataset by taking all the spam messages and randomly selecting a sample of 747 ham messages. The balanced data are further divided into the I set, with 400 messages ( 200 ham and 200 spam), and the G set, with 1094 messages ( 547 of each class). Table 4 shows some examples of ham and spam messages.

Table 4: Sample strings for several ham and spam messages in the SMS Spam Collection v.1 dataset. Ham SMS

| What you doing?how are you?                                                                                         |
|---------------------------------------------------------------------------------------------------------------------|
| Ok lar... Joking wif u oni...                                                                                       |
| Cos i was out shopping wif darren jus now n i called him 2 ask wat present he wan lor. Then he started guessing who |
| i was wif n he finally guessed darren lor.                                                                          |
| MY NO. IN LUTON 0125698789 RING ME IF UR AROUND! H*                                                                 |
| dun say so early hor... U c already then say...                                                                     |

## Spam SMS

FreeMsg: Txt: CALL to No: 86888 &amp; claim your reward of 3 hours talk time to use from your phone now! ubscribe6GBP mnth inc 3hrs 16 stop?txtStop

Sunshine Quiz!

Win a super Sony DVD recorder if you canname the capital of Australia? Text

MQUIZ to 82277. B

URGENT!

Your Mobile No 07808726822 was awarded a L2,000 Bonus Caller contact

Prize on 02/09/03! This

YOU! Call 0871-872-9758 BOX95QU

## 4.2.2. Results.

As before, we have performed experiments for k ranging between 8 and 160 . A summary of the results may be found in Table 5. We observe an increase of performance as more attribute generators are used, with a maximum of 0 96 . AUC and 0 904 . accuracy for k = 160 . These values are slightly worse than the best results reported in the literature for the same dataset [48], but the latter need a more complex and problem specific preprocessing step which is avoided if using the proposed methodology, with the subsequent simplification of the overall process.

Table 5: Results on the spam problem. Mean accuracy (Acc.) and area under ROC (AUC) for each of the considered k values. The best values are shown in boldface. Column labeled k shows the number of files. Columns C and γ show the SVM parameters.

|   k |   C |   γ | Acc.              | AUC    |
|-----|-----|-----|-------------------|--------|
|   8 | 1.5 | 100 | 0 . 8005 ± 0 . 02 | 0 . 85 |
|  16 | 1.5 |  50 | 0 . 827 ± 0 . 02  | 0 . 89 |
|  32 | 1.5 |  25 | 0 . 85 ± 0 . 01   | 0 . 92 |
|  80 | 5   |  25 | 0 . 889 ± 0 . 02  | 0 . 95 |
| 160 | 1.5 |  25 | 0 . 904 ± 0 . 01  | 0 . 96 |

## 4.3. Experiment 3 - DGAs

In the third experiment we apply the methodology to the detection of DGAs relying on the domain name only. The main characteristic of this problem, which makes an important difference with respect to the rest of considered scenarios, is that the string lengths are significantly shorter. It is very unlikely that a domain name contains more than 100 characters (see Table 1). In spite of this fact the proposed approach has been applied with no adaptations, and the results are quite satisfactory.

2 http://www.dt.fee.unicamp.br/~tiago/smsspamcollection/ Last Access 12/05/2019

3 https://www.kaggle.com/uciml/sms-spam-collection-dataset/data Last Access 12/05/2019

is our

2nd attempt to

## 4.3.1. Data preparation.

We use a dataset where the legitimate domain names are extracted from the Alexa top one million list 4 , whilst the malicious domains are generated with 11 different malware families, such as zeus, cryptolocker, pushdo or conficker. The dataset can be downloaded from Andrey Abakumov's GitHub repository . Raw data contain 1000000 normal and 800000 malicious DGA domains. After 5 balancing the classes, we randomly select a subset of 13000 domains, 6500 of each class. We then use 800 of these as the I set, with the remaining 5700 domains used to build the attribute generators ( G set). Table 6 shows some examples of both DGA and normal domain names.

Table 6: Sample strings for normal and malicious domains in the DGA dataset.

## 4.3.2. Results.

A summary of our results on the DGA dataset can be seen in Table 7. As in previous experiments, we have carried out tests with different k values. The classification accuracy increases with k up to a point where it saturates. The best results are obtained for k =80, with an accuracy of 0 94 . and an AUC of 0 98 . . These values are better than those reported when using traditional methods, although they can be improved by using deep neural models such as recurrent neural networks [49]. Note however that we are using only a small subset of the original data to train the classifier.

Table 7: Results on the DGA problem. Mean accuracy (Acc.) and area under ROC (AUC) for each of the considered k values. The best values are shown in boldface. Column labeled k shows the number of files. C and γ are the SVM parameters.

|   k |     C |   γ | Acc.               | AUC    |
|-----|-------|-----|--------------------|--------|
|   8 | 100   |  25 | 0 . 903 ± 0 . 008  | 0 . 96 |
|  16 |   0.5 |  25 | 0 . 918 ± 0 . 005  | 0 . 97 |
|  32 |   0.5 |  25 | 0 . 9305 ± 0 . 004 | 0 . 97 |
|  80 |   1   |  25 | 0 . 941 ± 0 . 004  | 0 . 98 |
| 160 |   5   |  25 | 0 . 931 ± 0 . 005  | 0 . 97 |

## 4.4. Experiment 4 - Sentiment analysis in Twitter

For this experiment we use the Sentiment140 dataset 6 described in [50], which contains a training set with 1600000 tweets labeled as either positive or negative according to their sentiment. There are 800000 positive and 800000 negative tweets, collected between April and June 25, 2009, and labeled using the emoticons contained within the message. Table 8 shows a sample of 5 positive and 5 negative tweets extracted from the training set. The dataset also contains a small test set with 498 tweets which were labeled manually, to be used for validation purposes.

## 4.4.1. Data preparation.

In our experiments we use only the tweets in the training set. Prior to our analysis we preprocess the data in order to remove both duplicated tweets and tweets that appear both as positive and negative. After this preprocessing stage we obtain a new training set with 787956 tweets of each class. The whole text of the messages, without any further preprocessing, is used to characterize

4 https://www.alexa.com/topsites , last access 12/05/2019

5 https://github.com/andrewaeva/DGA , last access 12/05/2019

6 http://help.sentiment140.com , last access 25/01/2019.

Table 8: A sample of 5 positive and 5 negative tweets extracted from the Sentiment140 dataset.

## Positive tweets

| happy sunny sunday peeps   | xxx                                                                           |
|----------------------------|-------------------------------------------------------------------------------|
| in worrk now chilling      | out and cleaning the gym oiss easy!! im supervisor today hahahahaha go me!!!! |
| Clon show!!!!              |                                                                               |
| is craving sun chips I     | think im going to go get some now...lol xo                                    |
| Congratulations! so glad   | to hear you've had a great weekend at the markets                             |
| I just noticed that I use  | a lot of smiley faces when I talk. lmfao                                      |

| Negative tweets                                                                                                            |
|----------------------------------------------------------------------------------------------------------------------------|
| I think im going to be pulling a late night to finish this                                                                 |
| Im sad to see my aunt in jail She was arrested for being a very loud drunk lady                                            |
| grrr bad hayfever day already                                                                                              |
| Also - I am sunburned. I am hurting Had a good time at meet yesterday, but walked all over creation and now am very tired. |
| I'm so bored. No one is talking on MSN, there's nothing to do, and I've got no texts..                                     |

the tweets. The I and G sets are built as in previous sections. In particular we use 50000 tweets of each class to build 100 positive and 100 negative generators with no more than 32 kB in size each. Every generator contains on average 424 tweets, with this number being slightly higher for the generators containing positive tweets. The remaining messages are used to train the classifiers after being characterized by their distance to the generators. In this case, due to the size of the dataset, we use a SVM classifier with a linear kernel. The complexity parameter C is tuned by cross-validation on 10 folds.

## 4.4.2. Results.

The results are shown in Table 9. The accuracies in the table are slightly worse than those reported in [50], but there are two important points to consider. First, they perform additional preprocessing of the tweets. In particular, they replaced all usernames by the new token USERNAME , they replaced all urls by the keyword URL , and they eliminated repeated letters in order correct some uses of informal language usually present in tweets. In this article we have decided to omit these steps in order to show the generality of our approach. Second, their results are obtained on the test set, which contains only 498 tweets. Results on such a small dataset may be biased. In fact, when we evaluate our method on these data, we observe a systematic increase of both the accuracy and the AUC.

Table 9: Results on the Twitter problem. Mean accuracy (Acc.) and area under ROC (AUC) for each of the considered k values. The best values are shown in boldface. Column labeled k shows the number of domains in each AG file for the corresponding k . C is the SVM parameter (take into account that in this case we are working with a linear kernel).

|   k | C      | Acc.              | AUC               |
|-----|--------|-------------------|-------------------|
|   8 | 0 . 1  | 0 . 668 ± 0 . 003 | 0 . 731 ± 0 . 003 |
|  16 | 10 . 0 | 0 . 699 ± 0 . 003 | 0 . 770 ± 0 . 003 |
|  32 | 0 . 01 | 0 . 728 ± 0 . 002 | 0 . 805 ± 0 . 002 |
|  80 | 0 . 01 | 0 . 754 ± 0 . 002 | 0 . 835 ± 0 . 003 |
| 160 | 0 . 01 | 0 . 767 ± 0 . 003 | 0 . 849 ± 0 . 002 |

## 4.5. Experiment 5 - Sentiment analysis in movie reviews

In this last scenario we tackle a sentiment analysis problem in movie reviews. It has the particularity that the strings are of arbitrary length. Concretely, the average length of the movie reviews in the dataset is 1395 characters for the positive reviews and 1295 for the negative reviews (see Table 1). This characteristic contrasts with the Twitter problem, where the string length is limited to 140 characters. Besides, the use of language and grammar tends to be not so informal, and the inclusion of abbreviations and emoticons is not so extended. These are fundamental differences that motivate the application of the proposed methodology in this problem.

## 4.5.1. Data preparation.

We use a public dataset from the Stanford NLP group . 7 It contains 50000 movie reviews extracted from the Internet Movie Database (IMDb) . Each review is a text string commenting a 8 movie, and classified as either positive or negative. There are 25000 reviews classified as positive and 25000 classified as negative. Table 10 contains samples of both classes. From these raw data we use a subset of 5350 randomly chosen reviews (half positive, half negative). The I and G string groups are build as for previous problems. The I set contains 1600 movie reviews ( 800 positive and 800 negative), and the G set contains the remaining 3750 texts.

Table 10: Some examples of positive and negative movie reviews in the Stanford dataset.

## Positive reviews

I havent seen that movie in 20 or more years but I remember the attack scene with the horses wearing gas-masks vividly, this scene ranks way up there with the best of them including the beach scene on Saving private Ryan, I recommend it strongly.

Now this is what I'd call a good horror. With occult/supernatural undertones, this nice low-budget French movie caught my attention from the very first scene. This proves you don't need wild FX or lots of gore to make an effective horror movie.

## Negative reviews

The power rangers is definitely the worst television show and completely ridiculous plastic toy line in the history of the United States. There is absolutely nothing even remotely entertaining about this completely awful television show.

Some people are saying that this film was "funny". This film is not "funny" at all. Since when is Freddy Krueger supposed to be "funny"? I would call it funnily crap. This film is supposed to be a Horror film, not a comedy. If Freddy had a daughter, wouldn't that information have surfaced like in the first one!? The ending was also just plain stupid and cheesy, exactly like the rest of it.

## 4.5.2. Results.

This experiment has been carried out using different k values as in previous sections. In this case the best results are obtained for k = 160 ( acc. = 0 86 . , AUC = 0 93 . , see Table 11). Although these results do not improve the best reported for the same dataset [51], they are quite competivite, even more if we take into account that they have been obtained on a small subsample of the original data.

Table 11: Results on the Movie problem. Mean accuracy (Acc.) and area under ROC (AUC) for each of the considered k values. The best values are shown in boldface. Column labeled k shows the number of files. C and γ are the SVM parameters.

|   k |    C |   γ | Acc.                | AUC    |
|-----|------|-----|---------------------|--------|
|   8 |  0.5 | 0.1 | 0 . 6975 ± 0 . 03   | 0 . 78 |
|  16 |  5   | 0.1 | 0 . 68225 ± 0 . 023 | 0 . 75 |
|  32 |  1.5 | 0.1 | 0 . 74925 ± 0 . 01  | 0 . 83 |
|  80 | 20   | 0.1 | 0 . 7227 ± 0 . 01   | 0 . 80 |
| 160 |  0.5 | 0.1 | 0 . 8590 ± 0 . 012  | 0 . 93 |

## 5. Conclusions

Information security calls for a comprehensive deployment of protection measures and detection controls. Security logs are the core of such controls, since they enable event recording and attacks characterisation. Anomaly detection in security logs is one of the most relevant means to detect possible malicious activity. However, those security logs are derived from plenty of different network and information flow modalities. Therefore, there exist an urge to adopt mechanisms to process

7 http://ai.stanford.edu/~amaas/data/sentiment/ , last access 12/05/2019

8 https://www.imdb.com/ , last access 12/05/2019

security information regardless of the concrete nature of each log [52]. In this vein, we have proposed a methodology that is able to process heterogeneous security logs using the NCD to extract features from them, and subsequently training a SVM to perform a binary classification.

To test the methodology, we have performed five experiments over four different domains. For each of the problems, our results are slightly below the results reported in the literature in terms of classification accuracy. Nevertheless, we are using the same procedure to address each of the problems despite their disparate nature. In other words, we have sacrificed accuracy to adaptability. In addition, we are using much less data to train the classifiers than other proposals in the literature, since part of the available data are used to build the attribute generators. The use of all training data, following the approach in [53], could lead to further improvement of the presented results.

Finally, our methodology neither needs to perform a preprocessing step nor to manually construct features from the data, and the hyper-parameter tuning is minimal. All in all, our proposal leads to an adequate trade-off between training dataset size and performance, and it can be interpreted as a complementary procedure in methodologies tackling the limitations of the 'no free lunch' theorem [54] by the convenient integration of several anomaly detection methods.

## Acknowledgements

This work has been supported by the Comunidad de Madrid (Spain) under the projects CYNAMON (P2018/TCS-4566) and S2017/BMD-3688, co-financed with FSE and FEDER EU funds, and by Spanish project MINECO/FEDER TIN2017-84452-R ( http://www.mineco.gob.es/ ).

## References

## References

- [1] OECD: The Economic Impact of ICT. (2004)
- [2] Sfakianakis, A., Douligeris, C., Marinos, L., Lourenço, M., Raghimi, O.: ENISA Threat Landscape Report 2018. Technical report, ENISA (2019)
- [3] : Logging and log management. Syngress, Boston (2013)
- [4] Sabottke, C., Suciu, O., Dumitras, T.: , Vulnerability disclosure in the age of social media: exploiting twitter for predicting real-world exploits. In: 24th USENIX Security Symposium (USENIX Security 15). (2015) 1041-1056
- [5] Curry, S., Kirda, E., Schwartz, E., Stewart, W., Yoran, A.: Big data fuels intelligence-driven security. RSA Security Brief (2013)
- [6] Keogh, E., Lonardi, S., Ratanamahatana, C.A.: Towards parameter-free data mining. In: Proceedings of the tenth ACM SIGKDD international conference on Knowledge discovery and data mining. (2004) 206-215
- [7] Ferragina, P., Giancarlo, R., Greco, V., Manzini, G., Valiente, G.: Compression-based classification of biological sequences and structures via the universal similarity metric: experimental assessment. BMC bioinformatics (2007)
- [8] Cilibrasi, R., Vitanyi, P.: Automatic Extraction of Meaning from the Web. In: 2006 IEEE International Symposium on Information Theory, IEEE (2006) 2309-2313
- [9] Cilibrasi, R., Vitányi, P.M.B.: Clustering by compression. IEEE Transactions on Information Theory (4) (2005) 1523-1545
- [10] Yahalom, S.: URI Anomaly Detection using Similarity Metrics. PhD thesis, Tel-Aviv (2008)
- [11] de la Torre-Abaitua, G., Lago-Fernández, L.F., Arroyo, D.: A parameter-free method for the detection of web attacks. In: International Joint Conference SOCO'17-CISIS'17-ICEUTE'17 León, Spain, September 6-8, 2017, Proceeding, Springer, Cham (2017) 661-671

| [12]   | Hee, C.V., Lefever, E., Verhoeven, B., Mennes, J., Desmet, B., Pauw, G.D., Daelemans, W., Hoste, V.: Automatic detection and prevention of cyberbullying. In: International Conference on Human and Social Analytics (HUSO 2015). (2015)                                                                    |
|--------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [13]   | Killam, R., Cook, P., Stakhanova, N.: Android malware classification through analysis of string literals. Text Analytics for Cybersecurity and Online Safety (TA-COS) (2016)                                                                                                                                |
| [14]   | Hernandez-Suarez, A., Sanchez-Perez, G., Toscano-Medina, K., Martinez-Hernandez, V., Meana, H.M.P., Olivares-Mercado, J., Sanchez, V.: Social sentiment sensor in twitter for predicting cyber-attacks using glyph[lscript] 1 regularization. In: Sensors. (2018)                                           |
| [15]   | García-Teodoro, P., Díaz-Verdejo, J., Maciá-Fernández, G., Vázquez, E.: Anomaly-based network intrusion detection: Techniques, systems and challenges. Computers & Security (1-2) (2009) 18-28                                                                                                              |
| [16]   | Chaurasia, M.A.: Comparative study of data mining techniques in intrusion dectection. International Journal of current Engineering and Scientific Research (IJCESR) (9) (2016) 107-112                                                                                                                      |
| [17]   | Bhuyan, M.H., Bhattacharyya, D.K., Kalita, J.K.: Network Anomaly Detection: Methods, Systems and Tools. Communications Surveys & Tutorials, IEEE (1) (2014) 303-336                                                                                                                                         |
| [18]   | Hodo, E., Bellekens, X., Hamilton, A., Tachtatzis, C., Robert, A.: Shallow and Deep Networks Intrusion Detection System : A Taxonomy and Survey. ArXiv e-prints (2017) 1-43                                                                                                                                 |
| [19]   | Kruegel, C., Vigna, G.: Anomaly Detection of Web-based Attacks. In: Proceedings of the 10th ACM Conference on Computer and Communications Security, New York, NY, USA, ACM (2003) 251-261                                                                                                                   |
| [20]   | Dong, Y., Zhang, Y.: Adaptively Detecting Malicious Queries in Web Attacks. ArXiv e-prints (2017)                                                                                                                                                                                                           |
| [21]   | Abu-Nimeh, S., Nappa, D., Wang, X., Nair, S.: A comparison of machine learning techniques for phishing detection. In: Proceedings of the Anti-phishing Working Groups 2Nd Annual eCrime Researchers Summit. eCrime '07, New York, NY, USA, ACM (2007) 60-69                                                 |
| [22]   | Mallikarjunappa, B., R. Prabhakar, D.: A novel method of spam mail detection using text based clustering approach. International Journal of Computer Applications (08 2010)                                                                                                                                 |
| [23]   | Tee, H., dan Teknologi Komputer, U.M.J.S.: FPGA Unsolicited Commercial Email Inline Filter Design Using Levenshtein Distance Algorithm and Longest Common Subsequence Al- gorithm. Jabatan Sistem dan Teknologi Komputer, Fakulti Sains Komputer dan Teknologi Maklumat, Universiti Malaya (2010)           |
| [24]   | Delany, S.J., Bridge, D.: Catching the drift: Using feature-free case-based reasoning for spam filtering. In Weber, R.O., Richter, M.M., eds.: Case-Based Reasoning Research and Development, Berlin, Heidelberg, Springer Berlin Heidelberg (2007) 314-328                                                 |
| [25]   | Prilepok, M., Berek, P., Platos, J., Snasel, V.: spam detection using data compression and signatures. Cybernetics and Systems (6-7) (2013) 533-549                                                                                                                                                         |
| [26]   | Bratko, A., Filipič, B., Cormack, G.V., Lynam, T.R., Zupan, B.: Spam filtering using statis- tical data compression models. J. Mach. Learn. Res. (December 2006) 2673-2698                                                                                                                                  |
| [27]   | Thomas, M., Mohaisen, A.: Kindred domains: Detecting and clustering botnet domains using dns traffic. In: Proceedings of the 23rd International Conference on World Wide Web. WWW '14 Companion, ACM (2014) 707-712                                                                                         |
| [28]   | Antonakakis, M., Perdisci, R., Nadji, Y., Vasiloglou, N., Abu-Nimeh, S., Lee, W., Dagon, D.: From throw-away traffic to bots: Detecting the rise of dga-based malware. In: Proceedings of the 21st USENIX Conference on Security Symposium. Security'12, Berkeley, CA, USA, USENIX Association (2012) 24-24 |
| [29]   | Woodbridge, J., Anderson, H.S., Ahuja, A., Grant, D.: Predicting domain generation algo-                                                                                                                                                                                                                    |

rithms with long short-term memory networks. CoRR (2016)

| [30]   | Ahluwalia, A., Traore, I., Ganame, K., Agarwal, N.: Detecting broad length algorithmically generated domains. In Traore, I., Woungang, I., Awad, A., eds.: Intelligent, Secure, and Dependable Systems in Distributed and Cloud Environments, Cham, Springer International Publishing (2017) 19-34   |
|--------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [31]   | Selvi, J., Rodríguez, R.J., Soria-Olivas, E.: Detection of algorithmically generated malicious domain names using masked n-grams. Expert Systems with Applications 124 (2019) 156 - 163                                                                                                              |
| [32]   | Tong, V., Nguyen, G.: A method for detecting dga botnet based on semantic and cluster analysis. In: Proceedings of the Seventh Symposium on Information and Communication Technology. SoICT '16, New York, NY, USA, ACM (2016) 272-277                                                               |
| [33]   | Al-Rowaily, K., Abulaish, M., Al-Hasan Haldar, N., Al-Rubaian, M.: Bisal - a bilingual sentiment analysis lexicon to analyze dark web forums for cyber security. Digit. Investig. 14 (C) (2015) 53-62                                                                                                |
| [34]   | Weifeng, L., Hsinchun, C.: Identifying top sellers in underground economy using deep learning- based sentiment analysis. In: 2014 IEEE Joint Intelligence and Security Informatics Confer- ence. (2014)                                                                                              |
| [35]   | Deb, A., Lerman, K., Ferrara, E.: Predicting cyber events by leveraging hacker sentiment. CoRR abs/1804.05276 (2018)                                                                                                                                                                                 |
| [36]   | Mittal, S., Das, P.K., Mulwad, V., Joshi, A., Finin, T.: Cybertwitter: Using twitter to generate alerts for cybersecurity threats and vulnerabilities. In: ASONAM. (2016)                                                                                                                            |
| [37]   | Medhat, W., Hassan, A., Korashy, H.: Sentiment analysis algorithms and applications: A survey. Ain Shams Engineering Journal (4) (2014) 1093-1113                                                                                                                                                    |
| [38]   | Liu, B., Zhang, L.: A survey of opinion mining and sentiment analysis. In: Mining text data. Springer (2012) 415-463                                                                                                                                                                                 |
| [39]   | Severyn, A., Moschitti, A.: Twitter sentiment analysis with deep convolutional neural net- works. In: Proceedings of the 38th International ACM SIGIR Conference on Research and Development in Information Retrieval, ACM (2015) 959-962                                                            |
| [40]   | dos Santos, C., Gatti, M.: Deep convolutional neural networks for sentiment analysis of short texts. In: Proceedings of COLING 2014, the 25th International Conference on Computational Linguistics: Technical Papers. (2014) 69-78                                                                  |
| [41]   | Tang, D., Wei, F., Qin, B., Liu, T., Zhou, M.: Coooolll: A deep learning system for twit- ter sentiment classification. In: Proceedings of the 8th international workshop on semantic evaluation (SemEval 2014). (2014) 208-212                                                                      |
| [42]   | Tukaani-project: A Quick Benchmark: Gzip vs. Bzip2 vs. LZMA. [Online]. Available from: http://tukaani.org/lzma/benchmarks.html [Accessed 2017-04-06]                                                                                                                                                 |
| [43]   | scikit learn: scikit-learn: machine learning in Python - scikit-learn 0.18.1 documentation. [Online]. Available from: http://scikit-learn.org/stable/ [Accessed 2017-03-29]                                                                                                                          |
| [44]   | Torrano-Gimenez, C., Nguyen, H.T., Alvarez, G., Franke, K.: Combining expert knowledge with automatic feature extraction for reliable web attack detection. Security and Communi- cation Networks 8 (16) (2015) 2750-2767                                                                            |
| [45]   | CSIC-dataset: HTTP DATASET CSIC 2010. [Online]. Available from: http://www.isi. csic.es/dataset/ [Accessed 2017-03-29]                                                                                                                                                                               |
| [46]   | Nguyen, H.T., Torrano-Gimenez, C., Alvarez, G., Petrović, S., Franke, K.: Application of the generic feature selection measure in detection of web attacks. In: Computational Intelligence in Security for Information Systems. Springer (2011) 25-32                                                |
| [47]   | Manning, C., Surdeanu, M., Bauer, J., Finkel, J., Bethard, S., McClosky, D.: The stanford corenlp natural language processing toolkit. In: Proceedings of 52nd annual meeting of the association for computational linguistics: system demonstrations. (2014) 55-60                                  |

| [48]   | Almeida, T.A., Hidalgo, J.M.G., Yamakami, A.: Contributions to the study of sms spam fil- tering: New collection and results. In: Proceedings of the 11th ACMSymposium on Document Engineering. DocEng '11, New York, NY, USA, ACM (2011) 259-262                                                    |
|--------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [49]   | Lison, P., Mavroeidis, V.: Automatic detection of malware-generated domains with recurrent neural models. CoRR (2017)                                                                                                                                                                                |
| [50]   | Go, A., Bhayani, R., Huang, L.: Twitter Sentiment Classification using Distant Supervision. Technical report, Stanford University (2009)                                                                                                                                                             |
| [51]   | Maas, A.L., Daly, R.E., Pham, P.T., Huang, D., Ng, A.Y., Potts, C.: Learning word vectors for sentiment analysis. In: Proceedings of the 49th Annual Meeting of the Association for Computational Linguistics: Human Language Technologies, Association for Computational Linguistics (2011) 142-150 |
| [52]   | Lillis, D., Becker, B., O'Sullivan, T., Scanlon, M.: Current challenges and future research areas for digital forensic investigation. arXiv preprint arXiv:1604.03850 (2016)                                                                                                                         |
| [53]   | de la Torre-Abaitua, G., Lago-Fernández, L., Arroyo, D.: On the application of compression based metrics to identifying anomalous behaviour in web traffic. Logic Journal of the IGPL (2019) In Press                                                                                                |
| [54]   | Wolpert, D.H., Macready, W.G.: No free lunch theorems for optimization. IEEE transactions on evolutionary computation (1997) 67-82                                                                                                                                                                   |
Gonzalo de la Torre-Abaitua Luis F. Lago-Fernández David Arroyo
A compression based framework for the detection of anomalies in heterogeneous data sources
Nowadays, information and communications technology systems are fundamental
assets of our social and economical model, and thus they should be properly
protected against the malicious activity of cybercriminals. Defence mechanisms
are generally articulated around tools that trace and store information in
several ways, the simplest one being the generation of plain text files coined
as security logs. This log files are usually inspected, in a semi-automatic
way, by security analysts to detect events that may affect system integrity. On
this basis, we propose a parameter-free methodology to detect security
incidents from structured text regardless its nature. We use the Normalized
Compression Distance to obtain a set of features that can be used by a Support
Vector Machine to classify events from a heterogeneous cybersecurity
environment. In specific, we explore and validate the application of our
methodology in four different cybersecurity domains: HTTP anomaly
identification, spam detection, Domain Generation Algorithms tracking and
sentiment analysis. The results obtained show the validity and flexibility of
our approach in different security scenarios with a low configuration burden.