<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Modelling Cyber Defenses using s(CASP)</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Steve Moyle</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Nicholas Allott</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>John Manslow</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Amplify Intelligence U.K.</institution>
          ,
          <addr-line>Oxford</addr-line>
          ,
          <country country="UK">United Kingdom</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Nquiring Minds</institution>
          ,
          <addr-line>Southampton</addr-line>
          ,
          <country country="UK">United Kingdom</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Cyber attacking is easier than cyber defending - attackers only need to find one breach, while the defenders must successfully repel all attacks. This preliminary work uses s(CASP) as a framework for modelling networks of devices, and their associated insecurities and defenses. Cyber defenders often need to reason with missing, uncertain, and contradictory evidence. This position paper demonstrates that cyber defenders can amplify their capabilities by joining forces with eXplainable-AI (XAI) utilising interactive human machine collaboration mediated through s(CASP).</p>
      </abstract>
      <kwd-group>
        <kwd>eol&gt;Explainable Artificial Intelligence (XAI)</kwd>
        <kwd>Cyber defense</kwd>
        <kwd>reasoning</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</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 behaviour; – 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; – 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 security guarantees [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ].
      </p>
      <p>Cyber defenders 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 abductive reasoning to form hypotheses and seek
yet-tobe 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 deductive reasoning process that explains the case and its artefacts1.</p>
      <p>
        Logic programming has a long history of knowledge representation and reasoning. Despite
its longevity and many successes standard Prolog, with its sound semantics and elegant
computation model (e.g [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]), does not directly support the forms of reasoning that humans
often rely on. The more expressive2 Answer Set Programming (e.g. [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]), allows a broader range
of reasoning, and is not restricted to Logic Programs with single models. In this investigation we
utilize the s(CASP) [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] approach that combines the strengths of the previously mentioned
approaches3.
      </p>
      <p>
        s(CASP) has been used in various applications. Varanasi et al. [23] use s(CASP) to model
the safety-critical behaviour of a timed system. Hall et al. [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] have used s(CASP) to model
systems that have been specified using the EARS specification framework [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ]. Unlike those
domains, the cyber security world contains inconsistent, incomplete, and missing specifications.
Worse, where specifications exist, the implementations may not be faithful.
      </p>
    </sec>
    <sec id="sec-2">
      <title>2. Background to the Cyber Domain</title>
      <p>Real computer networks can be arbitrarily complex. For example, detailed analysis of a small
organisation’s network, where data was collected for half a year, showed that 181 devices
were connected within its networks[16]. 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 virus and vulnerability scanners). All devices pose a risk of expanding the
organisation’s attack surface.</p>
      <p>Cyber defenders are keen to incorporate both controls (for example network firewalls) and
monitoring as part of their defensive toolkit. Monitoring can be passive like the continuously
running network security monitoring system Zeek [24], or it can be active, like the vulnerability
scanner OpenVAS [17] where probes for known vulnerabilities are commissioned.</p>
      <p>In this initial work we start by modelling a simple network of devices as shown in the block
diagram in Figure 1 . There are networks and there are devices. A router device can connect
more than one network. In the simple network the router openwrt01 connects the networks
192.168.15. and 192.168.116.; while the IoT door control device frontdoorring01 and
the vulnerability scanner openvas01 are connected to the 192.168.116. network.</p>
      <p>
        Designing a secure device is fundamentally challenging. Certifying the level of security
for a particular device is also challenging and costly (e.g. [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]). A certified secure device
at installation time allows us to presume that it is good at that time, but some time later a
vulnerability in that version of the device is discovered. This does not automatically mean the
device is bad – the vulnerability needs to be exploitable, and that a path-way to exploitation is
present.
      </p>
      <p>Scanning systems for probing devices for known vulnerabilities are sometimes used to
catalogue the status of devices. There is clearly a time-lag between the discovery of exploits and
the knowledge being operationably available to a vulnerability scanner (e.g. Zero-day attacks
are by definition unknown to the broader defense community). Vulnerability scanning is not
perfect, and like all decision systems, they make errors. A scan of a device may return false</p>
      <sec id="sec-2-1">
        <title>2But introducing limitations of its own. 3s(CASP) also introduces its own limitations.</title>
        <p>negatives4 and false positives5</p>
        <p>
          Installers 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 (e.g. [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ], [
          <xref ref-type="bibr" rid="ref14">14</xref>
          ]). The Distributed Device Descriptors (D3) standard[
          <xref ref-type="bibr" rid="ref1">1</xref>
          ] allows
both manufacturers and interested parties to specify what resources a device class requires,
and the behaviour that it produces. This allows a run-time comparison of the behaviour of an
instance of the device class and its actual, monitored behaviour. In the model of the network
we introduce the notion of a device instance and its behaviour profile as published by some
other party (e.g. a manufacturer) and the ability to observe the device instance and compare
its behaviour to that specified in a profile. Deviations from specification can be caused by the
device going bad, or simply that the specification has errors of omission or commission.
        </p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>3. Modelling the Cyber Domain</title>
      <p>In this section we provide a flavour of the modelling and reasoning it supports for the very
simple network of devices shown in Figure 1.</p>
      <p>The code listing in Figure 2 provides illustrative fragments of the s(CASP) program that
encodes the network and the security characteristics of the devices. In line 1 a device is identified,
and line 9 a scanner is defined, thus introducing some of the basic objects of the domain. Line
12 through 16 encode how scanners identify that devices are good or bad.
1 device(frontdoorring01).
2
3 bad(Device) :- device(Device), not</p>
      <p>good(Device).
4 good(Device) :- device(Device), not</p>
      <p>bad(Device).
5
6 scan_outcome(bad).
7 scan_outcome(good).
8
9 scanner(openvas01).
10 device(Scanner) :- scanner(Scanner).
11
3.1. Interrogating the Model
12 scan(Device, Scanner, bad)
:13 device(Device), scanner(Scanner),
14 not scan(Device, Scanner, good).
15 scan(Device, Scanner, good) :- device(</p>
      <p>Device), scanner(Scanner),
16 not scan(Device, Scanner, bad).</p>
      <p>With a plausible initial encoding of the domain we can interrogate the model by posing it
queries. The code listing in Figure 3 provides illustrative security queries we can pose to the
s(CASP)6 program that encodes the network and the devices. Note that each query starts with
? indicating to the SWI-Prolog top-level that we are posing the query to the s(CASP) system
and not just the Prolog.</p>
      <sec id="sec-3-1">
        <title>4The scanner gives the all clear when the device actually has a vulnerability.</title>
        <p>5The scanner reports the device has a vulnerability when it actually does not.</p>
        <p>6Software versions: SWI-Prolog (threaded, 64 bits, version 9.1.10); and scasp@0.10.0.</p>
        <p>Cyber defenders are interested to determine existing security weaknesses in the assets they
are responsible for. For example they are constantly wondering “Are there any bad devices on
my network?”. They are curious to know “Is the network secure?”, or better still “What makes the
network insecure?”. A sample list of s(CASP) queries that cyber defenders may be interested in
is shown in Figure 3.</p>
        <p>The answers being simply yes or no does not allow the defender to identify specific actions
they can take. However, interacting with the s(CASP) model provides answers supported
with the elements that must hold. These elements allow the defender to determine where (and,
sometimes, how) to remediate so as to improve security. For example, the response that a
particular network is insecure, the s(CASP) accompanying explanatory model identifies that
for the network to be insecure, it can be caused by a particular device being bad. This allows
the defender to actively improve the security of the device, so that the overall network is more
secure. Figure 4 shows the s(CASP) query and corresponding s(CASP) model to determine
which device is bad, and the supporting reasoning that makes it so.
4. Discussion</p>
        <p>The results presented are preliminary, but they do demonstrate the feasibility of the approach.
Using Logic Programming syntax to describe complicated networks and security properties has
a relatively low impedance to human cyber defenders. Human-computer comprehensibility
has been a long standing requirement for those interested in strong AI (e.g. [15]), and is crucial
for eXplanatory AI environments. Ultimately, we aim for systems that interact in a strong way
with deep human experts so that both the humans and the machines can critique and improve
each other’s understanding (see [22]). The ability to identify actionable remedies is a particular
strength of the approach ofered by s(CASP).</p>
        <p>There are many directions for expanding this work. The incorporation of pre-existing cyber
security domain knowledge will make it possible to expand the encoding. Sikos [21] provides
semantic web style ontologies for the cyber security domain.</p>
        <p>
          The current simple encoding does not take into account the temporal nature of the domain.
Much cyber information is recorded in log files with time stamped entries. The Logic
Programming community has long been interested with temporal problems and reasoning about actions
and change. One well studied formulation is the Event Calculus (e.g. see [20]). The Event
Calculus has been used with ASP which requires the discretisation of the time dimension. Ray
[18] provides a discrete-time version of the Event Calculus resolving many issues in previous
formulations, but remains not fully compatible with real world scenarios requiring continuous
time. Some authors ( [23] and [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ]) report that the Event Calculus is amenable to solution using
s(CASP). However, the reported results only address specific use cases. In particular the work
presented in [23] was not reproducible – although the paper showed a general purpose
formulation of the Event Calculus, the actual results were achieved using a customized formulation
for the specific case study only, which worked around known limitations in s(CASP).
        </p>
        <p>
          The logical language of s(CASP) makes it easy for a cyber defender to interact and reason
about security and take action. But cyber defenders are a scarce global resource7. Future
work would consider putting the reasoning into a smart gateway [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ] and have pro-active
improvements being done by the gateway itself.
        </p>
        <p>The domain of cyber security has been studied to demonstrate co-inductive Machine Learning
and reasoning [19] where both human and machine work together to come to an understanding
of a cyber incident. Although promising, it fails to achieve full two-way explainablility as defined
by Srinivasan et.al. [22]. Future work may seek to combine approaches from both the
goaldirected execution of Answer Set Programming (s(CASP)) and Inductive Logic Programming
(ALEPH and ACUITY).</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>5. Conclusion</title>
      <p>This preliminary work demonstrates the feasibility of the s(CASP) approach as an enabler of
human-computer reasoning in the field of cyber security. Providing actionable information
about the state of cyber defenses underlines the value of eXplanatory AI to the improvement of
security in our networks of devices.</p>
    </sec>
    <sec id="sec-5">
      <title>6. Acknowledgements</title>
      <p>This work is supported by the Innovate-UK 105592: CyberStone: Collaborative Secure IOT Gateway
(ManySecured) grant.</p>
      <sec id="sec-5-1">
        <title>7Some sources claim there is a 3,000,000 shortfall of cyber defenders globally.</title>
        <p>https://doi.org/10.6028/NIST.IR.8425, https://tsapps.nist.gov/publication/get_pdf.cfm?pub_
id=935382 (Accessed February 28, 2023)
[15] Donald Michie. 1988. Machine Learning in the Next Five Years. In D. Sleeman and J.</p>
        <p>Richmond editors, Third European Workshop Session on Learning (EWSL ’88), p. 107 - 122.</p>
        <p>University of Strathclyde, Pitman, London.
[16] Steve Moyle. 2022. Simple Good-Turing Frequency Analysis applied to Network Monitoring
for volatility indication. Internal Project Report – 105592: CyberStone: Collaborative Secure
IOT Gateway (ManySecured).
[17] OpenVAS - Open Vulnerability Assessment Scanner. https://openvas.org/, June 2023.
[18] Oliver Ray. 2021. Learning and Revising Dynamic Temporal Theories in the Full Discrete
Event Calculus. In the proceedings of the 30th International Conference on Inductive Logic
Programming (ILP), LNAI 13191:219-233.
[19] Oliver Ray and Steve Moyle. 2021. Towards expert-guided elucidation of cyber attacks
through interactive inductive logic programming Proceedings of the 13th International
Conference on Knowledge and Systems Engineering (KSE), IEEE Press.
[20] Murray Shanahan. 1997. Solving the Frame Problem: A Mathematical Investigation of the</p>
        <p>Common Sense Law of Inertia. MIT Press.
[21] Leslie F. Sikos, Markus Stumptner, Wolfgang Mayer, Catherine Howard, Shaun Voigt, and
Dean Philp. 2018. Representing network knowledge using provenance-aware formalisms
for cyber-situational awareness. In Procedia Computer Science, 126, 29-38. https://www.
sciencedirect.com/science/article/pii/S1877050918311803.
[22] Ashwin Srinivasan, Michael Bain, and Enrico Coiera. 2022. One-way Explainability Isn’t</p>
        <p>The Message. arXiv https://arxiv.org/abs/2205.08954, May 2022.
[23] Sarat Chandra Varanasi, Brendan Hall, Joaquín Arias, Elmer Salazar, Fang Li, Kinjal Basu,
Kevin Driscoll, and Gopal Gupta. 2021. Modelling and Verification of Timed Systems with the
Event Calculus and s (CASP). ICLP Workshops. https://ceur-ws.org/Vol-2970/gdepaper2.pdf
[24] The Zeek Network Security Monitor. https://zeek.org/, June 2021.</p>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>Nicholas</given-names>
            <surname>Allott</surname>
          </string-name>
          et al.
          <year>2021</year>
          .
          <article-title>Distributed Device Descriptors (D3</article-title>
          ), https://specs.manysecured. net/d3/ accessed 2022-
          <volume>10</volume>
          -19.
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>Nicholas</given-names>
            <surname>Allott</surname>
          </string-name>
          et al.
          <year>2021</year>
          .
          <string-name>
            <given-names>ManySecured</given-names>
            <surname>Technical Documents - Smart Secure</surname>
          </string-name>
          Collaborative Gateways, https://specs.manysecured.net/ accessed 2022-
          <volume>10</volume>
          -19.
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>Joaquín</given-names>
            <surname>Arias</surname>
          </string-name>
          , Manuel Carro, Elmer Salazar, Kyle Marple, and
          <string-name>
            <given-names>Gopal</given-names>
            <surname>Gupta</surname>
          </string-name>
          .
          <year>2018</year>
          .
          <article-title>Constraint Answer Set Programming without Grounding</article-title>
          .
          <source>Theory and Practice of Logic Programming</source>
          <volume>18</volume>
          (
          <issue>3</issue>
          -
          <fpage>4</fpage>
          ). Cambridge University Press:
          <fpage>337</fpage>
          -
          <lpage>354</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>Joaquín</given-names>
            <surname>Arias</surname>
          </string-name>
          , Manuel Carro, Zhuo Chen, and
          <string-name>
            <given-names>Gopal</given-names>
            <surname>Gupta</surname>
          </string-name>
          .
          <year>2022</year>
          .
          <article-title>Modeling and Reasoning in Event Calculus using Goal-Directed Constraint Answer Set Programming</article-title>
          .
          <source>Theory and Practice of Logic Programming</source>
          .
          <year>2022</year>
          . Vol.
          <volume>22</volume>
          , no.
          <year>1p</year>
          .
          <fpage>51</fpage>
          -
          <lpage>80</lpage>
          . DOI 10.1017/S1471068421000156.
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>Common</given-names>
            <surname>Criteria</surname>
          </string-name>
          .
          <article-title>The Common Criteria for Information Technology Security Evaluation. International Standard (ISO/IEC 15408) for computer security certification</article-title>
          .
          <source>Version 3</source>
          .
          <article-title>1 revision 5</article-title>
          .[1]
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <surname>DoDD</surname>
          </string-name>
          <year>5200</year>
          .
          <fpage>28</fpage>
          -
          <lpage>STD</lpage>
          .
          <year>2002</year>
          .
          <article-title>United States Government Department of Defense Standard</article-title>
          , DoDD
          <volume>5200</volume>
          .
          <fpage>28</fpage>
          -
          <lpage>STD</lpage>
          .
          <article-title>Trusted Computer System Evaluation Criteria</article-title>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>Parisa</given-names>
            <surname>Grayeli</surname>
          </string-name>
          and
          <string-name>
            <given-names>Blaine</given-names>
            <surname>Mulugeta</surname>
          </string-name>
          .
          <year>2020</year>
          .
          <article-title>Mitigating Network-Based Attacks Using MUD - Improving Security of Small-Business and Home IoT Devices</article-title>
          .
          <article-title>Practical Use of the MUD Specification</article-title>
          , RSA Conference https://published-prd. lanyonevents.com/published/rsaus20/sessionsFiles/17591/2020_USA20_
          <fpage>SBX1</fpage>
          -
          <lpage>W1</lpage>
          _01_
          <string-name>
            <surname>Practical-</surname>
          </string-name>
          Use-
          <article-title>of-the-MUD-Specification-to-Support-Access-Control-in-the-IoT</article-title>
          .
          <source>pdf accessed</source>
          <year>2022</year>
          -
          <volume>10</volume>
          -19.
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>Brendan</given-names>
            <surname>Hall</surname>
          </string-name>
          , Kinjal Basu, Sarat Chandra Varanasi,
          <string-name>
            <given-names>Fang</given-names>
            <surname>Li</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Devesh</given-names>
            <surname>Bhatt</surname>
          </string-name>
          , Jan Fiedor, Kevin Driscoll, Joaquín Arias, Elmer Salazar, and
          <string-name>
            <given-names>Gopal</given-names>
            <surname>Gupta</surname>
          </string-name>
          .
          <year>2021</year>
          .
          <article-title>Knowledge-Assisted Reasoning of Model-Augmented System Requirements with Event Calculus and GoalDirected Answer Set Programming</article-title>
          ,
          <source>in Hossein Hojjat and Bishoksan Kafle (Eds.): 8th Workshop on Horn Clauses for Verification and Synthesis (HCVS 2021) EPTCS 344</source>
          ,
          <year>2021</year>
          , pp.
          <fpage>79</fpage>
          -
          <lpage>90</lpage>
          , doi:10.4204/EPTCS.344.6
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>Vladimir</given-names>
            <surname>Lifschitz</surname>
          </string-name>
          . What Is Answer Set Programming? https://www.cs.utexas.edu/users/vl/ papers/wiasp.pdf accessed
          <year>June 2023</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <surname>John</surname>
            <given-names>W.</given-names>
          </string-name>
          <string-name>
            <surname>Lloyd</surname>
          </string-name>
          .
          <year>1993</year>
          .
          <article-title>Foundations of Logic Programming</article-title>
          . Springer-Verlag.
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>Kyle</given-names>
            <surname>Marple</surname>
          </string-name>
          and
          <string-name>
            <given-names>Gopal</given-names>
            <surname>Gupta</surname>
          </string-name>
          .
          <year>2014</year>
          .
          <article-title>Dynamic Consistency Checking in Goal-Directed Answer Set Programming</article-title>
          .
          <source>Theory and Practice of Logic Programming</source>
          ,
          <volume>14</volume>
          (
          <issue>4-5</issue>
          ):
          <fpage>415</fpage>
          -
          <lpage>427</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <surname>Alistair</surname>
            <given-names>Mavin</given-names>
          </string-name>
          , Philip Wilkinson, Adrian Harwood, and
          <string-name>
            <given-names>Mark</given-names>
            <surname>Novak</surname>
          </string-name>
          .
          <year>2009</year>
          .
          <article-title>EARS (Easy Approach to Requirements Syntax) in RE09</article-title>
          , IEEE,
          <year>August 2009</year>
          https://www.researchgate.net/publication/224079416_Easy_approach_to_requirements_ syntax_EARS/link/568ce3bf08aeb488ea311990/download
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>Haroon</given-names>
            <surname>Meer</surname>
          </string-name>
          .
          <year>2015</year>
          .
          <article-title>What Got Us Here Wont Get Us There</article-title>
          .
          <article-title>Key-note presentation Black-Hat Europe 2015</article-title>
          . https://www.blackhat.com/eu-15/briefings.html
          <article-title># what-got-us-here-wont-get-us-there</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>Michael</given-names>
            <surname>Fagan</surname>
          </string-name>
          , Katerina Megas, Paul Watrobski, Jefery Marron, and
          <string-name>
            <given-names>Barbara</given-names>
            <surname>Cuthill</surname>
          </string-name>
          .
          <year>2022</year>
          .
          <article-title>Profile of the IoT Core Baseline for Consumer IoT Products</article-title>
          ,
          <source>NIST Interagency/Internal Report (NISTIR)</source>
          ,
          <source>National Institute of Standards and Technology</source>
          , Gaithersburg,
          <string-name>
            <surname>MD</surname>
          </string-name>
          , [online],
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>