<!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>Systematic IoT Penetration Testing: Alexa Case Study</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Massimiliano Rak</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Giovanni Salzillo</string-name>
          <email>giovanni.salzillog@unicampania.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Claudia Romeo</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>University of Campania Luigi Vanvitelli, Department of Engineering</institution>
          ,
          <addr-line>via Roma 29, Aversa (CE)</addr-line>
          ,
          <country country="IT">Italy</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>The Internet of Things paradigm arises many issues in terms of privacy and security. Systems that are commonly con gured by personnel with limited experience manage incredible amount of personal data and have direct control over home systems (e.g. controlling home lights or home heating system). The purpose of our research is to de ne a methodology that automates as much as possible the penetration testing actions, in order to help a tester with limited security skills to nd possible attacks and demonstrate them clearly to the home user. The core idea is that we rely on an existing automated threat modeling technique in order to build up the possible attacks to the system under test. The threats are concrete and understandable even to a non-expert, like home users, and help them at identifying real risks and possible countermeasures. The paper will demonstrate the proposed approach over a very typical use case, a smart home controlled through the Alexa Voice Assistant, demonstrating how it is possible to nd a working attack on such a system, using very cheap dedicated hardware and with common tools.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>Internet of Things (IoT) is the new paradigm that relies on the idea of widely distributed
interconnected objects that constantly cooperate and automate many of the common actions of
our life. Vocal assistant and their smart home applications are one of the most clear examples of
the paradigms: home users are able to control lights and setting alarms using voice commands
in natural language. However, such a paradigm has a side e ect in terms of privacy and security:
all data are continuously shared through the local and public networks (e.g. vocal command
sent to the voice service for processing, commands sent to devices and so on).</p>
      <p>Home systems are con gured and installed by the nal customers (i.e. the home user),
typically with limited computer science skills and without any competences in terms of computer
security. However, even if a dedicated professional could be involved to con gure the house
network, the e ort and cost needed to perform a valid security assurance procedure are too
high to be considered in such a context.</p>
      <p>
        One of the possible approach to address such type of issues is to nd (semi-) automated
techniques for penetration testing that helps at identifying the possible attacks and, consequently,
apply the needed countermeasures. Examples of such approaches can be found in [
        <xref ref-type="bibr" rid="ref1 ref2 ref3 ref4">1, 2, 3, 4</xref>
        ].
      </p>
      <p>
        The purpose of our research, which extends the results in [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] was to de ne a methodology
that can be applied in an ordinary context, like our home or even our o ce, in order to nd
feasible attacks and demonstrate them clearly to the home user. The core idea is that we
rely on threat modeling (which we automated in [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]) in order to identify threats that are near
to home user perception, providing at the same time a way to test the threat in an almost
automated way. It is worth noticing that the process is still not completely automated, but
aims at simplifying a process (the penetration testing) which is commonly adopted only by
(costly and rare) security experts with long time frames.
      </p>
      <p>This paper demonstrates the proposed approach over a very typical use case, a smart home
controlled through the Amazon Echo Plus hub and the Alexa Voice Assistant,
demonstrating how it is possible to nd a working attack on such a system, using very cheap dedicated
hardware and with common tools. Next Section 2 summarizes the existing penetration testing
techniques, outlining the steps involved and the needed competences, while section 3 describes
the methodology we propose and its main features. Section 4 discusses our case study and
demonstrates a successful attack on to an Alexa-based home system. Finally, section 5
summarizes the conclusions and proposes future works.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Related Work</title>
      <p>
        Penetration testing is mostly an expert-guided activity: despite the needs, as outlined in [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ],
at state of art, does not exist any standard devoted to describe penetration testing activities.
In the following, we brie y summarize the most known penetration testing methodologies and
security assurance techniques.
      </p>
      <p>
        The NIST1 SP-800-115's special publication [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] describes several security testing
measures and provides guidelines for organizations on planning and conducting di erent kind of
security assessments. Among all, it de nes a penetration testing methodology model based on
the following four phases, repeated iteratively: Planning, Discovery, Attack, Reporting.
Security objectives and penetration testing goals are established during the Planning phase. The
Discovery phase covers information gathering, scanning and vulnerability analysis. The Attack
phase is the core activity in which the previously identi ed potential vulnerabilities are veri ed
and validated. The Reporting phase occurs simultaneously with the other three phases of the
penetration test.
      </p>
      <p>
        The non-pro t OWASP2 foundation, recently released the OWASP Testing Guide v4 [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]
as part of the OWASP main project [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ], an open document that describes several core testing
techniques of web applications security testing. It de nes a penetration testing model built
on two main phases. In phase 1 (Passive Mode) the tester tries to understand the
application's logic, then during phase 2 (Active Mode) application security is actually tested. The
second phase can be further divided into the following sub-categories: Information
Gathering, Con guration and Deployment Management Testing, Identity Management, Authentication
and Authorization Testing, Session Management Testing, Input Validation and Error Handling,
Cryptography, Business Logic and Client Side Testing.
      </p>
      <p>
        The Penetration Testing Execution Standard (PTES) is an open document that has been
designed to provide a common language between the businesses world and security service
providers in order to perform penetration testing activities. It is divided into seven main generic
sections: Pre-engagement Interactions, Intelligence Gathering, Threat Modeling, Vulnerability
Analysis, Exploitation, Post Exploitation, Reporting. Since the standard does not provide any
technical guidelines to execute an actual penetration test, a technical guide have been created
to support the standard. [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]
      </p>
      <p>
        The Open Source Security Testing Methodology Manual (OSSTMM) [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] is another
opensource security evaluation methodology introduced by the Institute for Security and Open
Methodologies. This methodology allows to audit operational security of physical locations,
human interactions, systems and network communications, aiming at quantitatively assess the
1National Institute of Standards and Technology
2Open Web Application Security Project
attack surface and the deployed security measures. OSSTMM does not provide a list of tools
to actually test every technology domain, but de nes what needs to be tested and what to
do before, during and after a security test, also behaving as supporting reference in several
security certi cation processes. OSSTMM's work ow is divided into four phases: (i) Induction,
(ii) Interaction, (iii) Inquest, (iv) Intervention.
      </p>
      <p>Type of tests and security properties to be tested are de ned during the induction phase.
The interactions phase lets the penetration tester determine and select the target systems.
During the inquest phase, the penetration tester retrieves as much information as possible
about the targeted assets. Only in the last phase, security properties and measures are actually
assessed. A reporting phase must follow after every test.</p>
      <p>
        The Penetration Testing Framework (PTS)[
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] is a very detailed hands-on testing guide to
protect several assets and security attributes. It does not clearly specify a model to be employed
in a penetration testing process, instead it describes several techniques to conduct practical and
targeted security assessments. It covers multiple areas (e.g. password cracking, VoIP Security,
wireless penetration) and targets, including vendor-speci c products (e.g. Cisco, Citrix and
AS/400).
      </p>
      <p>
        The Information Systems Security Assessment Framework (ISSAF) [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ], although no longer
maintained, is another security framework designed to evaluate network, system and application
security controls. The framework de nes three main phases: (i) Planning and Preparation, (ii)
Assessment, (iii) Reporting, Clean-up and Destroy Artefacts.
      </p>
      <p>The rst phase sets the security objectives to assess and plans the security tests which must
be conducted during the second phase. In turn, the second phase can be further divided into
the following operational sub-phases: Information gathering, Network mapping, Vulnerability
identi cation, Penetration, Gaining access and privilege escalation, Enumerating further,
Compromise remote users/sites, Maintaining access, Covering tracks. The third phase covers the
reporting process and removes any artefacts leftover from the actual penetration testing stage.</p>
      <p>
        The Metasploit Framework (MSF) [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ] is one of the most used penetration testing
framework. Its modular structure lets to easily develop and execute exploits against a remote target
machine. Though it does not clearly de ne a penetration testing methodology, MFS assists
testers into many penetration testing phases, thanks to its auxiliary modules (e.g. used for
scanning and vulnerability testing) and exploitation and post-exploitation tools.
      </p>
      <p>The above analysis outlines that all existing penetration testing methodologies rely on the
security expert experience, o ering guidelines over an experience-based activity. Techniques
like OSSTMM, which aims at supporting certi cation processes, introduce quantitative
evaluation on the processes, while techniques like OWASP and PTES are more oriented to focus on
identifying original attack processes. However, only PTES includes a threat modeling phase.
The above-illustrated approaches focus on discovering technical vulnerabilities, instead of
relating possible attacks to high-level threats understandable to the end user. The approach we
propose, on the contrary, starts from the end-user perception of the risks, aiming at nding a
possible attack whose success a ects the clear interests of the system customer.
3</p>
    </sec>
    <sec id="sec-3">
      <title>The proposed methodology</title>
      <p>It is provable that all the existing security testing methodologies and, accordingly, all the
existing penetration testing techniques cannot grant full completeness and non-redundancy
attributes against every possible security threats. Completeness and non-redundancy properties
are two qualitative indicators which evaluate the goodness of a security testing methodology. A
security testing methodology is said to be complete if it considers all the feasible security threats
for a given SuA (System under Attack). It's non-redundant if it does not count not-applicable
security threats.</p>
      <p>Since none of the existing penetration testing methodologies is nor complete and non-redundant,
in recent years considerable e orts have been made to try to obtain more reliable models and
techniques.</p>
      <p>
        The methodology proposed in this work evolves the automated penetration testing model
presented in [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], inheriting several concepts and common de nitions. This new model has been
designed to be almost entirely guided by the threat modeling and risk assessment processes
in the attempt to maximize both completeness and non-redundancy attributes, as well as the
overall penetration testing quality process.
      </p>
      <p>This approach enables less-skilled penetration testers to perform a full
threat-modelingdriven penetration testing security evaluation, guiding them to look for system vulnerabilities
on a per threats-basis. Still, as will be clear further on this chapter, it is needed a suitable way to
identify all the threats that are applicable to the SuT (System under Test). Our methodology
relies in the following four phases, described in details in next sections : (i) System Modeling
(semi-)formal description of the system under test, (ii) Threat Modeling identi cation of the
threats, (iii) Planning planning the tests and possible attacks to perform and (iv) Penetration
Testing: actual execution of the attacks.
3.1</p>
      <sec id="sec-3-1">
        <title>System</title>
      </sec>
      <sec id="sec-3-2">
        <title>Modeling</title>
        <p>
          The proposed methodology entirely relies on the correctness and the accuracy of the SuT model,
which must be built during phase 1 and will be used to drive the following activities. In a
whitebox penetration testing approach scenario, penetration testers have access to the whole system
description and information, whereas in a black-box approach he/she must retrieve those kind
of information by means of suitable scanning tools. In the intermediate grey-box scenario,
penetration testers have access only to a restricted set of information, which must be enriched
by the same information-gathering process as in the previous black-box approach.
Then, is necessary to put the collected information in a suitable representation form, so that
is possible to easily visualize the whole system architecture and the dependencies between
di erent components. According to our approach, the SuT model is described by the
Multicloud Application Composition Model (MACM) formalism, a graph-based system modeling
formalism initially introduced to describe architectural components and security properties of
cloud-based applications [
          <xref ref-type="bibr" rid="ref15">15</xref>
          ]. In MACM, system components are modeled with graph nodes,
whereas relationships between system components are represented with directed links between
nodes. The proposed formalism allows to properly represent system architecture components
and also enable to annotate security-concerning information in a human and machine-readable
format. It can be easily extended to describe new technology domains, as in [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ] for IoT systems.
3.2
        </p>
      </sec>
      <sec id="sec-3-3">
        <title>Threat Modeling</title>
        <p>
          Based on the enriched system information available through the MACM representation,
penetration testers must identify the threats each component is potentially subjected to and build a
complete system Threat Model, used as a basis for actual penetration testing. However, threat
enumeration and identi cation is one of the most challenging tasks and may result very tough
or heavily time-consuming for the less experienced penetration tester. We use the same threat
catalogue-based approach introduced in [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ], which really simpli es and speeds up the threat
identi cation process and, consequently, the threat model construction. The threat catalogue
is a knowledge base initially developed in the context of the two European projects SPECS and
MUSA, which collects several well-known threats grouped, among several elds, per a ected
asset and technology domain attributes. It includes threats for many software components
and protocols (Ethernet, IP, TCP, TLS, XMPP, OAUTH, Zigbee, Bluetooth, GSM) and it is
currently maintained and constantly updated. The catalogue is constructed in such a way that
MACM nodes coincide to threat asset-type. Each threat in the catalogue is associated with
a STRIDE category [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ] and the CIA property (Con dentiality, Integrity, Availability) it
undermines. Given the comprehensive-assumed threat catalogue, the threat model construction
occurs in di erent steps. In the rst sub-step threats are searched and identi ed by asset-type:
starting from the MACM representation, the threat catalogue is queried multiple times per
each node of the graph, collecting aside all the resulting threats and, simultaneously, all the
relevant threat agents. Subsequently, only the actually applicable threats are ltered out from
the previously obtained list and the retrieved threats, among with the associated threat agents,
are nally grouped together in the resulting system's threat model.
        </p>
        <p>Because the threat model built in this way could be very broad and not all the threats
discovered could be real threats to the SuT, threat model entries could be further quantitatively
classi ed through a risk assessment stage. This process aims to assign a risk value to each
threat discovered, taking into account likelihood and impact of a successful exploitation. Thus,
threats could be sorted by risk value and tests could be planned later on by threat severity.
3.3</p>
      </sec>
      <sec id="sec-3-4">
        <title>Planning</title>
        <p>In the planning phase, penetration testers select the right test planning schemes from a pre-build
knowledge base. This knowledge base is continuously updated with exploitation techniques,
described in terms of tools and actions to execute, associated with speci c threats. Each
exploitation technique can be used to perform actual attacks. Based on the threat model
obtained in the previous phases, the penetration testing planning step is substantially divided
into two sub-phases: the selection of the threatened assets and the following threat testing
actions planning.</p>
        <p>It's worth noting that threats and assets test prioritization could be partially or fully driven
by the risk value obtained in the risk assessment stage. In practice, we built up a planning
knowledge-base in the form of a relational DB, that contains:
asset- and threat- speci c attacks, described in terms of the tools, parameters and actions
to be performed to execute the attack;
a mapping among known vulnerabilities and known attacks to asset-speci c threats.
It's worth noting that insertion of attack information into the DB is a manually-conducted task
at the moment. In fact, we continuously enrich the knowledge-base by manually looking at
multiple and often not normalized public sources. Though, we expect to automate this activity
in the next future. The DB containing the knowledge base is still work in progress and will
plan to release it publicly in future</p>
        <p>Once selected the targeted component and the security objectives to be tested,
penetration testers look for available vulnerabilities and, eventually, set up the appropriate tools or
framework to exploit and put into e ect the chosen threat.</p>
        <p>The output of this phase is the logical chaining of all the steps, the commands and the
environment con gurations required to operate the planned attacks. Table 1 describes the eld
attributes of the penetration testing planning knowledge base.
Field</p>
        <p>Asset
Asset Type</p>
        <p>Threat
Description</p>
        <p>Hardware
Tools &amp; Frameworks</p>
        <p>Actions
Associated commands</p>
        <p>Notes
Compromised asset
In order to demonstrate the proposed methodology, we focused our attention on home assistant
solutions. Among the various proposals on the market, we chose Echo Plus, the Amazon
assistant based on Alexa, which make use of cloud-based voice services to perform actions like
answering basic questions or controlling home automation devices. Echo Plus has a built-in
hub that supports and controls ZigBee smart devices, such as light bulbs and door locks, which
can be bound to the home assistant asking Alexa to "discover the devices".
To apply our testing methodology we considered a test-bed composed of three additional devices
beside the Echo Plus: a Philips Hue White and a Philips Hue Motion Sensor, respectively a
smart light bulb and a smart motion sensor, and Osram Lightify, a smart light bulb equipped
with the color change function. The testing environment also includes a penetration testing
notebook located in the proximity of the home system network, con gured with the Kali Linux
distribution and equipped with a USB interfacing dongle for ZigBee networks.</p>
        <p>
          The communication view ([
          <xref ref-type="bibr" rid="ref17">17</xref>
          ]) in Fig. 1, summarizes the main elements of the system and
their connections. In the picture, the Access Network, i.e. the customers LAN home-network,
enable Echo Plus to access the Internet (Public Network ) and the AWS Services. Users may
have additional devices (like mobile phone) that through a User Network, are able to access
to the Echo Plus, which then communicates with devices through the Proximity Network (i.e.
ZigBee). It's worth noticing that Echo Plus supports ZigBee Home Automation 1.2 (HA1.2)
standard, since the whole attack described in the following section is entirely based on a
vulnerability of this protocol.
        </p>
        <p>Remind that the goal of the proposed methodology is to perform a penetration testing
assessment by searching the SuT asset types from a threat catalogue knowledge base and obtain a
list of the all associated threats together with the operations to be carried out to implement
the actual attacks.
4.1</p>
      </sec>
      <sec id="sec-3-5">
        <title>System</title>
      </sec>
      <sec id="sec-3-6">
        <title>Model</title>
        <p>
          As already introduced in 3, we use the MACM representation to model the SuA
architecture. To correctly model our speci c testbed we made use of four types of nodes (IoTDevice,
IoTGateway, Network, Service) and two kinds of relation (use, connect ), all already de ned in
[
          <xref ref-type="bibr" rid="ref15 ref5">15, 5</xref>
          ]. In Fig. 2 both system components and relations are represented through the MACM
formalism. In more detail, blue nodes represent our devices: the Philips Hue, the Osram Lightify
and the Philips Hue Motion Sensor. These are all connected to the ZigBee network through the
connect relationship. Networks are modeled by orange nodes and, beyond the ZigBee network,
note the presence of two other network types: a LAN network and a WAN network. This two
networks are eventually connected by a router, an IoTGateway, and represented in gure with
a red node. The Amazon Echo Plus, an IoTGateway node as well, acts as a gateway between
the ZigBee network and the LAN network, as outlined by the connect relationship. On the
other hand, the use relationships link Echo Plus to the controlled smart devices available in the
home system network and connect the hub to the Wi-Fi network passing through the router.
Finally, Echo Plus requires a connection to the AWS Cloud Service, which is then modeled with
the yellow node. A connect relationship links this node to the WAN network node to indicate
that these services pass through Internet.
4.2
        </p>
      </sec>
      <sec id="sec-3-7">
        <title>Threat Modeling</title>
        <p>
          The goal of the Threat Modeling process is to list all the possible threats for the SuT and,
according to the technique described in [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ], we retrieved them in an automated way through
ad-hoc queries on a threat catalogue. In order to support the technologies involved within
this work, we enriched the catalogue with ZigBee-related known threats. The whole resulting
Threat Model is quite long and, for brevity's sake, we reported in Table 2 only two of the
threats related to the ZigBee network assets. Note that threats are classi ed by Asset Type, in
this case Network and its specialization ZigBee Network.
        </p>
        <p>Asset
ZigBee
Network
ZigBee
Network</p>
        <p>A ZigBee network is subject to the same typical threats of generic networks, such as
eavesdropping and message replay. In addition, a speci c threat of the ZigBee networks is shown in
the last row of the table, the "Network Key Discovery" threat, which is the one we chose for
the implementation phase.
4.3</p>
      </sec>
      <sec id="sec-3-8">
        <title>Planning Penetration Testing</title>
        <p>Planning phase produces a detailed test plan to check the feasibility of each threat. The threat
we decided to test into the planning phase is, as already aforementioned, the ZigBee related
"Network Key Discovery" threat. Basically, the threat represents the intruder's capability to
sni or inject packets into a ZigBee network by sni ng the private network key that must be
shared during the join process and later used to secure the communication on the radio channel.
Fig. 3 illustrates the implementation plan trying to exploit the vulnerability that would put into
e ect this threat and that relies onto the automation pro le of the ZigBee protocol. The table
follows the same structure introduced in 3 and clearly displays the steps and the preconditions
needed to perform the actual attack against the ZigBee protocol, having as result the
compromise of all the controlled smart devices. It's worth noticing that the attack described later on
in the selected plan relies on a quite simple vulnerability. All the ZigBee Home Automation
1.2 devices, including Amazon Echo Plus, must implement a set of security attributes, namely
Startup Attribute Sets (SAS). It turned out that Echo Plus utilizes the Default TC Link Key
"ZigBeeAlliance09" to set up the same Network Key for every smart device, used in turn to
encrypt the tra c owing among the ZigBee network. As consequence, it's su cient to
intercept the initial handshake between the Echo Plus and one of the smart devices in order to get
the Network Key and be able to read or inject commands to all other controlled devices. In
the next subsection, we analyze more in detail the steps needed to the test and carry out the
actual attack.
4.4</p>
      </sec>
      <sec id="sec-3-9">
        <title>Penetration Testing Implementation: Successful attack description</title>
        <p>Looking at the prerequisite listed in Fig. 3, namely the Hardware and Tools &amp; Frameworks
columns, we used a CC2531 USB dongle to physically interface the penetration testing laptop
to the ZigBee network, in addition to both KillerBee and Wireshark as software layer to
capture and analyze ZigBee packets. The Associated commands column lists, per each tool, the
commands that must be used.</p>
        <p>Initially, it is necessary to insert the CC2531 in a USB port and check, through a terminal,
the correct interface con guration with the zbid tool.</p>
        <p>Successively, it is necessary to retrieve the correct channel on which the ZigBee network is
currently operating, namely the Home Automation pro les preferred channels (one among 11,
14, 15, 19, 20, 24, 25). This can be achieved with zbwireshark, by testing each channel number
and looking for tra c. In our testing environment, we found that the channel 25 was used by
Echo Plus for setting up the ZigBee network.</p>
        <p>To retrieve the Network Key it's necessary to con gure the Default TC Link Key into
Wireshark settings. As previously outlined, this is the default key de ned into the ZigBee Home
Automation 1.2 (HA1.2) standard.</p>
        <p>Once set the Default TC Link Key, it's necessary to induce Echo Plus to start an association
towards a smart device. We manually triggered Echo Plus through Alexa, asking it to search for
the new devices and set the device into the association mode. The smart device joins the ZigBee
network by following the procedure illustrated in Fig. 5. Fig. 4 shows the captured packets
ow between Echo Plus and the Osram Lightify light bulb. The Amazon Echo Plus and the
light bulb perform beacons exchange to recognize each other, as outlined by packet frames 46
to 50 in Fig. 4. At a certain point, the light bulb (with MAC address 7c:b0:3e:aa:00:ae:3d:20)
sends to Echo Plus (with network address 0x0000) an association request. Fig. 6 shows the
contents of the association frame.</p>
        <p>There is no additional security measure enabled, except the Default Trust Center Key.
The coordinator in response to an association request assigns a network address to the new
associated device (short address). Lastly, the coordinator sends the Network Key to the new
node as in frame 57, Transport Key. Fig. 7 shows the frame 57 contents and in particular the
known Default TC Link key and the new Network Key. At this point, using the Network key
and importing it into Wireshark is possible to decrypt all the packets subsequently exchanged
between the nodes, e.g. intercepting light on/o command or when a di erent color is set.
5</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Conclusions and Future work</title>
      <p>We demonstrated that using very limited resources (a notebook and a USB dongle that cost
less than 20 euros), it is possible to systematically test an home-based system, identifying and
executing a successful attack against a common voice assistant-based system. Our analysis
outlines the high level of risk of products in commerce, that need to address a trade-o among
usability and security of the system: the device discovering systems adopted by the vocal
assistant, that needs a minimal intervention from the customer, become a security hole that enables
any attacker physical near to the house to acquire control over all the home devices, being able
to read messages and eventually control the devices. The main consideration is that a
securityby-default approach should be imposed to systems with such a large di usion. At the state
of art, instead, the solutions o ered have a low level of security in standard con guration and
countermeasures should be applied by the end user. Device discovery should rely on an explicit
authentication of devices (that implies a manual intervention of users) and communication keys
should not be shared among multiple devices. The penetration testing methodology we adopted
supports IoT-based systems and enable personnel with limited computer security skills to
identify and demonstrate working attacks. This paper is a little step in the direction of a technique
that aims at automating the processes related to security assurance and penetration testing,
which are, in our opinion, one of the key requirements for the new generation of computing
paradigms, where everything is o ered as a service (cloud approach), self-managed (smart
systems) and typically ubiquitous (IoT). In future works, we aim at improving our methodology
in order to take into account the available knowledge base of attack techniques and tactics (e.g.
ATT&amp;CK) and attack patterns3.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>R.</given-names>
            <surname>Li</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Abendroth</surname>
          </string-name>
          ,
          <string-name>
            <given-names>X.</given-names>
            <surname>Lin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Guo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.-W.</given-names>
            <surname>Baek</surname>
          </string-name>
          , E. Eide,
          <string-name>
            <given-names>R.</given-names>
            <surname>Ricci</surname>
          </string-name>
          , and
          <string-name>
            <surname>J. Van der Merwe</surname>
          </string-name>
          , \Potassium,
          <article-title>"</article-title>
          <source>in Proceedings of the Sixth ACM Symposium on Cloud Computing - SoCC '15</source>
          ,
          <year>2015</year>
          , pp.
          <volume>30</volume>
          {
          <fpage>42</fpage>
          . [Online]. Available: http://dl.acm.org/citation.cfm?doid=
          <volume>2806777</volume>
          .
          <fpage>2806935</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>J.</given-names>
            <surname>Hu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Wang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Tang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Z.</given-names>
            <surname>Guan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Ren</surname>
          </string-name>
          , and
          <string-name>
            <given-names>Z.</given-names>
            <surname>Chen</surname>
          </string-name>
          , \
          <article-title>A Novel Framework to Carry Out Cloud Penetration Test,"</article-title>
          <source>I.J. Computer Network and Information Security</source>
          , vol.
          <volume>3</volume>
          , no.
          <issue>3</issue>
          , pp.
          <volume>1</volume>
          {
          <issue>7</issue>
          ,
          <year>2011</year>
          . [Online]. Available: http://www.mecs-press.org/
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>P.</given-names>
            <surname>Kamongi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Gomathisankaran</surname>
          </string-name>
          , and
          <string-name>
            <given-names>K.</given-names>
            <surname>Kavi</surname>
          </string-name>
          , \
          <article-title>Nemesis: automated architecture for threat modeling and risk assessment for cloud computing,"</article-title>
          <source>in Proc. 6th ASE</source>
          ,
          <year>2014</year>
          . [Online]. Available: https://pdfs.semanticscholar.org/14ae/5e34f315c75c191f0c3325bbcd7e3475f4c4.pdf
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>V.</given-names>
            <surname>Casola</surname>
          </string-name>
          ,
          <string-name>
            <surname>A. De Benedictis</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Rak</surname>
          </string-name>
          , and U. Villano, \
          <article-title>Towards automated penetration testing for cloud applications," in 2018 IEEE 27th International Conference on Enabling Technologies: Infrastructure for Collaborative Enterprises (WETICE)</article-title>
          ,
          <year>June 2018</year>
          , pp.
          <volume>24</volume>
          {
          <fpage>29</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>V.</given-names>
            <surname>Casola</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A. D.</given-names>
            <surname>Benedictis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Rak</surname>
          </string-name>
          , and U. Villano, \
          <article-title>Toward the automation of threat modeling and risk assessment in iot systems,"</article-title>
          <source>Internet of Things</source>
          , vol.
          <volume>7</volume>
          , p.
          <fpage>100056</fpage>
          ,
          <year>2019</year>
          . [Online]. Available: http://www.sciencedirect.com/science/article/pii/S2542660519300290
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>W.</given-names>
            <surname>Knowles</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Baron</surname>
          </string-name>
          , and
          <string-name>
            <surname>T. McGarr</surname>
          </string-name>
          , \
          <article-title>The simulated security assessment ecosystem: Does penetration testing need standardisation?" Computers and Security</article-title>
          , vol.
          <volume>62</volume>
          , pp.
          <volume>296</volume>
          {
          <issue>316</issue>
          ,
          <year>2016</year>
          . [Online]. Available: http://dx.doi.org/10.1016/j.cose.
          <year>2016</year>
          .
          <volume>08</volume>
          .002
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>A. C.</given-names>
            <surname>Karen Scarfone</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Murugiah</given-names>
            <surname>Souppaya</surname>
          </string-name>
          and
          <string-name>
            <given-names>A.</given-names>
            <surname>Orebaugh</surname>
          </string-name>
          , \
          <article-title>Technical guide to information security testing and assessment,"</article-title>
          <source>NIST Special Publication 800-115</source>
          ,
          <year>2008</year>
          . [Online]. Available: https://csrc.nist.gov/publications/detail/sp/800-115/ nal
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>[8] [Online]. Available: https://www.owasp.org/index.php/OWASP Testing Project</mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>[9] [Online]. Available: https://www.owasp.org/index.php/Main Page</mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10] [Online]. Available: http://www.pentest
          <article-title>-standard.org/index</article-title>
          .php/PTES Technical Guidelines
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>P.</given-names>
            <surname>Herzog</surname>
          </string-name>
          , \
          <article-title>Osstmm 3: The open source security testing methodology manual-contemporary secutiy testing and analysis</article-title>
          {http://www. isecom. org/mirror,"
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>L. L.</given-names>
            <surname>Matt</surname>
          </string-name>
          <string-name>
            <surname>Byrne</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Arvind</given-names>
            <surname>Doraiswamy</surname>
          </string-name>
          and
          <string-name>
            <surname>N. OUCHN.</surname>
          </string-name>
          [Online]. Available: http: //www.vulnerabilityassessment.co.uk/Penetration%20Test.html#
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>[13] [Online]. Available: https://sourceforge.net/projects/isstf/</mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>[14] [Online]. Available: https://metasploit.help.rapid7.com/docs/msf-overview</mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>M.</given-names>
            <surname>Rak</surname>
          </string-name>
          , \
          <article-title>Security assurance of (multi-)cloud application with security sla composition," in Green, Pervasive, and</article-title>
          <string-name>
            <given-names>Cloud</given-names>
            <surname>Computing</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M. H. A.</given-names>
            <surname>Au</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Castiglione</surname>
          </string-name>
          ,
          <string-name>
            <surname>K.-K. R. Choo</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          <string-name>
            <surname>Palmieri</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          K.-C. Li, Eds. Cham: Springer International Publishing,
          <year>2017</year>
          , pp.
          <volume>786</volume>
          {
          <fpage>799</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16] [Online]. Available: MicrosoftCorporation,TheSTRIDEThreatModel,2016https://docs.microsoft. com/en-us/
          <article-title>previous-versions/commerce-server/ee823878(v=cs.20).</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17] International Organization Of Standardization, \ISO/IEC/IEEE 42010:
          <fpage>2011</fpage>
          -
          <article-title>Systems and software engineering { Architecture description,"</article-title>
          <source>ISOIECIEEE 420102011E Revision of ISOIEC 420102007 and IEEE Std 14712000</source>
          , vol.
          <year>2011</year>
          , no.
          <source>March</source>
          , pp.
          <volume>1</volume>
          {
          <issue>46</issue>
          ,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>