<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD Journal Publishing DTD v2.3 20070202//EN" "journalpublishing.dtd">
<article xml:lang="EN" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" article-type="research-article">
<front>
<journal-meta>
<journal-id journal-id-type="publisher-id">Front. Comput. Sci.</journal-id>
<journal-title>Frontiers in Computer Science</journal-title>
<abbrev-journal-title abbrev-type="pubmed">Front. Comput. Sci.</abbrev-journal-title>
<issn pub-type="epub">2624-9898</issn>
<publisher>
<publisher-name>Frontiers Media S.A.</publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="doi">10.3389/fcomp.2024.1321238</article-id>
<article-categories>
<subj-group subj-group-type="heading">
<subject>Computer Science</subject>
<subj-group>
<subject>Original Research</subject>
</subj-group>
</subj-group>
</article-categories>
<title-group>
<article-title>XAI Human-Machine collaboration applied to network security</article-title>
</title-group>
<contrib-group>
<contrib contrib-type="author" corresp="yes">
<name><surname>Moyle</surname> <given-names>Steve</given-names></name>
<xref ref-type="aff" rid="aff1"><sup>1</sup></xref>
<xref ref-type="corresp" rid="c001"><sup>&#x0002A;</sup></xref>
<uri xlink:href="http://loop.frontiersin.org/people/2330355/overview"/>
<role content-type="https://credit.niso.org/contributor-roles/conceptualization/"/>
<role content-type="https://credit.niso.org/contributor-roles/data-curation/"/>
<role content-type="https://credit.niso.org/contributor-roles/investigation/"/>
<role content-type="https://credit.niso.org/contributor-roles/methodology/"/>
<role content-type="https://credit.niso.org/contributor-roles/software/"/>
<role content-type="https://credit.niso.org/contributor-roles/visualization/"/>
<role content-type="https://credit.niso.org/contributor-roles/writing-original-draft/"/>
<role content-type="https://credit.niso.org/contributor-roles/writing-review-editing/"/>
</contrib>
<contrib contrib-type="author">
<name><surname>Martin</surname> <given-names>Andrew</given-names></name>
<xref ref-type="aff" rid="aff1"><sup>1</sup></xref>
<role content-type="https://credit.niso.org/contributor-roles/project-administration/"/>
<role content-type="https://credit.niso.org/contributor-roles/writing-review-editing/"/>
</contrib>
<contrib contrib-type="author">
<name><surname>Allott</surname> <given-names>Nicholas</given-names></name>
<xref ref-type="aff" rid="aff2"><sup>2</sup></xref>
<uri xlink:href="http://loop.frontiersin.org/people/2710931/overview"/>
<role content-type="https://credit.niso.org/contributor-roles/funding-acquisition/"/>
<role content-type="https://credit.niso.org/contributor-roles/project-administration/"/>
<role content-type="https://credit.niso.org/contributor-roles/resources/"/>
<role content-type="https://credit.niso.org/contributor-roles/writing-review-editing/"/>
</contrib>
</contrib-group>
<aff id="aff1"><sup>1</sup><institution>Department of Computer Science, Oxford University</institution>, <addr-line>Oxford</addr-line>, <country>United Kingdom</country></aff>
<aff id="aff2"><sup>2</sup><institution>NquiringMinds</institution>, <addr-line>Southampton</addr-line>, <country>United Kingdom</country></aff>
<author-notes>
<fn fn-type="edited-by"><p>Edited by: Eduard Babulak, National Science Foundation (NSF), United States</p></fn>
<fn fn-type="edited-by"><p>Reviewed by: Naresh Thaneeru, Kakatiya University, India</p>
<p>Dinesh Sharma, Manipal University Jaipur, India</p></fn>
<corresp id="c001">&#x0002A;Correspondence: Steve Moyle <email>steve&#x00040;moyle.info</email></corresp>
</author-notes>
<pub-date pub-type="epub">
<day>13</day>
<month>05</month>
<year>2024</year>
</pub-date>
<pub-date pub-type="collection">
<year>2024</year>
</pub-date>
<volume>6</volume>
<elocation-id>1321238</elocation-id>
<history>
<date date-type="received">
<day>13</day>
<month>10</month>
<year>2023</year>
</date>
<date date-type="accepted">
<day>29</day>
<month>04</month>
<year>2024</year>
</date>
</history>
<permissions>
<copyright-statement>Copyright &#x000A9; 2024 Moyle, Martin and Allott.</copyright-statement>
<copyright-year>2024</copyright-year>
<copyright-holder>Moyle, Martin and Allott</copyright-holder>
<license xlink:href="http://creativecommons.org/licenses/by/4.0/"><p>This is an open-access article distributed under the terms of the Creative Commons Attribution License (CC BY). The use, distribution or reproduction in other forums is permitted, provided the original author(s) and the copyright owner(s) are credited and that the original publication in this journal is cited, in accordance with accepted academic practice. No use, distribution or reproduction is permitted which does not comply with these terms.</p></license>
</permissions>
<abstract>
<p>Cyber attacking is easier than cyber defending&#x02014;attackers only need to find one breach, while the defenders must successfully repel all attacks. This research demonstrates how cyber defenders can increase their capabilities by joining forces with eXplainable-AI (XAI) utilizing interactive human-machine collaboration. With a global shortfall of cyber defenders there is a need to amplify their skills using AI. Cyber asymmetries make propositional machine learning techniques impractical. Human reasoning and skill is a key ingredient in defense and must be embedded in the AI framework. For Human-Machine collaboration to work requires that the AI is an ultra-strong machine learner and can explain its models. Unlike Deep Learning, Inductive Logic Programming can communicate what it learns to a human. An empirical study was undertaken using six months of eavesdropped network traffic from an organization generating up-to 562K network events daily. Easier-to-defend devices were identified using a form of the Good-Turing Frequency estimator which is a promising form of volatility measure. A behavioral cloning grammar in explicit symbolic form was then produced from a single device&#x00027;s network activity using the compression algorithm <monospace>SEQUITUR</monospace>. A novel visualization was generated to allow defenders to identify network sequences they wish to explain. Interactive Inductive Logic Programming (the XAI) is supplied the network traffic meta data, sophisticated pre-existing cyber security background knowledge, and one recurring sequence of events from a single device to explain. A co-inductive process between the human cyber defender and the XAI where the human is able to understand, then refute and shape the XAI&#x00027;s developing model, to produce a model that conforms with the data as well as the original device designers programming. The acceptable model is in a form that can be deployed as an ongoing active cyber defense.</p></abstract>
<kwd-group>
<kwd>eXplainable AI</kwd>
<kwd>network security</kwd>
<kwd>IoT security</kwd>
<kwd>symbolic machine learning</kwd>
<kwd>inductive logic programming</kwd>
</kwd-group>
<counts>
<fig-count count="11"/>
<table-count count="1"/>
<equation-count count="0"/>
<ref-count count="57"/>
<page-count count="19"/>
<word-count count="12850"/>
</counts>
<custom-meta-wrap>
<custom-meta>
<meta-name>section-at-acceptance</meta-name>
<meta-value>Computer Security</meta-value>
</custom-meta>
</custom-meta-wrap>
</article-meta>
</front>
<body>
<sec sec-type="intro" id="s1">
<title>1 Introduction</title>
<sec>
<title>1.1 Cyber security and its challenges</title>
<p>Defending assets from cyber attack remains challenging. There are many asymmetries that disadvantage the defender, including rare symptoms of compromise are buried within burgeoning log files of (most likely) normal behavior; specification of the assets are rarely complete and accurate; public knowledge of exploits are always out of date, with the continual emergence of new zero-day attacks; and systems may have a vulnerable component, but the deployment context and configuration may make it unexploitable. This leaves the defender having to reason in the complex world where the information they have access to cannot be relied upon. Ultimately, skilled cyber defenders admit that it is almost impossible for them to give any strong security guarantees (Meer, <xref ref-type="bibr" rid="B27">2015</xref>).</p>
<p>There is a severe lack of human skilled cyber defenders. An international body that supports cyber defenders estimates that there are more than three million fewer defenders than necessary [(ISC)2, <xref ref-type="bibr" rid="B15">2022</xref>]: &#x0201C;To adequately protect cross-industrial enterprises from increasingly complex modern threats, organizations are trying to fill the worldwide gap of 3.4 million cybersecurity workers.&#x0201D; Organizations with cybersecurity resources are those who can afford it or must have it&#x02014;industries like banking, finance, government and military. The shortfall identifies only skills of industrial enterprises&#x02014;it is greater still in the small business and the domestic settings. It is here where many devices are simply installed from their packaging and left operating in an undefended environment, with little or no attention.</p>
<p>Real computer networks can be arbitrarily complex. For example, detailed analysis of a small organisation&#x00027;s network, where data was collected for half a year, showed that 181 devices were connected within its networks (see Section 2.1 for further details). Some of the devices are for normal operational duties (for example laptops, network routers, door swipe access controllers), others are defensive in nature (for example anti-virus software and vulnerability scanners). All devices pose a risk of expanding the organisation&#x00027;s <italic>attack surface</italic>.</p>
<p>In larger organizations the asset registers and design documentation can soon fall behind those of the true implementations. Systems architects often cannot agree what is and what is not actually running in their environments. Cyber defenders are keen to incorporate both <italic>controls</italic> (for example network firewalls) and <italic>monitoring</italic> as part of their defensive toolkit. Monitoring can be <italic>passive</italic> like the continuously running network security monitoring system <monospace>Zeek</monospace> (Zeek, <xref ref-type="bibr" rid="B57">2021</xref>), or it can be <italic>active</italic>, like vulnerability scanners (e.g., <monospace>OpenVAS</monospace>, OpenVAS, <xref ref-type="bibr" rid="B39">2023</xref>) where probes for <italic>known</italic> vulnerabilities are commissioned.</p>
<p>Designing a secure device is fundamentally challenging. Internet-of-Things (IoT) devices are often resource constrained so as to meet demanding low-power and low cost specifications. Security of the device is a lower priority. Certifying the level of security for a particular device design is also challenging and costly<xref ref-type="fn" rid="fn0001"><sup>1</sup></xref> [e.g., (the now super-ceded) Orange Book (United States Department of Defense, <xref ref-type="bibr" rid="B53">1985</xref>) and Common Criteria (ISO/IEC, <xref ref-type="bibr" rid="B16">1999</xref>)]. A certified secure device at installation time allows us to <italic>presume</italic> that it is <italic>good</italic> at that time, but some time later a <italic>vulnerability</italic> in that version of the device is discovered. This does not automatically mean the device is <italic>bad</italic>&#x02014;the vulnerability needs to be <italic>exploitable</italic>, and that a path-way to exploitation is present.</p>
<p>Installers and operators of devices rarely know precisely how the device should behave. There is a growing appreciation for published device information from the device manufacturers themselves helping to improve security (Grayeli and Mulugeta, <xref ref-type="bibr" rid="B13">2020</xref>; Megas et al., <xref ref-type="bibr" rid="B28">2022</xref>). The <italic>Distributed Device Descriptors (D3)</italic> standard (ManySecured, <xref ref-type="bibr" rid="B25">2021</xref>) allows both manufacturers and interested parties to specify what resources a device class requires, and the behavior that it produces. This provides the possibility to perform run-time comparisons of the behavior of an instance of the device class and its actual, monitored behavior. Deviations from specification can be caused by the device going <italic>bad</italic>, or simply that the specification has errors of omission or commission.</p>
<p>The number of computable programs is countably infinite (Turing, <xref ref-type="bibr" rid="B50">1937</xref>). If we consider a crude partitioning of all programs into <italic>good programs</italic> and <italic>bad programs</italic> it is obvious that each of these partitions are themselves countably infinite. It follows that it is unrealistic, in general, to be able to guarantee that a persistent attacker will not be able to entice the computer-based systems to execute bad programs. It is easier to intercept communications between devices than to access the runtime environment of the devices. Considering the messages between computing devices, these too, are countably infinite. This makes it difficult, in the general case, to use external eavesdropping of devices&#x00027; communications for accurately predicting whether the messages themselves are <italic>sinister</italic> or <italic>benign</italic>. One can also appeal to the notion of <italic>trust</italic> or not trusting anything one has not produced oneself [See Ken Thompson&#x00027;s ACM Turing Award Lecture (Thompson, <xref ref-type="bibr" rid="B49">1984</xref>)] to appreciate the daunting cyber security challenges.</p>
<p>Standards and processes exist that allow systems to have their security properties rigorously asserted (United States Department of Defense, <xref ref-type="bibr" rid="B53">1985</xref>; ISO/IEC, <xref ref-type="bibr" rid="B16">1999</xref>). Although these are typically only used for high-end systems (i.e., rarely for consumer devices and IoT) they do provide empirical evidence of the existence of some sliding scale of <italic>easy-to-secure</italic> and <italic>hard-to-secure</italic> device designs. As a cyber defender, are there devices which operate in a manner that make defending them <italic>easier</italic> than other devices? Can we determine by observing devices externally which of them are (likely to be) easier to defend? By studying their eavesdropped connections and messages to other devices, can easier to defend devices&#x00027; predictable behaviors be defended by blocking novel behaviors (or at least alarming or alerting with the novel events occur)?</p>
</sec>
<sec>
<title>1.2 Machine intelligence and explainable AI</title>
<p>ChatGPT and other systems powered by large language models have captured the public imagination in recent times. However, not everyone considers that these are general purpose artificial intelligences (Wolfram, <xref ref-type="bibr" rid="B56">2023</xref>). In his 1950 paper (Turing, <xref ref-type="bibr" rid="B51">1950</xref>), Turing goes beyond his pragmatic imitation test of machine intelligence<xref ref-type="fn" rid="fn0002"><sup>2</sup></xref> and considers the question, &#x0201C;Can machines think?.&#x0201D; Turing quickly dismisses nine common philosophical objections to his question about thinking machines, and then focuses on three strategies which might lead to the creation of a thinking machine. Broadly from Muggleton (<xref ref-type="bibr" rid="B33">2014</xref>) these are (1) AI by programming, (2) AI by ab initio machine learning, and (3) AI using logic, probabilities, learning, and background knowledge.</p>
<p>Ab initio machine learning is the current state of the art of AI. It takes recorded examples of some phenomena that we wish to forecast and use algorithms for the production of models or code (see Flach, <xref ref-type="bibr" rid="B8">2012</xref>). <italic>Ab initio</italic> refers to the way the models are updated when the new data arrives&#x02014;typically by discarding the model and starting the learning again, but with the additional data to utilize. Many of the current techniques give excellent forecasting accuracy when interpolating with novel inputs. This gives an illusion of intelligence. In reality these are systems typically trained to perform one, narrow, task.</p>
<p>Michie<xref ref-type="fn" rid="fn0003"><sup>3</sup></xref> categorizes machine learning styles as <italic>weak, strong</italic>, and <italic>ultra strong</italic> (Michie, <xref ref-type="bibr" rid="B29">1988</xref>). His weak criterion of Machine Learning is a &#x0201C;system [that] uses sample data (training set) to generate an up-dated basis for improved performance on subsequent data.&#x0201D; Indeed deep neural network models satisfy this criteria. He goes on to define the Ultra-strong criterion<xref ref-type="fn" rid="fn0004"><sup>4</sup></xref> of Machine Learning as a &#x0201C;system [that] satisfies [the] weak criterion and also can communicate its internal updates in explicit <italic>and operationally effective</italic> symbolic form.&#x0201D; Beyond the standard accuracy of its forecasts, this requires that the machine learning generated model can be communicated to another agent<xref ref-type="fn" rid="fn0005"><sup>5</sup></xref>; and that the agent can be <italic>coached</italic> to improve its own performance on the same task that the model is used for. In other words &#x0201C;Don&#x00027;t simply give me the answer, explain it to me and teach me how to use it.&#x0201D;</p>
<p>Under this lens of Michie&#x00027;s <italic>Ultra-strong Machine Learning</italic>, Deep Learning and its <italic>black-box</italic> style models fall short<xref ref-type="fn" rid="fn0006"><sup>6</sup></xref>. Inspecting the matrices of weights that represent their models are not comprehensible, nor are they in a symbolic form. Some researchers have found ways to identify what it is that the Deep Learning has focused on to when making its forecasts. For example in object recognition from digital images, is it the polar bear or the snowy background? People argue that this is a step to explaining the A.I.<xref ref-type="fn" rid="fn0007"><sup>7</sup></xref>&#x02014;but it clearly fails Michie&#x00027;s stronger definitions. NIST (<xref ref-type="bibr" rid="B38">2021</xref>) describe a multi-stakeholder practical framework for eXplanatory AI (XAI) based on four principles : (1) explanation, (2) meaningful, (3) explanation accuracy, and (4) knowledge limits. Each of these can be seen to be encompassed, either explictly or implicitly, within Michie&#x00027;s <italic>Ultra-strong Machine Learning</italic>.</p>
<p>Returning to Turing&#x00027;s view (Turing, <xref ref-type="bibr" rid="B51">1950</xref>) on the matter of the construction of an AI. His third, and preferred alternative is: <italic>AI using logic, probabilities, learning and background knowledge</italic>. Turing states that &#x0201C;&#x02026;one might have a complete system of logical inference &#x02018;built in.&#x00027; &#x02026;the store would be largely occupied with definitions and propositions. The propositions would have various kinds of status, e.g., well-established facts, conjectures, mathematically proved theorems, statements given by an authority, expressions having the logical form of proposition but not a belief-value.&#x0201D; In a sense, Turing is suggesting that underpinning the learning should be a compendium of existing knowledge&#x02014;in a logical form that can be used to reason with. Such an approach provides benefits over the ab initio machine learning. (1). Existing knowledge can be utilized as &#x0201C;Background Knowledge.&#x0201D; This has benefits for the learner&#x02014;in that it is not forced to relearn every thing every time new examples appear. (2). New Learned knowledge can be independently verified. In Turing&#x00027;s world, it is possible to ask the learner after the fact, &#x0201C;What it is that you have learned?&#x0201D; The learner can then answer, for example, by emitting its learned model in logic. Even if the model is not perfect, it is in a form that can be tested, debugged, and then adopted into the background knowledge for future learners to use.</p>
<p>Going beyond systems that simply offer good predictions, Explainable Artificial Intelligence (or XAI) as described in Gunning et al. (<xref ref-type="bibr" rid="B14">2021</xref>) can be seen as patching a gap in contemporary black-box machine learning techniques, so as to overcome limitations in communicating the machine learning results to humans. However, Turing, in 1950, had already provided a pathway to <italic>Explainable Artificial Intelligence</italic>. Michie (<xref ref-type="bibr" rid="B29">1988</xref>), too, was insistent on machine learning results being communicated in a comprehensible manner. Comprehensible communication remains challenging, even between humans, and continues to be researched (e.g., Muggleton et al., <xref ref-type="bibr" rid="B35">2018</xref>).</p>
</sec>
<sec>
<title>1.3 Machine learning challenges for cyber security</title>
<p>The application of machine learning techniques faces particular challenges in the domain of cyber security. Cyber defense in itself is plagued by many asymmetries that advantage the attacker, the greatest being that the defender must prevent all attacks (many of which are previously unknown), whilst an attacker need only one way of breaking in.</p>
<p>Machine learning&#x02014;by definition&#x02014;requires example data<xref ref-type="fn" rid="fn0008"><sup>8</sup></xref> to learn from. There is no shortage of data in the cyber world&#x02014;for example vast quantities of log files are collected relating to systems and their operation. However, most machine learning techniques are <italic>supervised</italic> (for a general description of machine learning practices see Flach, <xref ref-type="bibr" rid="B8">2012</xref>) requiring that each data item is <italic>labeled</italic> with the outcome observed. For this discussion we can use the simple labels of <bold>sinister</bold> and <bold>benign</bold>. Unfortunately, the vast log data is <italic>unlabeled</italic> making supervised machine learning techniques inappropriate. In cases where attacks are analyzed and the log records associated with them labeled (as sinister) there remains a vast imbalance in the training set. Machine learning algorithms give the strongest results when trained on balanced training sets: in this case equal amounts of sinister and benign example records. When the proportion of sinister to benign records is low (e.g., say, one in a hundred&#x02014;which is likely to be quite an over-estimate in real-world operational environments), the models produced will almost certainly predict a new log record as benign. This leads to false negative errors where the sinister records are identified as benign&#x02014;making the detection a useless defense. Pushing the learning to focus on the sinister records [e.g., by using <italic>boosting</italic> (Flach, <xref ref-type="bibr" rid="B8">2012</xref>)] will only lead to a model that has a high false positive alarm rate&#x02014;misidentifying benign records as sinister. Cyber security systems with high false positive alarm rates are considered untrustworthy, and often lead to them being ignored.</p>
<p>In one sense, there is too much data (unlabeled logs), yet in another sense we don&#x00027;t have enough (sinister labeled logs). To a naive first approximation everything is considered safe. To make progress we must keep expert human cyber defenders in the machine learning cycle, and provide them with tools to make sense of what they see. If humans are key, then so too is XAI, as the cyber defenders will require machine learning frameworks that output models that they find comprehensible.</p>
</sec>
<sec>
<title>1.4 Human-Machine collaboration in scientific discovery</title>
<p>The practice of extracting patterns from collected data has a long history<xref ref-type="fn" rid="fn0009"><sup>9</sup></xref>. Humans are somewhat distinguished from most other animals by making tools. The usefulness and ease of use of which are important factors. If one seeks a deeper understanding of the tangible world then using the tool of <italic>scientific method</italic> is a good practice. For example, the inductivist incorporation of empirical observations as a basis for constructing general laws [this can be traced back at least to the 17th century (Bacon et al., <xref ref-type="bibr" rid="B3">1996</xref>; Peirce, <xref ref-type="bibr" rid="B40">1996</xref>; Jevons, <xref ref-type="bibr" rid="B17">2012</xref>)].</p>
<p>For Humans to be able to collaborate with the data science tools requires that both agents&#x02014;the human and the machine&#x02014;understand a common language. Quite often the scientific expert is not a data analytics expert, so a team-based approach is required. Significant successes have been achieved this way where the actual scientific &#x0201C;discovery&#x0201D; is initially proposed by a machine (learning algorithm). Mutagenesis (King et al., <xref ref-type="bibr" rid="B19">1996</xref>) and drug discovery (Finn et al., <xref ref-type="bibr" rid="B7">1998</xref>) are examples where published results in a discipline were proposed by a machine learning system (see also Gillies, <xref ref-type="bibr" rid="B11">1996</xref>). In these cases it is key that the output of the systems are comprehensible to the experts, requiring translations into the experts&#x00027; preferred formats.</p>
<p>Considering human cyber defenders, they apply their skill and reasoning in much the same way that a detective solves a murder case. They constantly form hypotheses, collect more evidence, and focus their investigations. They will use <italic>abductive</italic> reasoning to form hypotheses and seek yet-to-be discovered evidence, whilst forming constraints based on the evidence that will rule out incompatible hypotheses and lines of enquiry. They may be able to conclude, based on reasonable probability, the motive, opportunity, and weapon used by a suspect. Once the case is solved, then it is possible to follow a <italic>deductive</italic> reasoning process that explains the case and its artifacts. Furthermore, with the solution of similar styles of cases it is possible to apply <italic>inductive</italic> reasoning to learn general patterns (e.g., Moyle and Heasman, <xref ref-type="bibr" rid="B31">2003</xref>).</p>
<p>We require that the machine can make use of the existing domain knowledge with which the human expert is familiar. A bi-directional shared language is necessary. One that is directly executable is Logic programming, which has a long history of knowledge representation and reasoning. Despite its longevity and many successes standard <monospace>Prolog</monospace>, with its sound semantics and elegant computation model (e.g., Lloyd, <xref ref-type="bibr" rid="B24">1984</xref>), does not directly support the forms of reasoning that humans often rely on. The more expressive Answer Set Programming (e.g., Lifschitz, <xref ref-type="bibr" rid="B23">2022</xref>), allows a broader range of reasoning, and is not restricted to Logic Programs with single models. Subsets of Logic Programming using constrained natural language are enabling humans to have two-way interactions with systems (Kowalski, <xref ref-type="bibr" rid="B22">2011</xref>; Schwitter, <xref ref-type="bibr" rid="B46">2020</xref>).</p>
<p>Science proceeds where scientists can replicate another&#x00027;s work. A more robust advance is where scientists can refute and argue about another&#x00027;s findings. Indeed, philosophers of scientific method suggest that refutation is key (e.g., Popper, <xref ref-type="bibr" rid="B41">1935</xref>). A strong human-machine system will be one where each party can argue both for and against the communicated understanding of the other. A framework for this scenario is reported in Srinivasan et al. (<xref ref-type="bibr" rid="B48">2022</xref>).</p>
<p>A candidate Human-Machine environment would need to support explicit symbolic knowledge, in a comprehensible and explainable form for the human, that is directly executable by the machine, where the state of knowledge can be refuted by each party, through multiple logical reasoning forms (deduction, abduction, and induction). This seems to be similar to Turing&#x00027;s original 1950s preferred specification (Turing, <xref ref-type="bibr" rid="B51">1950</xref>) of what it will take to build a &#x0201C;thinking machine&#x0201D;&#x02014;what we would now call an XAI. This research reports on efforts to develop techniques for use in an XAI environment specifically to support Cyber Defenders.</p>
</sec>
<sec>
<title>1.5 Objectives</title>
<p>Motivated by how difficult it is for professional cyber defenders to keep their environments safe (Meer, <xref ref-type="bibr" rid="B27">2015</xref>), one of the goals is to identify ways to improve the security of Internet-of-Things (IoT) devices in a domestic setting. We wish to determine if it is plausible to use XAI-like tools to reverse-engineer behavioral models (c.f. Bain and Sammut, <xref ref-type="bibr" rid="B4">1995</xref>) (i.e., rules) that a specialized IoT gateway device could utilize to only permit necessary network interactions to IoT devices and their controllers.</p>
<p>The main aim of this research is to test the following hypotheses:</p>
<list list-type="bullet">
<list-item><p>Hypothesis 1&#x02013;Identifying <bold>easier-to-secure periods</bold> of operation: That it is possible to use eavesdropped communications information to identify periods of time in a network of devices that are <italic>easier-to-secure</italic> than other periods of time by measuring the volatility of <bold>all</bold> the devices&#x00027; communications over time.</p></list-item>
<list-item><p>Hypothesis 2&#x02013;Identifying <bold>easier-to-secure devices</bold>: That it is possible to use eavesdropped communications information to identify devices that are <italic>easier-to-secure</italic> than other devices by measuring the volatility of devices&#x00027; communications.</p></list-item>
<list-item><p>Hypothesis 3&#x02013;Reverse-engineering <bold>behavioral models</bold> of easier-to-secure devices: That it is possible to use eavesdropped communications information from identified <italic>easier-to-secure</italic> devices to build behavioral models of allowed (and disallowed) communication using XAI approaches.</p></list-item>
</list>
<p>These hypotheses chain together. Without evidence that there are time periods or individual devices that show reduced volatility, then it will be difficult to identify candidates that are easier to defend. Hypothesis 3 requires a positive result from Hypothesis 2. Should Hypothesis 3 be valid then a subsequent line of research would be to determine if and how the behavioral models of communication can be extracted and then deployed as a defensive tool for the device(s). This is dealt with in Sections 4, 5. Hypotheses 1 and 2 are tested in Section 3.</p>
</sec>
<sec>
<title>1.6 Outline</title>
<p>This is empirical research utilizing observational data collected from a real-world organization. The computer network and the data are outlined in Section 2. Then in Section 3 we consider how to identify <italic>easier-to-secure</italic> devices by studying the eavesdropped connections and messages to other devices. Devices that have low network volatility allow predictable behaviors to be defended by blocking novel behaviors (or at least alarming or alerting with the novel events occur). We thus identify and target one particular IoT-like device to study in detail. A form of behavioral cloning is performed using machine learning of sequences of messages used by the target device in Section 4. A novel tool to visualize the extracted patterns allows a human defender to select interesting recurring sequences generated by the target device for further analysis. Section 5 details an interactive logical induction approach to analyzing fine grained sequence patterns in the presence of existing background knowledge. The results produced conform to the expectations of eXplainable AI&#x02014;they can be understood by the cyber defender. The discussion, conclusion, and suggestions for future research directions are covered in Sections 6, 7.</p>
</sec>
</sec>
<sec id="s2">
<title>2 Observational case-study context</title>
<sec>
<title>2.1 Network traffic monitoring</title>
<p>Systems can be observed from many perspectives and many different granularities. For example we can observe the internal operation of entire computer systems by executing them from within a virtual machine environment&#x02014;a form of <italic>white box</italic> analysis. An alternative perspective is to observe the inter-system communications passed into and out-of a computer system&#x02014;a form of passive <italic>black box</italic> analysis. In this research, out of operational pragmatism, we choose the latter approach, and study the observation logs recorded from eavesdropping network connections and conversations between individual devices.</p>
<p>To collect data for the case study, we implemented the system architecture shown in <xref ref-type="fig" rid="F1">Figure 1</xref>. Network traffic metadata is passively collected by a bespoke edge device consisting of a network TAP (i.e., a device that clones data flowing across a network) and system-on-chip processor running an established Network Security Monitoring system called Zeek (<xref ref-type="bibr" rid="B57">2021</xref>). Data is periodically pushed to a secure cloud storage facility. This IoT-like device was developed by integrating publicly available components, in a secure and robust way, and utilizing efficient server-less cloud processing design patterns.</p>
<fig id="F1" position="float">
<label>Figure 1</label>
<caption><p>System Context diagram: a network monitoring edge device passively records metadata about observed network connections from and to an office with networked devices. Logs are securely stored and processed in the cloud.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fcomp-06-1321238-g0001.tif"/>
</fig>
</sec>
<sec>
<title>2.2 Materials and methods</title>
<p>This is an empirical enquiry using captured eavesdropped communications data. The data was from a small business from January 1<sup>st</sup> to June 20<sup>th</sup> 2021 (inclusive; 172 days) with between 28 and 185 active networked devices per day, and between approximately 63K and 562K logged connection events per day.</p>
<p>The data collected by the Zeek (<xref ref-type="bibr" rid="B57">2021</xref>) Intrusion Detection and Network Monitoring System is metadata extracted from the observed network communications. Different Intrusion Detection Systems (Khraisat et al., <xref ref-type="bibr" rid="B18">2019</xref>) utilize different detection approaches ranging from being based on <italic>anomalies</italic> to a being based on <italic>heuristics</italic>. Anomaly approaches can use statistical information derived from simple measures, for example data flow rates. In this work we explore the use of a device-to-device communication volatility (see Section 3, below). Only the communications that pass through the network monitoring device are logged for analysis<xref ref-type="fn" rid="fn0010"><sup>10</sup></xref>. The map of the metadata schema is shown in <xref ref-type="fig" rid="F2">Figure 2</xref>. The master data table is <monospace>conn</monospace>, which keeps a summary record for all connection events observed. The analyses focus on the <monospace>conn</monospace>ection log. An example record and details of the meta data fields available in the <monospace>conn</monospace> log are shown in <xref ref-type="table" rid="T1">Table 1</xref>. Many of the Zeek tables have a similar initial set of columns with event timestamp&#x02013;<monospace>ts</monospace>, unique identifier&#x02013;<monospace>uid</monospace>, originating IP address and port&#x02013;<monospace>id.orig_h</monospace>, <monospace>id.orig_p</monospace>, responding IP address, and port <monospace>id.resp_h</monospace>, <monospace>id.resp_p</monospace> recurring in many tables.</p>
<fig id="F2" position="float">
<label>Figure 2</label>
<caption><p>Eavesdropped network communications metadata data schema. The left hand side depicts the table name/columns for the <monospace>conn</monospace> master metadata table recorded by Zeek (<xref ref-type="bibr" rid="B57">2021</xref>). The right-hand side shows the complete metadata schema map (for context only). Note the many subordinate metadata tables, which provide metadata details for each <monospace>service</monospace> recorded in the <monospace>conn</monospace> table (e.g., <monospace>http</monospace>, <monospace>dns</monospace>, <monospace>dhcp</monospace>, &#x02026;).</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fcomp-06-1321238-g0002.tif"/>
</fig>
<table-wrap position="float" id="T1">
<label>Table 1</label>
<caption><p>Column names, data types, and examples of fields from the Zeek <monospace>conn</monospace> metadata log.</p></caption>
<table frame="box" rules="all">
<thead>
<tr style="background-color:&#x00023;919498;color:&#x00023;ffffff">
<th valign="top" align="left"><bold>Column name</bold></th>
<th valign="top" align="left"><bold>Data type</bold></th>
<th valign="top" align="left"><bold>Example</bold></th>
<th valign="top" align="left"><bold>Selected descriptions</bold></th>
</tr>
</thead>
<tbody>
<tr>
<td valign="top" align="left">ts</td>
<td valign="top" align="left">timestamp</td>
<td valign="top" align="left">2020-12-31 23:59:22</td>
<td valign="top" align="left">Timestamp of connection</td>
</tr>
<tr>
<td valign="top" align="left">uid</td>
<td valign="top" align="left">string</td>
<td valign="top" align="left">CSuVAz2v3MtaiPkaja</td>
<td valign="top" align="left">Unique ID (key)</td>
</tr>
<tr>
<td valign="top" align="left">id.orig_h</td>
<td valign="top" align="left">string</td>
<td valign="top" align="left">10.0.100.55</td>
<td valign="top" align="left">Source IP address</td>
</tr>
<tr>
<td valign="top" align="left">id.orig_p</td>
<td valign="top" align="left">bigint</td>
<td valign="top" align="left">51475</td>
<td valign="top" align="left">Source IP port</td>
</tr>
<tr>
<td valign="top" align="left">id.resp_h</td>
<td valign="top" align="left">string</td>
<td valign="top" align="left">192.29.32.24</td>
<td valign="top" align="left">Destination IP address</td>
</tr>
<tr>
<td valign="top" align="left">id.resp_p</td>
<td valign="top" align="left">bigint</td>
<td valign="top" align="left">80</td>
<td valign="top" align="left">Destination IP port</td>
</tr>
<tr>
<td valign="top" align="left">proto</td>
<td valign="top" align="left">string</td>
<td valign="top" align="left">tcp</td>
<td valign="top" align="left">Protocol</td>
</tr>
<tr>
<td valign="top" align="left">service</td>
<td valign="top" align="left">string</td>
<td valign="top" align="left">http</td>
<td valign="top" align="left">Service type</td>
</tr>
<tr>
<td valign="top" align="left">duration</td>
<td valign="top" align="left">string</td>
<td valign="top" align="left">0 days 00:01:00.052789000</td>
<td/>
</tr>
<tr>
<td valign="top" align="left">orig_bytes</td>
<td valign="top" align="left">bigint</td>
<td valign="top" align="left">282</td>
<td valign="top" align="left">Originator message size</td>
</tr>
<tr>
<td valign="top" align="left">resp_bytes</td>
<td valign="top" align="left">bigint</td>
<td valign="top" align="left">510</td>
<td valign="top" align="left">Response message size</td>
</tr>
<tr>
<td valign="top" align="left">conn_state</td>
<td valign="top" align="left">string</td>
<td valign="top" align="left">SF</td>
<td/>
</tr>
<tr>
<td valign="top" align="left">local_orig</td>
<td valign="top" align="left">boolean</td>
<td valign="top" align="left">TRUE</td>
<td/>
</tr>
<tr>
<td valign="top" align="left">local_resp</td>
<td valign="top" align="left">boolean</td>
<td valign="top" align="left">FALSE</td>
<td/>
</tr>
<tr>
<td valign="top" align="left">missed_bytes</td>
<td valign="top" align="left">bigint</td>
<td valign="top" align="left">0</td>
<td/>
</tr>
<tr>
<td valign="top" align="left">history</td>
<td valign="top" align="left">string</td>
<td valign="top" align="left">ShADadFf</td>
<td/>
</tr>
<tr>
<td valign="top" align="left">orig_pkts</td>
<td valign="top" align="left">bigint</td>
<td valign="top" align="left">6</td>
<td/>
</tr>
<tr>
<td valign="top" align="left">orig_ip_bytes</td>
<td valign="top" align="left">bigint</td>
<td valign="top" align="left">534</td>
<td/>
</tr>
<tr>
<td valign="top" align="left">resp_pkts</td>
<td valign="top" align="left">bigint</td>
<td valign="top" align="left">4</td>
<td/>
</tr>
<tr>
<td valign="top" align="left">resp_ip_bytes</td>
<td valign="top" align="left">bigint</td>
<td valign="top" align="left">682</td>
<td/>
</tr>
<tr>
<td valign="top" align="left">tunnel_parents</td>
<td valign="top" align="left">string</td>
<td valign="top" align="left">(empty)</td>
<td/>
</tr>
<tr>
<td valign="top" align="left">year</td>
<td valign="top" align="left">smallint</td>
<td valign="top" align="left">2020</td>
<td/>
</tr>
<tr>
<td valign="top" align="left">month</td>
<td valign="top" align="left">smallint</td>
<td valign="top" align="left">12</td>
<td/>
</tr>
<tr>
<td valign="top" align="left">day</td>
<td valign="top" align="left">smallint</td>
<td valign="top" align="left">31</td>
<td/>
</tr></tbody>
</table>
<table-wrap-foot>
<p>NB (1) Some values have been altered to ensure confidentiality. For a complete description of fields see: <ext-link ext-link-type="uri" xlink:href="https://docs.zeek.org/en/master/logs/conn.html">https://docs.zeek.org/en/master/logs/conn.html</ext-link>. NB (2) The <monospace>year</monospace>, <monospace>month</monospace>, and <monospace>day</monospace> fields are additional helper fields provided independently from Zeek to improve database storage and indexing.</p>
</table-wrap-foot>
</table-wrap>
</sec>
<sec>
<title>2.3 From raw network to new cyber defender knowledge</title>
<p>Raw network logs are only one source of information. We want to process, transform, and analyze the logs so that they can be used by the Human-XAI to co-create behavioral descriptions of the device being studied. This process is sketched in <xref ref-type="fig" rid="F3">Figure 3</xref>. Note that the cyber defender plays a key role in selecting the device of interest to study (<italic>H1</italic>), providing the background knowledge about the environment and cyber security (<italic>H2</italic>), and interacting directly with the XAI system to produce a new understanding that is mutually acceptable.</p>
<fig id="F3" position="float">
<label>Figure 3</label>
<caption><p>Process flow diagram: Data Elements (D) start with eavesdropped Network Traffic (D1), and are processed by processing elements (P) with the human Cyber Defender&#x00027;s interactions (H), using eXplainable AI, to produce new knowledge (K) culminating in the understanding of device behavior that can be used to improve security further. The data transformations <italic>D1</italic> to <italic>D6</italic> are along the top line of the figure; below are the processes <italic>P1</italic> to <italic>P4</italic> that perform the transformations. The human cyber defender plays their crucial role in <italic>H1, H2</italic>, and <italic>H3</italic>; with the ultimate outcome produced as new knowledge in <italic>K1</italic>.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fcomp-06-1321238-g0003.tif"/>
</fig>
</sec>
</sec>
<sec id="s3">
<title>3 Simple Good-Turing as device volatility</title>
<p>We first tackle the two initial hypotheses regarding <bold>easier-to-secure</bold> <italic>periods</italic> and <italic>devices</italic> outlined in Section 1.5. In this section we utilize an analytic technique first developed by Alan Turing and Jack Good whilst working as code breakers at Bletchley Park. They developed frequency-based attacks on enemy cipher systems, including determining estimates of character bi-gram probabilities. Their frequency smoothing approach was based on the frequency of frequencies of observed bi-grams<xref ref-type="fn" rid="fn0011"><sup>11</sup></xref> in samples of plain-text. The models built by the technique provide an estimate of the <italic>unseen probability mass</italic> from a sample. In this research we use a simplified form of the algorithm <bold>SGT</bold> from Gale and Sampson (<xref ref-type="bibr" rid="B10">1995</xref>) to fit Good-Turing frequency models on samples of real-world network traffic data.</p>
<sec>
<title>3.1 Good-Turing frequency estimation</title>
<p>The original motivation for the Good-Turing Frequency estimation relates to what can be sensibly inferred <italic>beyond</italic> a sample of nominal objects relating to objects not present in the sample. It takes as input the counts of objects in the sample, and then uses the counts of the counts (spectra) to fit a log-log regression equation. For each model, the method returns the <italic>slope</italic> and the <italic>intercept</italic> of the regression equation, as well as a goodness-of-fit measure (<italic>r</italic><sup>2</sup>). The fitted model can be used to provide smoothed estimates of probabilities of objects occurring in the population, including an estimate of the <italic>unseen probability mass</italic> <bold>P0</bold>. This method works even when the underlying population cardinally is very large (or indeed infinite)<xref ref-type="fn" rid="fn0012"><sup>12</sup></xref>. We are predominantly interested in the parameter <bold>P0</bold>&#x02014;and using it as as an indicator of <italic>volatility</italic>.</p>
</sec>
<sec>
<title>3.2 Analyzing network traffic with SGT</title>
<p>For all analyses we used data collected from the real-world network described in Section 2.2. We are interested in the originators of network messages and responders, originator-responder pairs, as well as gross network traffic, and that of specific devices. We aim to determine whether the Simple Good-Turing (SGT) models show evidence of utility in measuring network event volatility from daily <monospace>conn</monospace> data. The process for analyzing the data, particularly the SGT models, is outlined in <xref ref-type="fig" rid="F4">Figure 4</xref>.</p>
<fig id="F4" position="float">
<label>Figure 4</label>
<caption><p>Outline process for calculating Simple Good-Turing (SGT) analysis based on <monospace>id.orig_h</monospace> data recorded in the <monospace>conn</monospace> network flow meta-data table. The process is analogous for generating SGT trends for <monospace>id.orig_resp</monospace> models and <monospace>id.orig_h</monospace>&#x02013;<monospace>id.orig_resp</monospace> pairs models.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fcomp-06-1321238-g0004.tif"/>
</fig>
<p>Recall that <bold>Hypothesis 1</bold> (see Section 1.5) concerns <italic>volatility</italic> for which we use the SGT estimate of unobserved species of network communication events, <italic>P</italic>0<sub><italic>events</italic></sub>. Does <italic>P</italic>0<sub><italic>events</italic></sub> vary over time? If there is a variation, can we determine <italic>low volatility</italic> and <italic>high volatility</italic> periods of network traffic? A summary of the SGT analysis of the network traffic follows<xref ref-type="fn" rid="fn0013"><sup>13</sup></xref>. <xref ref-type="fig" rid="F5">Figure 5</xref> shows daily statistics for aggregate counts of source and destination connections (individually and as pairs) observed, as well as the number of devices.</p>
<fig id="F5" position="float">
<label>Figure 5</label>
<caption><p>Simple Good-Turing frequency analysis of individual Originating IP addresses, individual Responding IP addresses, and combined Originating-Responding IP address pairs by day. <bold>(A)</bold> <italic>P</italic>0 SGT probability mass of unseen addresses (a proxy for volatility) Originating IP addresses (purple <inline-graphic mimetype="image" mime-subtype="tiff" xlink:href="fcomp-06-1321238-i0001.tif"/>); Responding IP addresses (pink <inline-graphic mimetype="image" mime-subtype="tiff" xlink:href="fcomp-06-1321238-i0002.tif"/>); Originating-Responding IP address pairs (green <inline-graphic mimetype="image" mime-subtype="tiff" xlink:href="fcomp-06-1321238-i0003.tif"/>). <bold>(B)</bold> Daily count of IP addresses Originating IP addresses (dark blue); Responding IP addresses (light blue <inline-graphic mimetype="image" mime-subtype="tiff" xlink:href="fcomp-06-1321238-i0004.tif"/>); Originating-Responding IP address pairs (black <inline-graphic mimetype="image" mime-subtype="tiff" xlink:href="fcomp-06-1321238-i0005.tif"/>). <bold>(C)</bold> Orange bars number of monitored connections. <bold>(D)</bold> Model fit parameters intercept (red <inline-graphic mimetype="image" mime-subtype="tiff" xlink:href="fcomp-06-1321238-i0006.tif"/>), slope (blue <inline-graphic mimetype="image" mime-subtype="tiff" xlink:href="fcomp-06-1321238-i0007.tif"/>), <italic>r</italic><sup>2</sup> (green <inline-graphic mimetype="image" mime-subtype="tiff" xlink:href="fcomp-06-1321238-i0008.tif"/>) model for Originating IP addresses (solid lines <inline-graphic mimetype="image" mime-subtype="tiff" xlink:href="fcomp-06-1321238-i0009.tif"/>); Model for Responding IP addresses (dashed lines <inline-graphic mimetype="image" mime-subtype="tiff" xlink:href="fcomp-06-1321238-i0010.tif"/>); Originating-Responding IP address pairs (dotted lines <inline-graphic mimetype="image" mime-subtype="tiff" xlink:href="fcomp-06-1321238-i0011.tif"/>).</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fcomp-06-1321238-g0005.tif"/>
</fig>
<p>The following observations are from the 172 day period for which data was collected. The daily number of devices (max. 185/min. 28) and connections (max. 561.7K/min. 63.7K) are correlated with the organizations work patterns, with noticeably lower counts on work-weekends. Network connection rates (weakly positively) correlate to low values of <italic>P</italic>0 (<italic>low volatility</italic>). The number of originating devices is about forty-fold lower than the responding devices<xref ref-type="fn" rid="fn0014"><sup>14</sup></xref>, and that the values of originating and responding <italic>P</italic>0 do not appear to be tightly coupled.</p>
<p>From this, we adopt the conclusion that the SGT <italic>P</italic>0 measure can be used to identify time periods of higher and lower of network traffic volatility in real-world data.</p>
<p><bold>Hypothesis 2</bold> (see Section 1.5) Identifying <italic>individual devices</italic> that are easier-to-secure than others by using the SGT <italic>P</italic>0 value. For each device the SGT <italic>P</italic>0<sub><italic>Device</italic></sub> was calculated for each day. The mean <inline-formula><mml:math id="M1"><mml:mover accent="true"><mml:mrow><mml:mi>P</mml:mi></mml:mrow><mml:mo>^</mml:mo></mml:mover><mml:msub><mml:mrow><mml:mn>0</mml:mn></mml:mrow><mml:mrow><mml:mi>D</mml:mi><mml:mi>e</mml:mi><mml:mi>v</mml:mi><mml:mi>i</mml:mi><mml:mi>c</mml:mi><mml:mi>e</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> for the 172 day period along with the standard deviations were also calculated (see footnote <xref ref-type="fn" rid="fn0013"><sup>13</sup></xref>). Both daily and mean <italic>P</italic>0<sub><italic>Device</italic></sub> values vary significantly. with the mean SGT metric varying from lowest device to highest device of two orders of magnitude. The standard deviations also allows the identification of devices that are consistently low volatility.</p>
<p>Ranking the devices from lowest to highest <inline-formula><mml:math id="M2"><mml:mover accent="true"><mml:mrow><mml:mi>P</mml:mi></mml:mrow><mml:mo>^</mml:mo></mml:mover><mml:msub><mml:mrow><mml:mn>0</mml:mn></mml:mrow><mml:mrow><mml:mi>D</mml:mi><mml:mi>e</mml:mi><mml:mi>v</mml:mi><mml:mi>i</mml:mi><mml:mi>c</mml:mi><mml:mi>e</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> shows a sigmoid-shaped plot (see <xref ref-type="fig" rid="F6">Figure 6</xref>). <xref ref-type="fig" rid="F7">Figure 7</xref> focuses in on the lowest twelve lowest scoring devices. For comparison, the period run-charts for a low and a high value <inline-formula><mml:math id="M3"><mml:mover accent="true"><mml:mrow><mml:mi>P</mml:mi></mml:mrow><mml:mo>^</mml:mo></mml:mover><mml:msub><mml:mrow><mml:mn>0</mml:mn></mml:mrow><mml:mrow><mml:mi>D</mml:mi><mml:mi>e</mml:mi><mml:mi>v</mml:mi><mml:mi>i</mml:mi><mml:mi>c</mml:mi><mml:mi>e</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> are shown in <xref ref-type="fig" rid="F8">Figure 8</xref>.</p>
<fig id="F6" position="float">
<label>Figure 6</label>
<caption><p>Simple Good-Turing frequency analysis summary of individual internal IP addresses observed daily rank ordered by mean P0 value for the period. The device with lowest average volatility is the left-most data-point; and the device with the highest average volatility is the right-most data-point. <bold>(A)</bold> blue bars <inline-graphic mimetype="image" mime-subtype="tiff" xlink:href="fcomp-06-1321238-i0012.tif"/>&#x02013; the period average <italic>P</italic>0<sub><italic>conn</italic></sub> each bar represents a single <monospace>id.orig_h</monospace> (e.g., an IP address); <bold>(B)</bold> red bars <inline-graphic mimetype="image" mime-subtype="tiff" xlink:href="fcomp-06-1321238-i0013.tif"/>&#x02013; the period standard deviation of <italic>P</italic>0<sub><italic>conn</italic></sub>; <bold>(C)</bold> green bars <inline-graphic mimetype="image" mime-subtype="tiff" xlink:href="fcomp-06-1321238-i0014.tif"/>&#x02013; the number of days the <monospace>id.orig_h</monospace> is active in the period (maximum = 171 days). Note that the <bold>(A, B)</bold> are log scales, while the <bold>(C)</bold> is linear scale.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fcomp-06-1321238-g0006.tif"/>
</fig>
<fig id="F7" position="float">
<label>Figure 7</label>
<caption><p>Simple Good-Turing frequency analysis summary of individual internal IP addresses observed daily. Rank ordered by mean P0 value for the period Zoomed in on the lowest 12 ranked P0 IP addresses. <bold>(A)</bold> blue bars <inline-graphic mimetype="image" mime-subtype="tiff" xlink:href="fcomp-06-1321238-i0015.tif"/>&#x02013; the period average <italic>P</italic>0<sub><italic>conn</italic></sub> each bar represents a single <monospace>id.orig_h</monospace> (e.g., an IP address); <bold>(B)</bold> red bars <inline-graphic mimetype="image" mime-subtype="tiff" xlink:href="fcomp-06-1321238-i0016.tif"/>&#x02013; the period standard deviation of <italic>P</italic>0<sub><italic>conn</italic></sub>; <bold>(C)</bold> green bars <inline-graphic mimetype="image" mime-subtype="tiff" xlink:href="fcomp-06-1321238-i0017.tif"/>&#x02013; the number of days the device was operating. Note that the <bold>(A, B)</bold> are log scales, while the <bold>(C)</bold> is linear scale.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fcomp-06-1321238-g0007.tif"/>
</fig>
<fig id="F8" position="float">
<label>Figure 8</label>
<caption><p>Simple Good-Turing frequency analysis summary of internal IP addresses 10.0.0.8 (high P0 values) and 10.0.0.145 (low P0 values)observed daily. Blue line <inline-graphic mimetype="image" mime-subtype="tiff" xlink:href="fcomp-06-1321238-i0018.tif"/>&#x02013; device with IP address <monospace>10.0.0.145</monospace>, Red line <inline-graphic mimetype="image" mime-subtype="tiff" xlink:href="fcomp-06-1321238-i0019.tif"/>&#x02013; device with IP address <monospace>10.0.0.8</monospace>. The P0 axis is linear (not logarithmic as in some other figures).</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fcomp-06-1321238-g0008.tif"/>
</fig>
<p>We adopt a second conclusion that the SGT <italic>P</italic>0 measure can be used to identify individual device of higher and lower of network traffic volatility in real-world data.</p>
</sec>
<sec>
<title>3.3 SGT discussion</title>
<p>Like a skilled cyber defender, we would like to understand what the actual devices are and their roles. However, passive network eavesdropping rarely produces definitive identity information. The MAC address of a device allows us to guess the manufacturer of the device<xref ref-type="fn" rid="fn0015"><sup>15</sup></xref>. Information gleaned<xref ref-type="fn" rid="fn0016"><sup>16</sup></xref> from active vulnerability scanning can help. Combining both such sources allows us to form an opinion about one particular high scoring <inline-formula><mml:math id="M4"><mml:mover accent="true"><mml:mrow><mml:mi>P</mml:mi></mml:mrow><mml:mo>^</mml:mo></mml:mover><mml:msub><mml:mrow><mml:mn>0</mml:mn></mml:mrow><mml:mrow><mml:mi>D</mml:mi><mml:mi>e</mml:mi><mml:mi>v</mml:mi><mml:mi>i</mml:mi><mml:mi>c</mml:mi><mml:mi>e</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>. The conjecture is that it is a WiFi access point or router which is always on and interacting with a vast number of devices on behalf of its connecting devices.</p>
<p>By studying the hardware <italic>MAC</italic> address of the third lowest scoring <inline-formula><mml:math id="M5"><mml:mover accent="true"><mml:mrow><mml:mi>P</mml:mi></mml:mrow><mml:mo>^</mml:mo></mml:mover><mml:msub><mml:mrow><mml:mn>0</mml:mn></mml:mrow><mml:mrow><mml:mi>D</mml:mi><mml:mi>e</mml:mi><mml:mi>v</mml:mi><mml:mi>i</mml:mi><mml:mi>c</mml:mi><mml:mi>e</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> device, and combining the information from the device&#x00027;s vulnerability scan (that we were fortunate to already have with the data) we determine its hardware and operating system. This is fortuitous, as it directly identifies the IoT-like network monitoring device that was placed in the network. We also make some tentative guesses that amongst the lowest five volatility scoring devices are a router, a network-attached-storage device, and a printer. Having identified an IoT device using the SGT analysis of network connection information Section 4 details how the data can be used to perform behavioral cloning.</p>
<p>With respect to the first hypothesis regarding whether SGT <italic>P</italic>0 can be used to identify fluctuations in gross network network-as-whole traffic over time, the answer is a cautious <italic>Yes</italic>. With respect to the second hypothesis regarding whether <italic>P</italic>0 can be used to identify individual devices that show markedly lower (or higher) <italic>P</italic>0, the answer is a more confident <italic>Yes</italic>.</p>
</sec>
</sec>
<sec id="s4">
<title>4 Sequence grammar induction and device behavioral cloning</title>
<p>Behavioral cloning is the machine learning process of recording the performances of skilled agents and using induction algorithms on the traces of the behavior so as to generate models that behave in a similar manner as the original agent (Bain and Sammut, <xref ref-type="bibr" rid="B4">1995</xref>). Typically the agents under consideration are skilled humans, but here we are interested in inducing models of device behavior. For this purpose we study the network event traces of an identified low SGT <italic>P</italic>0 volatility IoT-like device. We use the compression and grammatical induction system <monospace>SEQUITUR</monospace> (Neville-Manning and Witten, <xref ref-type="bibr" rid="B36">1997</xref>).</p>
<p>One way to consider machine learning is that it is the (algorithmic) extraction of patterns from data. Another view is that machine learning is about extracting generalizations from specific examples. The related Minimum Description Length (MDL) principle is that &#x0201C;what is learned by a machine learning scheme is a kind of theory of the domain from which the examples are drawn&#x0201D; (Frank et al., <xref ref-type="bibr" rid="B9">2016</xref>). From Ockham&#x00027;s Razor we prefer the shortest theory with the same explanatory power, which means that MDL encourages the selection of the shortest theory that allows us to reconstruct the original example data. This is similar to the objectives of a compression algorithm that allows us to regenerate the original (data) file from the generalized (or compressed) file.</p>
<p>In this research we use the <monospace>SEQUITUR</monospace> compression algorithm from Neville-Manning and Witten (<xref ref-type="bibr" rid="B36">1997</xref>). It is a lossless compression algorithm with a computational complexity linear in the size of the input and is particularly well suited to long sequences. Furthermore, the compressed output contains a human-readable data structure&#x02014;a hierarchical grammar&#x02014;that explicitly encodes for frequent sub-sequences from the original file.</p>
<sec>
<title>4.1 Analyzing the network traffic of a single device with <monospace>SEQUITUR</monospace></title>
<p>From the 185 devices observed we selected the device with IP address <monospace>10.0.0.145</monospace> which (1) had very low volatility; and (2) we could identify it (as the IoT-like network monitoring). The overall data transformation process is depicted in <xref ref-type="fig" rid="F3">Figure 3</xref>. Here we focus on the sequence mining using <monospace>SEQUITUR</monospace>. For full details of the analyses including source listings refer to Moyle et al. (<xref ref-type="bibr" rid="B32">2023b</xref>). The outline process is:</p>
<list list-type="bullet">
<list-item><p>Select a day&#x00027;s Zeek data for the identified device (2021-01-10, consisting of 3,613 events);</p></list-item>
<list-item><p>Build string tokens combining the <monospace>conn</monospace> table fields: <monospace>id.origh_h</monospace> &#x02013; source IP address, <monospace>id.resp_h</monospace> &#x02013; destination IP address, <monospace>id.resp_p</monospace> &#x02013; destination port number, <monospace>prot</monospace> &#x02013; identified protocol, and <monospace>service</monospace> &#x02013; identified service for each network connection event that the device has.</p></list-item>
<list-item><p>Hash the string tokens to a unique 9 digit number as connection event IDs.</p></list-item>
<list-item><p>Input the sequence of 3,613 connection event IDs into <monospace>SEQUITUR</monospace> to generate the hierarchical compression grammar.</p></list-item>
</list>
</sec>
<sec>
<title>4.2 Hierarchical grammar output</title>
<p>One of the strengths of the <monospace>SEQUITUR</monospace> approach is that it produces human comprehensible symbolic output. As it is designed for compression, the expansion process must be able recreate the original input. The first item in the <monospace>SEQUITUR</monospace> output is the <italic>start rule</italic> (<italic>S</italic>0); which is then followed by a series of <italic>grammar rules</italic> each with a unique rule identifier (<italic>R</italic><sub><italic>i</italic></sub>). The start rule&#x02014;typically very long&#x02014;contains instructions for where to expand the grammar rules. Each of the grammar rules contains grammatical structure as well as the original string elements that it encodes for.</p>
<p><monospace>SEQUITUR</monospace> takes our input of 3,613 connection IDs and produces one start rule, and 129 grammar rules. Consider Grammar Rule 118 as an example (see <xref ref-type="fig" rid="L1">listing 1</xref>). To expand <italic>S</italic>0, simply replace every occurrence of <monospace>118</monospace> with <monospace>271311686, 847213017, 847213017</monospace>, <monospace>271311686</monospace>.</p>
<fig id="L1" position="float">
<label>Listing 1</label>
<caption><p><monospace>SEQUITUR</monospace> Grammar Rule 118 details. A reformatting of the raw <monospace>SEQUITUR</monospace> grammar in that it includes the original mapping between the network connection event metadata information and their unique 9 digit number IDs.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fcomp-06-1321238-g0012.tif"/>
</fig>
<sec>
<title>4.2.1 Visualization of sequence information</title>
<p>Mapping grammar rule numbers and connection event IDs to unique colors, leads to a natural visualization. For example The full expansion for rule 118 can be visualized by overlaying the colored <italic>tiles</italic> for IDs 271311686 and 847213017, on the rule color tile rectangle for Rule 118 as depicted in <xref ref-type="fig" rid="F9">Figure 9</xref>. A simple tool was developed for visualizing sequences and the grammar rules using such a color tiling scheme.<xref ref-type="fn" rid="fn0017"><sup>17</sup></xref> It provides a way of browsing the original input sequence, guided by information overlaid from the <monospace>SEQUITUR</monospace> sequence extraction and some other sources.</p>
<fig id="F9" position="float">
<label>Figure 9</label>
<caption><p>Simple <monospace>SEQUITUR</monospace> sequence visualization for example grammar rule 118. The backgound color pink is specific to the grammar rule, while the colors of the square tiles are unique to each of the underlying network connection IDs (or tokens). The left-to-right order of the tokens is from the original input sequence.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fcomp-06-1321238-g0009.tif"/>
</fig>
<p>In studying the <italic>sequence</italic> of events we drop the timestamps and focus only on the <italic>ordering</italic> of events.<xref ref-type="fn" rid="fn0018"><sup>18</sup></xref> Having discarded absolute temporal information and relied on event ordering to produce a visualization, we incorporate some adornments to convey some absolute temporal information. These include (1) to identify grammar rule sub-sequences that recur at the same relative time, we add a simple black strike-through marker to the visualization to indicate which is the first token tile to occur after the a new hour; (2) to indicate a beginning of a group of events that are clustered<xref ref-type="fn" rid="fn0019"><sup>19</sup></xref> within a pre-defined tolerance with a red underline. These features are shown in <xref ref-type="fig" rid="F10">Figure 10</xref>.</p>
<fig id="F10" position="float">
<label>Figure 10</label>
<caption><p>A simple <monospace>SEQUITUR</monospace>-based sequence visualization. Individual event tokens are represented by colored squares. The sequence of events flows left-to-right, top-to-bottom. Underlayed on the event tokens are colored rectangles representing recurring sub-sequence patterns extracted by <monospace>SEQUITUR</monospace> rules. Tool tips (not shown) provide detail information for selected event tokens. Adornments relating to absolute timestamps are black strike-throughs (e.g., which token is nearest to the start of an hour). Red underlines denote the start of a cluster of events. Note that the purple highlighted borders are manually drawn, to show the occurrences of rule 118 in the context of the the input sequence of tokens. The events are from 00:00 UTC to approximately is 06:00 UTC. Each instance of rule 118&#x00027;s sub-sequence is in its own cluster (&#x003F5; &#x0003D; 5.0 seconds), and <italic>not</italic> at the top-of-the-hour.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fcomp-06-1321238-g0010.tif"/>
</fig>
</sec>
</sec>
<sec>
<title>4.3 Sequence grammar induction discussion</title>
<p>The use of <monospace>SEQUITUR</monospace> for the sequence mining of network connection events was successfully incorporated into a visualization enabling a human to browse and identify repeating sequences generated by a low volatility IoT-like device. The internal hierarchical grammar induced by <monospace>SEQUITUR</monospace> has been helpful. However, we have not yet <italic>explained</italic> any of the recurring sequence patterns, but it is a key step in the behavior cloning process which is completed in the logical inductions that follow in Section 5.</p>
</sec>
</sec>
<sec id="s5">
<title>5 Logical XAI for cyber defense</title>
<sec>
<title>5.1 Logic for human-computer interaction and reasoning</title>
<p>Mathematical logic has a long history including being used by the pioneers of AI (McCarthy, <xref ref-type="bibr" rid="B26">1959</xref>; Robinson, <xref ref-type="bibr" rid="B44">1965</xref>; Barrett and Connell, <xref ref-type="bibr" rid="B5">2005</xref>). Indeed, when it comes to a strategy for building a <italic>Thinking Machine</italic> Turing sees logic as a fundamental component (Turing, <xref ref-type="bibr" rid="B51">1950</xref>). Logic provides a way of explicitly encoding knowledge with well defined semantics. A form of logic primarily for knowledge sharing and reasoning has been used for more than 20 years to power the WC3&#x00027;s <italic>Semantic Web</italic> (Koivunen and Miller, <xref ref-type="bibr" rid="B21">2001</xref>).</p>
<p>The forms and power of reasoning vary. Most often the form of logical reasoning used is <italic>deduction</italic>, being a relatively efficient and safe way of drawing conclusions from known trusted information. Deductions take <italic>general laws</italic> and <italic>cases</italic> to derive sound <italic>results</italic>. However humans are able to reason with incomplete, and sometimes contradictory evidence, more akin to <italic>abductive</italic> reasoning. Abductions take known <italic>general laws</italic> and <italic>results</italic> to speculate on unknown <italic>cases</italic>. Abductive Logic, and its implementations (e.g., Arias et al., <xref ref-type="bibr" rid="B1">2018</xref>) are beginning to make contributions to cyber defense research (Moyle et al., <xref ref-type="bibr" rid="B30">2023a</xref>).</p>
</sec>
<sec>
<title>5.2 Machine learning in logic: inductive logic programming</title>
<p>A third form of reasoning, <italic>induction</italic>, takes as input <italic>cases</italic> and <italic>results</italic> and hypothesizes <italic>general laws</italic>. Inductive Logic Programming (ILP) (Muggleton and Raedt, <xref ref-type="bibr" rid="B34">1994</xref>) is a form of symbolic machine learning where all aspects of the learning problem are specified and modeled as fragments of logic programs&#x02014;typically as <monospace>Prolog</monospace> programs. The resulting models are <italic>comprehensible</italic> for humans. This makes the approach well suited to interactions with domain experts in their quest to explain some phenomena.</p>
<p>A simple tutorial illustration demonstrates how Inductive Logic Programming differs from Deductive Logic Programming is shown in <xref ref-type="fig" rid="F11">Figure 11</xref>. Background knowledge encoded in logic (in the example these are known relationships in the family domain; but in general can be anything); examples are the positive/negative examples to be explained (also in logic) (in the example there are two positive examples of the relationship grandfather&#x02014;and no negative examples); the hypothesis or explanatory model (to be generated as a fragment of logic). The outputs (models), being in logic, are easily comprehensible. ILP, however, is poor in domains with numerical or probabilistic information, and it is computationally expensive making the use of very large datasets problematic. It is normally used in a batch mode [refer to Ko (<xref ref-type="bibr" rid="B20">2000</xref>) and Moyle and Heasman (<xref ref-type="bibr" rid="B31">2003</xref>) for batch mode ILP in cyber security domains].</p>
<fig id="F11" position="float">
<label>Figure 11</label>
<caption><p>Tutorial illustration of Inductive Logic Programming. The <bold>left</bold>-hand panel &#x02013; <italic>(Deductive) LP</italic> &#x02013; depicts the normal deductive usage of Logic Programming where sound conclusions are derived from general rules about the grandfather relationship and specific facts. The <bold>right</bold>-hand panel &#x02013; <italic>(Inductive) LP</italic> &#x02013; depicts the (potentially unsafe) production of a general law about the grandfather relationship, produced from specific examples of grandfathers and other associated background facts.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fcomp-06-1321238-g0011.tif"/>
</fig>
<p>In this research we use Srinivasan&#x00027;s <monospace>ALEPH</monospace> ILP system (Srinivasan, <xref ref-type="bibr" rid="B47">2001</xref>) as it provides an extensive set of features and capabilities. It requires configuration parameters to be specified that relate to the specific machine learning context and task. Normally, this process is done in a batch fashion, but in this work, an interaction with a domain expert, in which they constantly feed in more guidance and expertise as the search for an explanation that is acceptable to them converges. <monospace>ALEPH</monospace> has some support for such an interactive usage mode, but extended features are provided by the <monospace>ACUITY</monospace> wrapper system (Ray et al., <xref ref-type="bibr" rid="B42">2016</xref>; Ray and Moyle., <xref ref-type="bibr" rid="B43">2021</xref>). The formation of the explanation is a <bold>co-discovery</bold> with the ILP system being guided by a (cyber security network forensics) domain expert. For such an interaction between human and machine, it is important that the both parties can comprehend (Michie, <xref ref-type="bibr" rid="B29">1988</xref>) any intermediate results, and react to what has been produced in a way so as to refine the outputs into an <italic>acceptable</italic><xref ref-type="fn" rid="fn0020"><sup>20</sup></xref> explanatory theory.</p>
<p>An outline of the interactive ILP process is:</p>
<list list-type="order">
<list-item><p>Assemble data, background knowledge, and settings (as fragments of a Logic Program).</p></list-item>
<list-item><p><bold>Select</bold> a specific exemplar to be explained.</p></list-item>
<list-item><p>Let <monospace>ALEPH</monospace> build a most specific clause and search the lattice with respect to the input data, background knowledge, constraints, and settings &#x02013; outputting a <italic>proposed explanation</italic> as a single <monospace>Prolog</monospace> rule.</p></list-item>
<list-item><p><bold>If</bold> the <italic>proposed explanation</italic> is acceptable, <bold>then</bold> remove all the other examples that are also explained by the acceptable explanation, <bold>otherwise</bold> the human communicates to <monospace>ACUITY</monospace> that the <italic>proposed explanation</italic> is unacceptable, and makes changes to settings and other constraints, then repeat step 2.</p></list-item>
<list-item><p><bold>If</bold> more examples exist go back to step 2 and select another unexplained exemplar; <bold>otherwise</bold> output the collection of all rules and other knowledge accumulated in the session as the <italic>explanatory theory</italic>.</p></list-item>
</list>
</sec>
<sec>
<title>5.3 Experiment to logically explain NetMon data</title>
<p>Having identified a single IoT-like device operating within the operational network (see Section 3.3), we wish to use a Human-XAI approach in the explanation of a sequence of related network events (see: Section 4.2.1) that can be incorporated into a (partial) specification of what the device <italic>normally</italic> does. Often, a key challenge for securing IoT devices is first identifying their presence on the network (as asset registers do not exist, or they have not been properly maintained). The analysis of the data in Section 3.3 identified that the <italic>volatility</italic> of network connections to/from a device provides an indication, relative to other devices on the same observed network, of whether it belongs to the class of <italic>IoT-like</italic> devices. From that analysis the device with IP address <monospace>10.0.0.145</monospace> had low volatility and was selected for further the explanatory analysis.</p>
<sec>
<title>5.3.1 <monospace>ACUITY</monospace> Data preparation</title>
<p>The data transformation process is depicted in <xref ref-type="fig" rid="F3">Figure 3</xref>. The following summarizes the process for building the inputs to the XAI machine learning system <monospace>ACUITY</monospace>. It takes as a precursor, the data transformations described in Section 4.1:</p>
<list list-type="bullet">
<list-item><p>Use the sequence visualization to identify interesting (repeating) subsequences as examples for XAI machine learning.</p></list-item>
<list-item><p>The following items are then utilized by the XAI machine learning system:
<list list-type="simple">
<list-item><p>- The raw Zeek <monospace>conn</monospace>ection table event records;</p></list-item>
<list-item><p>- The extracted Zeek <monospace>dns</monospace> and <monospace>dhcp</monospace> table event records;</p></list-item>
<list-item><p>- The sequence pattern data extracted by the <monospace>SEQUITUR</monospace> system (see Section 4.2)</p></list-item>
<list-item><p>- The hierarchical grammar and supporting data elements (from <monospace>SEQUITUR</monospace>).</p></list-item>
<list-item><p>- <monospace>Prolog</monospace> code providing logical relationships between entities.</p></list-item>
</list></p></list-item>
</list>
<p>A noteworthy inclusion of cyber defender expertise into the XAI background knowledge relates to the concept of <italic>beaconing</italic>. This is a common design pattern in IoT-like devices that regularly contact a central service for any pending commands<xref ref-type="fn" rid="fn0021"><sup>21</sup></xref>. A fragment of <monospace>Prolog</monospace> was coded to determine if there was a time around which repeating sequences clustered with respect to the minute hand on the clock. This specification was made available in the learning process. Detailed Data Understanding and Data Preparation information can be found in Moyle et al. (<xref ref-type="bibr" rid="B32">2023b</xref>).</p>
</sec>
<sec>
<title>5.3.2 Human-Machine XAI explaining a <monospace>SEQUITUR</monospace> sequence</title>
<p>This section outlines a proof-of-principle experiment using <monospace>ACUITY</monospace> to explain one of the subsequences extracted by <monospace>SEQUITUR</monospace> from network monitoring data of the device at IP address <monospace>10.0.0.145</monospace> on 2021-01-01. The exemplar under study is grammar <monospace>Rule</monospace> <monospace>8</monospace> which is a sequence of events containing four elements with the token hashes <monospace>[363783709, 100233664, 100233664, 363783709]</monospace>, and occurs 18 times in the twenty-four hour period under study.</p>
<p>Following the process outlined in Section 5.2 leads to a co-discovery conversation between the cyber defense expert and the machine learning system in which seven interactions occur: an example to be explained is selected<xref ref-type="fn" rid="fn0022"><sup>22</sup></xref>; the first suggested explanation is rebutted; the expert defines an over-general constraint; a counter example is added to refute another explanation; constraints are added based on what the expert finds most interesting (twice); and the explanation (known as the <monospace>theory</monospace>&#x02013;see <xref ref-type="fig" rid="L2">listing 2</xref>) is accepted. For complete details see Moyle et al. (<xref ref-type="bibr" rid="B32">2023b</xref>).</p>
<fig id="L2" position="float">
<label>Listing 2</label>
<caption><p>Explanatory Theory of grammar rule 8 for the IoT-like eavesdropping device learned with <monospace>ACUITY</monospace>.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fcomp-06-1321238-g0013.tif"/>
</fig>
<p>The theory to explain the sequence that is generated starting from the single example of <monospace>SEQUITUR</monospace> grammar rule 8 consists of the single positive example (<monospace>exp_seq(8)</monospace>), two expert introduced examples (&#x0201C;this is not an example of a grammar rule 8 sequence&#x0201D;), and a single (<monospace>ALEPH</monospace> rule). This rule can be directly translated from the <monospace>Prolog</monospace> rule in <xref ref-type="fig" rid="L2">listing 2</xref> into English:</p>
<disp-quote><p>The sequence of events is explained if: the sequence grammar rule starts with a Zeek UUID (<italic>B</italic>) and that the next event after <italic>B</italic> is <italic>C</italic> and the next event after <italic>C</italic> is <italic>D</italic>. The event <italic>D</italic> connects to port service <monospace>ssh</monospace> at the server <monospace>&#x00027;ec2-3-209-99-56.compute-1.amazonaws.com&#x00027;</monospace>, at the beaconing frequency of 10 minutes past the hour.</p></disp-quote>
</sec>
<sec>
<title>5.3.3 Evaluation</title>
<p>We are fortunate to have access to the device manufacturer of the device instance we are studying. The device developers confirm that the device class has code that attempts to establish a connection to the named cloud host every 10 minutes past the hour, as shown in the implemented code fragment for the device&#x00027;s <italic>cron</italic> scheduler in <xref ref-type="fig" rid="L3">listing 3</xref>.</p>
<fig id="L3" position="float">
<label>Listing 3</label>
<caption><p>Beaconing <monospace>ssh</monospace> connection to the cloud-based controller in the <monospace>cron</monospace> scheduler of device 10.0.0.145.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fcomp-06-1321238-g0014.tif"/>
</fig>
<p>We further check the coverage of the final theory with respect to the data for the entire day, in which we find that both <monospace>SEQUITUR</monospace> grammar rules 8 and 191 are predicted by the final theory. Inspection of grammar rule 191 shows that it is an extension of rule 8 (and is probably produced by an over specification<xref ref-type="fn" rid="fn0023"><sup>23</sup></xref> by the compression algorithm).</p>
<p>The cyber defender is sufficiently content in the explanation that they have co-constructed with the XAI system in that (1) it fits their broad understanding and experience; (2) it covers other unnoticed instances; and (3) it does not false alarm. They are also relieved that they have not had to spend much effort in studying detailed logs, and the extensive searching for explanations has been done by the machine.</p>
</sec>
</sec>
</sec>
<sec sec-type="discussion" id="s6">
<title>6 Discussion</title>
<p>Cyber defenders are deluged by data that lacks labels to make machine learning and other artificial intelligence techniques a challenge to apply. Scarce human defenders themselves can be significantly enhanced if they can team up with an XAI that amplifies their skills. This requires both the Human and Machine can share with each other what they know and what it is that they have newly determined. In this research we have used network monitoring meta data as a first source of data. This data is transformed and filtered through a <italic>volatility</italic> measure, which provides the ability to identify both periods of operation as well as individual devices that are easier to defend.</p>
<p>It can be difficult for academic cyber security researchers to obtain real world data. For this research it was possible to utilize approximately six months of operational network data from a modest sized organization. 185 individual devices were observed during the study period. Although the organization had a variety of devices there was only one fully identified device, the network monitoring system that was installed for this observational case study.</p>
<p>In Section 3 we showed how the <italic>Simple Good-Turing frequency estimator</italic> unobserved probability mass (<italic>P</italic>0) can be applied to the eavesdropped network metadata. Gross patterns of daily network traffic show periods of less volatility (and there is a strong correlation to periods when traffic and volatility can be expected to be relatively less&#x02014;e.g., on non-workdays). Average daily network volatility varies substantially throughout the 172 day period with a minimum value of 6.1 microns and a maximum value of 331 microns. In the same period, the number of observed devices varies between 28 and 185, whilst the total number of observed network connections in a one-day period varies from 63,710 to 561,742. The ratio of Originating device connections to Responding device connections is about 1 to 40, and that these two sources of <italic>P</italic>0 are not strongly correlated.</p>
<p>A spectrum of volatility exists in real device behavior, giving initial support that it is possible to identify easier-to-defend devices. Without physical access to the devices <italic>post-hoc</italic> identification of network devices is difficult. The analysis of the lowest ranked five devices <italic>suggests</italic> these are devices with repetitive simple behaviors. Unsurprisingly, the network monitoring system itself is a low volatility device, being the third lowest ranked device in the survey. As this device is fully specified and identified in advance, it allows any analyses to be compared to its designed IoT behavior, making it a good target for further detailed study.</p>
<p>The <monospace>SEQUITUR</monospace> compression algorithm is used to perform an initial phase of <italic>behavioral cloning</italic> to an arbitrary day&#x00027;s worth of metadata traffic containing 3,613 network <monospace>conn</monospace>ection events. <monospace>SEQUITUR</monospace> is used as a machine learning algorithm as its internal basis records a <italic>hierarchical grammar</italic>. This consists of grammar rules that encode repeating sequences. The whole original sequence can be visualized using a colored tiling that encodes both the individual events and the repeating sequences that are a component of. The <monospace>SEQUITUR</monospace> algorithm does not take account of the timestamps, only the sequence of events. This is similar to approaches taken elsewhere also in applied security domains (e.g., (Nguyen et al., <xref ref-type="bibr" rid="B37">2018</xref>)). However, adding back some information into the sequence visualization is helpful: (1) marking the beginning of each hour; and (2) clustering the events along the time dimension using the original timestamps. The human cyber defender can use the visualization to identify some (possibly recurring) sub-sequences that they want to explore more deeply. Each occurring instance of an identified becomes an <italic>example</italic> that can be used for the defender to give to the XAI.</p>
<p>The final phase of generating a behavioral cloning understanding of specific device behavior is performed in Section 5 using the interactive inductive logic programming system <monospace>ACUITY</monospace> (see Ray and Moyle., <xref ref-type="bibr" rid="B43">2021</xref>). This takes as input the example of the sequence of behavior to be explained, and contextual background knowledge. These inputs are all expressed as fragments of Logic Programs, which are comprehensible to the Human defender, and directly executable by the XAI [which conforms to Michie&#x00027;s description of an <italic>ulta-strong machine learner</italic> (Michie, <xref ref-type="bibr" rid="B29">1988</xref>)]. The defender is able to directly refute the XAI&#x00027;s working hypotheses when needed, to shape an explanation that sufficiently fits both the observed data and tacit expertise of the defender.</p>
<p>The result of theHuman-XAI collaboration session explains the <monospace>SEQUITUR</monospace> rule 8 pattern from a single example, with one negative example added by the defender, and one negative example inferred through the defender&#x00027;s rebuttal process. The explanation includes the defender&#x00027;s high-level concept of <italic>beaconing</italic> which is a common design pattern used in some IoT devices where they periodically contact a master controller for any pending commands at some regular frequency. It is rendered in English, but has a direct representation as a fragment of <monospace>Prolog</monospace>, which can be used to reason with, or even deploy as an allowable behavior of the device that can be permitted on the network at run time. This has some similarities logical induction of intrusion detection system rules reported in Ko (<xref ref-type="bibr" rid="B20">2000</xref>), but our approach does not require significant, pre-labeled balanced datasets.</p>
<p>Revisiting Michie&#x00027;s version of eXplainable AI which he calls <italic>Ultra-strong Machine Learning</italic> the following tests must be met:</p>
<list list-type="bullet">
<list-item><p><bold>[M1]</bold> <italic>[a] system [that] uses sample data (training set) &#x02026;</italic></p></list-item>
<list-item><p><bold>[M2]</bold> &#x02026;<italic>to generate an up-dated basis for improved performance on subsequent data &#x02026;</italic></p></list-item>
<list-item><p><bold>[M3]</bold> &#x02026;<italic>and also can communicate its internal updates in explicit &#x02026;</italic>
<list list-type="simple">
<list-item><p>- <bold>[M3.1]</bold> &#x02026;<italic>and operationally effective &#x02026;</italic></p></list-item>
<list-item><p>- <bold>[M3.2]</bold> &#x02026;<italic>symbolic form</italic></p></list-item>
</list></p></list-item>
</list>
<p>The results reported here were generated from a system that used sample data, which originated as network traffic, and was identified and selected by being filtered through volatility, then extracted as recurring sequence patterns. This satisfies Michie&#x00027;s <bold>[M1]</bold> requirement. The induced rule, mentioning beaconing, updated basis was applied to a randomly selected day of that devices network logs, and found that the behavior appears 24 times at the hourly time stamps forecast. This, then satisfies the <bold>[M2]</bold> requirement of improved performance, as without the rule, the system would not be able to identify the behavior in unseen data. Dealing with the combined <bold>[M3/M3.2]</bold>&#x02014;the cyber defender was able to verify the beaconing rule (indeed they helped create it) in the symbolic natural language formulation above, thus demonstrating that the system was able to communicate its internal update to a human. Finally, the combined <bold>[M3/M3.1]</bold> we see that we can directly utilize the isomorphic <monospace>Prolog</monospace> form of the beaconing rule, in both identifying the behavior in subsequent network logs, and also as part of a more fine-grained defensive system. Furthermore, we can add this operationalization to the manufacturer&#x00027;s specification for that device class (see Grayeli and Mulugeta, <xref ref-type="bibr" rid="B13">2020</xref>, ManySecured, <xref ref-type="bibr" rid="B25">2021</xref>) for use in other deployment contexts.</p>
<p>Although we have demonstrated XAI Human-Machine collaboration applied to network security, it still falls short of replacing human cyber defenders. The results above utilize restricted reasoning that is limited to deduction and some induction. Cyber defenders constantly form hypotheses, collect more evidence, and focus their investigations. They will use <italic>abductive</italic> reasoning (Peirce, <xref ref-type="bibr" rid="B40">1996</xref>) to form hypotheses and seek yet-to-be discovered evidence, whilst forming constraints based on the potentially contradictory evidence that will rule out incompatible hypotheses and lines of enquiry. Once the case is solved, then it is possible to follow a <italic>deductive</italic> reasoning process that explains the case and its artifacts. Abductive reasoning is difficult to achieve using standard logic programming techniques (e.g., like <monospace>Prolog</monospace>). Advances in <italic>Answer Set Programming</italic> (Lifschitz, <xref ref-type="bibr" rid="B23">2022</xref>)) provide for environments that describe their world in a comprehensible form (e.g., logic) whilst permitting missing and or contradictory evidence. Some initial explorations have been made in the field of cyber security in the <monospace>s(CASP)</monospace> environment (Moyle et al., <xref ref-type="bibr" rid="B30">2023a</xref>). Providing high-level symbolic interaction in natural language continues to be explored in the <monospace>s(CASP)</monospace> system (see Sartor et al., <xref ref-type="bibr" rid="B45">2023</xref>).</p>
</sec>
<sec id="s7">
<title>7 Conclusion and future work</title>
<p>To center this research clearly in the realms of eXplainable AI we have chosen to align with Donald Michie&#x00027;s definition of <italic>Ultra-strong Machine Learning</italic> (Michie, <xref ref-type="bibr" rid="B29">1988</xref>). As his definition insists at the outset on comprehensible internal models that are learned by the AI there is no need to reverse-engineer (Gunning et al., <xref ref-type="bibr" rid="B14">2021</xref>) any learned black-box model to understand what it might do when making predictions. Systems that perform within Michie&#x00027;s definition could be termed <italic>Self Explanatory AI</italic>.</p>
<p>Supported by an empirical case study we demonstrated that passively collected Network Monitoring event data can be used to identify the volatility of communications of network devices. It provides further evidence to motivate a systematic approach to the identification of individual devices&#x00027; network traffic volatility as provided by the Simple Good-Turing frequency estimator (Good, <xref ref-type="bibr" rid="B12">1953</xref>; Gale and Sampson, <xref ref-type="bibr" rid="B10">1995</xref>). We have shown with empirical evidence that there is a spectrum of easier-to-defend through to harder-to-defend network devices. This supports Meer&#x00027;s conjecture (Meer, <xref ref-type="bibr" rid="B27">2015</xref>) that it is very difficult to defend whilst much easier to attack.</p>
<p>The case study has also demonstrated that the symbolic compression algorithm, <monospace>SEQUITUR</monospace> (Neville-Manning and Witten, <xref ref-type="bibr" rid="B36">1997</xref>), can be used as a sequence pattern extractor from a stream of temporal network events. Furthermore, an elementary method for visualizing the sequence patterns provides a basic human-computer interface for navigating the network data. Humans can explore the network event interaction sequences via visualizations, and select targets for further investigations</p>
<p>The symbolic compression techniques can be used as a form of behavioral cloning (Bain and Sammut, <xref ref-type="bibr" rid="B4">1995</xref>) by extracting hierarchical grammars to describe sequences of network interactions. The grammars provide a component of background knowledge that can be deployed in an interactive inductive logic programming system (<monospace>ACUITY</monospace>, Ray et al., <xref ref-type="bibr" rid="B42">2016</xref>). Further rich knowledge about the cyber security domain and specific network security context can be added. For example, high-level concepts that cyber defenders understand, like the behavior pattern of device beaconing, can also be incorporated into the discourse. We demonstrated that a cyber defender can have a robust comprehensible direct interaction with the XAI machine learning environment to guide it toward a mutually understood explanation of the sample network phenomenon selected from the event logs.</p>
<p>The resulting knowledge produced was compared with the ground-truth knowledge from the generating device&#x00027;s actual behavior and that was found to be a consistent explanation. Such knowledge could be deployed in an operational role with high confidence to improve individual device security and security of the network.</p>
<p>The XAI systems used for this research are still very rudimentary, they do not yet fulfill the complete standard expected by Srinivasan et al. (<xref ref-type="bibr" rid="B48">2022</xref>) in which an XAI environment should to be two-way, requiring the XAI to be further capable of refuting the hypotheses of their human collaborator.</p>
<sec>
<title>7.1 Future work</title>
<p>There are numerous directions that can be pursued from this research ranging from empirical (e.g., more analysis of the existing data), to theoretical (e.g., how robust is SGT and how does it compare to other volatility measures?).</p>
<p>Is it possible to use the visualization of tilings in other ways? In Axon (<xref ref-type="bibr" rid="B2">2018</xref>) sounds are mapped to network traffic data for the purpose of network-security monitoring. The abstraction of data used in Axon (<xref ref-type="bibr" rid="B2">2018</xref>) is low level. A higher level of abstraction could be used for sonification by using analogs of the tokens and the token map visualization. For example each rule color (i.e., number) and each token color (token ID) can be mapped to particular tones and perhaps particular instrument timbres.</p>
<p>The proof of concept described has used data from on particular day from a single device. It is claimed that <monospace>SEQUITUR</monospace> (Neville-Manning and Witten, <xref ref-type="bibr" rid="B36">1997</xref>) is particularly effective when working with longer sequences. The current tooling for cyber defenders is crude and there are many plausible enhancements. The visualizations of the <monospace>SEQUITUR</monospace> outputs from sequence mining the network event data could be integrated into the <monospace>ACUITY</monospace> workflows to enhance the ability to explain most, if not all, sequence patterns produced by a single device. Improved user interfaces of the type being explored here (Deane and Ray, <xref ref-type="bibr" rid="B6">2023</xref>) may be beneficial.</p>
<p>We have not yet turned the new knowledge into an widely usable active defense. Having produced behavior explanations, can these be codified and exported in a standard form? Existing standards for IoT behavior specification include <italic>D3</italic> (ManySecured, <xref ref-type="bibr" rid="B25">2021</xref>) and <italic>MUD</italic> (Grayeli and Mulugeta, <xref ref-type="bibr" rid="B13">2020</xref>).</p>
<p>The system has a restricted power of reasoning as it is using standard logic programming deductive techniques which are limited to simple deductions appropriate when there is one single consistent logical <italic>model</italic>, whilst coping with inconsistencies and missing data are common in human reasoning. Using developments in <italic>Answer Set Programming</italic> (Lifschitz, <xref ref-type="bibr" rid="B23">2022</xref>) and <italic>s(CASP)</italic> (Arias et al., <xref ref-type="bibr" rid="B1">2018</xref>) for a more comprehensive reasoning basis will keep the formalism human comprehensible, and extend the power.</p>
<p>The above list is not exhaustive, but provides some future research and development directions. For a more detailed list see Moyle et al. (<xref ref-type="bibr" rid="B32">2023b</xref>).</p>
</sec>
</sec>
<sec sec-type="data-availability" id="s8">
<title>Data availability statement</title>
<p>The raw data supporting the conclusions of this article will be made available by the authors, without undue reservation.</p>
</sec>
<sec sec-type="author-contributions" id="s9">
<title>Author contributions</title>
<p>SM: Conceptualization, Data curation, Investigation, Methodology, Software, Visualization, Writing &#x02013; original draft, Writing &#x02013; review &#x00026; editing. AM: Project administration, Writing &#x02013; review &#x00026; editing. NA: Funding acquisition, Project administration, Resources, Writing &#x02013; review &#x00026; editing.</p>
</sec>
</body>
<back>
<sec sec-type="funding-information" id="s10">
<title>Funding</title>
<p>The author(s) declare that financial support was received for the research, authorship, and/or publication of this article. This research was funded in whole or in part by Innovate-UK 105592: CyberStone: Collaborative Secure IOT Gateway (ManySecured).</p>
</sec>
<ack><p>The authors gratefully acknowledge the feedback provided by the reviewers. SM gratefully acknowledges Ashwin Srinivasan for his long support and inspiration for <xref ref-type="fig" rid="F11">Figure 11</xref>.</p>
</ack>
<sec sec-type="COI-statement" id="conf1">
<title>Conflict of interest</title>
<p>NA was employed by NquiringMinds.</p>
<p>The remaining authors declare that the research was conducted in the absence of any commercial or financial relationships that could be construed as a potential conflict of interest.</p>
</sec>
<sec sec-type="disclaimer" id="s11">
<title>Publisher&#x00027;s note</title>
<p>All claims expressed in this article are solely those of the authors and do not necessarily represent those of their affiliated organizations, or those of the publisher, the editors and the reviewers. Any product that may be evaluated in this article, or claim that may be made by its manufacturer, is not guaranteed or endorsed by the publisher.</p>
</sec>
<fn-group>
<fn id="fn0001"><p><sup>1</sup>The costs of security certification for systems is prohibitively high, and worse, only assure the current version under evaluation. Awarded certifications do not apply to future bug fixes or feature enhancements.</p></fn>
<fn id="fn0002"><p><sup>2</sup><italic>Machine Intelligence</italic> was the term Turing used. It was not until 1959 that John McCarthy introduced the term <italic>Artificial Intelligence</italic> (McCarthy, <xref ref-type="bibr" rid="B26">1959</xref>).</p></fn>
<fn id="fn0003"><p><sup>3</sup>Donald Michie was a wartime colleague of Alan Turing. They discussed Machine Intelligence whilst playing chess socially.</p></fn>
<fn id="fn0004"><p><sup>4</sup>The Ultra-strong criterion of machine learning is an incremental upgrade on the the Strong criterion adding the conjunction &#x0201C;and operationally effective.&#x0201D;</p></fn>
<fn id="fn0005"><p><sup>5</sup>The agent we are most interested in is a <italic>human</italic>.</p></fn>
<fn id="fn0006"><p><sup>6</sup>Deep Neural Network models do manage to pass the less stringent criterion of <italic>Weak</italic> Machine Learning.</p></fn>
<fn id="fn0007"><p><sup>7</sup>It seems that AI simply means machine learning in this context.</p></fn>
<fn id="fn0008"><p><sup>8</sup>Examples used to learn from are known as the <italic>training [data] set</italic>.</p></fn>
<fn id="fn0009"><p><sup>9</sup>Kepler, in the 17<sup><italic>th</italic></sup> century, is credited with fitting Tycho&#x00027;s planetary observational records to an elliptical orbit.</p></fn>
<fn id="fn0010"><p><sup>10</sup>An eavesdropper can only record what it observes. Encrypted and wireless communications were not explicitly monitored by our device.</p></fn>
<fn id="fn0011"><p><sup>11</sup>Legend has it that Good (Good, <xref ref-type="bibr" rid="B12">1953</xref>) cunningly published the technique with a motivating example relating to ornithology so as to avoid censorship.</p></fn>
<fn id="fn0012"><p><sup>12</sup>This makes the technique useful in computational linguistics where the number of potential sentences in a natural language is for all practical purposes infinite.</p></fn>
<fn id="fn0013"><p><sup>13</sup>For full details refer to the supporting materials (Moyle et al., <xref ref-type="bibr" rid="B32">2023b</xref>).</p></fn>
<fn id="fn0014"><p><sup>14</sup>For the 243 day period from 2021-01-01 to 2021-06-21 the sum of the count of each days originating devices <italic>O</italic> was 16,372 and for the responding devices <italic>R</italic> was 621,389 giving a ratio of <italic>R</italic>/<italic>O</italic> &#x0003D; 37.95.</p></fn>
<fn id="fn0015"><p><sup>15</sup>The MAC address is not 100% trustworthy as it can be spoofed.</p></fn>
<fn id="fn0016"><p><sup>16</sup>A website for performing MAC Address lookups is: <ext-link ext-link-type="uri" xlink:href="https://www.macvendorlookup.com/">https://www.macvendorlookup.com/</ext-link>.</p></fn>
<fn id="fn0017"><p><sup>17</sup>The prototype has been coded in the <italic>XPCE</italic> (Wielemaker and Anjewierden, <xref ref-type="bibr" rid="B54">2002</xref>) graphical extensions to <italic>swi-prolog</italic> (Wielemaker et al., <xref ref-type="bibr" rid="B55">2010</xref>).</p></fn>
<fn id="fn0018"><p><sup>18</sup>Dropping timestamps for sequence visualization purposes is also used in Nguyen et al. (<xref ref-type="bibr" rid="B37">2018</xref>).</p></fn>
<fn id="fn0019"><p><sup>19</sup>The algorithm [from tyrex (<xref ref-type="bibr" rid="B52">2021</xref>)] has a single parameter &#x003F5; which is used for identifying clusters in one-dimension.</p></fn>
<fn id="fn0020"><p><sup>20</sup>We do not provide a strong definition of acceptability here, only that the domain expert is satisfied with the explanation arrived at.</p></fn>
<fn id="fn0021"><p><sup>21</sup>Malware sometimes use the same design pattern for which it is part of their <italic>Command and Control</italic> (or C2) system.</p></fn>
<fn id="fn0022"><p><sup>22</sup>The most specific rule based on the inputs and the selected example is 57 literals long, defining the size of the search space for single clauses to be 2.40 &#x000D7; 10<sup>32</sup>.</p></fn>
<fn id="fn0023"><p><sup>23</sup>We prefer over specialization by the distribution free <monospace>SEQUITUR</monospace> system so that the generalizations can be produced by <monospace>ACUITY</monospace>.</p></fn>
</fn-group>
<ref-list>
<title>References</title>
<ref id="B1">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Arias</surname> <given-names>J.</given-names></name> <name><surname>Carro</surname> <given-names>M.</given-names></name> <name><surname>Salazar</surname> <given-names>E.</given-names></name> <name><surname>Marple</surname> <given-names>K.</given-names></name> <name><surname>Gupta</surname> <given-names>G.</given-names></name></person-group> (<year>2018</year>). <article-title>Constraint answer set programming without grounding</article-title>. <source>Theory Pract Logic Progr</source>. <volume>18</volume>, <fpage>337</fpage>&#x02013;<lpage>354</lpage>. <pub-id pub-id-type="doi">10.1017/S1471068418000285</pub-id></citation>
</ref>
<ref id="B2">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Axon</surname> <given-names>L.</given-names></name></person-group> (<year>2018</year>). <source>Sonification for network-security monitoring</source>. PhD thesis, University of Oxford.</citation>
</ref>
<ref id="B3">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Bacon</surname> <given-names>F.</given-names></name> <name><surname>Urbach</surname> <given-names>P.</given-names></name> <name><surname>Gibson</surname> <given-names>J.</given-names></name></person-group> (<year>1996</year>). <article-title>Novum organum</article-title>. <source>Br. J. Philos Sci</source>. <volume>47</volume>, <fpage>125</fpage>&#x02013;<lpage>128</lpage>. <pub-id pub-id-type="doi">10.1093/bjps/47.1.125</pub-id><pub-id pub-id-type="pmid">32691291</pub-id></citation></ref>
<ref id="B4">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Bain</surname> <given-names>M.</given-names></name> <name><surname>Sammut</surname> <given-names>C.</given-names></name></person-group> (<year>1995</year>). <article-title>&#x0201C;A framework for behavioural cloning,&#x0201D;</article-title> in <source>Machine Intelligence</source>, 15.</citation>
</ref>
<ref id="B5">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Barrett</surname> <given-names>L.</given-names></name> <name><surname>Connell</surname> <given-names>M</given-names></name></person-group>. (<year>2005</year>). <article-title>Jevons and the logic &#x02018;piano&#x00027;</article-title>. <source>Rutherford J</source>. <volume>1</volume>, <fpage>2005</fpage>&#x02013;<lpage>2006</lpage>.</citation>
</ref>
<ref id="B6">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Deane</surname> <given-names>O.</given-names></name> <name><surname>Ray</surname> <given-names>O.</given-names></name></person-group> (<year>2023</year>). <article-title>&#x0201C;Interactive model refinement in relational domains with inductive logic programming,&#x0201D;</article-title> in <source>Companion Proceedings of the 28th International Conference on Intelligent User Interfaces, pages</source> 127&#x02013;129. <pub-id pub-id-type="doi">10.1145/3581754.3584150</pub-id></citation>
</ref>
<ref id="B7">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Finn</surname> <given-names>P.</given-names></name> <name><surname>Muggleton</surname> <given-names>S.</given-names></name> <name><surname>Page</surname> <given-names>D.</given-names></name> <name><surname>Srinivasan</surname> <given-names>A.</given-names></name></person-group> (<year>1998</year>). <article-title>Pharmacophore discovery using the inductive logic programming system progol</article-title>. <source>Mach. Learn</source>. <volume>30</volume>, <fpage>241</fpage>&#x02013;<lpage>270</lpage>. <pub-id pub-id-type="doi">10.1023/A:1007460424845</pub-id></citation>
</ref>
<ref id="B8">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Flach</surname> <given-names>P.</given-names></name></person-group> (<year>2012</year>). <source>Machine Learning: The Art and Science of Algorithms That Make Sense of Data</source>. <publisher-loc>Cambridge, USA</publisher-loc>: <publisher-name>Cambridge University Press</publisher-name>. <pub-id pub-id-type="doi">10.1017/CBO9780511973000</pub-id></citation>
</ref>
<ref id="B9">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Frank</surname> <given-names>E.</given-names></name> <name><surname>Hall</surname> <given-names>M. A.</given-names></name> <name><surname>Witten</surname> <given-names>I. H.</given-names></name></person-group> (<year>2016</year>). <source>Data Mining: Practical Machine Learning Tools and Techniques</source> (<edition>Fourth Edition</edition>). <publisher-loc>Burlington, MA</publisher-loc>: <publisher-name>Morgan Kaufmann</publisher-name>.</citation>
</ref>
<ref id="B10">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Gale</surname> <given-names>W.</given-names></name> <name><surname>Sampson</surname> <given-names>G.</given-names></name></person-group> (<year>1995</year>). <article-title>Good&#x02013;turing frequency estimation without tears</article-title>. <source>J. Quant. Ling</source>. <volume>2</volume>, <fpage>217</fpage>&#x02013;<lpage>237</lpage>. <pub-id pub-id-type="doi">10.1080/09296179508590051</pub-id></citation>
</ref>
<ref id="B11">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Gillies</surname> <given-names>D.</given-names></name></person-group> (<year>1996</year>). <source>Artificial Intelligence and Scientific Method</source>. <publisher-loc>Oxford and New York</publisher-loc>: <publisher-name>Oxford University Press</publisher-name>. <pub-id pub-id-type="doi">10.1093/oso/9780198751588.001.0001</pub-id></citation>
</ref>
<ref id="B12">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Good</surname> <given-names>I. J.</given-names></name></person-group> (<year>1953</year>). <article-title>The population frequencies of species and the estimation of population parameters</article-title>. <source>Biometrika</source> <volume>40</volume>, <fpage>237</fpage>&#x02013;<lpage>264</lpage>. <pub-id pub-id-type="doi">10.1093/biomet/40.3-4.237</pub-id></citation>
</ref>
<ref id="B13">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Grayeli</surname> <given-names>P.</given-names></name> <name><surname>Mulugeta</surname> <given-names>B.</given-names></name></person-group> (<year>2020</year>). <article-title>&#x0201C;Mitigating network-based attacks using mud-improving security of small-business and home iot devices,&#x0201D;</article-title> in <source>RSA Conference</source>, <fpage>41</fpage>&#x02013;<lpage>50</lpage>.</citation>
</ref>
<ref id="B14">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Gunning</surname> <given-names>D.</given-names></name> <name><surname>Vorm</surname> <given-names>E.</given-names></name> <name><surname>Wang</surname> <given-names>J. Y.</given-names></name> <name><surname>Turek</surname> <given-names>M.</given-names></name></person-group> (<year>2021</year>). <article-title>Darpa&#x00027;s explainable ai (xai) program: a retrospective</article-title>. <source>Appl. AI Lett</source>. <volume>2</volume>:<fpage>e61</fpage>. <pub-id pub-id-type="doi">10.1002/ail2.61</pub-id></citation>
</ref>
<ref id="B15">
<citation citation-type="web"><person-group person-group-type="author"><collab>(ISC)2</collab></person-group> (<year>2022</year>). <source>Cybersecurity Workforce Study</source>. Available online at: <ext-link ext-link-type="uri" xlink:href="https://media.isc2.org/-/media/Project/ISC2/Main/Media/documents/research/ISC2-Cybersecurity-Workforce-Study-2022.pdf?rev=1bb9812a77c74e7c9042c3939678c,196">https://media.isc2.org/-/media/Project/ISC2/Main/Media/documents/research/ISC2-Cybersecurity-Workforce-Study-2022.pdf?rev=1bb9812a77c74e7c9042c3939678c,196</ext-link> (accessed May 03, 2024).</citation>
</ref>
<ref id="B16">
<citation citation-type="web"><person-group person-group-type="author"><collab>ISO/IEC</collab></person-group> (<year>1999</year>). <source>Common Criteria for Information Technology Security Evaluation. Common Criteria Project Sponsoring Organisations</source>. Version 2.1, adopted by ISO/IEC as ISO/IEC International Standard (IS) 15408 1-3. Available online at: <ext-link ext-link-type="uri" xlink:href="https://csrc.ncsl.nist.gov/cc/ccv20/ccv2list.htm">https://csrc.ncsl.nist.gov/cc/ccv20/ccv2list.htm</ext-link> (accessed May 03, 2024).</citation>
</ref>
<ref id="B17">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Jevons</surname> <given-names>W.</given-names></name></person-group> (<year>2012</year>). <source>The Principles of Science: A Treatise on Logic and Scientific Method</source>. <publisher-loc>Washington, DC</publisher-loc>: <publisher-name>Ebsco PsychBooks</publisher-name>.</citation>
</ref>
<ref id="B18">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Khraisat</surname> <given-names>A.</given-names></name> <name><surname>Gondal</surname> <given-names>I.</given-names></name> <name><surname>Vamplew</surname> <given-names>P.</given-names></name> <name><surname>Kamruzzaman</surname> <given-names>J.</given-names></name></person-group> (<year>2019</year>). <article-title>Survey of intrusion detection systems: techniques, datasets and challenges</article-title>. <source>Cybersecurity</source> <volume>2</volume>, <fpage>1</fpage>&#x02013;<lpage>22</lpage>. <pub-id pub-id-type="doi">10.1186/s42400-019-0038-7</pub-id></citation>
</ref>
<ref id="B19">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>King</surname> <given-names>R.</given-names></name> <name><surname>Muggleton</surname> <given-names>S.</given-names></name> <name><surname>Srinivasan</surname> <given-names>A.</given-names></name> <name><surname>Sternberg</surname> <given-names>M.</given-names></name></person-group> (<year>1996</year>). <article-title>Structure-activity relationships derived by machine learning: the use of atoms and their bond connectivities to predict mutagenicity by inductive logic programming</article-title>. <source>Proc. Natl. Acad. Sci. USA</source>. <volume>93</volume>, <fpage>438</fpage>&#x02013;<lpage>442</lpage>. <pub-id pub-id-type="doi">10.1073/pnas.93.1.438</pub-id><pub-id pub-id-type="pmid">8552655</pub-id></citation></ref>
<ref id="B20">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Ko</surname> <given-names>C.</given-names></name></person-group> (<year>2000</year>). <article-title>&#x0201C;Logic induction of valid behavior specifications for intrusion detection,&#x0201D;</article-title> in <source>2000 IEEE Symposium on Security and Privacy, Berkeley, California, USA, May 14-17, 2000</source> (IEEE Computer Society), <fpage>142</fpage>&#x02013;<lpage>153</lpage>.</citation>
</ref>
<ref id="B21">
<citation citation-type="web"><person-group person-group-type="author"><name><surname>Koivunen</surname> <given-names>M.-R.</given-names></name> <name><surname>Miller</surname> <given-names>E.</given-names></name></person-group> (<year>2001</year>). <article-title>&#x0201C;W3C semantic web activity,&#x0201D;</article-title> in <source>Proceedings of the Semantic Web Kick-off Seminar in Finland</source>. Available online at: <ext-link ext-link-type="uri" xlink:href="https://www.w3.org/2001/12/semweb-fin/w3csw">https://www.w3.org/2001/12/semweb-fin/w3csw</ext-link> (accessed May 03, 2024).<pub-id pub-id-type="pmid">27481023</pub-id></citation></ref>
<ref id="B22">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Kowalski</surname> <given-names>R.</given-names></name></person-group> (<year>2011</year>). <source>Computational Logic and Human Thinking: How to Be Artificially Intelligent</source>. <publisher-loc>Cambridge</publisher-loc>: <publisher-name>Cambridge University Press</publisher-name>. <pub-id pub-id-type="doi">10.1017/CBO9780511984747</pub-id></citation>
</ref>
<ref id="B23">
<citation citation-type="web"><person-group person-group-type="author"><name><surname>Lifschitz</surname> <given-names>V.</given-names></name></person-group> (<year>2022</year>). <source>What Is Answer Set Programming</source>? University of Texas. Available online at: <ext-link ext-link-type="uri" xlink:href="https://www.cs.utexas.edu/users/vl/papers/wiasp.pdf">https://www.cs.utexas.edu/users/vl/papers/wiasp.pdf</ext-link> (accessed May 03, 2024).</citation>
</ref>
<ref id="B24">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Lloyd</surname> <given-names>J.</given-names></name></person-group> (<year>1984</year>). <source>Foundations of Logic Programming</source>. <publisher-loc>Cham</publisher-loc>: <publisher-name>Springer-Verlag</publisher-name>. <pub-id pub-id-type="doi">10.1007/978-3-642-96826-6</pub-id></citation>
</ref>
<ref id="B25">
<citation citation-type="web"><person-group person-group-type="author"><collab>ManySecured</collab></person-group> (<year>2021</year>). <source>Distributed Device Descriptors (D3)</source>. Available online at: <ext-link ext-link-type="uri" xlink:href="https://specs.manysecured.net/d3/">https://specs.manysecured.net/d3/</ext-link> (accessed May 03, 2024).</citation>
</ref>
<ref id="B26">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>McCarthy</surname> <given-names>J.</given-names></name></person-group> (<year>1959</year>). <article-title>&#x0201C;Programs with common sense,&#x0201D;</article-title> in <source>Proceedings of the Teddington Conference on the Mechanization of Thought Processes</source> (<publisher-loc>London</publisher-loc>: <publisher-name>Her Majesty&#x00027;s Stationary Office</publisher-name>), <fpage>75</fpage>&#x02013;<lpage>91</lpage>.</citation>
</ref>
<ref id="B27">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Meer</surname> <given-names>H.</given-names></name></person-group> (<year>2015</year>). <article-title>&#x0201C;What got us here wont get us there,&#x0201D;</article-title> in <source>Black-Hat Europe</source>.</citation>
</ref>
<ref id="B28">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Megas</surname> <given-names>K.</given-names></name> <name><surname>Fagan</surname> <given-names>M.</given-names></name> <name><surname>Marron</surname> <given-names>J.</given-names></name> <name><surname>Watrobski</surname> <given-names>P.</given-names></name> <name><surname>Cuthill</surname> <given-names>B.</given-names></name></person-group> (<year>2022</year>). <source>Profile of the iot core baseline for consumer iot products</source>. Internal report, National Institute of Standards and Technology, Gaithersburg, MD. NIST Interagency/Internal Report (NISTIR).</citation>
</ref>
<ref id="B29">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Michie</surname> <given-names>D.</given-names></name></person-group> (<year>1988</year>). <article-title>&#x0201C;Machine learning in the next five years,&#x0201D;</article-title> in <source>Third European Workshop Session on Learning (EWSL &#x00027;88)</source>, eds. D. Sleeman, and J. Richmond (<publisher-loc>London</publisher-loc>: <publisher-name>Pitman</publisher-name>), <fpage>107</fpage>&#x02013;<lpage>122</lpage>.</citation>
</ref>
<ref id="B30">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Moyle</surname> <given-names>S.</given-names></name> <name><surname>Allott</surname> <given-names>N.</given-names></name> <name><surname>Manslow</surname> <given-names>J.</given-names></name></person-group> (<year>2023a</year>). <article-title>&#x0201C;Modelling cyber defenses using s(casp),&#x0201D;</article-title> in <source>Proceedings of the International Conference on Logic Programming 2023 Workshops co-located with the 39th International Conference on Logic Programming (ICLP 2023), London, United Kingdom, July 9th and 10th, 2023, volume 3437 of CEUR Workshop Proceedings. CEUR-WS.org</source>.</citation>
</ref>
<ref id="B31">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Moyle</surname> <given-names>S.</given-names></name> <name><surname>Heasman</surname> <given-names>J.</given-names></name></person-group> (<year>2003</year>). <article-title>&#x0201C;Machine learning to detect intrusion strategies,&#x0201D;</article-title> in <source>Knowledge-Based Intelligent Information and Engineering Systems</source>, eds. V. Palade, R. J. Howlett and L. Jain (<publisher-loc>Berlin, Heidelberg</publisher-loc>: <publisher-name>Springer</publisher-name>), <fpage>371</fpage>&#x02013;<lpage>378</lpage>. <pub-id pub-id-type="doi">10.1007/978-3-540-45224-9_52</pub-id></citation>
</ref>
<ref id="B32">
<citation citation-type="web"><person-group person-group-type="author"><name><surname>Moyle</surname> <given-names>S.</given-names></name> <name><surname>Martin</surname> <given-names>A.</given-names></name> <name><surname>Allott</surname> <given-names>N.</given-names></name></person-group> (<year>2023b</year>). <source>Identifying iot-like devices and using collaborative xai to understand their cyber security behaviour</source>. Technical report. Available online at: <ext-link ext-link-type="uri" xlink:href="https://ora.ox.ac.uk/objects/uuid:ae1353c9-97c8-4356-9f17-73c2633a740f">https://ora.ox.ac.uk/objects/uuid:ae1353c9-97c8-4356-9f17-73c2633a740f</ext-link> (accessed May 03, 2024).</citation>
</ref>
<ref id="B33">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Muggleton</surname> <given-names>S.</given-names></name></person-group> (<year>2014</year>). <article-title>Alan turing and the development of artificial intelligence</article-title>. <source>AI Commun</source>. <volume>27</volume>, <fpage>3</fpage>&#x02013;<lpage>10</lpage>. <pub-id pub-id-type="doi">10.3233/AIC-130579</pub-id> (accessed May 03, 2024).</citation>
</ref>
<ref id="B34">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Muggleton</surname> <given-names>S.</given-names></name> <name><surname>Raedt</surname> <given-names>L. D.</given-names></name></person-group> (<year>1994</year>). <article-title>Inductive logic programming: theory and methods</article-title>. <source>J. Logic Progr</source>. <volume>19</volume>, <fpage>629</fpage>&#x02013;<lpage>679</lpage>. <pub-id pub-id-type="doi">10.1016/0743-1066(94)90035-3</pub-id></citation>
</ref>
<ref id="B35">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Muggleton</surname> <given-names>S. H.</given-names></name> <name><surname>Schmid</surname> <given-names>U.</given-names></name> <name><surname>Zeller</surname> <given-names>C.</given-names></name> <name><surname>Tamaddoni-Nezhad</surname> <given-names>A.</given-names></name> <name><surname>Besold</surname> <given-names>T.</given-names></name></person-group> (<year>2018</year>). <article-title>Ultra-strong machine learning: comprehensibility of programs learned with ilp</article-title>. <source>Mach. Learn</source>. <volume>107</volume>, <fpage>1119</fpage>&#x02013;<lpage>1140</lpage>. <pub-id pub-id-type="doi">10.1007/s10994-018-5707-3</pub-id></citation>
</ref>
<ref id="B36">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Neville-Manning</surname> <given-names>C.</given-names></name> <name><surname>Witten</surname> <given-names>I.</given-names></name></person-group> (<year>1997</year>). <article-title>&#x0201C;Linear-time, incremental hierarchy inference for compression,&#x0201D;</article-title> in <source>Data Compression Conference (DCC &#x00027;97)</source>, <fpage>3</fpage>&#x02013;<lpage>11</lpage>.</citation>
</ref>
<ref id="B37">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Nguyen</surname> <given-names>P.</given-names></name> <name><surname>Turkay</surname> <given-names>C.</given-names></name> <name><surname>Andrienko</surname> <given-names>G.</given-names></name> <name><surname>Andrienko</surname> <given-names>N.</given-names></name> <name><surname>Thonnard</surname> <given-names>O.</given-names></name> <name><surname>Zouaoui</surname> <given-names>J.</given-names></name></person-group> (<year>2018</year>). <article-title>Understanding user behaviour through action sequences: from the usual to the unusual</article-title>. <source>IEEE Trans Visual. Comput. Graph</source>. <volume>25</volume>, <fpage>2838</fpage>&#x02013;<lpage>2852</lpage>. <pub-id pub-id-type="doi">10.1109/TVCG.2018.2859969</pub-id><pub-id pub-id-type="pmid">30047886</pub-id></citation></ref>
<ref id="B38">
<citation citation-type="journal"><person-group person-group-type="author"><collab>NISTN</collab></person-group>. (<year>2021</year>). <source>Four principles of explainable artificial intelligence</source>. Technical Report NIST IR 8312, U.S. Department of Commerce, Washington, D.C.</citation>
</ref>
<ref id="B39">
<citation citation-type="web"><person-group person-group-type="author"><collab>OpenVAS</collab></person-group>. (<year>2023</year>). <source>OpenVAS - Open Vulnerability Assessment Scanner</source>. Available online at: <ext-link ext-link-type="uri" xlink:href="https://openvas.org/">https://openvas.org/</ext-link> (accessed May 03, 2024).</citation>
</ref>
<ref id="B40">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Peirce</surname> <given-names>C.</given-names></name></person-group> (<year>1996</year>). <source>Elements of logic</source>. Collected papers of Charles Sanders Peirce/Peirce, C.</citation>
</ref>
<ref id="B41">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Popper</surname> <given-names>K. R.</given-names></name></person-group> (<year>1935</year>). <source>The Logic of Scientific Discovery</source>. <publisher-loc>London, UK</publisher-loc>: <publisher-name>Routledge</publisher-name>.</citation>
</ref>
<ref id="B42">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Ray</surname> <given-names>O.</given-names></name> <name><surname>Hicks</surname> <given-names>S.</given-names></name> <name><surname>Moyle</surname> <given-names>S.</given-names></name></person-group> (<year>2016</year>). <article-title>&#x0201C;Using ilp to analyse ransomware attacks,&#x0201D;</article-title> in <source>26th International Conference on Inductive Logic Programming (ILP), CEUR 1865</source>, <fpage>54</fpage>&#x02013;<lpage>59</lpage>.</citation>
</ref>
<ref id="B43">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Ray</surname> <given-names>O.</given-names></name> <name><surname>Moyle</surname> <given-names>S</given-names></name></person-group>. (<year>2021</year>). <article-title>&#x0201C;Towards expert-guided elucidation of cyber attacks through interactive inductive logic programming,&#x0201D;</article-title> in <source>13th International Conference on Knowledge and Systems Engineering (KSE)</source> (IEEE Press). <pub-id pub-id-type="doi">10.1109/KSE53942.2021.9648769</pub-id></citation>
</ref>
<ref id="B44">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Robinson</surname> <given-names>J. A.</given-names></name></person-group> (<year>1965</year>). <article-title>A machine-oriented logic based on the resolution principle</article-title>. <source>J. ACM</source> <volume>12</volume>, <fpage>23</fpage>&#x02013;<lpage>41</lpage>. <pub-id pub-id-type="doi">10.1145/321250.321253</pub-id></citation>
</ref>
<ref id="B45">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Sartor</surname> <given-names>G.</given-names></name> <name><surname>D&#x000E1;vila</surname> <given-names>J.</given-names></name> <name><surname>Fidelangeli</surname> <given-names>A.</given-names></name> <name><surname>Pisano</surname> <given-names>G.</given-names></name></person-group> (<year>2023</year>). <article-title>&#x0201C;(re)integration of logical english and s(casp),&#x0201D;</article-title> in <source>Proceedings of the International Conference on Logic Programming 2023 Workshops co-located with the 39th International Conference on Logic Programming (ICLP 2023), London, United Kingdom, July 9th and 10th, 2023, volume 3437 of CEUR Workshop Proceedings. CEUR-WS.org</source>.</citation>
</ref>
<ref id="B46">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Schwitter</surname> <given-names>R.</given-names></name></person-group> (<year>2020</year>). <article-title>&#x0201C;Lossless semantic round-tripping in peng asp,&#x0201D;</article-title> in <source>Proceedings of the Twenty-Ninth International Joint Conference on Artificial Intelligence, IJCAI-20</source>, 5291&#x02013;5293. <pub-id pub-id-type="doi">10.24963/ijcai.2020/773</pub-id></citation>
</ref>
<ref id="B47">
<citation citation-type="web"><person-group person-group-type="author"><name><surname>Srinivasan</surname> <given-names>A.</given-names></name></person-group> (<year>2001</year>). <source>The Aleph Manual</source>. Available online at: <ext-link ext-link-type="uri" xlink:href="https://web.comlab.ox.ac.uk/oucl/research/areas/machlearn/Aleph/">https://web.comlab.ox.ac.uk/oucl/research/areas/machlearn/Aleph/</ext-link> (accessed May 03, 2024).</citation>
</ref>
<ref id="B48">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Srinivasan</surname> <given-names>A.</given-names></name> <name><surname>Bain</surname> <given-names>M.</given-names></name> <name><surname>Coiera</surname> <given-names>E.</given-names></name></person-group> (<year>2022</year>). <article-title>One-way explainability isn&#x00027;t the message</article-title>. <source>arXiv preprint arXiv:2205.08954</source>.</citation>
</ref>
<ref id="B49">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Thompson</surname> <given-names>K.</given-names></name></person-group> (<year>1984</year>). <article-title>Reflections on trusting trust</article-title>. <source>Commun. ACM</source> <volume>27</volume>, <fpage>761</fpage>&#x02013;<lpage>763</lpage>. <pub-id pub-id-type="doi">10.1145/358198.358210</pub-id></citation>
</ref>
<ref id="B50">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Turing</surname> <given-names>A. M.</given-names></name></person-group> (<year>1937</year>). <article-title>On computable numbers, with an application to the entscheidungsproblem</article-title>. <source>Proc. London Mathem. Soc</source>. <volume>42</volume>, <fpage>230</fpage>&#x02013;<lpage>265</lpage>. <pub-id pub-id-type="doi">10.1112/plms/s2-42.1.230</pub-id></citation>
</ref>
<ref id="B51">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Turing</surname> <given-names>A. M.</given-names></name></person-group> (<year>1950</year>). <article-title>Computing machinery and intelligence</article-title>. <source>Mind</source> <volume>59</volume>, <fpage>433</fpage>&#x02013;<lpage>460</lpage>. <pub-id pub-id-type="doi">10.1093/mind/LIX.236.433</pub-id></citation>
</ref>
<ref id="B52">
<citation citation-type="web"><person-group person-group-type="author"><collab>tyrex</collab></person-group> (<year>2021</year>). <source>1D Number Array Clustering. Stackexchange question answered Jul 6 &#x00027;21 at 13:02 by tyrex</source>. Available online at: <ext-link ext-link-type="uri" xlink:href="https://stackoverflow.com/questions/11513484/1d-number-array-clustering">https://stackoverflow.com/questions/11513484/1d-number-array-clustering</ext-link> (accessed May 03, 2024).</citation>
</ref>
<ref id="B53">
<citation citation-type="journal"><person-group person-group-type="author"><collab>United States Department of Defense</collab></person-group> (<year>1985</year>). <source>Department of Defense, Trusted Computer System Evaluation Criteria</source>. Number 5200.28-STD in Rainbow Series. Dept. of Defense. <pub-id pub-id-type="doi">10.1007/978-1-349-12020-8_1</pub-id></citation>
</ref>
<ref id="B54">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Wielemaker</surname> <given-names>J.</given-names></name> <name><surname>Anjewierden</surname> <given-names>A.</given-names></name></person-group> (<year>2002</year>). <article-title>&#x0201C;An architecture for making object-oriented systems available from prolog,&#x0201D;</article-title> in <source>Workshop on Logic Programming Environments</source>.</citation>
</ref>
<ref id="B55">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Wielemaker</surname> <given-names>J.</given-names></name> <name><surname>Schrijvers</surname> <given-names>T.</given-names></name> <name><surname>Triska</surname> <given-names>M.</given-names></name> <name><surname>Lager</surname> <given-names>T.</given-names></name></person-group> (<year>2010</year>). <article-title>Swi-prolog</article-title>. <source>Theory Pract Logic Progr</source>. <volume>12</volume>, <fpage>67</fpage>&#x02013;<lpage>96</lpage>. <pub-id pub-id-type="doi">10.1017/S1471068411000494</pub-id><pub-id pub-id-type="pmid">28486579</pub-id></citation></ref>
<ref id="B56">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Wolfram</surname> <given-names>S.</given-names></name></person-group> (<year>2023</year>). <source>What Is ChatGPT Doing &#x02026; and Why Does It Work</source>? <publisher-loc>Champaign, IL</publisher-loc>: <publisher-name>Wolfram Media</publisher-name>.</citation>
</ref>
<ref id="B57">
<citation citation-type="web"><person-group person-group-type="author"><collab>Zeek</collab></person-group> (<year>2021</year>). <source>The Zeek Network Security Monitor</source>. Available online at: <ext-link ext-link-type="uri" xlink:href="https://zeek.org/">https://zeek.org/</ext-link> (accessed May 03, 2024).<pub-id pub-id-type="pmid">36298351</pub-id></citation></ref>
</ref-list>
</back>
</article>