<!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>
      <journal-title-group>
        <journal-title>C&amp;ESAR Conference, November</journal-title>
      </journal-title-group>
    </journal-meta>
    <article-meta>
      <title-group>
        <article-title>Analysis of a Vulnerability Disclosure Using Active Learning</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Clément Elbaz</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Louis Rilling</string-name>
          <email>louis.rilling@irisa.fr</email>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Christine Morin</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>France</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Inria</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>France</string-name>
        </contrib>
        <contrib contrib-type="editor">
          <string-name>Security, CVE, Machine Learning, Active Learning</string-name>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Univ Rennes</institution>
          ,
          <addr-line>Inria, CNRS, IRISA</addr-line>
          ,
          <country country="FR">France</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2021</year>
      </pub-date>
      <volume>1</volume>
      <fpage>6</fpage>
      <lpage>17</lpage>
      <abstract>
        <p>Exhaustively listing the software and hardware components of an information system is non-trivial. This makes it even harder to analyze the risk created by a vulnerability disclosure in the context of a specific information system. Instead of basing the risk analysis of a newly disclosed vulnerability on a possibly obsolete list of components, we focus on the security team members tasked with protecting the information system, by studying how Chief Information Security Oficers (CISOs) and their subordinates actually react to vulnerability disclosures. We propose to use active learning to extract the conscious and unconscious knowledge of an information system's security team in order to automate the risk analysis of a newly disclosed vulnerability for a specific information system to be defended.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>
        Disclosure is the most critical part of a vulnerability life cycle. Bilge et al. [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] showed a five
orders of magnitude increase in the usage of vulnerabilities before and after their disclosure. In
the midst of this increasing risk, most standard defense mechanisms do not work at disclosure:
software patches have not been deployed and sometimes are not even available yet. Security
experts do not understand the vulnerability well enough to author a proper signature rule for
an IDS at this early stage. These factors contribute in making the disclosure a dangerous time,
leaving many systems vulnerable in practice.
      </p>
      <p>
        We propose an automated system evaluating, for a newly disclosed vulnerability, the necessity
to alert an on-call security operator regarding a new risk in the context of a specific information
system to be defended. To this end we intend to let an expert (a CISO or her subordinates)
participate in the training of the prediction system by annotating past vulnerabilities to indicate
whether she would have wished being alerted about a similar recent disclosure. Unlike a
SIEM [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], our system does not need to be connected to the monitored information system, as we
focus exclusively on public events (vulnerability disclosures) and how they match our expert’s
interests. We should however fulfill the following constraints:
CEUR
Workshop
Proceedings
1. We want to make the best use of past historical vulnerability data in order to predict how
to react to future vulnerabilities.
2. We want to make the best use of the limited time of security experts by allocating a fixed
annotation budget for the training and selecting the most relevant vulnerabilities to be
annotated.
3. In order to keep the operator’s trust in the prediction system we want both the
vulnerability selection process during the training stage, and the vulnerability analysis process
during the inference stage, to be explicable.
      </p>
      <p>In Section 2 we discuss background and related work. In Section 3 we present our approach.
In Section 4 we propose a preliminary evaluation of our technique. We discuss our results in
Section 5 and conclude in Section 6.</p>
    </sec>
    <sec id="sec-2">
      <title>2. Background and Related Work</title>
      <p>
        The process of disclosing new vulnerabilities is coordinated by the Common Vulnerabilities and
Exposures (CVE) system overseen by Mitre’s Corporation [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. Newly disclosed vulnerabilities
are first published on the CVE List data feed (managed by Mitre) then forwarded to other
security databases such as NIST’s NVD database [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] or SCAP data feeds [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. Only then they
will be annotated by multiple security experts. As of September 2021, more than 160 000
vulnerabilities have been disclosed by CVE and analyzed by NVD. This has allowed the research
community to explore the vulnerability life cycle at scale [
        <xref ref-type="bibr" rid="ref6 ref7 ref8 ref9">6, 7, 8, 9</xref>
        ] and converge on three
insights. First, the relationship between attacks and vulnerabilities follows a power-law, with a
minority of vulnerabilities being exploited in a majority of attacks, and most vulnerabilities
never being exploited at all [
        <xref ref-type="bibr" rid="ref10 ref11">10, 11</xref>
        ]. The actual rate of vulnerability exploitation has been
subject to discussion, with figures going from 15 % [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ] to 1.3 % [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] having been reported in
the literature. Second, too many vulnerabilities are disclosed at any time for them to be treated
with an equal level of urgency. More than 18000 vulnerabilities were disclosed by CVE [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] in
2018 and 2019, around 50 vulnerabilities per day on average. Prioritization is required. Third,
as mentioned in Section 1, usage of a vulnerability in the wild can increase as high as five orders
of magnitude between before and after vulnerability disclosure [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ].
      </p>
      <p>
        These three facts taken together led the community to a conclusion: vulnerability exploitation
in the wild, both in the present and the future, is the most important property of a vulnerability
to predict. By properly predicting exploitation in the wild, one can eficiently prioritize limited
mitigation resources while still preventing most attacks. Starting from 2010, most eforts in the
community were devoted to finding accurate predictors of exploitation, with attempts focusing
on CVSS [
        <xref ref-type="bibr" rid="ref13 ref14 ref15 ref16">13, 14, 15, 16</xref>
        ], OSVDB [
        <xref ref-type="bibr" rid="ref17 ref18">17, 18</xref>
        ], exploit black-markets [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ], social networks [
        <xref ref-type="bibr" rid="ref12 ref19">12, 19</xref>
        ]
and online forums [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ]. These prediction eforts culminated with the release in 2019 of the
Exploit Predicting Scoring System (EPSS) [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ], which uses many data sources to train a regression
model answering a simple question: what is the probability of a vulnerability being exploited in
the wild in the twelve months following its disclosure?
      </p>
      <p>
        All of these models are based on data usually generated after disclosure, such as human
discussion or exploit trading happening after the vulnerability has already gone public for some
time. While some of these models can provide reasonable results days after the disclosure,
the ability to predict the danger posed by a vulnerability in the minutes or seconds after its
disclosure has not improved significantly. This is a problem as some major vulnerabilities
such as Shellshock [
        <xref ref-type="bibr" rid="ref22">22</xref>
        ] were exploited within one hour of their disclosure. Therefore our own
previous work [
        <xref ref-type="bibr" rid="ref23">23</xref>
        ] has focused on predicting multiple properties of a vulnerability, such as
the afected software [
        <xref ref-type="bibr" rid="ref24">24</xref>
        ] or its CVSS vector [
        <xref ref-type="bibr" rid="ref25">25</xref>
        ] immediately after disclosure. Moreover, for
a specific organization, exploitation in the wild is not a suficient criterion to act, as many
vulnerabilities afect software that is not used in the organization’s information systems.
      </p>
      <p>
        Cataloging an information system exhaustively is hard. Software has many forms and many
locations: while software binaries reside on hard disks, firmware is embedded inside hardware,
and uncompiled source code can be interpreted at run time. Software can be downloaded on
the fly over the network without touching the disk, such as when browsing the web with
Javascript enabled. Hardware can be vulnerable [
        <xref ref-type="bibr" rid="ref26">26</xref>
        ][
        <xref ref-type="bibr" rid="ref27">27</xref>
        ] and is not easily updated or replaced.
Databases such as the Common Platform Enumeration (CPE) [
        <xref ref-type="bibr" rid="ref28">28</xref>
        ] (which references all software
and hardware ever afected by a vulnerability) can in theory be used to track and monitor all
these components but in practice discrepancies between the real world and CPE entries (which
are authored manually) quickly accumulate to the point of becoming unmanageable [
        <xref ref-type="bibr" rid="ref29">29</xref>
        ]. This
problem also impacts software versioning: as an example the Debian security team [
        <xref ref-type="bibr" rid="ref30">30</xref>
        ] is
known to backport security fixes into Debian packages without waiting for oficial releases
of the upstream software, creating a Debian-specific version number while doing so. While
this practice should be lauded for improving the timeliness of Debian security updates, it adds
confusion about how a given version of a software is supposed to behave.
      </p>
      <p>
        The evolution of cybersecurity threats led organizations to pursue continuous protection
through the creation of Security Operation Centers (SOCs) dedicated to ensuring their ongoing
safety. Ideally, every organization would benefit from being protected by a SOC, either internal
or outsourced. However, this is a challenging goal in practice, as hiring security analysts is
dificult and expensive [
        <xref ref-type="bibr" rid="ref31 ref32">31, 32</xref>
        ] and the profession has a documented history of elevated stress
and burnout [
        <xref ref-type="bibr" rid="ref33 ref34 ref35 ref36 ref37">33, 34, 35, 36, 37</xref>
        ]. Therefore, at a global level it is neither possible to hire more
security analysts nor to give them much more work to do. These facts taken together mean
that the human component of cybersecurity defense is globally saturated, and the only way to
meet the ever-increasing demand for real-time cybersecurity defense is through automation.
      </p>
      <p>
        Active learning [
        <xref ref-type="bibr" rid="ref38">38</xref>
        ] is a hybrid class of machine learning where training is an interactive
process between an automated learner and an oracle such as a human expert. The learner starts
with a set of unlabeled data. It then has to solve two learning problems: the first is to select
the next sample to be submitted to the oracle for labeling, and then to use both the labeled and
unlabeled data to make predictions. An important characteristic of active learning is training
interactivity: each label provided by the oracle should impact which sample should be submitted
next. Active learning is an interesting choice for information security as the same channel
between the learner and the oracle can be used for both training and evaluation: once the
system is trained, random unlabeled samples can be sent to both the learner and the oracle to
compare their answers. The oracle, the learner, the data and its annotations can all remain in
one security context, avoiding the need to share sensitive datasets between multiple security
contexts. An example of active learning for security is ILAB [
        <xref ref-type="bibr" rid="ref39">39</xref>
        ], a framework designed by
Beaugnon et al aiming to facilitate the annotation of intrusion detection datasets.
      </p>
      <p>Training</p>
      <p>Would I log the
vulnerability silently?
Create a workday ticket?</p>
      <p>Urgently page an
on-call officer?</p>
      <p>Inference
New vulnerability disclosure
Past vulnerabilities</p>
      <p>Vulnerability
selection</p>
      <p>Annotated past
vulnerabilities</p>
      <p>Risk analysis</p>
    </sec>
    <sec id="sec-3">
      <title>3. Proposed Approach</title>
      <p>
        We propose an active learning architecture based on the work by Settles et al [
        <xref ref-type="bibr" rid="ref42">42</xref>
        ], which we
selected because of its simplicity and explicability properties. Our architecture is depicted
in Figure 1. It is composed of a training phase during which an expert and the system train
together and an inference phase during which the system monitors new vulnerabilities and
evaluates the risk that they create. Since the active learning architecture originally proposed by
Settles et al is deterministic and only handles static datasets, we made slight modifications to
the scheme (detailed in Sections 3.6 and 3.7) to handle the dynamic nature of an ongoing flow of
vulnerability disclosures and support a controllable amount of randomness during the training
process.
      </p>
      <p>During the training phase the system iteratively selects a relevant past vulnerability, submits
it to the expert through the user interface, who then annotates it by choosing an appropriate
alert level for the vulnerability. The training phase is actually split in two parts. First, the
ofline training phase happens during the deployment of a production prediction system at a
ifxed point in time, and lets the prediction system and the expert create together an initial
knowledge base by letting the prediction system select any past vulnerability at that point in
time, with the system having full control on the vulnerability selection process. Second, the
online training phase is a continuous interaction between the prediction system and the expert
over time, discretized into periods such as weeks. Every time a new period starts, the prediction
system iteratively selects new vulnerabilities among the ones disclosed during the last period
and makes the expert annotate them. Each of these phases has a separate annotation budget,
with the ofline phase requiring a one-of efort from the expert and the online phase requiring
a continuous efort over time. These two phases of the training are important, as they allow
the prediction system to acquire both long-term context on past vulnerability data as well as
Alert level</p>
      <p>PAGE
TICKET
LOG
awareness of the latest vulnerability disclosures.</p>
      <p>Once the expert considers that the system has been made reliable enough through ofline and
online training (we come back to this in Section 4), the inference phase can begin. The system
now monitors new vulnerability disclosures in near real time and chooses an appropriate alert
level for them using the knowledge base it has constructed together with the expert.</p>
      <p>The processing of a vulnerability is made of several building blocks, some of them common
to both the training and inference phases, and some specific to one or the other, as detailed
below. During the inference phase, evaluating the risk created by a new vulnerability is done
by comparing it to similar, annotated vulnerabilities. To this end a similarity metric between
vulnerabilities is needed. This similarity metric is made possible by viewing vulnerabilities as
euclidean vectors through a featurization stage.</p>
      <p>During the training phase, selecting relevant vulnerabilities to be annotated by the expert is
based on the same building blocks. Our similarity metric is used to compute a similarity matrix
for the entire past vulnerabilities dataset, which then lets the learning system compute an
information density metric for every past vulnerability. Selecting a vulnerability to be annotated
by the expert is done by combining this information density metric with an uncertainty metric
computed by simulating an alert decision process for every vulnerability while measuring the
confidence of the prediction.</p>
      <p>
        In the rest of this section we first present the concepts necessary for both training and
inference: in Section 3.1 we describe the possible alert levels for a vulnerability and the user
interface used by the expert. In Section 3.2 we discuss the featurization stage of our architecture.
In Section 3.3 we discuss our choice of similarity metric. The actual alert decision process used
during the inference phase is then presented in Section 3.4. We finally cover the remaining
concepts necessary for the training phase. In Section 3.5 we present our choice of uncertainty
metric. We then discuss concepts proposed by Settles et al [
        <xref ref-type="bibr" rid="ref42">42</xref>
        ] that we use: first the similarity
matrix and information density metric in Section 3.6, then in Section 3.7 the process used by
the learning system to select the next vulnerability to be annotated by the expert during the
training phase.
      </p>
      <sec id="sec-3-1">
        <title>3.1. User Interface and Alert Levels</title>
        <p>
          An alert level scale is needed to let both the system and the expert translate their risk analysis
of a vulnerability into an actionable decision. The recipient of this alert is a human, so it makes
sense for the alert scale to be human-centered. We use the scale proposed by Google in their
Site Reliability Engineering doctrine [
          <xref ref-type="bibr" rid="ref43">43</xref>
          ]:
• LOG: The disclosure is logged in an activity log that can be consulted afterward, but no
alert is actively raised to a human security operator.
• TICKET: The disclosure causes the creation of a ticket in an issue tracking system. A
ticket is expected to be solved in a non-urgent manner during working hours.
• PAGE: The disclosure causes an on-call security operator to be paged immediately, even
outside regular working hours. A page is expected to be treated immediately.
        </p>
        <p>As shown in Figure 2, in the training phase the system selects a vulnerability to be labeled by
the human expert then shows its description on screen. The expert then selects the alert level
she deems the most appropriate for the vulnerability, in the context of the system she is tasked
to protect. In the inference phase, the system automatically selects the appropriate alert level
for new vulnerabilities using the same alert scale.</p>
      </sec>
      <sec id="sec-3-2">
        <title>3.2. Vulnerability as a Euclidean Vector</title>
        <p>
          In order to transform the raw description of a vulnerability into a euclidean vector, we reuse
the same keyword extraction pipeline as described in our past work [
          <xref ref-type="bibr" rid="ref24">24</xref>
          ]: we retain only words
present in past CPE URIs then weight them using an algorithm called TF-IDF [
          <xref ref-type="bibr" rid="ref40">40</xref>
          ].
        </p>
        <p>TF-IDF is a numerical statistic reflecting the importance of a word in a document, in the
context of a corpus. It is defined in Equation 1 where  is a word and  is a document belonging
to a corpus of documents  .</p>
        <p>TF-IDF(, , ) =</p>
        <p>TF(, ) × IDF(, )
(1)</p>
        <p>
          TF is based on the number of occurrences of the word in the document. Several formulas
have been proposed, such as using the raw count directly or treating the presence or absence of
a word as a boolean event. Applying a logarithm on top of the raw count of occurrences has
been argued [
          <xref ref-type="bibr" rid="ref41">41</xref>
          ] to better reflect the diminishing returns of repeating the same term several
times.
        </p>
        <p>IDF is defined in Equation 2:</p>
        <p>IDF(, ) =
log</p>
        <p>
          ||
| ∈  ∶  ∈ |
where || is the number of documents in the corpus, and | ∈  ∶  ∈ |
is the number of
documents of the corpus containing the word  . TF-IDF therefore allows more specific words to
have a bigger impact on the mapping than common words. This weighting is then improved
using domain-specific heuristics presented in [
          <xref ref-type="bibr" rid="ref24">24</xref>
          ]. We finally use a euclidean truncation scheme
to reduce the number of non-zero components for every vector. This pipeline lets us identify
the afected software for a vulnerability in the form of a
sparse euclidean vector (with a low
number of non-zero vector components). Vulnerabilities afecting the same software share
many non-zero components, making them similar in the vector space.
        </p>
      </sec>
      <sec id="sec-3-3">
        <title>3.3. Measuring Vulnerability Vectors Similarity</title>
        <p>As a similarity metric between vulnerability euclidean vectors we choose the cosine similarity
that can be computed using the formula shown in Equation 3:
(2)
(3)
cosine similarity(x, x′) = =1</p>
        <p>Cosine similarity returns a similarity between 0 and 1 for two vectors. Its main avantage is to
return a similarity of zero for vectors having no common non-zero components. This is helpful
to avoid creating artificial similarity between unrelated vulnerabilities. In particular,
distancebased similarity metrics tend to overestimate the similarity between vectors close to origin. In
our case, a vector close to origin indicates a vulnerability for which we have not extracted any
meaningful keyword and therefore have no strong understanding of. Therefore having two
vectors being close to origin does not necessarily means that the two related vulnerabilities
are actually similar to each other. Another advantage of cosine similarity is to not require any
hyperparameter, making it more explicable and stable than similarity metrics that do.</p>
      </sec>
      <sec id="sec-3-4">
        <title>3.4. Alerting Decision Score</title>
        <p>For every new vulnerability disclosure, the prediction system has to make a risk estimate by
choosing an appropriate alert level for the vulnerability, among LOG, TICKET and PAGE. In
order to do that, we had to make several hypotheses. These hypotheses can be challenged, as
we discuss in Section 5.</p>
        <p>Our first hypothesis is that the TICKET alert level is a reasonable default reaction for a
vulnerability about which nothing is known. This is based on the assumption that security
operators are risk averse and want to eventually review any vulnerability for which the prediction
system could not make a meaningful decision. In the light of this hypothesis, we propose an
alert decision score in range [−1; +1]. It can be converted into an alert decision for a vulnerability
 using Equation 4.</p>
        <p>⎧,
decision( ) =     , (4)
⎨
⎩ ,</p>
        <p>Conversely, a default alert decision score is set for all annotated vulnerabilities. The alert
decision score of an annotated vulnerability  is set following Equation 5.
if score( ) ∈ [−1; − 13 [
if score( ) ∈ [− 13 ; + 13 [
if score( ) ∈ [+ 13 ; +1]
score( ) =
⎧−1, if the vulnerability is annotated as LOG</p>
        <p>0, if the vulnerability is annotated as TICKET
⎨
⎩+1, if the vulnerability is annotated as PAGE</p>
        <p>The formula to compute the decision score of a non-annotated vulnerability  is shown in
Equation 6, assuming a knowledge base of  annotated vulnerabilities  0 to  −1 :
score( ) =
⎨
⎪
⎪
⎩0,
−1
∑similarity( ,   )
=0</p>
        <p>otherwise
−1
⎧ ∑score(  ) × similarity( ,   )
⎪⎪ =0 , if ∃ ∈ {0, ...,  − 1}
similarity( ,   ) &gt; 0
(6)
(5)
(7)</p>
        <p>Put another way, the alert decision score is the average decision score for all annotated
vulnerabilities weighted by their similarity to the analyzed vulnerability, with a special case of
returning 0 when there are no similar annotated vulnerabilities yet.</p>
        <p>This formula implies that any vulnerability for which there are few or no similar annotated
vulnerabilities gets an alert decision score close or equal to 0, resulting in a TICKET alert, in
line with our hypothesis that this is the correct default reaction. Conversely, LOG and PAGE
alerts are only emitted if the vulnerability is strongly similar to known vulnerabilities that were
annotated as such.</p>
      </sec>
      <sec id="sec-3-5">
        <title>3.5. Uncertainty Score</title>
        <p>
          The active learning architecture we use [
          <xref ref-type="bibr" rid="ref42">42</xref>
          ] requires an uncertainty metric for each vulnerability,
as part of the vulnerability selection process used to submit vulnerabilities to be annotated by
the expert (which we discuss in Section 3.7). However they do not specify how to implement it.
        </p>
        <p>We make the hypothesis that since TICKET is our default reaction, the closer to TICKET a
vulnerability is, the more uncertain our decision is. Conversely, the closer to LOG or PAGE a
decision is, the more certain our decision is. Therefore we compute uncertainty using Equation 7.</p>
        <p>uncertainty( ) = 1 − | score( )|</p>
        <p>Therefore the uncertainty score of a vulnerability reaches 1 the closer its decision score is to 0
(TICKET), and reaches 0 the closer its decision score is to −1 or +1 (LOG or PAGE, respectively).</p>
      </sec>
      <sec id="sec-3-6">
        <title>3.6. Similarity Matrix to Measure Information Density</title>
        <p>
          We first describe as background the concepts of similarity matrix and information density
proposed by Settles et al [
          <xref ref-type="bibr" rid="ref42">42</xref>
          ], as they are part of our architecture. We then present a slight
modification to the scheme we add in the context of a dynamic dataset such as ongoing vulnerability
disclosures.
        </p>
        <sec id="sec-3-6-1">
          <title>3.6.1. Background: Similarity Matrix and Information Density</title>
          <p>Assuming a set of  past vulnerabilities  0 to  −1 , a similarity matrix  of size  ×  can be
constructed using Equation 8.</p>
          <p>∀,  ∈ {0, ...,  − 1}  , = similarity(  ,   )
(8)</p>
          <p>From the similarity matrix  we compute an information density metric for every vulnerability
by computing the average similarity of a vulnerability to every other vulnerabilities in the
dataset, including itself (therefore no vulnerability can have an information density of zero).
This is described by Equation 9.
∀ ∈ {0, ...,  − 1}</p>
          <p>−1  ,
density(  ) = ∑
=0</p>
          <p>Information density is a measure of how typical a vulnerability is. When a lot of vulnerabilities
resemble each other, they all have a high similarity metric when compared to each other,
increasing the information density of each of them. Conversely, an outlier vulnerability with
few or no similar vulnerabilities has a low information density.</p>
        </sec>
        <sec id="sec-3-6-2">
          <title>3.6.2. Vulnerability Dataset Truncation</title>
          <p>Settles et al proposed the concept of similarity matrix with a static dataset in mind. However,
as many new vulnerabilities are disclosed every day, in our case the dataset is dynamic and the
creation and update of a similarity matrix are quadratic through time and space. To limit the cost,
we modify the scheme proposed by Settles et al and decide to truncate our vulnerability dataset
once it goes over a certain size. We define a hyperparameter  for the maximum number of
vulnerabilities we find acceptable, then remove excess vulnerabilities once  &gt;  . For choosing
the vulnerabilities to be truncated we simply remove the oldest vulnerabilities first.</p>
        </sec>
      </sec>
      <sec id="sec-3-7">
        <title>3.7. Selecting a Vulnerability to be Evaluated</title>
        <p>The main decision task of the training phase is to select the next vulnerability to be annotated
by the expert. This raises several challenges. Selecting only the most typical vulnerabilities can
lead to submit many vulnerabilities similar to each other, with diminishing returns after the
ifrst few ones. Conversely, selecting vulnerabilities only based on decision uncertainty leads to
submit many outliers to the expert, which does not help with getting a broader understanding
of the entire vulnerability set. Another question is how much the selection process should
be based on randomness. A solely deterministic process could get the learning stuck in local
(9)
maxima of the vulnerability euclidean space, while leaning too much on randomness might
lead to submit too many uninteresting vulnerabilities to the expert.</p>
        <p>
          To address all these challenges, we propose an approach based on the work of Settles et al [
          <xref ref-type="bibr" rid="ref42">42</xref>
          ]
which we present as background. We then propose a modification to incorporate randomness
in the selection strategy.
        </p>
        <sec id="sec-3-7-1">
          <title>3.7.1. Background: Selection Score and Selection Strategy</title>
          <p>
            Settles et al [
            <xref ref-type="bibr" rid="ref42">42</xref>
            ] proposed that every vulnerability eligible for annotation should be given a
selection score according to a selection strategy. They proposed several strategies for the selection
score and we choose the simplest one as a starting point, shown in Equation 10. This strategy
does not include randomness yet, which we describe in the next section.
          </p>
          <p>select( ) = density( ) × uncertainty( )
(10)</p>
          <p>As seen in Section 3.5, when a vulnerability has no similar annotated vulnerabilities, it gets an
uncertainty score of 1. Therefore, at the beginning of the training (when there are no annotated
vulnerabilities yet) all vulnerabilities get the same uncertainty score, and the selection process
is based on information density only (we show below how we add randomness). A large group
of vulnerabilities similar to each other (and therefore with high information density) is called a
vulnerability cluster. Once more vulnerabilities get annotated inside the biggest clusters, the
uncertainty score of the unannotated vulnerabilities in the clusters progressively decreases as
there are similar annotated vulnerabilities in the knowledge base. At some point, other smaller
clusters with lower information density but higher uncertainty (as they are unexplored yet)
reach higher selection scores and get picked up first.</p>
        </sec>
        <sec id="sec-3-7-2">
          <title>3.7.2. Adding Randomness to the Selection Process</title>
          <p>
            With no randomness at all, the vulnerability selection is entirely deterministic, assuming a
ifxed set of vulnerabilities and an expert always choosing the same alert level for the same
vulnerability. This can create problems as some vulnerability clusters are much denser than
others, leading the selection process to waste too much of the expert’s time on too few clusters.
However, selecting a vulnerability from a smaller pool of randomly chosen vulnerabilities
allows for more exploration of the vulnerability dataset as the denser clusters are not always
present in the random pool. Therefore in our work we slightly modify the selection strategy
proposed by Settles et al [
            <xref ref-type="bibr" rid="ref42">42</xref>
            ] to incorporate a certain amount of randomness by randomly
selecting  vulnerabilities from the set of all candidates vulnerabilities to be annotated, before
applying the rules described in Equation 10 to choose a vulnerability from this random subset. 
is a hyperparameter. We claim that taken together, randomness, uncertainty, and information
density provide the foundation for a robust annotation selection process.
          </p>
          <p>Our complete training algorithm, including the vulnerability selection process is described in
Algorithm 1.
Input: V: set of all past vulnerabilities
Input: B: annotation budget for the current training phase
Input: ONLINE: boolean set to true if the current training phase is online, false if ofline
Input: r: size of the random subset of vulnerabilities
while B &gt; 0 do</p>
          <p>C = get_all_unannotated_vulnerabilities(V);
if ONLINE then</p>
          <p>C = retain_only_vulnerabilities_disclosed_in_last_period(C);
end
R = select_random_subset_of_vulnerabilities(C, r);
v = select_vulnerability_with_highest_selection_score(R);
submit_vulnerability_to_expert(v);</p>
          <p>B = B - 1;
end</p>
          <p>Algorithm 1: Training algorithm, including the vulnerability selection process.</p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>4. Preliminary Evaluation</title>
      <p>Our evaluation goal is to check the real-world applicability of our prediction system, designed
and configured with preliminary hypotheses, by confronting it to actual security experts in
charge of real information systems. In our experimental protocol, these experts annotate
vulnerabilities to assert their risk levels, in the context of the systems they are responsible for.
The experiment is divided in two steps: in the first step, security experts train the prediction
system, through an ofline training followed by an online training, by simulating the passing
of time. Second, they evaluate the prediction system: this is done by randomly selecting
vulnerabilities, then submitting them to the prediction system and the expert simultaneously
while comparing their answers. The main diference between the two steps is that during
training the system controls which vulnerabilities are submitted to the expert, and the resulting
annotations are added to the system’s knowledge base. On the contrary during evaluation the
vulnerability selection is completely random and the expert’s annotations are only used as an
evaluation tool without being added to the system’s knowledge base.</p>
      <p>A major challenge of this experiment is the requirement for busy security experts to
commit a certain amount of time to participate, such as half a day. Moreover, as the training’s
vulnerability selection process simultaneously depends on the active learning architecture, its
hyperparameters, and the expert previous choices, any iteration in the design or configuration
of the prediction system requires to undertake a brand new experiment (including the expert
full participation) to properly evaluate the changes.</p>
      <p>In the end we have been able to complete two experiments, which we denote Experiment A
and B. The information system studied in experiment A is a server-side software development
environment, including a git server, an issue tracker, NTP and DNS servers, as well as Windows
and Linux machines using a Kerberos-based authentication protocol. The information system
studied during experiment B was also an information system for software development, with
Linux machines only. It includes a git server, a Jenkins server, an issue tracker, a wiki system,
and is administered through SSH.</p>
      <p>A shortcoming of this preliminary evaluation is that both experiments were done as part
of a first experimental campaign, and we have not been able to secure the launch of a second
experimental campaign based on what we learned during the first one. This campaign was
based on initial hypotheses we took, some of which turned out to be questionable, resulting in
mixed evaluation results. This is further discussed in Section 5.</p>
      <p>We present our evaluation protocol in Section 4.1 and the results of the experiments in
Section 4.2.</p>
      <sec id="sec-4-1">
        <title>4.1. Experimental Protocol</title>
        <p>Our experimental protocol uses past CVE vulnerabilities to simulate the production deployment
of an alert system at a random past date. The protocol starts with an initial ofline training
session, then simulates the passing of time for an online training session, followed by an online
evaluation session.</p>
        <p>A major experimental constraint was that vulnerability annotations authored by our
participants were actually sensitive themselves, as they provided a lot of insights into the related
information systems. This required the whole campaign to be carried out without us ever seeing
those annotations, or storing them on our own hardware. Therefore experiments were done
exclusively on security experts’ own machines (usually laptop workstations), preventing the
use of dedicated server-grade computing resources. For this reason the vulnerability selection
process, which is computationally intensive, had to be bounded in time and resources, as the
experience had to stay interactive enough for the security expert to remain engaged while
running entirely from a lightweight workstation. This is not straightforward as a similarity
matrix for the entire CVE dataset requires hundreds of megabytes of storage, takes minutes to
compute, and is only valid for a specific time step in the simulation as new vulnerabilities and
keywords are added and discarded. We solved this engineering problem by storing all similarity
matrices needed for every time step of the simulated timeline on the experts’ workstations,
ensuring the interactivity of the experience at the cost of each experiment requiring several
hundreds of gigabytes of storage.</p>
        <p>The experimental protocol was prepared in 2019, giving us access to all CVE vulnerabilities
disclosed between 2007 and 2018. However, as explained in Section 3.6, the computation and
storage of the vulnerability similarity matrix is quadratic in the number of vulnerabilities in
our database, and difers at every time step (as more vulnerabilities are disclosed and more
CPE URIs are added to the featurization word list). The hyperparameter  , first described
in Section 3.6, is the maximum number of vulnerabilities the prediction system retains in its
database. We empirically found that setting  = 10000 was close to the highest value we could
set while keeping the user experience interactive using our current prototype. As we discard
older vulnerabilities first and more than 5000 vulnerabilities have been disclosed every year for
the last decade, in practice only vulnerabilities disclosed between 2014 and 2018 are actually
used in the experiment.</p>
        <p>Regarding the annotation budget, we had initial discussions with potential participants about
the amount of time they would be able to commit to the experiments. From early participant
feedback and preliminary empirical tests, we converged on an experimental duration of half a day
consisting in annotating 300 vulnerabilities, an amount to be divided into ofline training, online
training, and online evaluation. This budget was the best compromise between participant’s
availability and experimental validity.</p>
        <p>Our first intuition was to divide the annotation budget evenly between ofline training, online
training, and online evaluation, providing a budget of 100 annotations for each step. For online
training and evaluation, we also have to divide the budget into a number of weeks of simulated
time and a number of vulnerabilities to be annotated per week. For online evaluation we settled
on an even divide of 10 annotations per week during 10 weeks of simulated time. However
early informal experiments highlighted a potential problem for online training: it is common
for many vulnerabilities afecting the same software or hardware to be disclosed simultaneously,
creating a risk of wasting part of the training budget as most vulnerabilities disclosed in a single
period are afecting the same software. For this reason, we decided to spread the online training
budget on more weeks, with only 8 annotations per week during 12 weeks of simulated time,
for a total of 304 vulnerability annotations in the entire experiment.</p>
        <p>The last hyperparameter to set was  , the number of randomly picked vulnerabilities to be
ranked during the vulnerability selection process. Early informal experiments highlighted the
risk of getting stuck into local maxima when carrying a mostly deterministic vulnerability
selection process. Therefore we decided to let randomness have an important role in vulnerability
selection by setting  = 10 . We hypothesized that this setting would let the training process
propose varied vulnerabilities to the expert, while still having a high probability of having at
least one interesting vulnerability to submit to the expert among the ten random ones.</p>
      </sec>
      <sec id="sec-4-2">
        <title>4.2. Results</title>
        <p>Evaluation results for experiments A and B are shown in Table 1 and 2. Correct decisions are
shown in the diagonal row. False positives (for which the system chose a higher alert level than
the expert) are shown above the diagonal, while false negatives (for which the system chose a
lower alert level than the expert) are shown below.</p>
        <p>Results show that our approach can be improved: less than half of the decisions are identical
between the system and the expert, with a very high number of false positives yet a significant
amount of false negatives. The most common type of false positives is a vulnerability deemed
benign by the expert (LOG, no alert raised) for which the system created a non-urgent TICKET
for inspection during working hours. This is a consequence of the low base rate of non-LOG
vulnerabilities (experts for experiment A and B respectively classified 85 % and 77 % of evaluation
vulnerabilities as LOG) coupled with our design choice of favoring TICKET as a default response.</p>
        <p>As we said in Section 4.1, we did not get access to the expert’s annotations for neither
experiment A or B. However, for experiment B we had the opportunity to follow up with the
expert’s team to get some insight into the evaluation process. An important discovery made
during this follow-up is that at least five false negatives from experiment B are actually human
errors instead of prediction errors (the five vulnerabilities annotated as PAGE by the expert
were incorrectly annotated during the evaluation and the participant actually agrees with the
system’s decisions). According to the participant, this is partly due to a specific keyword in
the vulnerability description that incorrectly startled him, and partly due to annotation fatigue,
which we discuss in Section 5. We chose not to correct our results following this information for
two reasons: first, there have been no comprehensive review of all evaluation vulnerabilities for
neither experiments, leaving the possibility of even more undetected human errors. Moreover,
we consider expert error a real-world condition that should be acknowledged by a robust
evaluation protocol.</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>5. Discussion</title>
      <p>As said previously, for both experiments A and B we did not get access to the 304 vulnerabilities
submitted to the expert, nor the annotations provided by the expert, for confidentiality reasons.
Under these conditions we can only speculate about what went right or wrong during the
automated decision process, and can outline some design changes we would propose in the
advent of another experimental campaign.</p>
      <sec id="sec-5-1">
        <title>5.1. Experimental Limitations</title>
        <p>It is likely that a budget of 304 vulnerabilities is not enough for both training and evaluating
our prediction system. It is noteworthy that in the context of a production prediction system,
having a security operator annotate vulnerabilities one hour a week for a year would result in
an order of magnitude increase in annotation budget compared to our experimental campaign.
We do not know how such an increase in budget would afect decision accuracy.</p>
      </sec>
      <sec id="sec-5-2">
        <title>5.2. Decision Quality</title>
        <p>
          For this work we only used dimensions generated by the keyword extraction pipeline described
in our previous work [
          <xref ref-type="bibr" rid="ref24">24</xref>
          ], with past CPE URIs used as a filtering whitelist to prevent too many
noisy keywords. This raises two risks: the quality of the extracted names may not be good
enough for accurate decisions and comparing vulnerabilities by afected software alone may
not be enough for proper risk analysis. As we could not study ourselves the training and
evaluation data, we delivered a debugging tool to experimenters allowing them to look back
at any evaluation vulnerability. Using this tool they could list the training vulnerabilities that
were considered similar, and the keywords from which the similarity arose. While they did
not have time to do a comprehensive analysis of all evaluation decisions, they did report some
valuable insights. Many decision mistakes were due to incorrect links between vulnerabilities,
due to noisy keywords that are nevertheless present in the CPE URI whitelist: this is the case for
common technical words such as “internet” (present in the whitelist because of many software
names starting with Internet Explorer ), “api” (because of software names such as Broker API or
API connect), “credentials” (because of software names such as Credential Bindings). It could be
worthwhile to improve the filtering capabilities of our keyword extraction pipeline, as well as
giving security experts the opportunity to blacklist keywords that led to incorrect decisions in
the past. Last but not least, it would be interesting to evaluate how adding other vulnerability
properties would help risk analysis.
        </p>
      </sec>
      <sec id="sec-5-3">
        <title>5.3. Expert Expectations</title>
        <p>When explaining our experimental protocol to participants we did our best to convey that the
current prediction system is only based on afected software names, and does not take into
account other properties such as afected versions or vulnerability severity. However we never
met directly the participant for experiment A (we presented the protocol to his colleagues) and
more than a year had passed between initial project presentation and the starting of experiment
B. This means participants may have forgotten (or were never aware to begin with) of this
limitation while participating in the experiment, and participant’s feedback following the
experiments left this point unclear. If it was confirmed that security experts tend to include
other information such as version or severity into their vulnerability analysis, this would be a
strong indicator that more vulnerability properties are needed to increase prediction accuracy.</p>
        <p>Another point where our system may have difered from participants’ expectations is our
choice to consider TICKET as a default choice. Our initial hypothesis was that false negatives are
worse than false positives, as they imply the presence of an unmitigated risk for the information
system. Many security experts we talked to disagreed with us: most of them told us that they
had too many alerts from too many monitoring systems to handle them all, and they did not have
time to check all newly disclosed CVE vulnerabilities manually. Therefore they strongly prefer
some false negatives (which is not worse than their current situation) to false positives (which
create more alerts for them to handle). A future version of this prediction system could allow
the possibility for the security expert to choose a default alert behavior she feels appropriate.</p>
      </sec>
      <sec id="sec-5-4">
        <title>5.4. Hyperparameters Tuning</title>
        <p>Our learning system and evaluation protocol both require many hyperparameters, creating a
hyperstate space too vast to be explored comprehensively. This is a problem shared by many
machine learning endeavors, as changing a hyperparameter value requires the training to be
started over from scratch. However active learning is especially vulnerable to this phenomenon
as training requires the active participation of a human, and the choice of a sample to be
annotated during training is impacted by the hyperparameters settings. As security experts’
time is expensive, any hyperparameter mistake is very costly. Many big and small decisions must
be taken to prepare such an evaluation protocol, sometimes without the ability to justify these
decisions appropriately. When the participating human is expected to be a domain-knowledge
expert (as in our case), retraining the model is very expensive and doing it repeatedly is not
possible in practice.</p>
      </sec>
      <sec id="sec-5-5">
        <title>5.5. Decision Explicability</title>
        <p>In our opinion, our lack of access to this campaign’s experimental data validates our design
choice to consider decision explicability as a critical property of a security decision system. This
enables us to design self-serving debugging tools usable by participants, giving them the ability
to understand by themselves the reasons why predictions succeeded or failed. The participants
were able to give us all the valuable insights we discussed in this section while still keeping
the sensitive details of their information system confidential. As discussed in Section 5.2, a
natural next step would be to give the expert the tools to improve by themselves the quality
of a decision after having diagnosed its root cause. A proposal that is simple for experts to
understand and easy for us to implement would be to allow the expert to manually blacklist a
low-quality keyword, for instance after having debugged an incorrect alert decision.</p>
      </sec>
    </sec>
    <sec id="sec-6">
      <title>6. Conclusion</title>
      <p>
        In this article we presented the initial design of an automated vulnerability risk analysis
prediction system that can immediately choose an appropriate alert level for a just-disclosed
vulnerability. It is interactively trained by a security operator using active learning: by
mimicking the alert decisions of the human operator, the prediction system can gradually learn which
vulnerabilities are considered important in the context of a specific information system. The
system is based on an active learning architecture proposed by Settles et al [
        <xref ref-type="bibr" rid="ref42">42</xref>
        ] that includes the
computation of a cosine similarity matrix and an information density vector. We modified this
architecture to handle dynamic datasets such as the flow of vulnerability disclosures and to add a
controllable amount of randomness in the vulnerability selection process. The architecture also
uses our own work on vulnerability keyword extraction (described in our previous work [
        <xref ref-type="bibr" rid="ref24">24</xref>
        ])
as a featurization scheme.
      </p>
      <p>This contribution is still at an early stage. Our experimental results show some of our initial
design choices could be revisited. However, security experts we collaborated with expressed
great interest in the concept and their collaboration was a crucial aspect of this contribution.
Notably, this partnership highlighted how decision explicability is an important factor for
real-world applicability of machine learning for security alerting. Going forward we would
like to carry on this relationship onward as well as extend it to include even more participants,
opening the door to a more iterative research process and more sound experimental protocols.
Validating such a system would be an important step forward in the defense against newly
disclosed vulnerabilities, allowing organizations to set up an around-the-clock vulnerability
monitoring system while only requiring their security operators to work during regular hours
to train the system.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>L.</given-names>
            <surname>Bilge</surname>
          </string-name>
          , T. Dumitraş,
          <article-title>Before We Knew It: An Empirical Study of Zero-day Attacks in the Real World</article-title>
          ,
          <source>in: Proceedings of the 2012 ACM Conference on Computer and Communications Security (CCS' 12)</source>
          , ACM, New York, NY, USA,
          <year>2012</year>
          , pp.
          <fpage>833</fpage>
          -
          <lpage>844</lpage>
          . doi:
          <volume>10</volume>
          . 1145/2382196.2382284.
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <fpage>US10616258B2</fpage>
          -
          <article-title>Security information and event management,</article-title>
          <year>2020</year>
          -
          <volume>01</volume>
          -
          <fpage>09</fpage>
          . URL: https: //patents.google.com/patent/US10616258B2/en.
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>Common</given-names>
            <surname>Vulnerabilities</surname>
          </string-name>
          and
          <source>Exposures (CVE)</source>
          ,
          <year>2020</year>
          -
          <volume>08</volume>
          -
          <fpage>04</fpage>
          . URL: https://cve.mitre.org/.
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>National</given-names>
            <surname>Vulnerability Database</surname>
          </string-name>
          ,
          <fpage>2020</fpage>
          -
          <volume>08</volume>
          -
          <fpage>04</fpage>
          . URL: https://nvd.nist.gov/.
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>Security</given-names>
            <surname>Content Automation Protocol</surname>
          </string-name>
          ,
          <fpage>2020</fpage>
          -
          <volume>08</volume>
          -
          <fpage>04</fpage>
          . URL: https://csrc.nist.gov/projects/ security-content
          <article-title>-automation-protocol.</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>S.</given-names>
            <surname>Frei</surname>
          </string-name>
          , M. May,
          <string-name>
            <given-names>U.</given-names>
            <surname>Fiedler</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Plattner</surname>
          </string-name>
          ,
          <article-title>Large-scale Vulnerability Analysis</article-title>
          ,
          <source>in: Proceedings of the 2006 SIGCOMM Workshop on Large-scale Attack Defense (LSAD '06)</source>
          , ACM, New York, NY, USA,
          <year>2006</year>
          , pp.
          <fpage>131</fpage>
          -
          <lpage>138</lpage>
          . doi:
          <volume>10</volume>
          .1145/1162666.1162671.
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>S.</given-names>
            <surname>Clark</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Frei</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Blaze</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Smith</surname>
          </string-name>
          , Familiarity Breeds Contempt:
          <article-title>The Honeymoon Efect and the Role of Legacy Code in Zero-day Vulnerabilities</article-title>
          ,
          <source>in: Proceedings of the 26th Annual Computer Security Applications Conference (ACSAC '10)</source>
          , ACM, New York, NY, USA,
          <year>2010</year>
          , pp.
          <fpage>251</fpage>
          -
          <lpage>260</lpage>
          . doi:
          <volume>10</volume>
          .1145/1920261.1920299.
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>M.</given-names>
            <surname>Shahzad</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M. Z.</given-names>
            <surname>Shafiq</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A. X.</given-names>
            <surname>Liu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A Large</given-names>
            <surname>Scale</surname>
          </string-name>
          <article-title>Exploratory Analysis of Software Vulnerability Life Cycles</article-title>
          ,
          <source>in: Proceedings of the 34th International Conference on Software Engineering</source>
          , IEEE Press, Piscataway, NJ, USA,
          <year>2012</year>
          , pp.
          <fpage>771</fpage>
          -
          <lpage>781</lpage>
          . URL: http://dl.acm.org/ citation.cfm?id=
          <volume>2337223</volume>
          .
          <fpage>2337314</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>S.</given-names>
            <surname>Frei</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Schatzmann</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Plattner</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Trammell</surname>
          </string-name>
          ,
          <article-title>Modeling the security ecosystem - the dynamics of (in)security</article-title>
          , in: T.
          <string-name>
            <surname>Moore</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          <string-name>
            <surname>Pym</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          Ioannidis (Eds.),
          <source>Economics of Information Security and Privacy</source>
          ,
          <string-name>
            <surname>Springer</surname>
            <given-names>US</given-names>
          </string-name>
          , Boston, MA,
          <year>2010</year>
          , pp.
          <fpage>79</fpage>
          -
          <lpage>106</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>K.</given-names>
            <surname>Nayak</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Marino</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Efstathopoulos</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Dumitraş</surname>
          </string-name>
          ,
          <article-title>Some vulnerabilities are diferent than others</article-title>
          , in: A.
          <string-name>
            <surname>Stavrou</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          <string-name>
            <surname>Bos</surname>
          </string-name>
          , G. Portokalidis (Eds.), Research in Attacks,
          <source>Intrusions and Defenses</source>
          , Springer International Publishing, Cham,
          <year>2014</year>
          , pp.
          <fpage>426</fpage>
          -
          <lpage>446</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>L.</given-names>
            <surname>Allodi</surname>
          </string-name>
          ,
          <article-title>Economic factors of vulnerability trade and exploitation</article-title>
          ,
          <source>in: Proceedings of the 2017 ACM SIGSAC Conference on Computer and Communications Security</source>
          , CCS '17,
          <string-name>
            <surname>Association</surname>
          </string-name>
          for Computing Machinery, New York, NY, USA,
          <year>2017</year>
          , p.
          <fpage>1483</fpage>
          -
          <lpage>1499</lpage>
          . URL: https://doi.org/10.1145/3133956.3133960. doi:
          <volume>10</volume>
          .1145/3133956.3133960.
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>C.</given-names>
            <surname>Sabottke</surname>
          </string-name>
          ,
          <string-name>
            <given-names>O.</given-names>
            <surname>Suciu</surname>
          </string-name>
          , T. Dumitras,
          <article-title>Vulnerability disclosure in the age of social media: Exploiting twitter for predicting real-world exploits</article-title>
          ,
          <source>in: 24th USENIX Security Symposium (USENIX Security 15)</source>
          , USENIX Association, Washington, D.C.,
          <year>2015</year>
          , pp.
          <fpage>1041</fpage>
          -
          <lpage>1056</lpage>
          . URL: https://www.usenix.org/conference/usenixsecurity15/technical-sessions/ presentation/sabottke.
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <surname>Common Vulnerability Scoring System</surname>
          </string-name>
          ,
          <fpage>2020</fpage>
          -
          <volume>08</volume>
          -
          <fpage>04</fpage>
          . URL: https://www.first.org/cvss/.
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>S. H.</given-names>
            <surname>Houmb</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V. N.</given-names>
            <surname>Franqueira</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E. A.</given-names>
            <surname>Engum</surname>
          </string-name>
          ,
          <article-title>Quantifying security risk level from cvss estimates of frequency and impact</article-title>
          ,
          <source>Journal of Systems and Software</source>
          <volume>83</volume>
          (
          <year>2010</year>
          )
          <fpage>1622</fpage>
          -
          <lpage>1634</lpage>
          . URL: http://www.sciencedirect.com/science/article/pii/S0164121209002155. doi:https:// doi.org/10.1016/j.jss.
          <year>2009</year>
          .
          <volume>08</volume>
          .023, software Dependability.
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>L.</given-names>
            <surname>Allodi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Massacci</surname>
          </string-name>
          ,
          <article-title>A preliminary analysis of vulnerability scores for attacks in wild: The ekits and sym datasets</article-title>
          ,
          <source>in: Proceedings of the 2012 ACM Workshop on Building Analysis Datasets and Gathering Experience Returns for Security</source>
          , BADGERS '12,
          <string-name>
            <surname>Association</surname>
          </string-name>
          for Computing Machinery, New York, NY, USA,
          <year>2012</year>
          , p.
          <fpage>17</fpage>
          -
          <lpage>24</lpage>
          . URL: https://doi.org/10.1145/ 2382416.2382427. doi:
          <volume>10</volume>
          .1145/2382416.2382427.
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>L.</given-names>
            <surname>Allodi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Massacci</surname>
          </string-name>
          ,
          <article-title>Comparing vulnerability severity and exploits using case-control studies</article-title>
          ,
          <source>ACM Trans. Inf. Syst. Secur</source>
          .
          <volume>17</volume>
          (
          <year>2014</year>
          ). URL: https://doi.org/10.1145/2630069. doi:
          <volume>10</volume>
          .1145/2630069.
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>OSVDB</given-names>
            <surname>Shut Down</surname>
          </string-name>
          Permanently - Securityweek.com, 2020-
          <volume>28</volume>
          -
          <fpage>11</fpage>
          . URL: https://www. securityweek.
          <article-title>com/osvdb-shut-down-permanently.</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <given-names>M.</given-names>
            <surname>Bozorgi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L. K.</given-names>
            <surname>Saul</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Savage</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G. M.</given-names>
            <surname>Voelker</surname>
          </string-name>
          ,
          <article-title>Beyond heuristics: Learning to classify vulnerabilities and predict exploits</article-title>
          ,
          <source>in: Proceedings of the 16th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining</source>
          , KDD '10,
          <string-name>
            <surname>Association</surname>
          </string-name>
          for Computing Machinery, New York, NY, USA,
          <year>2010</year>
          , p.
          <fpage>105</fpage>
          -
          <lpage>114</lpage>
          . URL: https: //doi.org/10.1145/1835804.1835821. doi:
          <volume>10</volume>
          .1145/1835804.1835821.
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <given-names>S.</given-names>
            <surname>Mittal</surname>
          </string-name>
          ,
          <string-name>
            <surname>P. K. Das</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          <string-name>
            <surname>Mulwad</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Joshi</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          <string-name>
            <surname>Finin</surname>
          </string-name>
          ,
          <article-title>Cybertwitter: Using twitter to generate alerts for cybersecurity threats and vulnerabilities</article-title>
          ,
          <source>in: 2016 IEEE/ACM International Conference on Advances in Social Networks Analysis and Mining (ASONAM)</source>
          ,
          <year>2016</year>
          , pp.
          <fpage>860</fpage>
          -
          <lpage>867</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <given-names>N.</given-names>
            <surname>Tavabi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Goyal</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Almukaynizi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Shakarian</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Lerman</surname>
          </string-name>
          , Darkembed:
          <article-title>Exploit prediction with neural language models</article-title>
          ,
          <year>2018</year>
          . URL: https://www.aaai.org/ocs/index.php/ AAAI/AAAI18/paper/view/17304.
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [21]
          <string-name>
            <given-names>J.</given-names>
            <surname>Jacobs</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Romanosky</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Edwards</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Roytman</surname>
          </string-name>
          ,
          <string-name>
            <surname>I. Adjerid</surname>
          </string-name>
          ,
          <article-title>Exploit Prediction Scoring System (EPSS)</article-title>
          ,
          <source>in: Black Hat</source>
          <year>2019</year>
          ,
          <year>2019</year>
          . URL: http://i.blackhat.com/USA-19/Thursday/ us-19
          <string-name>
            <surname>-Roytman-</surname>
          </string-name>
          Predictive-
          <article-title>Vulnerability-Scoring-System-wp</article-title>
          .pdf.
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          [22]
          <string-name>
            <surname>David</surname>
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Wheeler - Shellshock</surname>
          </string-name>
          ,
          <year>2020</year>
          -
          <volume>03</volume>
          -
          <fpage>08</fpage>
          . URL: https://dwheeler.com/essays/shellshock. html.
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          [23]
          <string-name>
            <given-names>C.</given-names>
            <surname>Elbaz</surname>
          </string-name>
          , Reacting to “
          <article-title>n-day” vulnerabilities in information systems</article-title>
          , Theses,
          <source>Université Rennes 1</source>
          ,
          <year>2021</year>
          . URL: https://tel.archives-ouvertes.fr/tel-03350455.
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          [24]
          <string-name>
            <given-names>C.</given-names>
            <surname>Elbaz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Rilling</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Morin</surname>
          </string-name>
          ,
          <article-title>Automated keyword extraction from ”one-day” vulnerabilities at disclosure</article-title>
          ,
          <source>in: NOMS 2020 - 2020 IEEE/IFIP Network Operations and Management Symposium</source>
          ,
          <year>2020</year>
          , pp.
          <fpage>1</fpage>
          -
          <lpage>9</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          [25]
          <string-name>
            <given-names>C.</given-names>
            <surname>Elbaz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Rilling</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Morin</surname>
          </string-name>
          ,
          <article-title>Fighting n-day vulnerabilities with automated cvss vector prediction at disclosure</article-title>
          ,
          <source>in: Proceedings of the 15th International Conference on Availability, Reliability and Security</source>
          , ARES '20,
          <string-name>
            <surname>Association</surname>
          </string-name>
          for Computing Machinery, New York, NY, USA,
          <year>2020</year>
          . URL: https://doi.org/10.1145/3407023.3407038. doi:
          <volume>10</volume>
          .1145/3407023.3407038.
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          [26]
          <string-name>
            <given-names>P.</given-names>
            <surname>Kocher</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Horn</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Fogh</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Genkin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Gruss</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W.</given-names>
            <surname>Haas</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Hamburg</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Lipp</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Mangard</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Prescher</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Schwarz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Yarom</surname>
          </string-name>
          ,
          <article-title>Spectre attacks: Exploiting speculative execution</article-title>
          ,
          <source>in: 2019 IEEE Symposium on Security and Privacy (SP)</source>
          ,
          <year>2019</year>
          , pp.
          <fpage>1</fpage>
          -
          <lpage>19</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref27">
        <mixed-citation>
          [27]
          <string-name>
            <given-names>M.</given-names>
            <surname>Lipp</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Schwarz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Gruss</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Prescher</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W.</given-names>
            <surname>Haas</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Mangard</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Kocher</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Genkin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Yarom</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Hamburg</surname>
          </string-name>
          , Meltdown,
          <year>2018</year>
          . arXiv:
          <year>1801</year>
          .01207.
        </mixed-citation>
      </ref>
      <ref id="ref28">
        <mixed-citation>
          [28]
          <string-name>
            <surname>NVD - CPE</surname>
          </string-name>
          ,
          <year>2020</year>
          -
          <volume>08</volume>
          -
          <fpage>04</fpage>
          . URL: https://nvd.nist.gov/products/cpe.
        </mixed-citation>
      </ref>
      <ref id="ref29">
        <mixed-citation>
          <source>[29] The Myth of Software and Hardware Vulnerability Management</source>
          ,
          <fpage>2016</fpage>
          -
          <volume>05</volume>
          -
          <fpage>04</fpage>
          . URL: https: //www.foo.be/
          <year>2016</year>
          /05/The_Myth_of_Vulnerability_Management/.
        </mixed-citation>
      </ref>
      <ref id="ref30">
        <mixed-citation>
          [30]
          <string-name>
            <surname>Debian - Security Information</surname>
          </string-name>
          ,
          <fpage>2020</fpage>
          -
          <volume>12</volume>
          -
          <fpage>11</fpage>
          . URL: https://www.debian.org/security/.
        </mixed-citation>
      </ref>
      <ref id="ref31">
        <mixed-citation>
          <source>[31] The 2019 Oficial Annual Cybersecurity Jobs Report</source>
          ,
          <fpage>2020</fpage>
          -
          <volume>20</volume>
          -
          <fpage>07</fpage>
          . URL: https://www. herjavecgroup.com/2019-cybersecurity
          <article-title>-jobs-report-cybersecurity-ventures/.</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref32">
        <mixed-citation>
          [32]
          <article-title>The Mad Dash to Find a Cybersecurity Force -</article-title>
          The New York Times,
          <fpage>2020</fpage>
          -
          <volume>20</volume>
          -
          <fpage>07</fpage>
          . URL: https: //www.nytimes.com/
          <year>2018</year>
          /11/07/business/the-mad
          <article-title>-dash-to-find-a-cybersecurity-force</article-title>
          . html.
        </mixed-citation>
      </ref>
      <ref id="ref33">
        <mixed-citation>
          [33]
          <string-name>
            <given-names>J.</given-names>
            <surname>Dykstra</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C. L.</given-names>
            <surname>Paul</surname>
          </string-name>
          ,
          <article-title>Cyber operations stress survey (coss): Studying fatigue, frustration, and cognitive workload in cybersecurity operations</article-title>
          ,
          <source>in: 11th USENIX Workshop on Cyber Security Experimentation and Test (CSET 18)</source>
          , USENIX Association, Baltimore,
          <string-name>
            <surname>MD</surname>
          </string-name>
          ,
          <year>2018</year>
          . URL: https://www.usenix.org/conference/cset18/presentation/dykstra.
        </mixed-citation>
      </ref>
      <ref id="ref34">
        <mixed-citation>
          [34]
          <string-name>
            <given-names>S. C.</given-names>
            <surname>Sundaramurthy</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>McHugh</surname>
          </string-name>
          ,
          <string-name>
            <given-names>X. S.</given-names>
            <surname>Ou</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S. R.</given-names>
            <surname>Rajagopalan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Wesch</surname>
          </string-name>
          ,
          <article-title>An anthropological approach to studying csirts</article-title>
          ,
          <source>IEEE Security Privacy</source>
          <volume>12</volume>
          (
          <year>2014</year>
          )
          <fpage>52</fpage>
          -
          <lpage>60</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref35">
        <mixed-citation>
          [35]
          <string-name>
            <given-names>S. C.</given-names>
            <surname>Sundaramurthy</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A. G.</given-names>
            <surname>Bardas</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Case</surname>
          </string-name>
          ,
          <string-name>
            <given-names>X.</given-names>
            <surname>Ou</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Wesch</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>McHugh</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S. R.</given-names>
            <surname>Rajagopalan</surname>
          </string-name>
          ,
          <article-title>A human capital model for mitigating security analyst burnout</article-title>
          ,
          <source>in: Eleventh Symposium On Usable Privacy and Security (SOUPS</source>
          <year>2015</year>
          ), USENIX Association, Ottawa,
          <year>2015</year>
          , pp.
          <fpage>347</fpage>
          -
          <lpage>359</lpage>
          . URL: https://www.usenix.org/conference/soups2015/proceedings/presentation/ sundaramurthy.
        </mixed-citation>
      </ref>
      <ref id="ref36">
        <mixed-citation>
          [36]
          <string-name>
            <given-names>O.</given-names>
            <surname>Ogbanufe</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Spears</surname>
          </string-name>
          , Burnout in cybersecurity professionals,
          <source>WISP 2019 - Workshop in Information Security and Privacy</source>
          , Munich, Germany,
          <year>2019</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref37">
        <mixed-citation>
          [37]
          <string-name>
            <given-names>W.</given-names>
            <surname>Chappelle</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>McDonald</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Christensen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Prince</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Goodman</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W.</given-names>
            <surname>Thompson</surname>
          </string-name>
          , W. Hayes,
          <article-title>Sources of Occupational Stress and Prevalence of Burnout and Clinical Distress Among U.S. Air Force Cyber Warfare Operators</article-title>
          ,
          <source>Technical Report, School of Aerospace Medicine Wright Patterson AFB OH</source>
          ,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref38">
        <mixed-citation>
          [38]
          <string-name>
            <given-names>B.</given-names>
            <surname>Settles</surname>
          </string-name>
          ,
          <article-title>Active learning literature survey</article-title>
          ,
          <source>Technical Report</source>
          , University of WisconsinMadison Department of Computer Sciences,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref39">
        <mixed-citation>
          [39]
          <string-name>
            <given-names>A.</given-names>
            <surname>Beaugnon</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Chiflier</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Bach</surname>
          </string-name>
          ,
          <string-name>
            <surname>Ilab:</surname>
          </string-name>
          <article-title>An interactive labelling strategy for intrusion detection</article-title>
          , in: International Symposium on Research in Attacks, Intrusions, and Defenses, Springer,
          <year>2017</year>
          , pp.
          <fpage>120</fpage>
          -
          <lpage>140</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref40">
        <mixed-citation>
          [40]
          <string-name>
            <given-names>K. S.</given-names>
            <surname>Jones</surname>
          </string-name>
          ,
          <article-title>A statistical interpretation of term specificity and its application in retrieval</article-title>
          ,
          <source>Journal of Documentation</source>
          <volume>28</volume>
          (
          <year>1972</year>
          )
          <fpage>11</fpage>
          -
          <lpage>21</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref41">
        <mixed-citation>
          [41]
          <string-name>
            <surname>Term</surname>
          </string-name>
          Frequency - Inverse Document Frequency statistics,
          <fpage>2020</fpage>
          -
          <volume>12</volume>
          -
          <fpage>11</fpage>
          . URL: https://jmotif. github.io/sax-vsm_site/morea/algorithm/TFIDF.html.
        </mixed-citation>
      </ref>
      <ref id="ref42">
        <mixed-citation>
          [42]
          <string-name>
            <given-names>B.</given-names>
            <surname>Settles</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Craven</surname>
          </string-name>
          ,
          <article-title>An analysis of active learning strategies for sequence labeling tasks</article-title>
          ,
          <source>in: Proceedings of the Conference on Empirical Methods in Natural Language Processing</source>
          , EMNLP '08,
          <string-name>
            <surname>Association</surname>
          </string-name>
          for Computational Linguistics, USA,
          <year>2008</year>
          , p.
          <fpage>1070</fpage>
          -
          <lpage>1079</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref43">
        <mixed-citation>
          [43]
          <string-name>
            <given-names>B.</given-names>
            <surname>Beyer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Jones</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Petof</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N. R.</given-names>
            <surname>Murphy</surname>
          </string-name>
          , Site Reliability Engineering:
          <article-title>How Google Runs Production Systems, ”</article-title>
          <string-name>
            <surname>O'Reilly Media</surname>
          </string-name>
          , Inc.”,
          <year>2016</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>