<!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>
      <issn pub-type="ppub">1613-0073</issn>
    </journal-meta>
    <article-meta>
      <title-group>
        <article-title>Detection in Certificate Transparency Logs</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Richard Ostertág</string-name>
          <email>richard.ostertag@fmph.uniba.sk</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
          <xref ref-type="aff" rid="aff3">3</xref>
          <xref ref-type="aff" rid="aff4">4</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Martin Stanek</string-name>
          <email>martin.stanek@fmph.uniba.sk</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
          <xref ref-type="aff" rid="aff3">3</xref>
          <xref ref-type="aff" rid="aff4">4</xref>
        </contrib>
        <contrib contrib-type="editor">
          <string-name>Drienica, SK</string-name>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Anomaly Detection, Certificate Transparency Logs</institution>
          ,
          <addr-line>Isolation Forest</addr-line>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Department of Computer Science, Faculty of Mathematics</institution>
          ,
          <addr-line>Physics and Informatics</addr-line>
          ,
          <institution>Comenius University</institution>
          ,
          <addr-line>Bratislava</addr-line>
          ,
          <country country="SK">Slovakia</country>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>In the world of ubiquitous Transport Layer Security</institution>
        </aff>
        <aff id="aff3">
          <label>3</label>
          <institution>Workshop Proce dings</institution>
        </aff>
        <aff id="aff4">
          <label>4</label>
          <institution>selves, such as DigiCert</institution>
          ,
          <addr-line>Let's Encrypt, and Sectigo. Since</addr-line>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2024</year>
      </pub-date>
      <abstract>
        <p>We propose an anomaly detection technique for X.509 certificates utilizing Isolation Forest. This method can be beneficial when compliance testing with X.509 linters proves unsatisfactory, and we seek to identify anomalies beyond standards compliance. The technique is validated on a sample of 120,000 certificates from one of the largest public Certificate Transparency (CT) tificates and detect misissued certificates. The details anyone, such as domain owners, to monitor issued cer- naissance regularly employs searches through CT logs to of CT operation, including participants, data structures, ample tools that use this technique, among other methDigital certificates, or public key certificates, issued by trusted certification authorities play an essential role in facilitating trust in security protocols. They bind the identity of a subject to a specific public key. Certificates that are issued mistakenly or with malicious intent pose a significant security threat, with impacts related to identity spoofing.</p>
      </abstract>
      <kwd-group>
        <kwd>cates</kwd>
        <kwd>reflected in their structure or content characteris-</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>the CT log.</p>
      <p>
        The most prominent public CT logs are operated by
Google, Cloudflare, and certification authorities
themall relevant certification authorities support CT, as of May
2024, over 460,000 certificates are published in CT logs
every hour [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ].
      </p>
      <p>
        The HTTP-based API that allows direct access to a
CT log is specified in RFC 9162 [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] (version 2.0) or RFC
nEvelop-O
1https://crt.sh, a direct SQL access to the database is also available
      </p>
      <sec id="sec-1-1">
        <title>2https://ui.ctsearch.entrust.com/ui/ctsearchui</title>
      </sec>
      <sec id="sec-1-2">
        <title>3https://owasp.org/www-project-amass/</title>
        <p>CEUR</p>
        <p>ceur-ws.org</p>
        <p>ITAT’24: Workshop on Applied Security, September 20–24, 2024, tics. Moreover, the model can be trained on certificates
CEUR
htp:/ceur-ws.org
ISN1613-073</p>
        <p>CEUR</p>
        <p>Workshop Proceedings (CEUR-WS.org)</p>
      </sec>
      <sec id="sec-1-3">
        <title>5https://github.com/six2dez/reconftw</title>
        <p>issued for specific domains, and anomalies detected in
newly issued certificates can indicate an internal problem
that needs to be addressed.</p>
        <p>In our paper, we use the term “anomaly” to refer to
certificates that are significantly diferent from those
usually observed. We do not test certificates for compliance
with X.509 standards like linters do6. However, in future
work, it might be interesting to include linter results as
additional attributes for anomaly detection, providing
a more comprehensive analysis of certificate structures
and content.</p>
        <p>
          Our contribution. We evaluate selected statistical
information about certificates in CT logs, focusing on
attributes defined by domain owners, such as Subject
Alternative Name (SAN) in Section 2. We propose a method
for anomaly detection in certificates using Isolation
Forest [
          <xref ref-type="bibr" rid="ref5 ref6">5, 6</xref>
          ], an unsupervised machine learning technique,
in Section 3. We select suitable certificate attributes and
train the model on a sampled set of certificates obtained
from CT logs. The results of our Isolation Forest model
are presented in Section 4.
        </p>
      </sec>
    </sec>
    <sec id="sec-2">
      <title>2. Statistics and attributes selection</title>
      <p>We created a random sample of 120,000 records from
one of the largest public Certificate Transparency (CT) CN=multimedia-academy.tudelft.nl,
logs, Xenon 2024, which is operated by Google. In CT O=Technische Universiteit Delft,
logs, there are two types of records: precertificates and ST=Zuid-Holland,
certificates. Since all the features we want to extract are C=NL
already available in precertificates, we do not
discriminate between these types in our analysis. The presence and number of attributes in a DN can</p>
      <p>
        According to the statistics presented by Cloudflare on vary. For instance, we found that approximately 2.28% of
their Merkle Town webpage [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], the issuance rate of new our sample certificates did not contain a CN attribute. To
certificates across all monitored CT logs is more than 460 extract quantitative features from the subject section of
thousands per hour (as of May 2024). Therefore, the prob- a certificate, we considered the following characteristics
ability of sampling both the corresponding precertificate (see also a boxplot visualization in the Figure 1):
and certificate is negligible. The sample size and variety
of records in our experiment are suficient to efectively
investigate anomalous certificates within CT logs.
      </p>
      <p>Let us discuss what attributes we considered and
selected for feature extraction. We group them in several
categories – subject, subject’s public key, issuer,
signature, validity, and X.509 extensions.</p>
      <p>Subject. A distinguished name (DN) consists of a set
of attributes that identify a subject. In the case of domain
validated certificates, it usually contains just the
common name (CN). For organization validated certificates,
however, it may contain a set of attributes such as:
6It is important to note that X.509 linters check certificates against a
specific set of rules, ensuring they conform to established standards.</p>
      <p>Some well-known tools are ZLint and pkilint.
• The length of a DN – this refers to the number of
characters in the DN string representing a subject.</p>
      <p>
        In our sample, DN lengths range from 0 to 278
characters with an average length of 33.0.
• The number of attributes in a DN – this represents
the inner structure of the DN and indicates how
many relative Distinguished Names (RDNs) are
present. The maximum value in our sample is 12
attributes, while the mean is 1.4 attributes, and
only 14.0% of records have an attribute count that
is not equal to 1.
• The length of a CN – this attribute focuses on
the most important and most frequently present
part of a DN. The maximal allowed length of 64
characters [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] is observed in 1.8% of records.
      </p>
      <p>RSA
ECDSA
24.4%
* exactly one 8192-bit RSA key in the sample
• CA rarity: A float number computed as a fraction
of certificates in the sample with the same issuer
(DN).</p>
      <p>It is assumed that more common certification
authorities have better practices and stricter certification policies
in place, so their certificates are less likely to be
anomalous. Therefore, we will not analyze other aspects of the
issuer further.</p>
      <p>Certainly, there might exist qualitative anomalies in
certificates based on small diferences or variances that
are not captured by quantitative characteristics alone. For
example, some uncommon semantics may be used for
DN attributes. These anomalies will not be detected with
methods trained only on quantitative features. However,
we do not attempt to analyze these anomalies in this
paper as it would require interpreting diferent parts
and attributes of the certificate beyond the scope of our
experiment. This approach, focusing on quantitative
characteristics, is also used for feature extraction in the
rest of this section.</p>
      <p>
        • Number of subdomains in a CN – this represents Signature. We do not extract any features from a
sigthe inner structure of CN. In our sample, the num- nature algorithm used by certification authorities to sign
ber of subdomains ranges from 0 to 15. (pre)certificates. This is entirely at their discretion, and
• Wildcard CN – a boolean value indicating we assume that CA rarity, see above, covers unusual
whether the CN contains a ‘*’ character. Wild- certification authorities suficiently in our experiment.
card CNs are observed in 12.0% of records. However, if someone wants to consider signatures in
anomaly detection, both types (algorithms) as well as
key lengths should be considered. Nice online statistics
covering signature algorithms are presented in [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], with
RSA-SHA256 being used in 90% of (pre)certificates.
      </p>
      <p>Another set of attributes that might be considered in
the future are embedded SCT (Signed Certificate
Timestamps) in certificates. A certification authority can decide
in which CT logs it wants to include a certificate. This
decision is usually uniform across diferent certificates,
taking into account their expiry date. An unusual
combination or SCT count can indicate an anomaly.</p>
      <p>Subject’s public key. A public key is another attribute
that is fully controlled by the subject. The certificate
authority can restrict the types and supported lengths of
public keys for issued certificates, but the value is
ultimately generated by the subject. We extract two features
from the public key: its type and length.</p>
      <p>• Public Key Type: There are only two types of
subject public keys – RSA and Elliptic Curve
Digital Signature Algorithm (ECDSA). Our sample
shows a dominant position of RSA keys (73.5%).</p>
      <p>We do not extract the type of elliptic curve used
in ECDSA keys. A numeric encoding of public
key type is performed as follows: ECDSA ↦ 0,</p>
      <p>RSA ↦ 1.
• Public Key Length: Bit length of the public key,
depending on the modulus length for RSA or
chosen curve for ECDSA. The observed variability of
this attribute is presented in Table 1.</p>
      <p>Issuer. Let’s Encrypt is the most prevalent
certification authority, accounting for over 52% of certificates in
our sample. The total number of distinct certification
authorities, identified by unique DN, is 176. For anomaly
detection, we will use the rarity of CA as a feature:
Validity. Despite the validity period depends on the
CA’s certification policy, our sample demonstrates
significant variability within this attribute, ranging from
one day to approximately 50 months. This feature is
extracted for use in anomaly detection.</p>
      <p>• Validity period: the number of days a certificate
is valid, calculated as the diference between “not
before” and “not after” dates. Approximately 70%
of certificates in our sample are issued for a
validity period of three months, predominantly due to
Let’s Encrypt’s certification policy. Nearly 19.3%
of the certificates have a validity period of
approximately one year.</p>
      <p>
        X.509 extensions. There are various extensions that
can be part of a certificate. Our experiment with anomaly
detection is focused mostly on attributes chosen by the
subject. Therefore, special attention is given to the
features of Subject Alternative Name (SAN) extension.
According to RFC 5280 [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ], the SAN entry can contain DNS
names, IP addresses, internet electronic mail addresses,
Uniform Resource Identifiers (URIs), and other options
exist as well. The sample shows an overwhelming
probability of DNS names, where almost all certificates have
at least one DNS name in the SAN extension. Other
entry types appear in negligible fractions of records: IP
addresses are present in less than 0.03% of records, and
other types are absent altogether. We extract the
following features for anomaly detection:
• The count of SAN entries: Our sample shows
an average number of SAN entries as 2.1, with
a minimum of 1 and a maximum of 238. The
number of certificates with 10 or more SANs is
below 1.5%.
• Average length of SAN entries: The average
length of SAN entries in a certificate ranges from
5 to 239 with an average value of 27.3. Given the
observation of SAN count, the value primarily
depends on certificates with a small number of
SAN entries. The distribution of average SAN
length values along with the distribution of SAN
count values is presented in Figure 2.
• The number of wildcard domain names:
Approximately 65% of the certificates do not contain any
wildcard names in their CN and SAN attributes,
while 31.1% of certificates have just one wildcard
name. Other counts are significantly less
represented (less than 3.9%).
• Average number of subdomains: The average
number of subdomains for CN and SAN attributes
is calculated by counting all substrings separated
by periods (“.”) in a domain name. For example,
“www.uniba.sk” has three subdomains: “www”,
“uniba”, and “sk”. As expected, the average
number of subdomains is generally within the range
of 2 to 4, as shown in Figure 3.
• Validation type: We assign each certificate a
numerical representation of its validation type, with
0 representing missing or unavailable
information, 1 for Domain Validation (DV), 2 for
Organizational Validation (OV), and 3 for Extended
Validation (EV). This representation orders
validation types from the least strict policy to the
most strict validation policy. For comprehensive
global statistics, see Merkle Town’s webpage [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ].
      </p>
      <p>In our sample, we found that 88.3% of certificates
were DV, and 11.7% were OV, while other types
occurred negligibly.</p>
      <p>We decided not to analyze other extensions separately
despite their potential interest, such as Key Usage, CRL,
OCSP, and various constraints. Although problems or
anomalies can be hidden in any of them, we selected a
subset of attributes more related to the subject, because
these attributes can help detect incorrect configurations
when requesting certificates or possible covert
communication. For other anomaly detection applications, it
might be important to include specific X.509 extensions
in the set of selected features. Our experiment focuses
on the following summary characteristics:
• Extensions count: The number of X.509
extensions in a certificate. The dataset shows this
parameter ranging from 5 to 13 with 97.3% of
records having 9 or 10 extensions.
• Extensions size: The length of X.509 extensions
in a certificate excluding SAN, since the related
SAN characteristics – number and average length
– are represented separately. The average size in
our sample is 2306 bytes, while minimum and
maximum sizes are 815 and 3506 bytes,
respectively.</p>
    </sec>
    <sec id="sec-3">
      <title>3. Anomaly detection</title>
      <p>
        Isolation Forest is an unsupervised anomaly detection
technique proposed by Liu, Ting, and Zhou [
        <xref ref-type="bibr" rid="ref5 ref6">5, 6</xref>
        ]. It
builds a collection of binary trees, similar to binary
search trees, by randomly selecting branching features
and thresholds. The anomaly score for a data point is
based on the average depth at which it is isolated across
multiple trees. The main idea behind Isolation Forest is
that, on average, anomalies are isolated in lower depths
than non-anomalous data.
      </p>
      <p>The Isolation Forest algorithm was selected for our
experiment due to its ability to detect anomalies
without relying on complex distance metrics or density
estimation. Furthermore, Isolation Forest performs well in
high-dimensional problems containing a large number
of irrelevant attributes. Additionally, it can efectively
train the model even when the anomalies are not present
in the training sample. The technique also has low time
and memory complexity.</p>
      <p>
        We utilize an implementation of the Isolation Forest
provided in PyOD library [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] for anomaly detection in
multivariate data. We set the following parameters for
this technique:
• Number of estimators (trees): 200
• Number of samples drawn from the data to train
each estimator: 256
• Number of features drawn from the data to train
each estimator: 16 (all available features)
• Sampling from the data is performed without
replacement.
      </p>
      <p>The contamination of the data, i.e. the proportion of
anomalies in the dataset, is irrelevant for the discussion
in Section 4. The reason being that the contamination is
only used to set an anomalous score threshold. Instead,
we examine which data, specifically precertificates and
certificates, have the highest anomalous scores. From
these observations, conclusions can be drawn without
requiring knowledge of the exact contamination value
for our dataset.</p>
    </sec>
    <sec id="sec-4">
      <title>4. Results</title>
      <p>We document the types of precertificates and
certificates that are detected as the most anomalous in our
exploratory experiment. A general observation is that
some cloud services and their internal components are
the most frequent outliers in our dataset.</p>
      <p>Azure infrastructure. The most anomalous
certificates in our experiment are those issued by Microsoft
for the components of Azure infrastructure. The issuing
CAs are:
• Microsoft Azure TLS Issuing CA XX – several
authorities, where XX denotes number 01, 02,
etc.;
• Microsoft Azure RSA TLS Issuing CA XX – again</p>
      <p>several authorities issuing certificates;
• Microsoft RSA TLS CA XX – significantly smaller
number of certificates in comparison to the above
two sets of authorities.</p>
      <p>Table 2 summarizes basic characteristics for each CA. It
shows above-average values, particularly for the first two
CAs. Besides higher than usual number of SAN domain
names, longer domain names and extensions, the other
factors contribute to anomaly of detected certificates as
well. Top anomalous certificates show various
deviations, such as slightly odd validity period, the number
of wildcard domain names, and other attributes,
combined with relative rarity of issuing CA. In this regard,
the anomaly detection works as intended. For example,
the most anomalous certificate in the dataset according
our trained model shows the following characteristics:
• Common Name:</p>
      <p>CN=*.table.preprod.core.windows.net
• Issuer: Microsoft Azure TLS Issuing CA 06
• Validity period: 282
• SAN count: 52, the number of wildcard domain</p>
      <p>names: 52
• The average number of subdomains: 7
• The number of extensions: 12, overall extension</p>
      <p>size: 3206
Microsoft Azure TLS Issuing CA
Microsoft Azure RSA TLS Issuing CA
Microsoft RSA TLS CA</p>
      <p>CN SAN
length count/length
Other CAs and ZeroSSL. After filtering out
certificates issued by the CAs metioned above, we examined
the top 100 anomalous items in greater detail. Among
these, we observed:
the fraction with an empty subject is rather large:
41.3%. Table 3 summarizes some characteristics
of records issued by this CA. It’s an interesting
observation that free certificates issued by Let’s
Encrypt CA do not exhibit such anomalies7.
• Two certificates issued by DigiCert: one for a</p>
      <p>Chinese cloud service provider and one for a le- The problem with unusual length of the CN attribute is
gitimate IT company. not unique to ZeroSSL CA. Similar certificates are issued
• Two certificates issued by Amazon for its AWS by Let’s Encrypt. Again, possible explanation might be
components. an error in certificate management automation. Domain
• All remaining 96 certificates were issued by Ze- owners are probably not aware or simply do not care,
roSSL CA, specifically by ZeroSSL ECC Domain since both CA ofers free certificates. An examples of
Secure Site CA. These have an unusual structure: such CN (certificate issued by Let’s Encrypt) is
empty subject (DN), and questionable SAN
attributes containing a large number of repetitive gitlab.gitlab.gitlab.gitlab.gitlab.git.
subdomains. Two examples are: testing.yikj.work
– www.www.www.www.www.www.pay.</p>
      <p>avito.sber.avito.avito.www.www.
www.www.www.www.www.www.yandex.
avito.yandex.pay.portalswebmail.
blumebwww.od3.10cekub2b.k.
webmail.ultagkhanub2b.k.webmemo.
m.phpmyadmin.wokemtutankhanub2b.</p>
      <p>k.webmail.ultagame.com
– www.www.www.www.www.www.www.www.</p>
      <p>www.www.www.www.www.www.www.www.
www.www.www.www.www.www.www.www.
www.www.www.www.www.www.www.www.
www.www.www.www.www.www.www.www.
www.www.www.www.www.www.www.www.
www.www.calendario.
panel-fiveheberg.fr</p>
      <p>Other observations. Ignoring ZeroSSL-issued
certificates and various additional infrastructure certificates by
Apple, Cisco, Google, and other well-known companies,
we have found several more entries that look interesting.</p>
      <p>
        For example, a certificate issued by Let’s Encrypt CA
with the following set of SANs:
*.ajptzd.com, *.amklvv.com, *.aqcssg.com,
*.ccjytp.com, *.doeigp.com, *.egfnjv.com,
*.eydqoa.com, *.fvrnlf.com, *.guuzxk.com,
*.hgmwfy.com, *.iwhqyn.com, *.kldcuc.com,
*.lfmdnj.com, *.lloond.com, *.naktki.com,
*.nmklqi.com, *.npwpbz.com, *.nxezmi.com,
*.ojdger.com, *.psfqpu.com, *.ptgreh.com,
*.raclbc.com, *.rvaajo.com, *.spikfh.com,
*.swwoyd.com, *.tnuntp.com, *.xfcpkw.com,
*.xnrsre.com, *.xuvvdq.com, *.yyiosx.com
These might indicate an operational problem
with an automation script that issues and re- Most of these domains are unresolvable by public DNS
news certificates and adds www prefix to a domain (NXDOMAIN) as of May 2024. We did not investigate
name. Additionally, in case of the domain panel- this certificate further to determine whether it represents
fiveheberg.fr, combined with a wildcard DNS a legitimate use-case, misconfiguration, business
malrecord that positively responds to any DNS query. practice, or other malicious intent. However, based on
We checked both domains in VirusTotal, and no the experience documented in [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ], these domains may
security vendor flagged them as malicious (as of result from a domain generation algorithm (DGA) [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ],
April 2024).
      </p>
      <p>Not all precertificates and certificates issued by
ZeroSSL ECC Domain Secure Site CA in our 7There are only 7 (pre)certificates with empty subject out of 62,424
dataset have the mentioned structure. However, issued by any Let’s Encrypt CA in our dataset.
set
all (pre)certificates
empty subject
indicating a likely malicious intent8. The other attributes
of such certificates are rather normal, e.g., 90 days
validity, 2048-bit RSA key or nine X.509 extensions, dictated
mostly by the certification policy of Let’s Encrypt CA.</p>
    </sec>
    <sec id="sec-5">
      <title>5. Conclusion</title>
      <p>We proposed an anomaly detection technique for
certificates using Isolation Forest. This approach can be
beneficial when compliance testing with X.509 linters is
unsatisfactory, and we seek anomalies beyond
compliance. We demonstrated the feasibility of this method;
however, further exploration is necessary. Some
potential directions are:
• Training the model on certificates for a specific
domain or domains owned by a single entity,
allowing anomalies to serve as early internal
warnings of potential issues.
• Identifying certificates from large cloud providers
and excluding them from the model and
evaluation. The CT logs contain a vast quantity of these
precertificates and certificates, which can distort
parameters of the model.
• Analyzing the results of identified anomalies in
greater detail, such as those described in the
previous section, to find explanations for the
anomalous certificates.</p>
    </sec>
    <sec id="sec-6">
      <title>Acknowledgments</title>
      <p>This publication is the result of support under the
Operational Program Integrated Infrastructure for the
project: Advancing University Capacity and
Competence in Research, Development a Innovation (ACCORD,
ITMS2014+:313021X329), co-financed by the European
Regional Development Fund.
8A common tactic employed by large threat actors involves creating
a script that randomly generates numerous domain names,
purchasing them, and subsequently switching between domains as needed
once one is blocked or otherwise compromised.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>B.</given-names>
            <surname>Laurie</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Langley</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            <surname>Kasper</surname>
          </string-name>
          , E. Messeri,
          <string-name>
            <given-names>R.</given-names>
            <surname>Stradling</surname>
          </string-name>
          ,
          <source>Certificate Transparency Version 2.0, RFC 9162</source>
          ,
          <year>2021</year>
          . URL: https://www.rfc-editor.
          <source>org/ info/rfc9162. doi:10</source>
          .17487/RFC9162.
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <surname>Cloudflare</surname>
          </string-name>
          , Merkle town,
          <year>2023</year>
          . URL: https:// ct.cloudflare.com/.
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>B.</given-names>
            <surname>Laurie</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Langley</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            <surname>Kasper</surname>
          </string-name>
          , Certificate Transparency, RFC
          <volume>6962</volume>
          ,
          <year>2013</year>
          . URL: https://www.rfceditor.org/info/rfc6962. doi:
          <volume>10</volume>
          .17487/RFC6962.
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>M.</given-names>
            <surname>Jurčák</surname>
          </string-name>
          ,
          <article-title>Using Certificates and CT Logs for communication</article-title>
          ,
          <source>Bachelor's thesis</source>
          , Comenius University,
          <year>2023</year>
          . In Slovak.
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>F. T.</given-names>
            <surname>Liu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K. M.</given-names>
            <surname>Ting</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Z.-H.</given-names>
            <surname>Zhou</surname>
          </string-name>
          ,
          <article-title>Isolation forest</article-title>
          , in: 2008
          <source>Eighth IEEE International Conference on Data Mining</source>
          ,
          <year>2008</year>
          , pp.
          <fpage>413</fpage>
          -
          <lpage>422</lpage>
          . doi:
          <volume>10</volume>
          .1109/ ICDM.
          <year>2008</year>
          .
          <volume>17</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>F. T.</given-names>
            <surname>Liu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K. M.</given-names>
            <surname>Ting</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Z.-H.</given-names>
            <surname>Zhou</surname>
          </string-name>
          ,
          <article-title>Isolation-based anomaly detection</article-title>
          ,
          <source>ACM Trans. Knowl. Discov. Data</source>
          <volume>6</volume>
          (
          <year>2012</year>
          ). doi:
          <volume>10</volume>
          .1145/2133360.2133363.
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>S.</given-names>
            <surname>Boeyen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Santesson</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Polk</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Housley</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Farrell</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Cooper</surname>
          </string-name>
          ,
          <string-name>
            <surname>Internet</surname>
            <given-names>X.</given-names>
          </string-name>
          509
          <string-name>
            <given-names>Public</given-names>
            <surname>Key</surname>
          </string-name>
          <article-title>Infrastructure Certificate and Certificate Revocation List (CRL) Profile</article-title>
          , RFC
          <volume>5280</volume>
          ,
          <year>2008</year>
          . URL: https: //www.rfc-editor.
          <source>org/info/rfc5280. doi:10</source>
          .17487/ RFC5280.
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>Y.</given-names>
            <surname>Zhao</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Z.</given-names>
            <surname>Nasrullah</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Z.</given-names>
            <surname>Li</surname>
          </string-name>
          ,
          <article-title>Pyod: A python toolbox for scalable outlier detection</article-title>
          ,
          <source>Journal of Machine Learning Research</source>
          <volume>20</volume>
          (
          <year>2019</year>
          )
          <fpage>1</fpage>
          -
          <lpage>7</lpage>
          . URL: http://jmlr.org/papers/v20/
          <fpage>19</fpage>
          -
          <lpage>011</lpage>
          .html.
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>J.</given-names>
            <surname>Terrill</surname>
          </string-name>
          ,
          <article-title>Analyzing a Wordpress PHP malware campaign and reverse engineering C2 communications</article-title>
          ,
          <year>2022</year>
          . URL: https://hacked.codes/
          <year>2022</year>
          /december2022-php
          <article-title>-wordpress-malware-analysis/</article-title>
          , [Online; accessed June 2024].
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <surname>Wikipedia</surname>
            <given-names>contributors</given-names>
          </string-name>
          ,
          <source>Domain generation algorithm</source>
          ,
          <year>2023</year>
          . URL: https://en.wikipedia.org/wiki/ Domain_generation_algorithm, [Online; accessed June 2024].
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>