<!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>R. Krivoš-Belluš);</journal-title>
      </journal-title-group>
    </journal-meta>
    <article-meta>
      <title-group>
        <article-title>Domains using Machine Learning</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Vanda Matušíková</string-name>
          <email>vanda.matusikova@student.upjs.sk</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Sophia Petra Krišáková</string-name>
          <email>sophia.petra.krisakova@upjs.sk</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Rastislav Krivoš-Belluš</string-name>
          <email>rastislav.krivos-bellus@upjs.sk</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Eva Marková</string-name>
          <email>eva.markova@upjs.sk</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Institute of Computer Science, Faculty of Science, Pavol Jozef Šafárik University in Košice</institution>
          ,
          <addr-line>Jesenná 5, 040 01 Košice</addr-line>
          ,
          <country country="SK">Slovakia</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2025</year>
      </pub-date>
      <volume>000</volume>
      <fpage>0</fpage>
      <lpage>0002</lpage>
      <abstract>
        <p>The shift of services to cyberspace has created new opportunities for attackers who generate malicious domains that mimic popular websites in order to deceive users and obtain their sensitive information, such as login credentials, personal data, or payment information. Such domains pose a significant risk to cybersecurity and user privacy. This paper aims to design and implement a tool for the fast and eficient identification of new Slovak domains that may represent security threats. For this purpose, we created a custom dataset comprising approximately 900 benign and 900 malicious domains. The benign domains were selected manually based on their established reputation, while the malicious domains were collected from publicly available lists. After extracting 29 relevant domain attributes, we applied three machine learning models: logistic regression, Random Forest, and XGBoost. The highest detection accuracy was achieved by Random Forest (97.5%) and XGBoost (97.4%), confirming the efectiveness of the proposed approach.</p>
      </abstract>
      <kwd-group>
        <kwd>blacklist</kwd>
        <kwd>detection</kwd>
        <kwd>domains</kwd>
        <kwd>machine learning</kwd>
        <kwd>reputation analysis</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>Nowadays, there are a large number of suspicious websites on the Internet, which are perceived as
harmless at first glance by the average user. They look like harmless existing sites, imitating them in
name but also in appearance. Often the aim of these sites is to deceive the user, to infect him, or to
obtain personal data.</p>
      <p>There are now various domain verification tools and approaches that use a combination of blacklists
and services to see if a domain is suspicious. However, there is a problem here if the domain is new
and these services and blacklists have not yet picked up information about it. In that case, it would be
advisable to use a tool that would act proactively and try to analyze the characteristics of the site and
classify it as benign or malignant accordingly.</p>
      <p>To summarize the problems outlined above, we emphasize the following questions that we aim to
answer:
• Which methods are shown to be suitable for identifying malicious domains?
• Which attributes influence the identification of malicious domains?</p>
      <p>To answer these questions, we have focused on the analysis of ‘.sk’ top-level domains that uses
machine learning models trained on our own dataset, which consists only of Slovak domains.</p>
      <p>The aim of the article is to create a dataset with Slovak domains and use existing machine learning
methods. We focus on all domains with the aim that if a new domain is added, our model will be able
to immediately classify it as malignant or benign.</p>
      <p>In section 2, we explored existing approaches to proactive analysis and classification of domains,
focusing on machine learning models and their efectiveness. In section 3, we described methods for</p>
      <p>CEUR
Workshop</p>
      <p>ISSN1613-0073
collecting domain data from open sources, which we utilized in our tool and we detailed the practical
part, including attribute selection, data preparation for model training, data cleaning and preprocessing,
and the training of machine learning models. In the final, section 4, we presented our solution for
automating the analysis of network entities using machine learning and explained the operational
principles of our tool. Additionally, we evaluated the efectiveness of the applied machine learning
models and discussed their performance.</p>
    </sec>
    <sec id="sec-2">
      <title>2. Related works</title>
      <p>In the field of classifying domains as malicious or benign, various methods have been developed to
tackle this issue. Malicious domains may include those hosting phishing sites, fraudulent shops, or other
platforms used for harmful activities. Most research in this area follows a similar approach, primarily
focusing on expanding the range of features monitored to identify a domain’s maliciousness. The key
distinction between these methods typically lies in the choice of machine learning techniques, which
are selected based on the specific requirements of each study.</p>
      <sec id="sec-2-1">
        <title>2.1. Blacklist</title>
        <p>
          Domain blacklists were among the earliest methods to counter malicious domains, particularly phishing
ones, by warning users against visiting dangerous sites. These lists store known malicious domains
to inform users to avoid them [
          <xref ref-type="bibr" rid="ref1 ref2">1, 2</xref>
          ]. However, this approach has limitations: it may fail to evaluate
new or previously unassessed domains, or it may misjudge a domain’s reputation [
          <xref ref-type="bibr" rid="ref2 ref3">2, 3</xref>
          ]. Additionally,
blacklists require frequent updates to remain efective, adding newly identified malicious domains while
removing those no longer posing a threat [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ].
        </p>
        <p>
          Fukushima et al. [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ] introduced a proactive blacklist enhanced by monitoring attributes commonly
exploited by attackers, such as the autonomous system number, IP address block, IP address, domain
name, and domain registrar. By analyzing these patterns, they determined whether a domain was
malicious.
        </p>
      </sec>
      <sec id="sec-2-2">
        <title>2.2. Machine learning</title>
        <p>
          Machine learning, a subset of artificial intelligence, involves algorithms that enable computers to
predict outcomes by identifying patterns in input data [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ] . The process begins with learning from
a training set, followed by generalization to address real-world problems. Machine learning can be
applied in several ways: classification, where a model categorizes inputs into classes (e.g., identifying
spam emails); regression, which predicts continuous values (e.g., estimating damage from a security
incident); clustering; and reinforcement learning, which involves learning through feedback [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ].
        </p>
        <p>
          Machine learning is divided into supervised and unsupervised learning. Supervised learning, similar
to learning with a teacher, uses labeled training data, assigning each example to a class in classification or
an output value in regression. Unsupervised learning, or learning without a teacher, relies on unlabeled
data, requiring the model to independently identify similarities among examples [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ].
        </p>
        <sec id="sec-2-2-1">
          <title>2.2.1. Logistic regression</title>
          <p>
            Logistic regression, a generalized linear model derived from linear regression, is designed to predict
categorical data, particularly binary outcomes, rather than continuous values [
            <xref ref-type="bibr" rid="ref7">7</xref>
            ]. Palaniappan et al. [
            <xref ref-type="bibr" rid="ref8">8</xref>
            ]
applied logistic regression to a dataset of 20,000 records to classify domains as benign or malicious.
They analyzed DNS-based attributes, such as ASN, IP address, PTR record, domain owner, and registrar,
alongside web-related attributes like user time spent on a website, number of websites, and geolocation.
Lexical attributes included counts of periods, underscores, commas, numerals, and a list of suspicious
words. Their model achieved a classification accuracy of 60%.
          </p>
        </sec>
        <sec id="sec-2-2-2">
          <title>2.2.2. Decision tree</title>
          <p>
            Decision tree, a type of supervised learning algorithm, operates using decision nodes that evaluate
specific data attributes. Based on these evaluations, the algorithm navigates through subsequent nodes
until reaching leaf nodes, which represent the predicted value or class for the input data [
            <xref ref-type="bibr" rid="ref9">9</xref>
            ].
2.2.3. J48
J48, Java implementation of the C4.5 algorithm [
            <xref ref-type="bibr" rid="ref10">10</xref>
            ] in data mining tool WEKA, generates a classification
decision tree by recursively splitting a dataset into smaller subsets using a depth-first approach. It
selects attributes to serve as decision nodes based on their ability to efectively divide the data [
            <xref ref-type="bibr" rid="ref11">11</xref>
            ].
          </p>
          <p>
            Bilge et al. [
            <xref ref-type="bibr" rid="ref12">12</xref>
            ] utilized passive DNS analysis to identify domains involved in malicious activities. They
monitored characteristics of malicious domains over several months, extracting temporal properties,
DNS response-oriented properties, TTL properties, and lexical domain name properties. Their dataset
comprised 100 billion DNS queries, and they tested their approach at ISPs using 15 features with a J48
decision tree as the classifier.
          </p>
          <p>
            Messabi et al. [
            <xref ref-type="bibr" rid="ref13">13</xref>
            ] enhanced domain classification by introducing new features after reviewing existing
approaches. They identified the average number of characters in legitimate domains as approximately
12–13, noting that malicious domains often had more dots, hyphens, and digits. They also analyzed the
frequency of individual characters and highlighted frequently abused top-level domains (TLDs) such
as .zip, .us, .top, .men, and .ru. Additionally, they examined specific words, termed ”tokens,” including
”direct,” ”redirect,” ”transfer,” and obscene words prevalent in malicious domains. After evaluating
multiple classifiers, they selected the J48 decision tree for classification.
2.2.4. XGBoost
XGBoost, developed by Chen and Guestrin in 2016, is a gradient boosting algorithm applied to
treebased models, known as a Gradient Boosting Machine. It excels in classification and regression tasks,
eficiently handling large datasets and missing data [
            <xref ref-type="bibr" rid="ref14">14</xref>
            ].
          </p>
          <p>
            Horak [
            <xref ref-type="bibr" rid="ref15">15</xref>
            ] integrated external data sources, including WHOIS, RDAP, TLS, geolocation, and IP
address reputation, using XGBoost and SHAP [
            <xref ref-type="bibr" rid="ref16">16</xref>
            ] to classify domains and assess feature importance.
To evaluate the classifier on an unbalanced dataset with many benign domains, he employed k-fold
cross-validation, aiming to maximize the F1 score. K-fold cross-validation and the F1 score are discussed
in detail later in 3.7 and 4.3.
2.2.5. Others
Hamadouche et al. [
            <xref ref-type="bibr" rid="ref17">17</xref>
            ] employed four supervised learning algorithms for domain classification: Support
Vector Machine (SVM), Random Forest, Decision Tree, and XGBoost. SVM, suitable for classification
and regression, identifies a hyperplane to separate data into classes using support vectors as decision
functions [
            <xref ref-type="bibr" rid="ref18 ref19">18, 19</xref>
            ]. Random Forest, a classifier, aggregates multiple decision trees, determining the class
through majority voting [
            <xref ref-type="bibr" rid="ref19">19</xref>
            ]. They analyzed 39 attributes, including lexical, content, and network
features. Notably, content attributes included indicators like keyloggers, location tracking, microphone
and camera access, blank pages, and pop-ups. Their comparison revealed that XGBoost achieved the
highest performance and accuracy.
          </p>
          <p>
            Ma et al. [
            <xref ref-type="bibr" rid="ref20">20</xref>
            ] developed an application to classify domains by analyzing lexical and network attributes.
Lexical attributes included the hostname, main domain, tokens in URL components (e.g., ”.com”),
the segment after the last slash, and the Top-Level Domain (TLD). Network attributes encompassed
WHOIS data (registration date, registrar, domain holder), location details (IP address prefix, AS number,
registrar location), connection speed, blacklist presence, TTL, and similarity to spam-related domains.
Article’s authors utilized online learning algorithms, which update with each new example, unlike
batch algorithms that learn periodically from data batches. The Confidence-Weighted (CW) algorithm,
a recently developed method, yielded the best results.
          </p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>3. Methodology</title>
      <p>In addition to exploring existing approaches, our research includes designing our own tool for classifying
malicious or suspicious domains and evaluating it. In our approach, we have used machine learning
because it seems to be a suitable, powerful and eficient approach to solve the problem of this paper. In
the following subsections, we discuss the process of attribute selection, data collection, processing and
editing, and describe the selected machine learning models, their hyperparameter settings and training.</p>
      <sec id="sec-3-1">
        <title>3.1. Dataset</title>
        <p>
          For the selection of attributes, we were inspired by existing approaches, which we described in Chapter
2. We mainly used existing attributes collected by Marques et al [
          <xref ref-type="bibr" rid="ref21">21</xref>
          ]. But after a closer analysis, some
seemed redundant or we found that it would be useful to add others. For example, TLD tracking was
found to be redundant for our work, as we only deal with Slovak domains in our work. Another was
DomainInAlexaDB, as this list of the most visited domains is no longer updated, and moreover it is a
list that observes TLD domains of all types, so domains in our dataset would rarely appear there.
Some WHOIS-related attributes were also problematic. The attribute in the aforementioned work
RegisteredCountryCode was also dificult to obtain at times, most of the time this data was obscured
due to GDPR, so we decided to omit it. Similarly, the attribute we wanted to add in our own interest,
the domain owner data, was also hidden in most cases, and since it would be problematic to insert an
attribute into the dataset whose values would be mostly empty, we decided to omit it. We also discarded
the number of subdomains because, after manually analyzing the domains, it seemed that this attribute
would not have a specific impact on the result, as similar counts occurred for both benign and malicious
domains.
3.1.1. WHOIS
WHOIS data includes contact information for the domain owner, administrator, and technical contacts,
such as names, addresses, or organization names. Initially, we aimed to analyze the following attributes:
registrar name, domain name or owner name, country code, creation date, and last update date, labeled
in the dataset as Registrar, Registrant, CountryCode, CreationDate, and LastUpdate, respectively. Over
time, we excluded the Registrant attribute due to its frequent concealment in malicious domains.
Similarly, the CountryCode attribute was largely empty and thus also dropped.
        </p>
        <p>The retained WHOIS data attributes were Registrar, CreationDate, and LastUpdate, with Registrar
indicating the domain lessor. For benign domains, common lessors included Websupport s.r.o.,
Webglobe, a.s., WebHouse, s.r.o., WEBY GROUP, s.r.o., and INTERNET CZ, a.s. Notably, WebHouse, s.r.o.
and Webglobe, a.s. are accredited registrars under SK-NIC, a.s., the registry administrator for the
‘.sk’ top-level domain and ‘org.sk’ second-level domain, with accreditation ensuring service quality
verification [ 22]. Among malicious domains, Gransy s.r.o. was the most prevalent registrar, favored by
attackers for its low-cost hosting for certain TLDs and WHOIS data obfuscation, which complies with
GDPR but is often indicative of malicious domains. Using ViewDNS.info’s Reverse IP Lookup tool [70],
we determined that IP addresses linked to Gransy Ltd. were almost always associated with phishing or
other malicious sites.</p>
        <p>For the CreationDate and LastUpdate attributes, we focused on the domain’s age and its most recent
update. We modified these attributes based on the original dataset as follows: domains younger than
one month or last updated less than one month ago were assigned a value of 1; those less than six
months old or updated less than six months ago were given a value of 2; those less than one year old or
updated less than one year ago were tagged with a value of 3; and those older than one year or updated
more than one year ago were assigned a value of 4. If no data was available for either attribute, we
assigned a value of 0.</p>
        <p>In Figure 1 we see the 5 most used registrars associated with benign domains. As we mentioned
earlier, the most used among them is Websupport s.r.o. In Figure 2, on the other hand, the 5 most used
registrars associated with malicious domains are shown. Gransy s.r.o. used more than 400 malicious
domains contained in our dataset.</p>
        <p>Domain Name System (DNS) and its records provide insight into domain classification. We retained
attributes related to MX, SPF, DKIM, and DMARC records from the dataset, tracking their presence as
binary attributes. A domain with an MX record was assigned a value of 1, while those without received
a 0. Similarly, we tracked SPF, DKIM, and DMARC records, which indicate domain legitimacy and
security. Although these records are often automatically added by service providers, most malicious
domains in our dataset lacked them.</p>
        <sec id="sec-3-1-1">
          <title>3.1.3. Header information</title>
          <p>From query headers for a given domain, we can extract details such as the server type processing the
request and generating the response, the page’s Content Type, and the charset (character set) used.
Additionally, the query response code—such as 200 OK or codes starting with 3 (redirects), 4, or 5
(errors)—provides further insight. Our analysis focused primarily on the page response to identify
redirects, which could suggest fraudulent activity, and the server type, as outdated servers may indicate
vulnerabilities. Initially, we examined Content-Type and charset, but these were consistent across
domains and thus deemed negligible.</p>
          <p>We aimed to detect malicious domains via 3xx redirect responses, but our current dataset lacks such
cases. However, we note that the 4xx and 5xx response codes, often associated with malicious domains,
indicate server issues, either temporary or permanent, suggesting poor server configuration [ 23] or a
domain that no longer exists.</p>
          <p>NETIM</p>
          <p>WebHouse, s.r.o. Key-Systems GmbH</p>
          <p>ACTIVE 24, s.r.o.
Numerous studies have tracked attributes like domain length and specific keywords to assess domain
maliciousness. We observed that malicious domains typically have longer names. Furthermore, certain
words such as ’obchod’, ’vypredaj’, ’slovakia’, ’slovensko’, ’topanky’ and similar terms were prevalent
in malicious domains. These were often used to mimic the Slovak versions of popular fashion brand
websites or to entice users with discounted merchandise ofers.</p>
          <p>We analyzed the ratios of vowels, consonants, digits, and hyphens to the total number of characters
in domain names. In our dataset, domains with a high number of digits were predominantly malicious,
with the exception of the benign domain ‘101drogeria.sk’. Hyphens were also more common in malicious
domains, particularly those that mimicked well-known brands, such as ‘slovak-converse.sk’. Although
hyphens alone are not a definitive indicator of maliciousness, their presence, combined with the length
of the above average domain name, often suggests a malicious domain. Furthermore, we observed
the’sk’ substring at the end of domain names as a notable attribute in fraudulent domains. For example,
the malicious domain ’intimissimislovensko-sk.sk’ leveraged these characteristics: long length, hyphens
and specific substrings to masquerade as the benign domain ‘intimissimi.com’.</p>
          <p>We also examined lexical features such as the longest sequences of vowels, consonants, numerals,
and hyphens in domain names. In Slovak domains, long sequences are uncommon, as consonants
typically alternate with vowels. However, fraudulent domains aiming to appear as foreign websites
often exhibited longer consonant sequences.</p>
          <p>Additionally, we considered Levenshtein distance, which measures the similarity between two strings
by calculating the minimum number of character additions, deletions, or substitutions needed to
transform one into the other [24]. This metric is particularly useful for detecting typosquatting, as
discussed in Section 2.2. A smaller Levenshtein distance indicates greater similarity to a legitimate
domain. For example, the malicious domain ‘decathlo.sk’ has a Levenshtein distance of 1 from the
benign domain ‘decathlon.sk’, as only one character addition is needed to convert the malicious domain
into the benign one.</p>
          <p>Levenshtein distance between two strings  and  of lengths  and  is defined as the minimum
number of operations (insertion, deletion, or substitution of a character) required to transform string
 into string  . The algorithm uses dynamic programming and constructs a matrix  of dimensions
( + 1) × ( + 1) .</p>
          <p>1. Initialization: Create a matrix  with dimensions ( + 1) × ( + 1) . Initialize the first row and
column:
(, 0) = 
for  = 0, … , , (0, ) = 
for  = 0, … , .
(, ) =</p>
          <p>⎧( − 1, ) + 1
min (,  − 1) + 1
⎨
⎩( − 1,  − 1) +  (
(deletion),
(insertion),
−1 ,  −1 ) (substitution),
where  ( −1 ,  −1 ) = 0 if  −1 =  −1 , otherwise  ( −1 ,  −1 ) = 1.</p>
          <p>3. Result: The Levenshtein distance is the value (, ) .</p>
          <p>We used this metric and inserted it into the dataset as a lexical attribute, observing whether it had an
impact on the results of the methods used.</p>
          <p>Detecting Unicode characters in domain names appeared promising for identifying malicious domains,
particularly for typosquatting detection, but our current dataset lacks domains with Unicode characters
among the malicious ones identified. Despite this, we consider Unicode detection important, as it can
reveal attempts to create visually similar domain names, akin to typosquatting. For instance, attackers
may use Cyrillic characters that resemble Latin ones—e.g., the Latin ’O’ (U+004F) versus the Cyrillic ’О’
(U+043E)—to craft deceptive domains [ 25].</p>
          <p>Additionally, we examined Shannon entropy as a lexical attribute to measure the randomness of
characters in a domain name [26]. This metric is particularly useful for detecting domains generated
by Domain Generation Algorithms (DGAs) which often produce highly random strings indicative of
malicious activity.</p>
        </sec>
        <sec id="sec-3-1-2">
          <title>3.1.5. Attributes related to certificates</title>
          <p>We tracked the provider or Certificate Authority (CA) issuing SSL certificates for domains, along with the
Time To Live (TTL) of these certificates, indicating their remaining validity period. This is particularly
relevant for newly created domains, as malicious ones often have short TTLs.</p>
          <p>The most prevalent CA was Let’s Encrypt [27], ofering free TLS/SSL certificates. While HTTPS
encryption secures data transmission, it can create a false sense of trust for users, as malicious domains
exploit the browser’s lock symbol, which does not guarantee a site’s trustworthiness. Another notable
provider was Google Trust Services [28], also issuing free certificates.</p>
        </sec>
        <sec id="sec-3-1-3">
          <title>3.1.6. Geolocation attributes</title>
          <p>The attribute concerning the server location, specifically the country hosting the domain, revealed
distinct patterns in our dataset. Benign domains were frequently hosted in Slovakia or the Czech
Republic, though some, like ‘kaufland.sk’, associated with foreign trade, originated elsewhere. In
contrast, malicious domains were commonly hosted in Canada or other locations, such as the USA.</p>
        </sec>
      </sec>
      <sec id="sec-3-2">
        <title>3.2. Dataset</title>
        <p>We selected 29 relevant attributes, description in table 5 (appendix A).</p>
      </sec>
      <sec id="sec-3-3">
        <title>3.3. Creating a list of monitored domains</title>
        <p>To create the dataset, we first needed to collect samples to extract attributes for populating it.
SKNIC, a.s. [22], the administrator of Slovak domains, provides a comprehensive list of all ‘.sk’ top-level
domains, giving us access to all Slovak domains for inclusion. The challenge was distinguishing between
malicious and benign domains.</p>
        <p>We began by compiling a list of benign domains, manually selecting those we confirmed were
nonmalicious. These included domains associated with reputable brands, ofices, stores, driving schools,
hotels, and similar entities.</p>
        <p>To identify malicious domains, we initially compiled a list using domains published by the Slovak
Trade Inspection on its website [29]. Additionally, we sourced approximately 1,200 malicious domains
identified by characteristics such as terms in their names, including ‘slovakia’, ‘slovensko’, ‘bratislava’,
‘outlet’, ‘bunda’, ‘obuv’, ‘topánky’, ‘kabelka’, ‘tenisky’, ‘akcia’, ‘eshop’, ‘ruksak’, or ‘výpredaj’. Other
observed attributes included grammatical errors and typosquatting [30].</p>
        <p>Beyond categorizing domains as legitimate or malicious, we created a separate list for the Levenshtein
distance attribute, incorporating global domains like ‘paypal.com’. This list helps detect typosquatting
attempts where attackers create illegitimate Slovak domains with names mimicking legitimate ones.</p>
      </sec>
      <sec id="sec-3-4">
        <title>3.4. Data collection</title>
        <p>To develop the tool, we created data collection scripts to gather attributes for training machine learning
models. These scripts were implemented in Python, with separate scripts for each attribute category:
WHOIS, DNS, lexical properties, headers, and location. For example, we utilized the ‘requests‘
library [31] to send HTTP/1.1 requests and combined it with the IP-API service to retrieve the server
location hosting the domain.</p>
        <p>We consolidated the individual scripts into a single master script that sequentially executed each
attribute collection function on the domain list we compiled. By importing these functions into the
master script and processing the list, we used the ‘pandas‘ library [32] to generate a CSV file containing
the collected data.</p>
        <p>The dataset contains 1799 rows and 30 attributes described in Table 5. In our dataset, each entry
represents a domain. Each of them is also assigned a class, the attribute Class, which characterizes the
domain as either benign (0) or malignant (1). There are 1156 benign domains and 643 malignant ones.</p>
      </sec>
      <sec id="sec-3-5">
        <title>3.5. Selection of machine learning methods</title>
        <p>Building on prior work, we selected three machine learning models known for high success in domain
classification: Logistic Regression, Random Forest, and XGBoost, as detailed in 2.2. We chose multiple
algorithms to evaluate their performance on our dataset and to address the limitations of our smaller
dataset, which could afect a single model’s ability to accurately classify domains. Our approach involved
training each model on the training set and testing it on the test set. For new input domains, each model
provides a classification, and the final label is determined by majority voting—e.g., if two of the three
models classify a domain as malicious, it is labeled as such. This ensemble method enhances confidence
in the classification compared to relying on a single model.</p>
      </sec>
      <sec id="sec-3-6">
        <title>3.6. Data preprocessing</title>
        <p>The preprocessing phase was crucial for preparing the data for machine learning models. We cleaned
the data by removing or handling empty values, transformed categorical attributes using appropriate
encoding, and scaled the data for the Logistic Regression model. Specifically, we removed rows with
empty values, as Logistic Regression and Random Forest models cannot process them.
where:
where:
data.
where:</p>
        <sec id="sec-3-6-1">
          <title>3.6.1. Target Encoding</title>
          <p>Encoding transforms categorical attributes into numerical ones, as most machine learning models
perform better with numerical data or cannot process categorical attributes at all. Given the high
cardinality of our categorical attributes (many unique values), we applied Target Encoding. This method
replaces each category with the average of the target variable—Class in our case—across all samples in
that category [33].</p>
          <p>The formula for Target Encoding can be expressed as:</p>
          <p>TE() =
∑= 1</p>
          <p>• TE() represents the Target Encoding for category  ,
•   is the value of the target class for the  -th sample in category  ,
•   is the total number of samples in category  .</p>
          <p>During Target Encoding, we encountered an issue due to our small dataset, where certain categories
had limited samples, making their relationship with the target class less reliable. This could lead the
model to incorrectly assume that all domains associated with a specific category, such as location, are
malicious, introducing bias. To address this, we applied a smoothing parameter, ‘smooth’, which adjusts
the Target Encoding values by incorporating the global target average.</p>
          <p>The formula for smoothed Target Encoding is:</p>
          <p>TEsmoothed() =
  ⋅ TE() +  ⋅  ̄ global
  + 
• TEsmoothed() is the smoothed Target Encoding for category  ,
•   is the number of samples in category  ,
• TE() is the unsmoothed Target Encoding value for category  ,
•  is the smoothing factor,
•  ḡlobal is the global average of the target attribute (Class) across the entire dataset.</p>
        </sec>
        <sec id="sec-3-6-2">
          <title>3.6.2. Standardisation</title>
          <p>For many models, such as Logistic Regression or Support Vector Machines (SVM), dataset standardization
is essential, as these models perform better when sample values are centered around zero. Without
standardization, models may face convergence issues, meaning they cannot properly learn from the
The standard score, or z-score, is calculated for each sample using the formula:
 =
 −</p>
          <p>•  is the sample value,
•  is the mean of the training samples,
•  is the standard deviation of the training samples.</p>
          <p>We compute the mean and standard deviation separately for each attribute (column) and apply these
values to the samples in that attribute. To standardize our dataset, we used the StandardScaler [34]
from the scikit-learn library.</p>
        </sec>
      </sec>
      <sec id="sec-3-7">
        <title>3.7. Hyperparameter tuning</title>
        <p>Hyperparameters are model settings defined by the programmer, and optimizing them can enhance
model accuracy. Tools like GridSearchCV [35] and RandomizedSearchCV [36] from scikit-learn automate
the process of finding the optimal hyperparameter combination. We provide a set of hyperparameters
in the input grid, and the algorithm tests various combinations to identify the best-performing one.
GridSearchCV evaluates all possible combinations, while RandomizedSearchCV tests a user-specified
number of random combinations, selecting the one with the highest accuracy. The latter is faster and
more eficient for large sets of combinations, as it reduces computational demands.</p>
        <p>To optimize hyperparameter selection, we employed 10-fold cross-validation, where the dataset is
divided into ten equal subsets. The model is trained on nine subsets and tested on the remaining one,
generating a validation score for each subset. The overall validation score is computed as the average
of these scores. The hyperparameters yielding the highest average validation score are selected as the
optimal configuration.</p>
        <p>To evaluate model performance, we used cross-validation with ten subsets for each hyperparameter
combination. The score for a given combination is the average of the validation scores across these
subsets. Multiple hyperparameter combinations were tested, and the one yielding the highest score
was selected as the final configuration.</p>
        <p>For Logistic Regression, the optimal hyperparameters identified by GridSearchCV were:
• Penalty: l1 – regularization method to mitigate overfitting.
• Solver: liblinear – algorithm used for optimization in logistic regression.</p>
        <p>• C: 1.0 – inverse of regularization strength.</p>
        <p>For the Random Forest model, the optimal hyperparameters determined by RandomizedSearchCV
were:
• n_estimators: 300 – number of trees in the forest.
• max_depth: None – no limit on the depth of trees.
• max_features: log2 – maximum number of features considered for node splitting.
• min_samples_leaf: 1 – minimum number of samples in a leaf node.
• min_samples_split: 2 – minimum number of samples required to split a node.
• bootstrap: False – data points are sampled without replacement.</p>
        <p>We utilized RandomizedSearchCV to optimize the hyperparameters for the XGBoost model, resulting
in the following configuration:
• n_estimators: 350 – number of trees in the model.
• max_depth: 100 – maximum depth of each tree.
• subsample: 0.9 – proportion of data used for training each tree under Boosting.
• colsample_bytree: 0.3 – proportion of features selected for each tree.
• gamma: 0.3 – minimum loss reduction required to split a node.
• min_child_weight: 1 – minimum number of data points in a child node.
• reg_alpha: 0 – L1 regularization to reduce overfitting.</p>
        <p>• reg_lambda: 1 – L2 regularization to reduce overfitting.</p>
      </sec>
      <sec id="sec-3-8">
        <title>3.8. Training and testing models</title>
        <p>After data cleaning, preprocessing, and hyperparameter tuning, we proceeded with training and testing
the models. The dataset was split into training and test sets using the ‘train_test_split‘ function [37],
allocating 60% for training and 40% for testing. Initially, an 80%/20% split was used, but we adjusted to
a 60%/40% split to assess model performance with a larger test set. The scikit-learn library was used to
implement and train the models, except for XGBoost, which utilized the xgboost library [38]. Three
models—Logistic Regression, Random Forest, and XGBoost—were defined, trained, and tested. Their
performance evaluation is discussed in the following chapter.</p>
      </sec>
      <sec id="sec-3-9">
        <title>3.9. Creating a Domain Analysis Tool</title>
        <p>Before building the tool, functional models were critical, as they underpinned much of its functionality.
We exported the trained models to separate files using the joblib library [ 39] for integration into the
tool. Additionally, we processed data for scaling and Target Encoding to ensure input data matched the
format required by the models.</p>
        <p>The tool was developed using the argparse library [40], enabling user interaction via the command
line. Upon launching, users input the domain name to be classified. Relevant features, consistent with
those in the training dataset, are extracted from the domain using the same feature extraction process.
Categorical attributes undergo Target Encoding, and data for logistic regression is scaled using saved
scaling files. The processed data is then fed into the models, which classify the input domain.</p>
        <p>We utilized the SHAP tool to assess the importance of attributes in our dataset and to identify which
attributes influenced the classification of specific samples. This approach helps pinpoint the sources of
errors, such as false positives or false negatives, by highlighting the contributing attributes.</p>
        <p>When a user inputs a domain name, relevant features are extracted to serve as input for the machine
learning models. The domain is then classified by three models—Logistic Regression, Random Forest,
and XGBoost—each providing its prediction on the domain’s class. A majority voting mechanism
determines the final class, requiring at least two models to agree. The classification result is displayed
to the user in the console, along with the key attributes influencing the decision, as determined by the
SHAP method.</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>4. Results and discussion</title>
      <sec id="sec-4-1">
        <title>4.1. Oversampling and undersampling</title>
        <p>These techniques address the issue of imbalanced datasets, where one class has significantly more
samples than another. Oversampling increases the number of samples in the minority class, while
undersampling reduces the number of samples in the majority class.</p>
        <p>Lemaître et al. [41] developed the imbalanced-learn [42] library to tackle the common problem of
imbalanced datasets. This solution enhances model learning by balancing class sample counts, enabling
models to better identify patterns for training. As the library is compatible with our chosen
scikitlearn library, we opted to use it to increase the number of samples in the malicious domain class. After
applying oversampling, we observed a slight improvement in model accuracy.</p>
        <p>
          We documented the accuracy comparison in Table 1:
SHAP (SHapley Additive exPlanations) [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ] identifies the attributes most influential in classification
outcomes by calculating Shapley values, which quantify each attribute’s average contribution to the
result across all possible combinations of other attributes. It evaluates how the inclusion of a specific
attribute afects the outcome by analyzing its impact within various attribute combinations. The SHAP
value for an attribute is derived by averaging these contributions. We used this method to assess the
importance of selected attributes in our dataset and integrated it into our attribute evaluation tool to
provide insights into the classification of specific domains.
        </p>
        <p>The results can be interpreted as follows: positive Shapley values indicate that the attribute influenced
the model to classify the domain as Class 0 (benign), while negative values suggest a tendency toward
Class 1 (malicious).</p>
        <p>For the Random Forest model, only two attributes are reported. This is because SHAP is less
compatible with Random Forest when analyzing a single sample (local interpretation) as opposed to the
entire dataset (global interpretation), which can lead to inaccuracies. An alternative approach would be
to use the feature_importance_ method [43], which, unlike SHAP, does not indicate the direction of
influence toward a specific class but only quantifies the attribute’s overall role in classification.</p>
      </sec>
      <sec id="sec-4-2">
        <title>4.3. Evaluation of machine learning models</title>
        <p>After training the models on our preprocessed dataset, we evaluated their performance using 10-fold
cross-validation, which provides the average accuracy of each model. The results are shown in Table 3:</p>
        <p>From these results, we can conclude that the Random Forest (RF) and XGBoost (XGB) models
performed best. If we were to redesign the tool to use only one model, we would likely choose either
Random Forest or XGBoost.</p>
        <p>In Table 4, we evaluated the models using various metrics during a single measurement. The results
show that Random Forest (RF) and XGBoost (XGB) again outperformed, though Logistic Regression
(LR) also achieved respectable results. The main issue with Logistic Regression is a slightly higher
number of false negatives (FN) compared to false positives (FP). For our purposes, it is preferable for
a model to erroneously classify a domain as malicious (FP), as such cases can be manually verified.
However, if a malicious domain is mistakenly classified as benign (FN), it may not undergo further
scrutiny, potentially remaining publicly accessible and posing an ongoing threat.</p>
        <p>
          To evaluate the performance of a classification model several metrics are used [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ], e.g. Precision,
recall (sensitivity) and the F1-score (particularly in scenarios where the classes are imbalanced).
        </p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>5. Conclusions</title>
      <p>We applied the trained models within our CLI tool, where the user writes the name of the domain they
want to analyze. The result is a classification of the domain by all three models and their voting for the
domain class. In addition to the class, the tool also returns the attributes according to which it classified
the domain.</p>
      <p>The dataset could be enlarged by analyzing new domains, which could also be used in other works. In
the future, we could also supplement the analysis with other attributes and classification into multiple
classes, e.g. phishing, malware, C&amp;C and others. Another functionality that could be beneficial for the
tool in the future could be the analysis of page content using Natural Language Processing.</p>
    </sec>
    <sec id="sec-6">
      <title>6. Acknowledgments</title>
      <p>This paper was supported by the Slovak Research and Development Agency under contract No.
APVV23-0137 .</p>
    </sec>
    <sec id="sec-7">
      <title>Declaration on Generative AI</title>
      <p>The authors have not employed any Generative AI tools.
Brief 38 (2021) 107342. URL: https://www.sciencedirect.com/science/article/pii/S2352340921006260.
doi:https://doi.org/10.1016/j.dib.2021.107342.
[22] SK-NIC, Spoločnosť sk-nic, 2025. URL: https://sk-nic.sk/, accessed: 2025-04-19.
[23] A. Lavrenovs, F. J. R. Melón, Http security headers analysis of top one million websites, in: 2018
10th International Conference on Cyber Conflict (CyCon), IEEE, 2018, pp. 345–370.
[24] R. Haldar, D. Mukhopadhyay, Levenshtein distance technique in dictionary lookup methods: An
improved approach, 2011. URL: https://arxiv.org/abs/1101.1232, arXiv preprint arXiv:1101.1232.
[25] A. M. Almuhaideb, N. Aslam, A. Alabdullatif, S. Altamimi, S. Alothman, A. Alhussain, K. A. Alissa,
Homoglyph attack detection model using machine learning and hash function, Journal of Sensor
and Actuator Networks 11 (2022) 54.
[26] A. D. Wong, Detecting domain-generation algorithm (dga) based fully-qualified domain names
(fqdns) with shannon entropy, 2023. URL: https://arxiv.org/abs/2304.07943, arXiv preprint
arXiv:2304.07943.
[27] Let’s Encrypt, Let’s encrypt, 2025. URL: https://letsencrypt.org/, accessed: 2025-04-19.
[28] Google, Google trust services, 2025. URL: https://pki.goog/, accessed: 2025-06-22.
[29] Slovenská obchodná inšpekcia, Zoznam podvodných internetových stránok, 2025. URL: https:
//www.soi.sk/sk/informacie-pre-verejnost/internetove-obchody/podvodne-internetove-stranky-1.
soi, accessed: 2025-04-19.
[30] Ministerstvo na kontrolu, Zoznam falošných e-shopov a phisingových stránok, 2024. URL: https:
//mnk.sk/fake/, accessed: 2024-03-07.
[31] Python Software Foundation, Projekt requests, 2025. URL: https://pypi.org/project/requests/,
accessed: 2025-04-19.
[32] pandas development team, Projekt pandas, 2025. URL: https://pandas.pydata.org/, accessed:
202504-19.
[33] scikit-learn developers, class targetencoder, 2025. URL: https://scikit-learn.org/stable/modules/
generated/sklearn.preprocessing.TargetEncoder.html, accessed: 2025-04-19.
[34] scikit-learn developers, class standardscaler, 2025. URL: https://scikit-learn.org/stable/modules/
generated/sklearn.preprocessing.StandardScaler.html, accessed: 2025-04-19.
[35] scikit-learn developers, Modul gridsearchcv, 2025. URL: https://scikit-learn.org/stable/modules/
grid_search.html, accessed: 2025-04-19.
[36] scikit-learn developers, Modul randomizedsearchcv, 2025. URL: https://scikit-learn.org/stable/
modules/generated/sklearn.model_selection.RandomizedSearchCV.html, accessed: 2025-04-19.
[37] scikit-learn developers, Modul train_test_split, 2025. URL: https://scikit-learn.org/stable/modules/
generated/sklearn.model_selection.train_test_split.html, accessed: 2025-04-19.
[38] XGBoost project, Projekt xgboost, 2025. URL: https://xgboost.readthedocs.io/en/stable/install.html,
accessed: 2025-04-19.
[39] Joblib project, Projekt joblib, 2025. URL: https://joblib.readthedocs.io/en/stable/, accessed:
2025-0419.
[40] Python Software Foundation, Projekt argparse, 2025. URL: https://docs.python.org/3/library/
argparse.html, accessed: 2025-04-19.
[41] G. Lemaître, F. Nogueira, C. K. Aridas, Imbalanced-learn: A python toolbox to tackle the curse of
imbalanced datasets in machine learning, Journal of Machine Learning Research 18 (2017) 1–5.
[42] imbalanced-learn project, Projekt imbalanced-learn, 2025. URL: https://imbalanced-learn.org/,
accessed: 2025-04-19.
[43] scikit-learn developers, Metóda feature_importance_, 2025. URL: https://scikit-learn.org/stable/
auto_examples/ensemble/plot_forest_importances.html, accessed: 2025-05-05.
SSL_Issuer
DMARC
AS
HTTP_Status
Vowel_Ratio
Numerical_Ratio
Special_Char_Ratio
Vowel_Sequence
Consonant_Sequence
Numerical_Sequence
Special_Char_Sequence
Is_Unicode
Levenshtein_Distance
Contains_Blacklisted
Last_is_invalid</p>
      <p>Description
All sources are published on GitHub Github CLI Project .</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>J.</given-names>
            <surname>Ma</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 blacklists: learning to detect malicious web sites from suspicious urls</article-title>
          ,
          <source>in: Proceedings of the 15th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining</source>
          ,
          <year>2009</year>
          , pp.
          <fpage>1245</fpage>
          -
          <lpage>1254</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>S.</given-names>
            <surname>Bell</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Komisarczuk</surname>
          </string-name>
          ,
          <article-title>An analysis of phishing blacklists: Google safe browsing, openphish, and phishtank</article-title>
          ,
          <source>in: Proceedings of the Australasian Computer Science Week Multiconference</source>
          ,
          <year>2020</year>
          , pp.
          <fpage>1</fpage>
          -
          <lpage>11</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>I.</given-names>
            <surname>Skula</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Kvet</surname>
          </string-name>
          ,
          <article-title>Domain blacklist eficacy for phishing web-page detection over an extended time period</article-title>
          ,
          <source>in: 2023 33rd Conference of Open Innovations Association (FRUCT)</source>
          , IEEE,
          <year>2023</year>
          , pp.
          <fpage>257</fpage>
          -
          <lpage>263</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>Y.</given-names>
            <surname>Fukushima</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Hori</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Sakurai</surname>
          </string-name>
          ,
          <article-title>Proactive blacklisting for malicious web sites by reputation evaluation based on domain and ip address registration</article-title>
          ,
          <source>in: 2011 IEEE 10th International Conference on Trust, Security and Privacy in Computing and Communications</source>
          , IEEE,
          <year>2011</year>
          , pp.
          <fpage>352</fpage>
          -
          <lpage>361</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>T.</given-names>
            <surname>Meng</surname>
          </string-name>
          ,
          <string-name>
            <given-names>X.</given-names>
            <surname>Jing</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Z.</given-names>
            <surname>Yan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W.</given-names>
            <surname>Pedrycz</surname>
          </string-name>
          ,
          <article-title>A survey on machine learning for data fusion</article-title>
          ,
          <source>Information Fusion</source>
          <volume>57</volume>
          (
          <year>2020</year>
          )
          <fpage>115</fpage>
          -
          <lpage>129</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>T.</given-names>
            <surname>Jo</surname>
          </string-name>
          ,
          <source>Machine Learning Foundations. Supervised, Unsupervised, and Advanced Learning</source>
          , Springer International Publishing, Cham,
          <year>2021</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>C.</given-names>
            <surname>Starbuck</surname>
          </string-name>
          ,
          <article-title>Logistic regression</article-title>
          ,
          <source>in: The Fundamentals of People Analytics</source>
          , Springer, Cham,
          <year>2023</year>
          . doi:
          <volume>10</volume>
          .1007/978- 3-
          <fpage>031</fpage>
          - 28674- 2_
          <fpage>12</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>G.</given-names>
            <surname>Palaniappan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Sangeetha</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Rajendran</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Goyal</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B. S.</given-names>
            <surname>Bindhumadhava</surname>
          </string-name>
          ,
          <article-title>Malicious domain detection using machine learning on domain name features, host-based features and web-based features</article-title>
          ,
          <source>Procedia Computer Science</source>
          <volume>171</volume>
          (
          <year>2020</year>
          )
          <fpage>654</fpage>
          -
          <lpage>661</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>M.</given-names>
            <surname>Bansal</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Goyal</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Choudhary</surname>
          </string-name>
          ,
          <article-title>A comparative analysis of k-nearest neighbor, genetic, support vector machine, decision tree, and long short term memory algorithms in machine learning</article-title>
          ,
          <source>Decision Analytics Journal</source>
          <volume>3</volume>
          (
          <year>2022</year>
          )
          <fpage>100071</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>S. L.</given-names>
            <surname>Salzberg</surname>
          </string-name>
          ,
          <article-title>Programs for machine learning by j</article-title>
          .
          <source>ross quinlan</source>
          ,
          <source>Mach Learn</source>
          <volume>16</volume>
          (
          <year>1994</year>
          )
          <fpage>235</fpage>
          -
          <lpage>240</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>Y.</given-names>
            <surname>Zhao</surname>
          </string-name>
          ,
          <string-name>
            <surname>Y. Zhang,</surname>
          </string-name>
          <article-title>Comparison of decision tree methods for finding active objects</article-title>
          ,
          <source>Advances in Space Research</source>
          <volume>41</volume>
          (
          <year>2008</year>
          )
          <fpage>1955</fpage>
          -
          <lpage>1959</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>L.</given-names>
            <surname>Bilge</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            <surname>Kirda</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Kruegel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Balduzzi</surname>
          </string-name>
          , Exposure:
          <article-title>Finding malicious domains using passive dns analysis</article-title>
          ,
          <source>in: NDSS</source>
          ,
          <year>2011</year>
          , pp.
          <fpage>1</fpage>
          -
          <lpage>17</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>K. A.</given-names>
            <surname>Messabi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Aldwairi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A. A.</given-names>
            <surname>Yousif</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Thoban</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Belqasmi</surname>
          </string-name>
          ,
          <article-title>Malware detection using dns records and domain name features</article-title>
          ,
          <source>in: Proceedings of the 2nd International Conference on Future Networks and Distributed Systems</source>
          ,
          <year>2018</year>
          , pp.
          <fpage>1</fpage>
          -
          <lpage>7</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>D.</given-names>
            <surname>Nielsen</surname>
          </string-name>
          ,
          <article-title>Tree boosting with xgboost - why does xgboost win every machine learning competition?</article-title>
          ,
          <source>Master's thesis, NTNU</source>
          ,
          <year>2016</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>A.</given-names>
            <surname>Horák</surname>
          </string-name>
          ,
          <article-title>Malicious domain detection from external data sources</article-title>
          ,
          <source>in: IEEE International Conference on Intelligence and Security Informatics (ISI)</source>
          ,
          <year>2018</year>
          , pp.
          <fpage>220</fpage>
          -
          <lpage>225</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <article-title>SHAP project</article-title>
          ,
          <source>Projekt shap</source>
          ,
          <year>2025</year>
          . URL: https://shap.readthedocs.io/en/latest/, accessed:
          <fpage>2025</fpage>
          -04-19.
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>S.</given-names>
            <surname>Hamadouche</surname>
          </string-name>
          ,
          <string-name>
            <given-names>O.</given-names>
            <surname>Boudraa</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Gasmi</surname>
          </string-name>
          ,
          <article-title>Combining lexical, host, and content-based features for phishing websites detection using machine learning models</article-title>
          ,
          <source>EAI Endorsed Transactions on Scalable Information Systems</source>
          <volume>11</volume>
          (
          <year>2024</year>
          )
          <fpage>1</fpage>
          -
          <lpage>15</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <given-names>M.</given-names>
            <surname>Agarwal</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Agarwal</surname>
          </string-name>
          ,
          <article-title>Comparative analysis of classifier performance: A study of weka and python implementations across various machine learning models</article-title>
          ,
          <year>2024</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <surname>G. A. Bansal M.</surname>
          </string-name>
          ,
          <string-name>
            <surname>C. A.</surname>
          </string-name>
          ,
          <article-title>A comparative analysis of k-nearest neighbor, genetic, support vector machine, decision tree, and long short term memory algorithms in machine learning</article-title>
          ,
          <source>Decision Analytics Journal</source>
          <volume>3</volume>
          (
          <year>2022</year>
          )
          <article-title>100071</article-title>
          . URL: https://www.sciencedirect.com/science/article/pii/ S2772662222000261. doi:https://doi.org/10.1016/j.dajour.
          <year>2022</year>
          .
          <volume>100071</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <given-names>J.</given-names>
            <surname>Ma</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>Identifying suspicious urls: an application of large-scale online learning</article-title>
          ,
          <source>in: Proceedings of the 26th Annual International Conference on Machine Learning</source>
          ,
          <year>2009</year>
          , pp.
          <fpage>681</fpage>
          -
          <lpage>688</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [21]
          <string-name>
            <given-names>C.</given-names>
            <surname>Marques</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Malta</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. P.</given-names>
            <surname>Magalhães</surname>
          </string-name>
          ,
          <article-title>Dns dataset for malicious domains detection, Data in</article-title>
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>