<!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>The Development of automated system for monitoring the information leakage into the Darknet</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Oleksandr Pokydko</string-name>
          <email>oleksandr_pokydko2507@tntu.edu.ua</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Olena Karelina</string-name>
          <email>karelina@tntu.edu.ua</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Liliana Dzhydzhora</string-name>
          <email>lilyadzhydzhora1970@gmail.com</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Ternopil Ivan Pulyuj National Technical University</institution>
          ,
          <addr-line>Ruska, 56, Ternopil, 46001</addr-line>
          ,
          <country country="UA">Ukraine</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>The system for monitoring the corporate information leakage of into the darknet is developed. The web documents collected from darknet are compared with the documents of the company-customer of monitoring and conclusion about the information leakage is made on the basis of documents similarity. The system consists of the following modules: source search module in darknet, text mining module, cryptographic module, document similarity assessment module. The following mathematical methods are used to assess the degree of similarity between corporate documents and Darknet documents: vector space model and information interaction model. Software implementation of the tool for automatic monitoring of information leakage by Python is described. The system testing results are given.</p>
      </abstract>
      <kwd-group>
        <kwd>1 Dataleakage</kwd>
        <kwd>monitoring</kwd>
        <kwd>Python</kwd>
        <kwd>Tor</kwd>
        <kwd>Darknet</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
    </sec>
    <sec id="sec-2">
      <title>2. Background</title>
      <p>Different aspects of information leakage monitoring are studied in scientific discourse. The
solutions for cloud computing are developed in papers [1, 2]. In paper [3] the functionality of the leak
detection system is based on the capabilities of the virtual machines hypervisor. In papers [4, 5] the
development of information leakage monitoring systems from Android devices is revealed.
Monitoring information leakage in the Darknet is an important and unresolved problem.</p>
    </sec>
    <sec id="sec-3">
      <title>3. Characteristics of the data leakage detection system</title>
      <p>The specification of the system is Darknet monitoring and collection of information about web
documents in accordance with customer requirements. The collected web data sources are compared
with confidential user documents. If the document that is semantically similar to users' confidential
documents appears on the Internet, the system indicates possible data leakage.</p>
      <p>Typically, the similarity of documents is determined by solid similarity metric based on repetition.
This approach neglects all potential semantic correlations between different words. The system does
not compare pure content, but the value of web documents and user documents. The system consists
of modules presented in Figure 1.</p>
      <sec id="sec-3-1">
        <title>Darknet</title>
      </sec>
      <sec id="sec-3-2">
        <title>Search module</title>
      </sec>
      <sec id="sec-3-3">
        <title>Text mining module</title>
      </sec>
      <sec id="sec-3-4">
        <title>Scoring module</title>
      </sec>
      <sec id="sec-3-5">
        <title>Document collection</title>
      </sec>
      <sec id="sec-3-6">
        <title>Cryptographic module</title>
        <p>The documents collection contains protected or confidential information. Encryption is required to
protect these documents. The cryptographic module is responsible for preparing the encrypted version
of the documents. To ensure the document content confidentiality, the cryptographic module is
located on the client server. All other services are located in the cloud. The search module is
responsible for detecting web pages that indicate data leakage. The search module includes the
scanner module that examines the structure of websites, identifies those pages of websites that contain
relevant data, and indexes those pages using keywords. The text extraction module converts web
documents into the corresponding mathematical image. The evaluation module corresponds to the
mathematical representation of web documents and confidential user documents.</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>4. Mathematical methods used to detect data leakage</title>
      <p>Mathematical methods are used in the modules of text mining, cryptography and evaluation.
Taking into account the search query, received web documents and confidential documents of the
users, the calculation module calculates the conformity assessment, which measures the similarity of
these documents. The scoring module uses various mathematical documents representations.</p>
      <p>Depending on the type of information that prevails in the document, different mathematical
methods are used.</p>
    </sec>
    <sec id="sec-5">
      <title>4.1. Vector space model</title>
      <p>Vector space model (VSM) is widely used as mathematical model of the systems. In VSM,
documents are represented by the vector in n-dimensional vector space, where n is the number of
terms of the keyword or index [6].</p>
      <p>In data leakage detection system the VSM is proposed to be used as a basis for cryptographic and
text analysis module. As a result, the scoring module can match the mathematical representation of
web documents and user confidential documents based on vector space.</p>
      <p>Presentation of VSM documents is as follows.</p>
      <p>On the one hand, a set of keywords
is obtained from confidential documents
during indexing. On the other hand, another set of keywords is derived from
web documents during indexing. Web documents and confidential user documents are represented by
VSM over in the following way: under the condition of finite set of index
terms
below:
, any web document
is assigned vector
of real numbers, as shown</p>
      <p>
        (
        <xref ref-type="bibr" rid="ref1">1</xref>
        )
of real numbers, as shown
      </p>
      <p>
        Confidential user documents
below:
should also be presented as vector
(
        <xref ref-type="bibr" rid="ref2">2</xref>
        )
      </p>
      <p>Weight is interpreted as the value to which the index term characterizes the document. Web
document vectors and customer documents vectors are compared to some degree of similarity. The
disadvantage of this presentation is that due to the potential diversity of web documents, the
dimension of the vector space can be quite high requiring significant computing power to determine
the degree of similarity. Web document</p>
      <p>is presented to the customer who has confidential
document
vector</p>
      <p>
        , if they are quite similar, i.e. the degree of similarity between the web document
and the confidential user vector exceeds a certain threshold, i.e.
(
        <xref ref-type="bibr" rid="ref3">3</xref>
        )
      </p>
      <p>Term weight indices express how important the term or keyword is to describe the content of the
document. The simplest weighing scheme is binary, which indicates the presence or absence of the
keyword in the document. This scheme is usually insufficient, as it does not distinguish documents
with frequent and infrequent keyword inclusions. The frequency with which keywords is met in the
document is called term-frequency weight. The logarithm-based weighing scheme is used to adjust
the frequency within the document. This is done because the terms that are frequently met in the
document are not necessarily more important than special terms that are met in the document only
once.</p>
      <p>Documents sizes can vary greatly. In order to compensate this fact, the length normalization is
used, i.e. the document rank is divided by its length. Taking into account the weighted vector space of
the documents submission, they can be compared by calculating the distance between the points
representing the documents. In other words, the similarity indicator is used in such a way as the
documents with the highest scores will be the most similar to each other.</p>
      <p>Three typical normalized similarity indicators are defined as follows [7]:</p>
      <p>Similarity of cosines</p>
      <p>The system's conclusion concerning documents similarity can be changed by both changing the
weighing scheme and the degree of similarity.</p>
    </sec>
    <sec id="sec-6">
      <title>4.2. Information interaction model</title>
      <p>
        Information interaction and search (I2R) model is also chosen to implement the information
leakage monitoring system. In data leakage detection system, I2R model can be implemented in the
following way. Any web document is represented by an object. Each object is
associated with the vector of predefined index terms
. Connections
Jaquard similarity
(
        <xref ref-type="bibr" rid="ref4">4</xref>
        )
(
        <xref ref-type="bibr" rid="ref5">5</xref>
        )
are established between any pair . Links are weighted and targeted. Two pairs of links
can be identified in each direction. One directional link shows the relative frequency of the
index polynomial [8]. The relative frequency of the keyword in the document is defined as follows:
(
        <xref ref-type="bibr" rid="ref6">6</xref>
        )
where indicates the relevance of the index term in the object of the web document ,
is the number of index terms in the web document object .
      </p>
      <p>
        Relationship between pairs of objects are schematically shown in Fig. 2.
Another directional link is the reverse frequency of the document
. It is defined as follows:
(
        <xref ref-type="bibr" rid="ref7">7</xref>
        )
where indicates the correspondence of the index term in , is the number of web
documents containing the keyword , and is the number of objects of the web document. As it is
shown in Figure 3, the other direction also has two links with the same value. The investigated web
documents are presented in the form of complete graph of objects. The user's confidential document is
also represented by the object. It is linked to other web documents that are in the full column. Linking
this new object to the graph, the weights of the existing links will change. The weight of the link
between any pair of objects , and therefore between the confidential document and
another object of the web document , is defined as the sum of the corresponding weights, as shown
below:
(
        <xref ref-type="bibr" rid="ref8">8</xref>
        )
      </p>
      <p>This complete graph of objects can be considered as an artificial neural network. In this network,
the neurons activation is subjected to the dominant, which accepts all strategies. Activation begins
with the user's confidential document and extends to the most active neuron. After several steps, the
activation reaches the affected object. These web documents are similar to the confidential documents
of users in this group. These documents can indicate the data leakage. The advantages of the
interaction model are that this method avoids expensive calculations. The complexity of calculating
weights is polynomial. The method of finding the interaction makes it possible to obtain relatively
high accuracy within the range of 75% -85% on test collections.</p>
    </sec>
    <sec id="sec-7">
      <title>5. Software implementation of the tool for automatic monitoring of information leakage</title>
      <p>The decision to choose this source is due to the sharp increase in the number of hacker attacks on
corporate data. If companies do not pay ransom, all collected information becomes available to the
public on the Darknet resource. To analyze possible sources of corporate information leakage, blogs
of several ransomware-groups are selected.</p>
      <p>To access the information on the Darknet page, you must use Tor software. When you run Tor
utility, socks5h proxy is automatically created by means of which the program receive information. It
is not necessary to run Tor in the browser, it is sufficient to run Tor as a service and allow it to run in
the background. Thus, the implementation of this module is not limited to desktop computers, but can
be run on servers where there is no graphical interface. For the Python programming language, there
is a special Stem library [9], which enables you to control the operation of Tor service in the
background. In order not to create problems with already running Tor services, the new launch will
take place in specially created temporary directory, which will be deleted automatically at the end of
the work.</p>
      <p>The Deep_Web_Parser class is created to work with information on sites in the darknet network.
This is the parent class and defines only the interfaces, the implementation of which is in the
children's class ContiNews_Parser (for parsing the blog ransomware-group Conti). This unifies the
method the data is accessed between different page parsers, making it possible to add easily a new
source without breaking the program.</p>
      <p>Undocumented API was found during the development of ContiNews parser. After getting
acquainted with the principle of queries, the parser implementation was greatly simplified. There are
two main methods of information parsing from the darknet web page:
• get – allows you to get information about the article;
• files – allows you to get information about files in the article.</p>
      <p>After the information about all previously unprocessed publications has been processed and stored
in the database, the information is passed over the socket to the file download module which is
implemented in Watcher class. The part of the information retrieval server implementation can be
seen in Listing 1. This module operates in multithreading mode, which makes it possible to receive
information about new publications and download multiple files at once. This has a positive effect on
performance, as the download speed of a single file over Tor network is very slow, and the queue for
files to be downloaded can always be supplemented with new files.</p>
      <p>Listing 1 - Data retrieval server implementation
def _server_connection(self):</p>
      <p>""" Methodisrunninginbackgroundinfinitelyandwaitsfornewqueueupdate,
afterreceivingvalidjson-dataifwillexecuteself.update_queue
"""
# Create a TCP/IP socket
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)</p>
      <p># Bindthesockettotheport
server_socket.bind((self.ip, self.port))</p>
      <p>
        # Listenforincomingconnectionsserver_socket.listen(
        <xref ref-type="bibr" rid="ref1">1</xref>
        )
whileTrue:
      </p>
      <p># Generateemptydecodeddataforeveryconnection
data_decoded = dict() # Waitfor a connection
connection, _ = server_socket.accept() data = '' try:</p>
      <p># Receivethedatainsmallchunksandappendit whileTrue: chunk =
connection.recv(1024).decode(encoding="utf-8") iflen(chunk) &gt; 0: data
+= chunkif "END_CONVERSATION" indata: data =
data.replace("END_CONVERSATION", "") breakelse:
break
try: data_decoded = json.loads(data)
resp = f"DataReceived! : {data_decoded}END_CONVERSATION"
connection.sendall(resp.encode(encoding="utf-8")) exceptException: resp =
f"Couldnotdecodedata, pleasedoublecheck:{data}" logger.warning(resp)</p>
      <p># Cleanuptheconnection connection.close()
ifdata_decoded: ifdata_decoded.get("action", None) == "stop_server":
returnifself._download_thread_started: self._stop_download()</p>
      <p>self._queue = self._generate_new_queue(data_decoded) self._start_download()
During downloading, a separate Tor-proxy is created for each file, in order not to overload the same
Tor access nodes. As the result, the download speed is limited only by the capabilities of the
equipment on which the files are downloaded and the speed provided by Internet-provider. The
function for file downloading is shown in Listing 2.</p>
      <sec id="sec-7-1">
        <title>Listing 2 - The function of file downloading from darknet</title>
        <p>def _download_by_link(self, _file: dict, download_status: dict):</p>
        <p># PrepearigTorproxies</p>
        <p>
          Tor_Session = Tor_Connector(socks_port=socks_port, control_port=control_port,
disable_init_msgs=True) sleep(
          <xref ref-type="bibr" rid="ref2">2</xref>
          )
        </p>
        <p>proxy = Tor_Session.get_proxy() # Creatingrequestssessionwithparams session =
requests.Session() session.proxies.update(proxy)</p>
        <p>save_path = f"{DOWNLOAD_BASE_PATH}{source_parser}/{company_name}/{file_name}"
whiledownloaded&lt;total_length: resume_header = {'Range': f'bytes={downloaded}-'}
session.headers.update(resume_header)
res = session.get(url=url, allow_redirects=True)
try: forchunkinres.iter_content(chunk_size=2048):
ifself._download_stop_flag:</p>
        <p>Tor_Session.stop_tor()
return 0 try: withopen(save_path, "ab+") as f:
f.write(chunk)
f.flush()
downloaded += len(chunk)
# XXX maybeeaddctrl + c signalcheckto
# verifyexitortoproperlysavedata
withopen(f"{save_path}.metadata", "w") asf_meta: try:
f_meta.write(str(downloaded)) f_meta.flush()</p>
        <p>
          exceptExceptionas e: logger.error("Cannotwritelenofdownloaded"
"datatometadatafile" f"Error: {e}") exceptExceptionas e:
logger.error(f"CannotwritedatatofileError: {e}") return 1
exceptExceptionas e:
logger.warning(f"Erroroccurredwhiledownloadingfile {file_name}, probablyconnection "
f"crashed, tryingtocontinuein a momentError: {e}")
Tor_Session.build_new_circuit() sleep(
          <xref ref-type="bibr" rid="ref5">5</xref>
          ) continue
download_status.pop(file_name, None)
os.remove(f"{save_path}.metadata")
        </p>
        <sec id="sec-7-1-1">
          <title>Tor_Session.stop_tor() # Deletingfinisheddownloadfromqueue. Byebye ;) q_download_links = [_q_obj.get("file", {}).get("remote_location", "") for _q_objinself._queue] self._queue.pop(q_download_links.index(url))</title>
        </sec>
      </sec>
    </sec>
    <sec id="sec-8">
      <title>5.1. Software implementation of the file analyzer module</title>
      <p>The implementation of the module starts with the definition of data types that will be analyzed.
Due to the fact that the task is to find keywords in corporate documents, it is necessary to be able to
read data from such formats as:
• doc, docb, docm та docx;
• xls,xlsb, xlsm та xlsx; - ppt, pptb та pptx.</p>
      <p>In addition, support for popular data formats is implemented. These formats are:</p>
      <p>• pdf; txt; png; jpg та jpeg; log; json.</p>
      <p>In order to standardize the work, Analyzer class which contains implemented data access
interfaces and algorithms for searching for keywords in the text, titles and metadata files is created.
Textract library is used while retrieving from plain text formats, as well as retrieving metadata from
files. The function of retrieving text from files is shown in Listing 3.</p>
      <p>Listing 3 - Function for retrieving file contents</p>
      <p>defget_content(self): try: returntextract.process(self.file_path).decode('utf-8').lower()
exceptUnicodeDecodeError: try:
withopen(self.file_path, 'rb') as f:
returnf.read().decode('utf-16').lower() exceptUnicodeDecodeError: try:
withopen(self.file_path, 'rb') as f: returnf.read().decode('utf-32').lower()
exceptUnicodeDecodeError:
logger.error(f'[Analyzing] {self.file_path} cannotbedecodein
anyformat (utf-8/utf-16/utf-32)')
self.extracting_error = "cannotbedecodeinanyformat (utf8/utf-16/utf-32)"
excepttextract.exceptions.ExtensionNotSupported: self.extracting_error = 'isnotsupported'
logger.warning(f'[Analyzing] {self.file_path} isnotsupported') exceptExceptionas e:
self.extracting_error = f'generatethefollowingexception {e}' logger.error(f'[Analyzing]
{self.file_path} hasgeneratethefollowing
exception {e}')</p>
      <p>Due to the fact that pdf and word files often contain images that cannot be retrieved as separate
text, the approach of text analysis from images is implemented. In order to do this, Office format files
are converted to pdf using Libreoffice [25]. Then pdf files are converted into images using pdf2image
library. Google's tesseract tool, i.e. pytesseract [26], is used to retrieve text from images. The example
of text retrieval is given in Listing 4.</p>
      <sec id="sec-8-1">
        <title>Listing 4 - Text retrieval from images</title>
        <p>forpage_pathinpages:
text = str((pytesseract.image_to_string(Image.open(page_path))))
os.remove(page_path) content += text
text = text.replace('-\n', '')</p>
        <p>Further, the file is analyzed for the content of keywords, domains, email addresses and bank card
numbers, on the basis of this analysis the prediction if the document refers to data leakage is made.
The implementation fragment is shown in Listing 5.</p>
        <p>Listing 5 - Implementation of data leakage prediction
defpredict_breach(report, customer_keywords): prediction = 0
customer_keywords_size = len(customer_keywords)
content_keywords_size = len(report["event"]["content"]["keywords"]) title_keywords_size =
len(report["event"]["title"]["keywords"]) metadata_keywords_size =
len(report["event"]["metadata"]["keywords"])</p>
        <p>content_keywords_value = 0.9 * (content_keywords_size/customer_keywords_size) prediction
+= content_keywords_value</p>
        <p>title_keywords_value = 0.05 * (title_keywords_size/customer_keywords_size)
title_keywords_value</p>
        <p>metadata_keywords_value = 0.05 *
prediction += metadata_keywords_value
iflen(report["event"]["content"]["emails"]) &gt; 5:
prediction += len(report["event"]["content"]["emails"]) * 0.02
iflen(report["event"]["content"]["credit_card"]) &gt; 2:
prediction += len(report["event"]["content"]["credit_card"]) * 0.02</p>
        <p>prediction = content_keywords_value +
metadata_keywords_value
returnprediction
title_keywords_value</p>
        <p>+
prediction +=</p>
        <p>The result of the entire analysis is stored in the database, where the information can be obtained for
further application.</p>
      </sec>
    </sec>
    <sec id="sec-9">
      <title>5.2. Testing the functionality of the information leakage monitoring system</title>
      <p>After the development and implementation of the new module in software product, functional
testing is carried out.</p>
      <p>Functional testing is carried out in the following areas:
• regression testing. Testing of the developed module after changes in it is carried out;
• modular testing. Testing of separate modules after their development;
• integration testing. Testing the correct modules interaction for information processing
correctness.</p>
      <p>In the process of testing the module for collecting and storing information by logging the
successful scanning, information storage to Elasticsearch database, and successful transfer of
information about publications to the download module are confirmed. The results are shown in
Figure 4.</p>
      <p>The test of file download module, after receiving the list of information about new articles,
successfully obtains additional information about files from the database, generates the download
queue and starts downloading, this information is displayed in the execution logs, which is presented
in Figure 5.</p>
      <p>In order to simulate the real example of information leakage, the keywords of one of the customers
are added to random file. After this file scanning, the corresponding message is displayed in the logs.
It is shown in Figure 6.</p>
      <p>Modular and integration testing of the system components showed excellent results and did not
reveal any problems.</p>
    </sec>
    <sec id="sec-10">
      <title>6. Conclusions and directions for further investigations</title>
      <p>The developed system of automatic monitoring of corporate information leakage makes it possible
to reveal the corporate information leakage as soon as possible and to minimize its consequences. At
present the problem of hacker attacks on companies is very important all over the world. Different
countries are taking measures to protect businesses from attacks by intruders in the digital space.
However, the companies should take care of data security themselves.</p>
      <p>The proposed development will be expanded in order to cover new sources of information (hacker
forums, shadow Telegram channels, etc.). For some companies (design, design bureaus) graphic
information is of primary importance. In further research it is necessary to investigate mathematical
methods of similarity detection for graphic, audio, video files.</p>
    </sec>
    <sec id="sec-11">
      <title>7. References</title>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>R.</given-names>
            <surname>Kirdat</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Mokal</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Mokal</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Parkar</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Shahabade</surname>
          </string-name>
          . “
          <source>Data Leakage Detection and File Monitoring in Cloud Computing” Internetional Journal of Advance Research, Ideas and Innovations in Technology. Volume</source>
          <volume>4</volume>
          ,
          <string-name>
            <surname>Issue</surname>
            <given-names>2</given-names>
          </string-name>
          ,
          <year>2018</year>
          . pp.
          <fpage>859</fpage>
          -
          <lpage>866</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>R.</given-names>
            <surname>Naik</surname>
          </string-name>
          and
          <string-name>
            <given-names>M. N.</given-names>
            <surname>Gaonkar</surname>
          </string-name>
          ,
          <article-title>"Data Leakage Detection in cloud using Watermarking Technique,"</article-title>
          <source>2019 International Conference on Computer Communication and Informatics (ICCCI)</source>
          ,
          <year>2019</year>
          , pp.
          <fpage>1</fpage>
          -
          <lpage>6</lpage>
          , doi: 10.1109/ICCCI.
          <year>2019</year>
          .
          <volume>8821894</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <surname>Chang</surname>
            ,
            <given-names>S.-H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mallissery</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hsieh</surname>
            ,
            <given-names>C.-H.</given-names>
          </string-name>
          , &amp;
          <string-name>
            <surname>Wu</surname>
            ,
            <given-names>Y.-S.</given-names>
          </string-name>
          (
          <year>2018</year>
          ).
          <source>Hypervisor-Based Sensitive Data Leakage Detector</source>
          .
          <source>2018 IEEE International Conference on Software Quality, Reliability and Security (QRS)</source>
          . pp.
          <fpage>155</fpage>
          -
          <lpage>162</lpage>
          . doi:
          <volume>10</volume>
          .1109/qrs.
          <year>2018</year>
          .00029
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <surname>Tuan</surname>
            ,
            <given-names>L.H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Cam</surname>
            ,
            <given-names>N.T.</given-names>
          </string-name>
          &amp;
          <article-title>Pham, VH. Enhancing the accuracy of static analysis for detecting sensitive data leakage in Android by using dynamic analysis</article-title>
          .
          <source>Cluster Comput</source>
          <volume>22</volume>
          ,
          <fpage>1079</fpage>
          -
          <lpage>1085</lpage>
          (
          <year>2019</year>
          ). https://doi.org/10.1007/s10586-017-1364-8
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>G.</given-names>
            <surname>Kul</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Upadhyaya</surname>
          </string-name>
          and
          <string-name>
            <given-names>V.</given-names>
            <surname>Chandola</surname>
          </string-name>
          ,
          <article-title>"Detecting Data Leakage from Databases on Android Apps with Concept Drift,"</article-title>
          <source>2018 17th IEEE International Conference On Trust, Security And Privacy In Computing And Communications/ 12th IEEE International Conference On Big Data Science</source>
          And Engineering (TrustCom/BigDataSE),
          <year>2018</year>
          , pp.
          <fpage>905</fpage>
          -
          <lpage>913</lpage>
          , doi: 10.1109/TrustCom/BigDataSE.
          <year>2018</year>
          .
          <volume>00129</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>R.</given-names>
            <surname>Baeza-Yates</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Ribeiro-Neto</surname>
          </string-name>
          .
          <article-title>Modern information retrieval: The Concepts and Technology behind Search (2nd Edition)</article-title>
          . ACM Press Books,
          <year>2011</year>
          . pp.
          <fpage>53</fpage>
          -
          <lpage>55</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>C. T.</given-names>
            <surname>Meadow</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R. B.</given-names>
            <surname>Bert</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H. K.</given-names>
            <surname>Donald. TextInformationRetrievalSystems</surname>
          </string-name>
          ,
          <year>2017</year>
          . Print.
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>S.</given-names>
            <surname>Dominich</surname>
          </string-name>
          .
          <article-title>Connectionist interaction information retrieval</article-title>
          .
          <source>In: Information processing &amp; management. 2003</source>
          . pp.
          <fpage>167</fpage>
          -
          <lpage>193</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>[9] Welcome to Stem! URL: https://stem.torproject.org/</mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>