Libro - OWASP IoT Security Testing Guide - Pag 142
Libro - OWASP IoT Security Testing Guide - Pag 142
Security assurance and test coverage can be demonstrated with the overview of IoT
components and test case categories applicable to each below. The methodology,
underlying models, and catalog of test cases present tools that can be used separately and
in conjunction with each other.
Table of Contents
1. Introduction
https://owasp.org/owasp-istg/print.html 1/142
7/31/24, 7:56 AM OWASP IoT Security Testing Guide
Related Work
The concepts, models and test steps presented in the OWASP IoT Security Testing Guide are
based on the master's thesis "Development of a Methodology for Penetration Tests of
Devices in the Field of the Internet of Things" by Luca Pascal Rotsch.
https://owasp.org/owasp-istg/print.html 2/142
7/31/24, 7:56 AM OWASP IoT Security Testing Guide
We also like to thank our collaborators and supporters (see Project Collaborators and
Acknowledgements)!
https://owasp.org/owasp-istg/print.html 3/142
7/31/24, 7:56 AM OWASP IoT Security Testing Guide
1. Introduction
Motivation
The networking of a multitude of different devices towards the Internet of Things (IoT) poses
new challenges for manufacturers and operators of respective solutions. Due to the
interconnection of many different technologies, standards and protocols, a considerable
amount of effort is necessary to build up and maintain a homogeneous level of network
security, data security and IT security in general. Additionally, since the IoT field is changing
and developing quickly, manufacturers and operators must continuously monitor potential
threats to their devices and networks.
In order to reduce the risk of successful attacks, manufacturers and operators should
periodically assess the security level of their IoT solutions. An instrument for this purpose is
penetration testing. The goal of a penetration test is to identify security vulnerabilities within
IoT solutions. The results can be used to address the detected vulnerabilities and thus
strengthen the security level.
Challenges
Within the context of penetration tests, it is important that the test procedure is
transparent. Otherwise, the manufacturer or operator might not be able to understand the
meaning of the test results to the full extent and could draw wrong conclusions.
Furthermore, test results have to be reproducible, so that on the one hand the developers
can replicate how a vulnerability was exploited in order to craft a sufficient fix and on the
other hand to enable a proper retest once the fix has been applied.
https://owasp.org/owasp-istg/print.html 4/142
7/31/24, 7:56 AM OWASP IoT Security Testing Guide
Testing methodologies have been developed in order to make test procedures and results
comparable and to ensure that the results of two or more testers, who perform the same
test of the same target, do not differ. These well-known methodologies define a common
approach for performing tests, including key aspects of testing and test cases, which have to
be considered during a test. Unfortunately, only a few, not yet complete test methodologies
for IoT penetration tests exist at the moment of writing this guide. Furthermore, these
methodologies only focus on a specific technological area or are currently in an early
development phase.
Goals
In order to solve the above-mentioned challenges, the aim of this guide is to develop a
methodology for penetration tests of end devices in the IoT field, including general key
aspects of testing.
be flexibly expandable so that more detailed test cases for certain technologies can be
added later on (expandability).
enable the comparison of test procedure (test steps/cases) and results regardless of
specific technologies or device types (comparability).
Intended Audience
As the name suggests, the OWASP IoT Security Testing Guide is mainly intended to be used
by penetration testers and security analysts in the IoT, hardware and embedded fields.
However, others might benefit from the concepts and test cases introduced in this guide as
well:
https://owasp.org/owasp-istg/print.html 5/142
7/31/24, 7:56 AM OWASP IoT Security Testing Guide
Builder
Breaker
Penetration testers and bug bounty researchers can use the concepts introduced in
2. IoT Security Testing Framework to plan their tests and define the test scope, test
conditions and test approach. While performing the test, the test cases in 3. Test Case
Catalog and the respective Checklists can be used:
a) as a guide that shows which aspects should be tested, why they should be
tested, how they should be tested and how potential issues could be mitigated as
well as
b) to keep track of the test completion status, making sure that all relevant
aspects have been examined.
Security consultants and security managers can use this guide and its contents as a
common foundation for working with their teams and clients as well as communicating
with any of the stakeholders mentioned above. Especially the terminology and
structure defined in this guide should help to facilitate collaboration across different
teams and organizations.
Defender
Operators of IoT devices (e.g., users) can use this guide in a similar fashion as
manufacturers. However, the operators who run IoT devices usually have no or very
little influence on the design and development process. Hence, their focus is more
directed towards understanding how a device might be vulnerable in a particular
operational environment and how this environment could be affected in case that the
device is compromised or insecure.
https://owasp.org/owasp-istg/print.html 6/142
7/31/24, 7:56 AM OWASP IoT Security Testing Guide
In its current state, this guide comprises test cases on a very high and generic level. This is
intentional since the base version of this guide should be applicable to as many different IoT
devices as possible (comparability). However, the long-term goal is that this guide will be
expanded over time by adding modules with more detailed test cases for specific
technologies (expandability). Thereby, the guide will evolve and become more and more
detailed over time.
Solution Approach
During the preparation of a penetration test, a series of important decisions need to be
made, which have a major impact on the test procedure and consequently the test results.
Part of these decisions is to clarify what should be tested (scope of the test) and how the test
should be performed (test perspective).
In order to achieve the proposed solution, the following approach was chosen:
Before the test scope for an IoT device penetration test can be identified, it must first
be defined what an IoT device is and which parts it consists of. In order to support the
test scope definition, the device model should include device components that can
either be included in or excluded from the test scope. This guide will only focus on
components, directly belonging to the device itself. All device-external elements, such
as web applications, mobile applications and back end servers, will not be part of this
guide although sister OWASP testing guides cover these areas. The device model will
serve as a generalized scheme, depicting the common structure of IoT devices, thereby
enhancing the comprehensibility and comparability of the methodology presented in
this guide. As all further parts of the guide will rely on this basis, the creation of the
device model is a mandatory and important first step.
The guide will comprise key aspects of testing for each component of the device
model. Therefore, it will include a catalog of potential test cases for all device
components. Since it might not be required to perform all of these test cases for any
given kind of IoT device, a systematic approach is required, which yields a selection of
https://owasp.org/owasp-istg/print.html 7/142
7/31/24, 7:56 AM OWASP IoT Security Testing Guide
applicable test cases based on the requirements and the intended operational
environment of a specific device. The attacker model will support the definition of the
test perspective, providing comprehensibility and comparability by defining common
groups/types of attackers. In order to maintain efficiency, the attacker model will not
incorporate extensive threat and risk analysis models. This also benefits the
comparability across different device implementations.
Based on the IoT device model, a testing methodology including general key aspects of
testing will be developed. These general key aspects represent security issues that are
relevant for the device components and will be derived from more detailed test cases
for specific exemplars of a given component or technology. This derivation should
decouple the key aspects from specifics of the exemplar in order to enable the
methodology to be used for as many different IoT device implementations as possible
(comparability). However, the structure of the methodology will allow to add more
detailed key aspects of testing for specific exemplars of a device component later on,
thus providing expandability.
https://owasp.org/owasp-istg/print.html 8/142
7/31/24, 7:56 AM OWASP IoT Security Testing Guide
https://owasp.org/owasp-istg/print.html 9/142
7/31/24, 7:56 AM OWASP IoT Security Testing Guide
Related Work
The device model was built upon a reference architecture for IoT platforms. Furthermore,
potential attack vectors in the form of attack surface areas were also taken into account
since the device model will be used in a security context. These are outlined by the following
related work:
"IoT Attack Surface Areas Project": OWASP regularly publishes penetration testing
methodologies and collections of popular security risks (called "OWASP Top 10") in
several technical fields, such as web and mobile application security. Due to its
popularity, it has become one of the major sources for information regarding
penetration testing. In 2014 and 2018, OWASP has also published a top 10 of security
risks regarding the IoT field. The surface areas mentioned in the "IoT Attack Surface
Areas Project" represent parts of an IoT solution which might be targeted by potential
attackers. Due to the fact that this list already covers many potential attack vectors in
regards to IoT devices and IoT ecosystems in general, it was also used as a basis for the
device model proposed within this guide. However, some adjustments were made in
order to further differentiate the details of IoT device implementations, especially in
terms of the hardware side. Furthermore, the "IoT Attack Surface Areas Project" only
consists of a simple list of device parts, which does not specify how these parts interact
https://owasp.org/owasp-istg/print.html 10/142
7/31/24, 7:56 AM OWASP IoT Security Testing Guide
with each other. It also misses to define the characteristics of each device part (or
respectively the attack surface area) and thus makes it difficult to differentiate them,
e.g., "Device Memory" and "Local Data Storage". (source)
Device Boundaries
In order to distinguish between components belonging to an IoT device and components of
the surrounding IoT ecosystem, it is necessary to first define the boundaries of an
IoT device. An IoT device is generally encompassed by an enclosure of some kind, which
(physically) separates device-internal lements from device-external elements.
Interactions between internal and external elements are only possible via interfaces. Within
this guide, these interfaces are not considered to be part of the enclosure. Instead, those
interfaces will be categorized individually (see Interfaces).
As will be explained in the next section, the term "component" refers to an item that can be
the subject of a penetration test. Thus, device-internal elements and interfaces are
considered components within this guide.
Components
As introduced in the previous sections, the proposed device model should provide a
generalized selection of parts that IoT devices consist of. These parts will be referred to as
components. Every component is a piece of soft- and/or hardware that, in theory, can be
tested individually. The penetration test scope for an IoT device can therefore be defined as
a list of components.
Device-Internal Elements
Every device-internal element is a component residing inside the device enclosure. Thus,
they are part of the IoT device. IoT devices usually comprise the following internal elements,
all of which are mentioned in the list of attack surfaces composed by OWASP (source):
Processing unit: The processing unit, also called processor, is responsible for
managing and performing data processing tasks. These tasks are defined as a
sequence of instructions that are loaded from the memory. A device has at least a
central processing unit handling its core functionalities (defined by the firmware).
However, more complex devices might also be equipped with further processing units
that are assigned to specific subtasks. A special kind of processor are microprocessors,
built on a single circuit. Microcontrollers are microprocessors, which also have analog
https://owasp.org/owasp-istg/print.html 11/142
7/31/24, 7:56 AM OWASP IoT Security Testing Guide
and digital in- and outputs. They are typically used to control the behavior of a device
and are often used in the embedded field. (source)
1 For performing a test of a firmware update mechanism, a firmware package is required. Due to the
fact that a firmware package could also be inspected separately, it could be considered a component
as well. However, since this guide focuses on device-internal elements and device interfaces only,
firmware packages are not in scope. Contrary to installed firmware, an update package also includes
the firmware header, which might include important data.
https://owasp.org/owasp-istg/print.html 12/142
7/31/24, 7:56 AM OWASP IoT Security Testing Guide
Interfaces
Interfaces are required to connect two or more components with each other. Interactions
between device-internal elements or between device-internal and device-external elements
are only possible via interfaces. Based on which components are connected by an interface,
it can be categorized as a machine-to-machine or human-to-machine interface. As long as at
least one of the connected components is a device-internal element, the interface itself is
also part of the device.
Within this guide, the following kinds of interfaces will be differentiated, all of which are
either directly or indirectly mentioned in the list of attack surfaces, composed by OWASP
(source):
Examples: touch display, camera, microphone, local web application (hosted on the device)
https://owasp.org/owasp-istg/print.html 13/142
7/31/24, 7:56 AM OWASP IoT Security Testing Guide
Other models, e.g., the ones mentioned in Related Work, include sensors and actors as
components of a device. Within this guide, sensors and actors are considered physical,
wireless or user interfaces respectively because they enable interactions between device-
internal and -external elements or users via physical (e.g., touch sensor, door control) or
wireless connections (e.g., microphone, temperature sensor).
In some cases, it is also possible that devices comprise parts which can be considered
devices themselves (i.e., nested devices). It then depends on the perspective of the observer
which interfaces are classified as internal and external. The determining factor are the
boundaries between the observer and the interface (see Device Boundaries, Device-Internal
Elements and Interfaces).
Overall, the device model, which was specifically developed in the context of this guide, can
be used to create and share abstract representations of various different IoT devices.
Contrary to other models, this one solely focuses on the IoT device and the components it is
built of. Hence, the model allows to describe device implementations in a more detailed
manner. In combination with the models and concepts, developed in the following chapters,
it is possible to compile a list of applicable test cases for any given device regardless of the
specific technologies or standards that are implemented.
https://owasp.org/owasp-istg/print.html 14/142
7/31/24, 7:56 AM OWASP IoT Security Testing Guide
The reasons for not using a formal threat and risk modeling approach are:
Threat and risk modeling is usually focused on one specific implementation design.
Thus, the identified threats and risks are based on certain conditions of a given
solution or device, which makes it difficult to compare different solutions with each
other.
Performing a formal threat and risk analysis requires a significant amount of time,
which further increases with the complexity of the subject. Making a formal threat and
risk analysis a mandatory requirement for penetration tests would result in longer
testing periods and consequently higher expenses per test.
The spectrum of potential attackers reaches from anonymous global attackers to privileged
individuals and users of the device. As will be explained in following sections, the list of
attackers can be narrowed down by defining minimum and maximum access requirements,
representing the test perspective. Every device component and test case will be tagged with
the access level, which is required to perform the respective tests. Hence, the list of device
components in scope of the test as well as the list of applicable test cases will be a result of
applying the attacker model on the results, yielded by the device model.
It must be noted that, within this chapter, the term "IoT device" refers to a single device or
device type whereas, in the other chapters of this guide, it refers to IoT devices in general.
https://owasp.org/owasp-istg/print.html 15/142
7/31/24, 7:56 AM OWASP IoT Security Testing Guide
Attack vector: "This metric reflects the context by which vulnerability exploitation is
possible" (source). Values for this metric are ranging from network access (e.g., via the
internet) to physical access. Within the attacker model, this metric will be reflected by
the physical access level.
Attack complexity: "This metric describes the conditions beyond the attacker's
control that must exist in order to exploit the vulnerability" (source). The attack
complexity is not used in the attacker model since it refers to "conditions beyond the
attacker's control" (source) and thus is not relevant for categorizing potential attackers.
Privileges required: "This metric describes the level of privileges an attacker must
possess before successfully exploiting the vulnerability" (source). Values for this metric
are ranging from none (no privileges) to high. The required privileges are represented
in the attacker model by the authorization access level.
User interaction: "This metric captures the requirement for a human user, other than
the attacker, to participate in the successful compromise of the vulnerable component"
(source). The necessity of interactions by legitimate users will not be considered in the
attacker model since, while being relevant for the exploitability of a vulnerability, it is
not relevant for the selection of applicable test cases.
1 In regards of IT security, attackers are usually characterized based on further factors, e.g., their
aggressiveness and their resources (processing power, time, money). However, these factors do not
have or only have a minor impact for the selection of applicable test cases.
Access Levels
Within this attacker model, access levels are a measure for the relation between a certain
group of individuals (access group) and the IoT device. They describe how individuals of the
access group are intended to be able to interact with the device. These can either be
physical interactions or logical authorization interactions.
The degree of how close individuals can get to the device is measured by the physical access
level. The physical access level is an adaption of the CVSS metric "attack vector" and it
reflects the physical context that is required to perform attacks against a target device.
Therefore, some of the original values from the CVSS were used (network, local, physical).
However, the description of local access was adjusted in regards of the focus on the physical
context. Additionally, the physical access as defined in the CVSS was split into two levels:
non-invasive and invasive physical access. The reason for this is that some IoT devices are
protected with special measures that restrict access to device-internal elements, e.g., locked
or sealed enclosures. In this case, attackers might not be able to access device-internals in a
reasonable amount of time, thus they only have non-invasive physical access. Other devices
have enclosures that can be opened in a short time, e.g., by removing screws. Thus,
https://owasp.org/owasp-istg/print.html 16/142
7/31/24, 7:56 AM OWASP IoT Security Testing Guide
attackers could access device-internals, therefore gaining invasive physical access. Overall,
the physical access level can be affected by factors like geographical location, building
security or the device enclosure.
2. Local access (PA-2): There is a limited physical distance2 between an individual and
the device, but direct physical interactions are not possible. An attacker with local
access can use the device from close proximity, which usually means that the device is
directly accessible via a Local Area Network (LAN) or Wireless Local Area Network
(WLAN).
4. Invasive access (PA-4): There is no physical distance between an individual and the
device and the individual can directly access device-internal elements in a physical
manner (i.e., open the device enclosure).
The digital privileges of individuals are measured by the authorization access level. The
authorization access level is an adaption of the CVSS metric "privileges required". In addition
to the values, defined in the CVSS, another level of privileges, called manufacturer-level
access, was added on top of the high privileges. Contrary to web applications and computer
networks, which are usually operated from within the control zone of the operator (e.g.,
within a data center), IoT devices are often operated outside that control zone. Established
methods for securing maintenance and debugging access (e.g., restricting maintenance
access to pre-defined subnets, IP addresses or physical ports in the data center) can not
always be applied. Hence, attacks against a device with manufacturer-level access might be
possible. Overall, the authorization access level can be affected by factors like policies or
role-based access models.
1. Unauthorized access (AA-1): An individual can get anonymous access to the device
component. Attackers with anonymous access can be any unregistered user.
2. Low-privileged access (AA-2): An individual can only get access to the device
component, if it is authenticated and in possession of standard authorization
privileges. Attackers with low-privileged access can be any registered user.
3. High-privileged access (AA-3): An individual can only get access to the device
component, if it is authenticated and in possession of extensive privileges. The term
https://owasp.org/owasp-istg/print.html 17/142
7/31/24, 7:56 AM OWASP IoT Security Testing Guide
4. Manufacturer-level access (AA-4): An individual can only get access to the device
component, if it is authenticated and in possession of manufacturer-level authorization
privileges. Contrary to high-privileged access, manufacturer-level access is not
restricted in any way and includes, e.g., debugging access for developers of the device,
access to the source code or root-level access to the firmware.
2 Limited physical distance is not restricted to a specic maximum value per se. Depending on the
technologies in use, the maximum distance might range from a few meters (e.g., in case of Bluetooth)
to a few kilometers (e.g., in case of LTE).
The physical access level refers to the device as a whole. Thus, some physical access
levels directly define that certain device components can not be tested with the given
level since an attacker could not interact with these components at all. The relation
between physical access levels and device components is shown in the table below.
There is no reason for selecting a minimal authorization access level for the test
perspective since evaluating whether it is possible to get access to (parts of) the device
with lower privileges than intended should be part of the test.
All in all, the attacker model can be used to create an abstract representation of potential
attackers. It can be used to describe which kind of attackers is considered a threat to a given
https://owasp.org/owasp-istg/print.html 18/142
7/31/24, 7:56 AM OWASP IoT Security Testing Guide
device in its operation environment. Contrary to other methodologies and models, this one
can be used in a more streamlined manner, thus being more efficient, e.g., compared to full
threat and risk analysis approaches. It is also takes the specifics of the IoT context more into
account than the CVSS, which it is based on. In combination with the device model, it is
possible to define the test scope and test perspective, thereby determining which test cases
can and shall be performed.
3 Installed firmware and the firmware update mechanism might be testable with non-invasive (PA-3),
local (PA-2) or remote physical access (PA-1), depending on how direct access to the firmware can be
accomplished (e.g., via SSH).
4 Data exchange services might be testable with non-invasive (PA-3), local (PA-2) or remote physical
access (PA-1), depending on if they were designed for that kind of access, e.g., for remote control or
monitoring purposes.
5 Physical interfaces might be testable with local physical access (PA-2) under certain circumstances,
they were designed for that kind of access, e.g., for remote control or monitoring purposes.
https://owasp.org/owasp-istg/print.html 19/142
7/31/24, 7:56 AM OWASP IoT Security Testing Guide
At first, it will be described how this methodology can be integrated into other workflows
and during which steps the models and concepts of this methodology can be used. Then,
selected testing techniques will be explained, which can be applied during the test and are
not restricted to certain test cases. Finally, the structural concept of the catalog of test cases
will be explained.
It must be noted that test cases, which apply to multiple components, will not be included in
this chapter. The full list of test cases can be found in 3. Test Case Catalog.
The methodology proposed in this guide can be used to facilitate the following steps:
Clarification of the Test Scope and Test Perspective: The methodology supports the
clarification of test objectives and conditions with the contractee during phases 1 and 3
of the BSI model (source) by establishing a common terminology in form of the device
and attacker models, thus facilitating the communication. Furthermore, the device
https://owasp.org/owasp-istg/print.html 20/142
7/31/24, 7:56 AM OWASP IoT Security Testing Guide
model supports the testing team during phase 2 by providing a generic scheme, which
can be compared to the architecture of a given IoT device in order to identify potential
attack vectors.
Test Execution and Documentation: The catalog of test cases acts as a guideline for
testers during the active test (phase 4 of the BSI model (source)). Depending on the
test scope and test perspective, applicable test cases are defined, which have to be
performed during the test. Thus, the test catalog can be used as a checklist to ensure
that all mandatory tests were performed. It also allows to transparently document the
test procedure in a reproducible manner during phase 5, due to the fact that
performed test cases can be referenced in the report.
The catalog of test cases will follow a hierarchic (tree) structure. Starting from a single root
node (IOT), each component of the device model will be represented as a child node,
thereby forming its own subtree. Subsequently, further nodes will be added as children to
the component nodes, eventually resulting in each test case being a leaf node. A unique
identifier, incorporating this structure, will be assigned to each node, allowing to reference it
in the test report or other documents.
Component: The first main hierarchy level is the component (see 2.1. IoT Device
Model). The type of component (device-internal element/interface) was not included in
the hierarchy for the sake of simplicity and due to the lack of added value.
By default, component specializations inherit all categories and test cases, defined for
their parent node (e.g., all test cases defined for the component firmware - ISTG-FW -
https://owasp.org/owasp-istg/print.html 21/142
7/31/24, 7:56 AM OWASP IoT Security Testing Guide
Category: The second main hierarchy level is the category, which can be used to group
test cases, e.g., all test cases related to authorization can be grouped in the category
AUTHZ.
Test Case: The third main hierarchy level is the test case. See 3. Test Case Catalog for
more details.
The usage of component and category specializations allows to expand the catalog of
general test cases to include test cases for specific standards and technologies. By inheriting
test cases from their parent nodes, it is ensured that these test cases are also applied to the
child nodes by default. However, at the time of writing this guide, the possibility that test
cases of a parent node might not be applicable to a child node in particular cases could not
be precluded. Thus, it is allowed to specify a list of test cases, which are excluded from being
inherited by a certain child node.
Another way to expand the catalog is to add custom components, categories and test cases.
This way, the methodology could also be expanded to include further components, e.g.,
device-external elements of the IoT ecosystem.
https://owasp.org/owasp-istg/print.html 22/142
7/31/24, 7:56 AM OWASP IoT Security Testing Guide
Hierarchy
ID Description
Level
0 IOT Root Node
1 Component
ISTG-PROC Processing Unit
ISTG-MEM Memory
ISTG-FW Firmware
ISTG-DES Data Exchange Service
ISTG-INT Internal Interface
ISTG-PHY Physical Interface
ISTG-WRLS Wireless Interface
ISTG-UI User Interface
Custom Component (placeholder for future
ISTG-*
extensions)
Component Specialization (Optional)
ISTG-
Installed Firmware
FW[INST]
ISTG-
Firmware Update Mechanism
FW[UPDT]
Custom Component Specialization (placeholder
ISTG-*[*]
for future extensions)
2 Category
ISTG-*-
Authorization
AUTHZ
ISTG-*-INFO Information Gathering
ISTG-*-CRYPT Cryptography
ISTG-*-SCRT Secrets
ISTG-*-CONF Configuration and Patch Management
ISTG-*-LOGIC Business Logic
ISTG-*-INPV Input Validation
ISTG-*-SIDEC Side-Channel Attacks
Custom Category (placeholder for future
ISTG-*-*
extensions)
3 Test Case
ISTG-*-INFO-
Disclosure of Source Code and Binaries
001
ISTG-*-INFO-
Disclosure of Implementation Details
002
https://owasp.org/owasp-istg/print.html 23/142
7/31/24, 7:56 AM OWASP IoT Security Testing Guide
Hierarchy
ID Description
Level
ISTG-*-INFO-
Disclosure of Ecosystem Details
003
Custom Test Case (placeholder for future
ISTG-*-*-*
extensions)
Each individual test case, which is represented by a leaf node, is divided into the following
sections:
Requirements: The requirements section will define which physical and authorization
access levels are required to carry out the test case. Since these requirements also
depend on the given test conditions, e.g., the specific implementation of the target
device and its operational environment, a range of access levels might be defined
which apply to the test case in general.
Summary: The summary section includes an overall description of the security issue,
which the test case is based on.
Test Objectives: In the test objectives section, a list of checks that the tester has to
perform is given. By performing these checks, the tester can determine whether the
device is affected by the security issue described in the summary.
https://owasp.org/owasp-istg/print.html 24/142
7/31/24, 7:56 AM OWASP IoT Security Testing Guide
https://owasp.org/owasp-istg/print.html 25/142
7/31/24, 7:56 AM OWASP IoT Security Testing Guide
https://owasp.org/owasp-istg/print.html 26/142
7/31/24, 7:56 AM OWASP IoT Security Testing Guide
Table of Contents
Overview
Authorization (ISTG-PROC-AUTHZ)
Unauthorized Access to the Processing Unit (ISTG-PROC-AUTHZ-001)
Privilege Escalation (ISTG-PROC-AUTHZ-002)
Business Logic (ISTG-PROC-LOGIC)
Insecure Implementation of Instructions (ISTG-PROC-LOGIC-001)
Side-Channel Attacks (ISTG-PROC-SIDEC)
Insufficient Protection Against Side-Channel Attacks (ISTG-PROC-SIDEC-001)
Overview
This section includes test cases and categories for the component processing unit. A
processing unit is a device-internal element that can only be accessed with PA-4. Establishing
a direct connection to the processing unit might require specific hardware equipment (e.g., a
debugging board, an oscilloscope or test probes).
The following test case categories, relevant for processing units, were identified:
Authorization (ISTG-PROC-AUTHZ)
Depending on the access model for a given device, only certain individuals might be allowed
to access a processing unit directly. Thus, proper authentication and authorization
procedures need to be in place, which ensure that only authorized entities can get access.
https://owasp.org/owasp-istg/print.html 27/142
7/31/24, 7:56 AM OWASP IoT Security Testing Guide
Physical PA-4
Authorization AA-1
Summary
Test Objectives
It must be checked if authorization checks for access to the processing unit are
implemented.
In case that authorization checks are in place, it must be determined whether there is a
way to bypass them.
Remediation
Proper authorization checks need to be implemented, which ensure that access to the
processing unit is only possible for authorized entities.
References
Physical PA-4
Authorization AA-2 - AA-3
(depending on the access model for the given device)
Summary
https://owasp.org/owasp-istg/print.html 28/142
7/31/24, 7:56 AM OWASP IoT Security Testing Guide
Test Objectives
Remediation
Proper authorization checks need to be implemented, which ensure that access to restricted
functionalities is only possible for individuals with the required authorization access levels.
References
Physical PA-4
Authorization AA-1 - AA-4
(depending on what level of privileges is required to successfully submit ins
**Summary**
Flaws in the implementation of the business logic might result in unintended behavior or
malfunctions of the device. For example, if an attacker intentionally tries to skip or change
important instructions in the processing workflow, the device might end up in an unknown,
potentially insecure state.
Test Objectives
Remediation
https://owasp.org/owasp-istg/print.html 29/142
7/31/24, 7:56 AM OWASP IoT Security Testing Guide
The device should not end up in an unknown state. Anomalies in the workflow must be
detected and exceptions have to be handled properly.
References
Physical PA-4
Authorization AA-1 - AA-4
(depending on how the attack is being performed; see summary for more d
**Summary**
Depending on how the attack is being performed, different levels of authorization access
might be required. Some side-channel attacks, such as glitching attacks, do not require
authorization access at all since the attack is performed on a physical level by manipulating
the power supply. Other side-channel attack vectors, such as the Meltdown vulnerability,
require the execution of code by an attacker. Thus, some kind of authorization access is
necessary.
Test Objectives
During the testing period, the behavior of the processing unit has to be analyzed in
order to assess the probability of successful side-channel attacks like timing or
https://owasp.org/owasp-istg/print.html 30/142
7/31/24, 7:56 AM OWASP IoT Security Testing Guide
glitching attacks.
Remediation
Based on the results of the analysis, the hardware design should be adjusted to be resilient
against side-channel attacks. Furthermore, if publicly known vulnerabilities exist, the latest
patches should be installed.
References
For this test case, data from the following sources was consolidated:
https://owasp.org/owasp-istg/print.html 31/142
7/31/24, 7:56 AM OWASP IoT Security Testing Guide
Table of Contents
Overview
Information Gathering (ISTG-MEM-INFO)
Disclosure of Source Code and Binaries (ISTG-MEM-INFO-001)
Disclosure of Implementation Details (ISTG-MEM-INFO-002)
Disclosure of Ecosystem Details (ISTG-MEM-INFO-003)
Disclosure of User Data (ISTG-MEM-INFO-004)
Secrets (ISTG-MEM-SCRT)
Unencrypted Storage of Secrets (ISTG-MEM-SCRT-001)
Cryptography (ISTG-MEM-CRYPT)
Usage of Weak Cryptographic Algorithms (ISTG-MEM-CRYPT-001)
Overview
This section includes test cases and categories for the component memory. Similar to the
processing unit, the memory is a device-internal element that can only be accessed with PA-
4. Establishing a direct connection to the memory might require specific hardware
equipment (e.g., a debugging board or test probes).
In regards to test case categories that are relevant for memory, the following were
identified:
Secrets: Focuses on secrets that are stored on the memory chip in an insecure
manner.
Tests on the device memory are performed by directly accessing the memory chips. Thus,
invasive physical access (PA-4) is required while no user accounts are used (AA-1).
Physical PA-4
Authorization AA-1
Summary
The disclosure of uncompiled source code could accelerate the exploitation of the software
implementation since vulnerabilities can be directly identified in the code without the need
to perform tests in a trial and error manner. Furthermore, left-over source code might
include internal development information, developer comments or hard-coded sensitive
data, which were not intended for productive use.
Similar to uncompiled source code, compiled binaries might also disclose relevant
information. However, reverse-engineering might be required to retrieve useful data, which
could take a considerable amount of time. Thus, the tester has to assess which binaries
might be worth analyzing, ideally in coordination with the device manufacturer.
Test Objectives
It must be checked if uncompiled source code can be identified within the device
memory.
If uncompiled source code is detected, its content must be analyzed for the presence
of sensitive data, which might be useful for potential attackers.
Remediation
If possible, uncompiled source code should be removed from devices, intended for
productive use. If the source code has to be included, it must be verified that all internal
development data is removed before releasing the device.
References
https://owasp.org/owasp-istg/print.html 33/142
7/31/24, 7:56 AM OWASP IoT Security Testing Guide
For this test case, data from the following sources was consolidated:
Physical PA-4
Authorization AA-1
Summary
If details about the implementation, e.g., algorithms in use or the authentication procedure,
are available to potential attackers, flaws and entry points for successful attacks are easier
to detect. While the disclosure of such details alone is not considered to be a vulnerability, it
facilitates the identification of potential attack vectors, thus allowing an attacker to exploit
insecure implementations faster.
Test Objectives
Remediation
References
For this test case, data from the following sources was consolidated:
https://owasp.org/owasp-istg/print.html 34/142
7/31/24, 7:56 AM OWASP IoT Security Testing Guide
Physical PA-4
Authorization AA-1
Summary
The contents of the device memory might disclose information about the surrounding
IoT ecosystem, e.g., sensitive URLs, IP addresses, software in use etc. An attacker might be
able to use this information to prepare and execute attacks against the ecosystem.
For example, relevant information might be included in files of various types like
configuration files and text files.
Test Objectives
It must be determined if the data stored in the device memory, e.g., configuration files,
contain relevant information about the surrounding ecosystem.
Remediation
The disclosure of information should be reduced to the minimum, which is required for
operating the device. The disclosed information has to be assessed and all unnecessarily
included data should be removed.
References
For this test case, data from the following sources was consolidated:
Physical PA-4
Authorization AA-1
https://owasp.org/owasp-istg/print.html 35/142
7/31/24, 7:56 AM OWASP IoT Security Testing Guide
Summary
During runtime, a device is accumulating and processing data of different kinds, such as
personal data of its users. If this data is not stored securely, an attacker might be able to
recover it from the device.
Test Objectives
Remediation
Access to user data should only be granted to individuals and processes that need to have
access to it. No unauthorized or not properly authorized individual should be able to recover
user data.
References
For this test case, data from the following sources was consolidated:
Secrets (ISTG-MEM-SCRT)
IoT devices are often operated outside of the control space their manufacturer. Still, they
need to establish connections to other network nodes within the IoT ecosystem, e.g., to
request and receive firmware updates or to send data to a cloud API. Hence, it might be
required that the device can provide some kind of authentication credential or secret. These
secrets need to be stored on the device in a secure manner to prevent them from being
stolen and used to impersonate the device.
Physical PA-4
Authorization AA-1
Summary
https://owasp.org/owasp-istg/print.html 36/142
7/31/24, 7:56 AM OWASP IoT Security Testing Guide
Sensitive data and secrets should be stored in an encrypted manner, so that even if an
attacker has managed to get access to the memory, he has no access to the respective
plaintext data.
Test Objectives
Remediation
Secrets have to be stored using proper cryptographic algorithms. Only the encrypted form
of the secret should be stored.
References
For this test case, data from the following sources was consolidated:
Cryptography (ISTG-MEM-CRYPT)
Many IoT devices need to implement cryptographic algorithms, e.g., to securely store
sensitive data, for authentication purposes or to receive and verify encrypted data from
other network nodes. Failing to implement secure, state of the art cryptography might lead
to the exposure of sensitive data, device malfunctions or loss of control over the device.
Physical PA-4
Authorization AA-1
Summary
https://owasp.org/owasp-istg/print.html 37/142
7/31/24, 7:56 AM OWASP IoT Security Testing Guide
The usage of weak cryptographic algorithms might allow an attacker to recover the plaintext
from a given ciphertext in a timely manner.
Test Objectives
The data, stored on the device, must be checked for the presence of encrypted data
segments. In case that encrypted data segments are found, it must be checked
whether the cryptographic algorithms in use can be identified.
Remediation
Only strong, state of the art cryptographic algorithms should be used. Furthermore, these
algorithms must be used in a secure manner by setting proper parameters, such as an
appropriate key length or mode ofoperation.
References
For this test case, data from the following sources was consolidated:
https://owasp.org/owasp-istg/print.html 38/142
7/31/24, 7:56 AM OWASP IoT Security Testing Guide
Table of Contents
Overview
Information Gathering (ISTG-FW-INFO)
Disclosure of Source Code and Binaries (ISTG-FW-INFO-001)
Disclosure of Implementation Details (ISTG-FW-INFO-002)
Disclosure of Ecosystem Details (ISTG-FW-INFO-003)
Configuration and Patch Management (ISTG-FW-CONF)
Usage of Outdated Software (ISTG-FW-CONF-001)
Presence of Unnecessary Software and Functionalities (ISTG-FW-CONF-002)
Secrets (ISTG-FW-SCRT)
Secrets Stored in Public Storage (ISTG-FW-SCRT-001)
Unencrypted Storage of Secrets (ISTG-FW-SCRT-002)
Usage of Hardcoded Secrets (ISTG-FW-SCRT-003)
Cryptography (ISTG-FW-CRYPT)
Usage of Weak Cryptographic Algorithms (ISTG-FW-CRYPT-001)
Overview
This section includes test cases and categories for the component firmware and the
component specializations installed firmware (ISTG-FW[INST]) and firmware update
mechanism (ISTG-FW[UPDT]) respectively. The firmware might be accessible with all physical
access levels, depending on how this access is implemented in detail.
In regards to test case categories that are relevant for processing units, the following were
identified:
Secrets: Focuses on secrets that are stored within the firmware in an insecure manner.
https://owasp.org/owasp-istg/print.html 39/142
7/31/24, 7:56 AM OWASP IoT Security Testing Guide
All test cases and categories for the component ISTG-FW focus on generic firmware analysis
aspects, without regards to the specifics of specializations for this component.
Summary
The disclosure of uncompiled source code could accelerate the exploitation of the software
implementation since vulnerabilities can be directly identified in the code without the need
to perform tests in a trial and error manner. Furthermore, left-over source code might
include internal development information, developer comments or hard-coded sensitive
data, which were not intended for productive use.
Similar to uncompiled source code, compiled binaries might also disclose relevant
information. However, reverse-engineering might be required to retrieve useful data, which
could take a considerable amount of time. Thus, the tester has to assess which binaries
might be worth analyzing, ideally in coordination with the firmware manufacturer.
Test Objectives
It must be checked if uncompiled source code can be identified within the firmware.
If uncompiled source code is detected, its content must be analyzed for the presence
of sensitive data, which might be useful for potential attackers (also see ISTG-FW-SCRT-
https://owasp.org/owasp-istg/print.html 40/142
7/31/24, 7:56 AM OWASP IoT Security Testing Guide
003).
Remediation
If possible, uncompiled source code should be removed from firmware, intended for
productive use. If the source code has to be included, it must be verified that all internal
development data is removed before the firmware is released.
References
For this test case, data from the following sources was consolidated:
Summary
If details about the implementation, e.g., algorithms in use or the authentication procedure,
are available to potential attackers, flaws and entry points for successful attacks are easier
to detect. While the disclosure of such details alone is not considered to be a vulnerability, it
facilitates the identification of potential attack vectors, thus allowing an attacker to exploit
insecure implementations faster.
https://owasp.org/owasp-istg/print.html 41/142
7/31/24, 7:56 AM OWASP IoT Security Testing Guide
For example, relevant information might be included in files of various types like
configuration files, text files, system settings or databases.
Test Objectives
Remediation
References
For this test case, data from the following sources was consolidated:
Summary
The contents of the device firmware might disclose information about the surrounding
IoT ecosystem, e.g., sensitive URLs, IP addresses, software in use etc. An attacker might be
able to use this information to prepare and execute attacks against the ecosystem.
https://owasp.org/owasp-istg/print.html 42/142
7/31/24, 7:56 AM OWASP IoT Security Testing Guide
For example, relevant information might be included in files of various types like
configuration files and text files.
Test Objectives
It must be determined if (parts of) the firmware, e.g., configuration files, contain
relevant information about the surrounding ecosystem.
Remediation
The disclosure of information should be reduced to the minimum, which is required for
operating the device. The disclosed information has to be assessed and all unnecessarily
included data should be removed.
References
For this test case, data from the following available sources was consolidated:
Summary
https://owasp.org/owasp-istg/print.html 43/142
7/31/24, 7:56 AM OWASP IoT Security Testing Guide
Every piece of software is potentially vulnerable to attacks. For example, coding errors could
lead to undefined program behavior, which then can be exploited by an attacker to gain
access to data, processed by the application, or to perform actions in the context of the
runtime environment. Furthermore, vulnerabilities in the used frameworks, libraries and
other technologies might also affect the security level of a given piece of software.
Usually, developers release an update once a vulnerability was detected in their software.
These updates should be installed as soon as possible in order to reduce the probability of
successful attacks. Otherwise, attackers could use known vulnerabilities to perform attacks
against the device.
Test Objectives
Remediation
The firmware should not include any outdated software packages. A proper patch
management process, which ensures that applicable updates are installed once being
available, should be implemented.
References
For this test case, data from the following available sources was consolidated:
https://owasp.org/owasp-istg/print.html 44/142
7/31/24, 7:56 AM OWASP IoT Security Testing Guide
Summary
Every piece of software, which is included in the firmware, broadens the attack surface since
it might be used to perform attacks against the device. Even if the installed software is up-to-
date, it might still be affected by unpublished vulnerabilities. It is also possible that a
software program facilitates an attack without being vulnerable, e.g., by providing access to
specific files or processes.
Test Objectives
A list of software packages, that are included in the firmware, should be assembled.
Based on the device documentation, its behavior and the intended use cases, it must
be determined whether any of the installed software packages are not mandatory for
the device operation.
Remediation
The attack surface should be minimized as much as possible by removing or disabling every
software that is not required for the device operation.
References
For this test case, data from the following sources was consolidated:
Secrets (ISTG-FW-SCRT)
IoT devices are often operated outside of the control space of their manufacturer. Still, they
need to establish connections to other network nodes within the IoT ecosystem, e.g., to
request and receive firmware updates or to send data to a cloud API. Hence, it might be
required that the device has to provide some kind of authentication credential or secret.
These secrets need to be stored on the device in a secure manner to prevent them from
being stolen and used to impersonate the device.
https://owasp.org/owasp-istg/print.html 45/142
7/31/24, 7:56 AM OWASP IoT Security Testing Guide
Summary
Generally, there are multiple kinds of storage spaces within a file system, some of which are
publicly available and some that can only be accessed with a certain level of privileges. If
sensitive data or secrets are stored in publicly accessible storage spaces, users who should
not have access to this data but who have access to the file system could read or modify it.
In case of a successful attack, it is very likely that secrets, stored in public storage, are
disclosed.
Test Objectives
Files and databases within public storage spaces must be checked for the presence of
secrets, such as passwords, symmetric or private keys and tokens.
Remediation
Access to secrets should only be granted to the accounts or processes with proper
privileges. Thus, secrets should be stored in protected storage areas or designated key
stores that are only available to certain entities.
References
For this test case, data from the following available sources was consolidated:
Summary
Sensitive data and secrets should be stored in an encrypted manner, so that even if an
attacker has managed to get access to it, he has no access to the respective plaintext data.
Contrary to ISTG-FW-SCRT-001, it does not matter if the secrets are stored in public or
restricted storage spaces, since it is assumed that the attacker has already gotten access to
the data, e.g., by circumventing access restrictions or by exploiting a process with access to
the restricted storage. Furthermore, the strength of the cryptographic algorithms in use will
be covered by ISTG-FW-CRYPT-001 and has no relevance for this test case.
Test Objectives
By searching public and restricted storage spaces, it must be determined whether the
firmware includes secrets in plaintext form.
Remediation
Secrets have to be stored using proper cryptographic algorithms. Only the encrypted form
of the secret should be stored.
References
For this test case, data from the following sources was consolidated:
Summary
https://owasp.org/owasp-istg/print.html 47/142
7/31/24, 7:56 AM OWASP IoT Security Testing Guide
Sometimes, developers tend to incorporate secrets directly into the source code of their
software. This can lead to a variety of security issues like:
the disclosure of secrets via published source code snippets or decompiled source
code,
endangering all devices that are using the given software since it is very likely that the
same secret is used on all devices (otherwise, the source code needs to be changed
and compiled for every device individually) and
impeding reactive measures in case of the secret being compromised since changing
the secret requires a software update.
Test Objectives
Remediation
Secrets should not be hard-coded into the source code. Instead, secrets should be stored in
a secure manner (see ISTG-FW-SCRT-001 and ISTG-FW-SCRT-002) and the software process
should dynamically retrieve the secrets from the secure storage during runtime.
References
For this test case, data from the following available sources was consolidated:
Cryptography (ISTG-FW-CRYPT)
Many IoT devices need to implement cryptographic algorithms, e.g., to securely store
sensitive data, for authentication purposes or to receive and verify encrypted data from
other network nodes. Failing to implement secure, state of the art cryptography might lead
to the exposure of sensitive data, device malfunctions or loss of control over the device.
https://owasp.org/owasp-istg/print.html 48/142
7/31/24, 7:56 AM OWASP IoT Security Testing Guide
Summary
The usage of weak cryptographic algorithms might allow an attacker to recover the plaintext
from a given ciphertext in a timely manner.
Test Objectives
The data, stored by or within the firmware, must be checked for the presence of
encrypted data segments. In case that encrypted data segments are found, it must be
checked whether the cryptographic algorithms in use can be identified.
Remediation
Only strong, state of the art cryptographic algorithms should be used. Furthermore, these
algorithms must be used in a secure manner by setting proper parameters, such as an
appropriate key length or mode of operation.
References
For this test case, data from the following sources was consolidated:
https://owasp.org/owasp-istg/print.html 49/142
7/31/24, 7:56 AM OWASP IoT Security Testing Guide
https://owasp.org/owasp-istg/print.html 50/142
7/31/24, 7:56 AM OWASP IoT Security Testing Guide
Table of Contents
Overview
Authorization (ISTG-FW-AUTHZ)
Unauthorized Access to the Firmware (ISTG-FW-AUTHZ-001)
Privilege Escalation (ISTG-FW-AUTHZ-002)
Information Gathering (ISTG-FW-INFO)
Disclosure of User Data (ISTG-FW-INFO-001)
Cryptography (ISTG-FW-CRYPT)
Insufficient Verification of the Bootloader Signature (ISTG-FW-CRYPT-001)
Overview
One specialization of the component firmware is the installed form of a firmware, which
might be the subject of a dynamic analysis. The dynamic analysis allows to test the handling
of data during runtime. This way, the processing and storing of user data can also be
analyzed. As a pre-requisite for the dynamic analysis, a device, which is running the target
firmware version, must be provided.
Authorization (ISTG-FW[INST]-AUTHZ)
Usually, only certain individuals, e.g., administrators, should be allowed to access the device
firmware during runtime. Thus, proper authentication and authorization procedures need to
be in place, which ensure that only authorized users can get access to the firmware.
Summary
https://owasp.org/owasp-istg/print.html 51/142
7/31/24, 7:56 AM OWASP IoT Security Testing Guide
Depending on the specific implementation of a given device, access to the firmware or its
functions might be restricted to individuals with a certain authorization access level, e.g., AA-
2, AA-3 or AA-4. If the device firmware fails to correctly verify access permissions, any
attacker (AA-1) might be able to get access to the firmware.
Test Objectives
It must be checked if authorization checks for access to the firmware are implemented.
In case that authorization checks are in place, it must be determined whether there is a
way to bypass them.
Remediation
Proper authorization checks need to be implemented, which ensure that access to the
firmware is only possible for authorized individuals.
References
For this test case, data from the following sources was consolidated:
Summary
Depending on the specific implementation of a given device, access to parts of the firmware
or its functions might be restricted to individuals with a certain authorization access level,
e.g., AA-3 or AA-4. If the device firmware fails to correctly verify access permissions, an
attacker with a lower authorization access level than intended might be able to get access to
the restricted firmware parts.
https://owasp.org/owasp-istg/print.html 52/142
7/31/24, 7:56 AM OWASP IoT Security Testing Guide
Test Objectives
Remediation
Proper authorization checks need to be implemented, which ensure that access to restricted
parts of the firmware is only possible for individuals with the required authorization access
levels.
References
Summary
During runtime, a device is accumulating and processing data of different kinds, such as
personal data of its users. If this data is not stored securely, an attacker might be able to
recover it from the device.
Test Objectives
Remediation
Access to user data should only be granted to individuals and processes that need to have
access to it. No unauthorized or not properly authorized individual should be able to recover
user data.
https://owasp.org/owasp-istg/print.html 53/142
7/31/24, 7:56 AM OWASP IoT Security Testing Guide
References
For this test case, data from the following sources was consolidated:
Cryptography (ISTG-FW[INST]-CRYPT)
Many IoT devices need to implement cryptographic algorithms, e.g., to securely store
sensitive data, for authentication purposes or to receive and verify encrypted data from
other network nodes. Failing to implement secure, state of the art cryptography might lead
to the exposure of sensitive data, device malfunctions or loss of control over the device.
Summary
Test Objectives
It must be checked if the signature of the bootloader is properly verified by the device
during the boot process.
Remediation
The device must properly verify the digital signature of a bootloader before it is executed. A
bootloader without a valid signature should not be executed.
https://owasp.org/owasp-istg/print.html 54/142
7/31/24, 7:56 AM OWASP IoT Security Testing Guide
Table of Contents
Overview
Authorization (ISTG-FW-AUTHZ)
Unauthorized Firmware Update (ISTG-FW-AUTHZ-001)
Cryptography (ISTG-FW-CRYPT)
Insufficient Firmware Update Signature (ISTG-FW-CRYPT-001)
Insufficient Firmware Update Encryption (ISTG-FW-CRYPT-002)
Insecure Transmission of the Firmware Update (ISTG-FW-CRYPT-003)
Insufficient Verification of the Firmware Update Signature (ISTG-FW-CRYPT-004)
Business Logic (ISTG-FW-LOGIC)
Insufficient Rollback Protection (ISTG-FW-LOGIC-001)
Overview
Another important aspect of the device firmware is the firmware update mechanism. Failing
to implement a secure update mechanism might enable attackers to install a custom,
manipulated firmware on the device, thus gaining complete control over it.
Authorization (ISTG-FW[UPDT]-AUTHZ)
Since the test of the firmware update mechanism is also a dynamic analysis, it is possible to
check if only authorized individuals can initialize and perform an update.
https://owasp.org/owasp-istg/print.html 55/142
7/31/24, 7:56 AM OWASP IoT Security Testing Guide
Summary
Test Objectives
In case that authorization checks are in place, it must be determined whether there is a
way to bypass them.
Remediation
Proper authorization checks need to be implemented, which ensure that a firmware update
can only be performed by individuals with certain authorization access levels.
References
For this test case, data from the following sources was consolidated:
Cryptography (ISTG-FW[UPDT]-CRYPT)
During the firmware update process, cryptographic algorithms are used to verify the
integrity of the new firmware and to ensure that no sensitive data is disclosed in transit.
https://owasp.org/owasp-istg/print.html 56/142
7/31/24, 7:56 AM OWASP IoT Security Testing Guide
Summary
Test Objectives
Remediation
A valid digital signature must be available for the firmware update package. Furthermore, it
must be possible to verify the validity of the digital signature.
References
For this test case, data from the following sources was consolidated:
Summary
Firmware update packages might include confidential data of the soft- and hardware
developer, e.g., intellectual property. Hence, it might be required to encrypt the package
itself.
Test Objectives
It has to be clarified with the firmware developer whether the firmware update
package needs to be encrypted.
Remediation
The firmware update package should be encrypted using state of the art cryptographic
algorithms.
References
For this test case, data from the following sources was consolidated:
Summary
If the firmware update process is not performed via a secure channel or if no further
measures are in place to ensure the confidentiality and to detect modifications of the
https://owasp.org/owasp-istg/print.html 58/142
7/31/24, 7:56 AM OWASP IoT Security Testing Guide
transmitted data, an attacker with access to the communication channel might be able to
interfere with the update process.
Test Objectives
If the firmware update is performed over an insecure channel, like the internet, it must
be checked whether proper measures in regards of confidentiality and integrity are in
place.
If, for example, the communication channel is secured using TLS, it must be checked
which cipher suites are supported and if the server certificate is validated by the client.
Remediation
If feasible, the firmware update should be performed via a secure channel. Otherwise,
proper measures need to be implemented in order to prevent or detect interferences with
potential attackers.
References
For this test case, data from the following sources was consolidated:
Summary
Even if the firmware update package is digitally signed, an attacker could install a
manipulated firmware package on the device in case that the digital signature is not
properly validated. For example, the device might not reject the update if no signature is
provided.
https://owasp.org/owasp-istg/print.html 59/142
7/31/24, 7:56 AM OWASP IoT Security Testing Guide
Test Objectives
Remediation
The device must properly verify the digital signature of an update package before the
installation process is started. Any update package without a valid signature or with no
signature at all should be rejected.
References
For this test case, data from the following sources was consolidated:
Summary
Some manufacturers implement a rollback protection for their devices. This rollback
protection prevents updating a device firmware to an older version than the currently
installed one. This way, an attacker can not install a valid but outdated firmware in order to
exploit known vulnerabilities of that version.
Test Objectives
https://owasp.org/owasp-istg/print.html 60/142
7/31/24, 7:56 AM OWASP IoT Security Testing Guide
Remediation
A proper rollback protection mechanism verifying that the firmware version to be installed is
newer than the currently installed version should be implemented.
References
For this test case, data from the following sources was consolidated:
https://owasp.org/owasp-istg/print.html 61/142
7/31/24, 7:56 AM OWASP IoT Security Testing Guide
Table of Contents
3.4. Data Exchange Services (ISTG-DES)
Table of Contents
Overview
Authorization (ISTG-DES-AUTHZ)
Unauthorized Access to the Data Exchange Service (ISTG-DES-AUTHZ-001)
Privilege Escalation (ISTG-DES-AUTHZ-002)
Information Gathering (ISTG-DES-INFO)
Disclosure of Implementation Details (ISTG-DES-INFO-001)
Disclosure of Ecosystem Details (ISTG-DES-INFO-002)
Disclosure of User Data (ISTG-DES-INFO-003)
Configuration and Patch Management (ISTG-DES-CONF)
Usage of Outdated Software (ISTG-DES-CONF-001)
Presence of Unnecessary Software and Functionalities (ISTG-DES-CONF-002)
Secrets (ISTG-DES-SCRT)
Access to Confidential Data (ISTG-DES-SCRT-001)
Cryptography (ISTG-DES-CRYPT)
Usage of Weak Cryptographic Algorithms (ISTG-DES-CRYPT-001)
Business Logic (ISTG-DES-LOGIC)
Circumvention of the Intended Business Logic (ISTG-DES-LOGIC-001)
Input Validation (ISTG-DES-INPV)
Insufficient Input Validation (ISTG-DES-INPV-001)
Code or Command Injection (ISTG-DES-INPV-002)
Overview
This section includes test cases and categories for the component data exchange service.
Based on its implementation and intended use, a data exchange service might be accessible
with all physical access levels.
In regards to test case categories that are relevant for data exchange service, the following
were identified:
https://owasp.org/owasp-istg/print.html 62/142
7/31/24, 7:56 AM OWASP IoT Security Testing Guide
Authorization (ISTG-DES-AUTHZ)
Depending on the access model for a given device, only certain individuals might be allowed
to access a data exchange service. Thus, proper authentication and authorization
procedures need to be in place, which ensure that only authorized users can get access.
Summary
Test Objectives
It must be checked if authorization checks for access to the data exchange service are
implemented.
In case that authorization checks are in place, it must be determined whether there is a
way to bypass them.
Remediation
https://owasp.org/owasp-istg/print.html 63/142
7/31/24, 7:56 AM OWASP IoT Security Testing Guide
Proper authorization checks need to be implemented, which ensure that access to the data
exchange service is only possible for authorized individuals.
References
For this test case, data from the following sources was consolidated:
Summary
Test Objectives
Remediation
Proper authorization checks need to be implemented, which ensure that access to restricted
functionalities is only possible for individuals with the required authorization access levels.
References
For this test case, data from the following sources was consolidated:
https://owasp.org/owasp-istg/print.html 64/142
7/31/24, 7:56 AM OWASP IoT Security Testing Guide
Summary
If details about the implementation, e.g., algorithms in use or the authentication procedure,
are available to potential attackers, flaws and entry points for successful attacks are easier
to detect. While the disclosure of such details alone is not considered to be a vulnerability, it
facilitates the identification of potential attack vectors, thus allowing an attacker to exploit
insecure implementations faster.
For example, relevant information might be included in service banners, response headers
or error messages.
Test Objectives
Remediation
References
For this test case, data from the following sources was consolidated:
Summary
A data exchange service might disclose information about the surrounding IoT ecosystem,
e.g., sensitive URLs, IP addresses, software in use etc. An attacker might be able to use this
information to prepare and execute attacks against the ecosystem.
For example, relevant information might be included in service banners, response headers
or error messages.
Test Objectives
Remediation
The disclosure of information should be reduced to the minimum, which is required for
operating the device. The disclosed information it has to be assessed and all unnecessarily
included data should be removed.
References
For this test case, data from the following sources was consolidated:
Summary
During runtime, a device is accumulating and processing data of different kinds, such as
personal data of its users. If this data is disclosed, an attacker might be able to get access to
it.
Test Objectives
Remediation
Access to user data should only be granted to individuals and processes that need to have
access to it. No unauthorized or not properly authorized individual should be able to access
user data.
References
For this test case, data from the following sources was consolidated:
https://owasp.org/owasp-istg/print.html 67/142
7/31/24, 7:56 AM OWASP IoT Security Testing Guide
Summary
Every piece of software is potentially vulnerable to attacks. For example, coding errors could
lead to undefined program behavior, which then can be exploited by an attacker to gain
access to data, processed by the application, or to perform actions in the context of the
runtime environment. Furthermore, vulnerabilities in the used frameworks, libraries and
other technologies might also affect the security level of a given piece of software.
Usually, developers release an update once a vulnerability was detected in their software.
These updates should be installed as soon as possible in order to reduce the probability of
successful attacks. Otherwise, attackers could use known vulnerabilities to perform attacks
against the device.
Test Objectives
Remediation
https://owasp.org/owasp-istg/print.html 68/142
7/31/24, 7:56 AM OWASP IoT Security Testing Guide
References
For this test case, data from the following sources was consolidated:
Summary
Every piece of software, which is available on the device, broadens the attack surface since it
might be used to perform attacks against the device. Even if the installed software is up-to-
date, it might still be affected by unpublished vulnerabilities. It is also possible that a
software program facilitates an attack without being vulnerable, e.g., by providing access to
specific files or processes.
Test Objectives
A list of functionalities, available via the data exchange process, should be assembled.
Based on the device documentation, its behavior and the intended use cases, it must
be determined whether any of the available functionalities are not mandatory for the
device operation.
Remediation
The attack surface should be minimized as much as possible by removing or disabling every
software that is not required for the device operation.
https://owasp.org/owasp-istg/print.html 69/142
7/31/24, 7:56 AM OWASP IoT Security Testing Guide
References
For this test case, data from the following sources was consolidated:
Secrets (ISTG-DES-SCRT)
IoT devices are often operated outside of the control space of their manufacturer. Still, they
need to establish connections to other network nodes withinthe IoT ecosystem, e.g., to
request and receive firmware updates or to send data to a cloud API. Hence, it might be
required that the device has to provide some kind of authentication credential or secret.
These secrets need to be stored on the device in a secure manner to prevent them from
being stolen and used to impersonate the device.
Summary
Test Objectives
It has to be determined whether secrets can be accessed via the data exchange
service.
Remediation
Access to secrets should only be granted to individuals and processes that need to have
access to them. No unauthorized or not properly authorized individual should be able to
access secrets.
References
https://owasp.org/owasp-istg/print.html 70/142
7/31/24, 7:56 AM OWASP IoT Security Testing Guide
For this test case, data from the following sources was consolidated:
Cryptography (ISTG-DES-CRYPT)
Many IoT devices need to implement cryptographic algorithms, e.g., to securely store
sensitive data, for authentication purposes or to receive and verify encrypted data from
other network nodes. Failing to implement secure, state of the art cryptography might lead
to the exposure of sensitive data, device malfunctions or loss of control over the device.
Summary
The usage of weak cryptographic algorithms might allow an attacker to recover the plaintext
from a given ciphertext in a timely manner.
Test Objectives
The data, processed by the data exchange service, must be checked for the presence
of encrypted data segments. In case that encrypted data segments are found, it must
be checked whether the cryptographic algorithms in use can be identified.
https://owasp.org/owasp-istg/print.html 71/142
7/31/24, 7:56 AM OWASP IoT Security Testing Guide
Remediation
Only strong, state of the art cryptographic algorithms should be used. Furthermore, these
algorithms must be used in a secure manner by setting proper parameters, such as an
appropriate key length or mode of operation.
References
For this test case, data from the following sources was consolidated:
Summary
Flaws in the implementation of the business logic might result in unintended behavior or
malfunctions of the device. For example, if an attacker intentionally misses to provide
https://owasp.org/owasp-istg/print.html 72/142
7/31/24, 7:56 AM OWASP IoT Security Testing Guide
relevant input data or tries to skip or change important steps in the processing workflow the
device might end up in an unknown, potentially insecure state.
Test Objectives
Remediation
The device should not end up in an unknown state. Anomalies in the workflow must be
detected and exceptions have to be handled properly.
References
For this test case, data from the following sources was consolidated:
Summary
properly due to not being able to process the data. This could result in malfunctions that
might enable an attacker to manipulate the device behavior or render it unavailable.
Test Objectives
Remediation
The device has to validate all input from untrustworthy sources. Malformed or otherwise
invalid input must either be rejected or converted into a proper data structure, e.g., by
encoding the input. However, it must be ensured that the input is not interpreted or
executed when converting it.
References
For this test case, data from the following sources was consolidated:
Summary
Test Objectives
Remediation
The device has to validate all input from untrustworthy sources. Malformed or otherwise
invalid input must either be rejected or converted into a proper data structure, e.g., by
encoding the input. However, it must be ensured that the input is not interpreted or
executed when converting it.
References
For this test case, data from the following sources was consolidated:
https://owasp.org/owasp-istg/print.html 75/142
7/31/24, 7:56 AM OWASP IoT Security Testing Guide
Table of Contents
3.5. Internal Interfaces (ISTG-INT)
Table of Contents
Overview
Authorization (ISTG-INT-AUTHZ)
Unauthorized Access to the Interface (ISTG-INT-AUTHZ-001)
Privilege Escalation (ISTG-INT-AUTHZ-002)
Information Gathering (ISTG-INT-INFO)
Disclosure of Implementation Details (ISTG-INT-INFO-001)
Disclosure of Ecosystem Details (ISTG-INT-INFO-002)
Disclosure of User Data (ISTG-INT-INFO-003)
Configuration and Patch Management (ISTG-INT-CONF)
Usage of Outdated Software (ISTG-INT-CONF-001)
Presence of Unnecessary Software and Functionalities (ISTG-INT-CONF-002)
Secrets (ISTG-INT-SCRT)
Access to Confidential Data (ISTG-INT-SCRT-001)
Cryptography (ISTG-INT-CRYPT)
Usage of Weak Cryptographic Algorithms (ISTG-INT-CRYPT-001)
Business Logic (ISTG-INT-LOGIC)
Circumvention of the Intended Business Logic (ISTG-INT-LOGIC-001)
Input Validation (ISTG-INT-INPV)
Insufficient Input Validation (ISTG-INT-INPV-001)
Code or Command Injection (ISTG-INT-INPV-002)
Overview
This section includes test cases and categories for the component internal interface. Similar
to the processing unit and the memory, the internal interface is a device-internal element
that can only be accessed with PA-4. Establishing a direct connection to an internal interface
might require specific hardware equipment (e.g., a debugging board, an oscilloscope or test
probes).
In regards to test case categories that are relevant for an internal interface, the following
were identified:
Secrets: Focuses on secrets that are handled by the internal interface in an insecure
manner.
Authorization (ISTG-INT-AUTHZ)
Depending on the access model for a given device, only certain individuals might be allowed
to access an internal interface. Thus, proper authentication and authorization procedures
need to be in place, which ensure that only authorized users can get access.
Physical PA-4
Authorization AA-1
Summary
Test Objectives
It must be checked if authorization checks for access to the internal interface are
implemented.
In case that authorization checks are in place, it must be determined whether there is a
way to bypass them.
https://owasp.org/owasp-istg/print.html 77/142
7/31/24, 7:56 AM OWASP IoT Security Testing Guide
Remediation
Proper authorization checks need to be implemented, which ensure that access to the
internal interface is only possible for authorized individuals.
References
For this test case, data from the following sources was consolidated:
Physical PA-4
Authorization AA-2 - AA-3
(depending on the access model for the given device)
Summary
Test Objectives
Remediation
Proper authorization checks need to be implemented, which ensure that access to restricted
functionalities is only possible for individuals with the required authorization access levels.
References
https://owasp.org/owasp-istg/print.html 78/142
7/31/24, 7:56 AM OWASP IoT Security Testing Guide
Physical PA-4
Authorization AA-1 - AA-4
(depending on the access model for the given device)
Summary
If details about the implementation, e.g., algorithms in use or the authentication procedure,
are available to potential attackers, flaws and entry points for successful attacks are easier
to detect. While the disclosure of such details alone is not considered to be a vulnerability, it
facilitates the identification of potential attack vectors, thus allowing an attacker to exploit
insecure implementations faster.
For example, relevant information might be included in service banners, console output or
error messages.
Test Objectives
Remediation
References
For this test case, data from the following sources was consolidated:
https://owasp.org/owasp-istg/print.html 79/142
7/31/24, 7:56 AM OWASP IoT Security Testing Guide
Physical PA-4
Authorization AA-1 - AA-4
depending on the access model for the given device)
Summary
An internal interface might disclose information about the surrounding IoT ecosystem, e.g.,
sensitive URLs, IP addresses, software in use etc. An attacker might be able to use this
information to prepare and execute attacks against the ecosystem.
For example, relevant information might be included in service banners, console output or
error messages.
Test Objectives
It must be determined if the internal interface discloses relevant information about the
surrounding ecosystem.
Remediation
The disclosure of information should be reduced to the minimum, which is required for
operating the device. The disclosed information it has tobe assessed and all unnecessarily
included data should be removed.
References
For this test case, data from the following sources was consolidated:
https://owasp.org/owasp-istg/print.html 80/142
7/31/24, 7:56 AM OWASP IoT Security Testing Guide
Physical PA-4
Authorization AA-1 - AA-4
(depending on the access model for the given device)
Summary
During runtime, a device is accumulating and processing data of different kinds, such as
personal data of its users. If this data is disclosed, an attacker might be able to get access to
it.
Test Objectives
Remediation
Access to user data should only be granted to individuals and processes that need to have
access to it. No unauthorized or not properly authorized individual should be able to access
user data.
References
For this test case, data from the following sources was consolidated:
https://owasp.org/owasp-istg/print.html 81/142
7/31/24, 7:56 AM OWASP IoT Security Testing Guide
also be verified that software packages, which are running on the device and listening on
interfaces, are up-to-date as well.
Physical PA-4
Authorization AA-1 - AA-4
(depending on the access model for the given device)
Summary
Every piece of software is potentially vulnerable to attacks. For example, coding errors could
lead to undefined program behavior, which then can be exploited by an attacker to gain
access to data, processed by the application, or to perform actions in the context of the
runtime environment. Furthermore, vulnerabilities in the used frameworks, libraries and
other technologies might also affect the security level of a given piece of software.
Usually, developers release an update once a vulnerability was detected in their software.
These updates should be installed as soon as possible in order to reduce the probability of
successful attacks. Otherwise, attackers could use known vulnerabilities to perform attacks
against the device.
Test Objectives
Remediation
References
For this test case, data from the following sources was consolidated:
https://owasp.org/owasp-istg/print.html 82/142
7/31/24, 7:56 AM OWASP IoT Security Testing Guide
Physical PA-4
Authorization AA-1 - AA-4
(depending on the access model for the given device)
Summary
Every piece of software, which is available on the device, broadens the attack surface since it
might be used to perform attacks against the device. Even if the installed software is up-to-
date, it might still be affected by unpublished vulnerabilities. It is also possible that a
software program facilitates an attack without being vulnerable, e.g., by providing access to
specific files or processes.
Test Objectives
Based on the device documentation, its behavior and the intended use cases, it must
be determined whether any of the available functionalities are not mandatory for the
device operation.
Remediation
The attack surface should be minimized as much as possible by removing or disabling every
software that is not required for the device operation.
References
For this test case, data from the following sources was consolidated:
https://owasp.org/owasp-istg/print.html 83/142
7/31/24, 7:56 AM OWASP IoT Security Testing Guide
Secrets (ISTG-INT-SCRT)
IoT devices are often operated outside of the control space of their manufacturer. Still, they
need to establish connections to other network nodes within the IoT ecosystem, e.g., to
request and receive firmware updates or to send data to a cloud API. Hence, it might be
required that the device has to provide some kind of authentication credential or secret.
These secrets need to be stored on the device in a secure manner to prevent them from
being stolen and used to impersonate the device.
Physical PA-4
Authorization AA-1 - AA-4
(depending on the access model for the given device)
Summary
Test Objectives
It has to be determined whether secrets can be accessed via the internal interface.
Remediation
Access to secrets should only be granted to individuals and processes that need to have
access to them. No unauthorized or not properly authorized individual should be able to
access secrets.
References
For this test case, data from the following sources was consolidated:
Cryptography (ISTG-INT-CRYPT)
Many IoT devices need to implement cryptographic algorithms, e.g., to securely store
sensitive data, for authentication purposes or to receive and verify encrypted data from
other network nodes. Failing to implement secure, state of the art cryptography might lead
to the exposure of sensitive data, device malfunctions or loss of control over the device.
Physical PA-4
Authorization AA-1 - AA-4
(depending on the access model for the given device)
Summary
The usage of weak cryptographic algorithms might allow an attacker to recover the plaintext
from a given ciphertext in a timely manner.
Test Objectives
The data, processed by the interface, must be checked for the presence of encrypted
data segments. In case that encrypted data segments are found, it must be checked
whether the cryptographic algorithms in use can be identified.
https://owasp.org/owasp-istg/print.html 85/142
7/31/24, 7:56 AM OWASP IoT Security Testing Guide
Remediation
Only strong, state of the art cryptographic algorithms should be used. Furthermore, these
algorithms must be used in a secure manner by setting proper parameters, such as an
appropriate key length or mode of operation.
References
For this test case, data from the following sources was consolidated:
Physical PA-4
Authorization AA-1 - AA-4
(depending on the access model for the given device)
Summary
https://owasp.org/owasp-istg/print.html 86/142
7/31/24, 7:56 AM OWASP IoT Security Testing Guide
Flaws in the implementation of the business logic might result in unintended behavior or
malfunctions of the device. For example, if an attacker intentionally misses to provide
relevant input data or tries to skip or change important steps in the processing workflow the
device might end up in an unknown, potentially insecure state.
Test Objectives
Remediation
The device should not end up in an unknown state. Anomalies in the workflow must be
detected and exceptions have to be handled properly.
References
For this test case, data from the following sources was consolidated:
Physical PA-4
Authorization AA-1 - AA-4
(depending on the access model for the given device)
Summary
https://owasp.org/owasp-istg/print.html 87/142
7/31/24, 7:56 AM OWASP IoT Security Testing Guide
Test Objectives
Remediation
The device has to validate all input from untrustworthy sources. Malformed or otherwise
invalid input must either be rejected or converted into a proper data structure, e.g., by
encoding the input. However, it must be ensured that the input is not interpreted or
executed when converting it.
References
For this test case, data from the following sources was consolidated:
Physical PA-4
Authorization AA-1 - AA-4
(depending on the access model for the given device)
Summary
https://owasp.org/owasp-istg/print.html 88/142
7/31/24, 7:56 AM OWASP IoT Security Testing Guide
the internal interface which code and commands are potentially executable. For example, a
possible injection attack is OS command injection.
Test Objectives
Remediation
The device has to validate all input from untrustworthy sources. Malformed or otherwise
invalid input must either be rejected or converted into a proper data structure, e.g., by
encoding the input. However, it must be ensured that the input is not interpreted or
executed when converting it.
References
For this test case, data from the following sources was consolidated:
https://owasp.org/owasp-istg/print.html 89/142
7/31/24, 7:56 AM OWASP IoT Security Testing Guide
Table of Contents
3.6. Physical Interfaces (ISTG-PHY)
Table of Contents
Overview
Authorization (ISTG-PHY-AUTHZ)
Unauthorized Access to the Interface (ISTG-PHY-AUTHZ-001)
Privilege Escalation (ISTG-PHY-AUTHZ-002)
Information Gathering (ISTG-PHY-INFO)
Disclosure of Implementation Details (ISTG-PHY-INFO-001)
Disclosure of Ecosystem Details (ISTG-PHY-INFO-002)
Disclosure of User Data (ISTG-PHY-INFO-003)
Configuration and Patch Management (ISTG-PHY-CONF)
Usage of Outdated Software (ISTG-PHY-CONF-001)
Presence of Unnecessary Software and Functionalities (ISTG-PHY-CONF-002)
Secrets (ISTG-PHY-SCRT)
Access to Confidential Data (ISTG-PHY-SCRT-001)
Cryptography (ISTG-PHY-CRYPT)
Usage of Weak Cryptographic Algorithms (ISTG-PHY-CRYPT-001)
Business Logic (ISTG-PHY-LOGIC)
Circumvention of the Intended Business Logic (ISTG-PHY-LOGIC-001)
Input Validation (ISTG-PHY-INPV)
Insufficient Input Validation (ISTG-PHY-INPV-001)
Code or Command Injection (ISTG-PHY-INPV-002)
Overview
This section includes test cases and categories for the component physical interface.
Depending on whether the interface is connected to a network or not, it might be accessible
with PA-2, PA-3 or PA-4. Establishing a direct connection to a physical interface might require
specific hardware equipment (e.g., a connector or adapter cable).
In regards of test case categories that are relevant for a physical interface, the following
were identified:
https://owasp.org/owasp-istg/print.html 90/142
7/31/24, 7:56 AM OWASP IoT Security Testing Guide
Secrets: Focuses on secrets that are handled by the physical interface in an insecure
manner.
Authorization (ISTG-PHY-AUTHZ)
Depending on the access model for a given device, only certain individuals might be allowed
to access a physical interface. Thus, proper authentication and authorization procedures
need to be in place, which ensure that only authorized users can get access.
Summary
Test Objectives
It must be checked if authorization checks for access to the physical interface are
implemented.
https://owasp.org/owasp-istg/print.html 91/142
7/31/24, 7:56 AM OWASP IoT Security Testing Guide
In case that authorization checks are in place, it must be determined whether there is a
way to bypass them.
Remediation
Proper authorization checks need to be implemented, which ensure that access to the
physical interface is only possible for authorized individuals.
References
For this test case, data from the following sources was consolidated:
Summary
Test Objectives
Remediation
Proper authorization checks need to be implemented, which ensure that access to restricted
functionalities is only possible for individuals with the required authorization access levels.
References
For this test case, data from the following sources was consolidated:
https://owasp.org/owasp-istg/print.html 92/142
7/31/24, 7:56 AM OWASP IoT Security Testing Guide
Summary
If details about the implementation, e.g., algorithms in use or the authentication procedure,
are available to potential attackers, flaws and entry points for successful attacks are easier
to detect. While the disclosure of such details alone is not considered to be a vulnerability, it
facilitates the identification of potential attack vectors, thus allowing an attacker to exploit
insecure implementations faster.
For example, relevant information might be included in service banners, response headers
or error messages.
Test Objectives
Remediation
https://owasp.org/owasp-istg/print.html 93/142
7/31/24, 7:56 AM OWASP IoT Security Testing Guide
References
For this test case, data from the following sources was consolidated:
Summary
A physical interface might disclose information about the surrounding IoT ecosystem, e.g.,
sensitive URLs, IP addresses, software in use etc. An attacker might be able to use this
information to prepare and execute attacks against the ecosystem.
For example, relevant information might be included in service banners, response headers
or error messages.
Test Objectives
It must be determined if the physical interface discloses relevant information about the
surrounding ecosystem.
Remediation
The disclosure of information should be reduced to the minimum, which is required for
operating the device. The disclosed information it has to be assessed and all unnecessarily
included data should be removed.
References
For this test case, data from the following sources was consolidated:
https://owasp.org/owasp-istg/print.html 94/142
7/31/24, 7:56 AM OWASP IoT Security Testing Guide
Summary
During runtime, a device is accumulating and processing data of different kinds, such as
personal data of its users. If this data is disclosed, an attacker might be able to get access to
it.
Test Objectives
Remediation
Access to user data should only be granted to individuals and processes that need to have
access to it. No unauthorized or not properly authorized individual should be able to access
user data.
References
For this test case, data from the following sources was consolidated:
https://owasp.org/owasp-istg/print.html 95/142
7/31/24, 7:56 AM OWASP IoT Security Testing Guide
Summary
Every piece of software is potentially vulnerable to attacks. For example, coding errors could
lead to undefined program behavior, which then can be exploited by an attacker to gain
access to data, processed by the application, or to perform actions in the context of the
runtime environment. Furthermore, vulnerabilities in the used frameworks, libraries and
other technologies might also affect the security level of a given piece of software.
Usually, developers release an update once a vulnerability was detected in their software.
These updates should be installed as soon as possible in order to reduce the probability of
successful attacks. Otherwise, attackers could use known vulnerabilities to perform attacks
against the device.
Test Objectives
Remediation
References
For this test case, data from the following sources was consolidated:
Summary
Every piece of software, which is available on the device, broadens the attack surface since it
might be used to perform attacks against the device. Even if the installed software is up-to-
date, it might still be affected by unpublished vulnerabilities. It is also possible that a
software program facilitates an attack without being vulnerable, e.g., by providing access to
specific files or processes.
Test Objectives
Based on the device documentation, its behavior and the intended use cases, it must
be determined whether any of the available functionalities are not mandatory for the
device operation.
Remediation
The attack surface should be minimized as much as possible by removing or disabling every
software that is not required for the device operation.
References
For this test case, data from the following sources was consolidated:
https://owasp.org/owasp-istg/print.html 97/142
7/31/24, 7:56 AM OWASP IoT Security Testing Guide
Secrets (ISTG-PHY-SCRT)
IoT devices are often operated outside of the control space of their manufacturer. Still, they
need to establish connections to other network nodes within the IoT ecosystem, e.g., to
request and receive firmware updates or to send data to a cloud API. Hence, it might be
required that the device has to provide some kind of authentication credential or secret.
These secrets need to be stored on the device in a secure manner to prevent them from
being stolen and used to impersonate the device.
Summary
Test Objectives
It has to be determined whether secrets can be accessed via the physical interface.
Remediation
Access to secrets should only be granted to individuals and processes that need to have
access to them. No unauthorized or not properly authorized individual should be able to
access secrets.
References
For this test case, data from the following sources was consolidated:
https://owasp.org/owasp-istg/print.html 98/142
7/31/24, 7:56 AM OWASP IoT Security Testing Guide
Cryptography (ISTG-PHY-CRYPT)
Many IoT devices need to implement cryptographic algorithms, e.g., to securely store
sensitive data, for authentication purposes or to receive and verify encrypted data from
other network nodes. Failing to implement secure, state of the art cryptography might lead
to the exposure of sensitive data, device malfunctions or loss of control over the device.
Summary
The usage of weak cryptographic algorithms might allow an attacker to recover the plaintext
from a given ciphertext in a timely manner.
Test Objectives
The data, processed by the interface, must be checked for the presence of encrypted
data segments. In case that encrypted data segments are found, it must be checked
whether the cryptographic algorithms in use can be identified.
Remediation
https://owasp.org/owasp-istg/print.html 99/142
7/31/24, 7:56 AM OWASP IoT Security Testing Guide
Only strong, state of the art cryptographic algorithms should be used. Furthermore, these
algorithms must be used in a secure manner by setting proper parameters, such as an
appropriate key length or mode of operation.
References
For this test case, data from the following sources was consolidated:
Summary
Flaws in the implementation of the business logic might result in unintended behavior or
malfunctions of the device. For example, if an attacker intentionally misses to provide
relevant input data or tries to skip or change important steps in the processing workflow the
device might end up in an unknown, potentially insecure state.
Test Objectives
Remediation
The device should not end up in an unknown state. Anomalies in the workflow must be
detected and exceptions have to be handled properly.
https://owasp.org/owasp-istg/print.html 100/142
7/31/24, 7:56 AM OWASP IoT Security Testing Guide
References
For this test case, data from the following sources was consolidated:
Summary
Test Objectives
Remediation
The device has to validate all input from untrustworthy sources. Malformed or otherwise
invalid input must either be rejected or converted into a proper data structure, e.g., by
https://owasp.org/owasp-istg/print.html 101/142
7/31/24, 7:56 AM OWASP IoT Security Testing Guide
encoding the input. However, it must be ensured that the input is not interpreted or
executed when converting it.
References
For this test case, data from the following sources was consolidated:
Summary
Test Objectives
Remediation
The device has to validate all input from untrustworthy sources. Malformed or otherwise
invalid input must either be rejected or converted into a proper data structure, e.g., by
encoding the input. However, it must be ensured that the input is not interpreted or
executed when converting it.
References
For this test case, data from the following sources was consolidated:
https://owasp.org/owasp-istg/print.html 102/142
7/31/24, 7:56 AM OWASP IoT Security Testing Guide
https://owasp.org/owasp-istg/print.html 103/142
7/31/24, 7:56 AM OWASP IoT Security Testing Guide
Table of Contents
3.7. Wireless Interfaces (ISTG-WRLS)
Table of Contents
Overview
Authorization (ISTG-WRLS-AUTHZ)
Unauthorized Access to the Interface (ISTG-WRLS-AUTHZ-001)
Privilege Escalation (ISTG-WRLS-AUTHZ-002)
Information Gathering (ISTG-WRLS-INFO)
Disclosure of Implementation Details (ISTG-WRLS-INFO-001)
Disclosure of Ecosystem Details (ISTG-WRLS-INFO-002)
Disclosure of User Data (ISTG-WRLS-INFO-003)
Configuration and Patch Management (ISTG-WRLS-CONF)
Usage of Outdated Software (ISTG-WRLS-CONF-001)
Presence of Unnecessary Software and Functionalities (ISTG-WRLS-CONF-
002)
Secrets (ISTG-WRLS-SCRT)
Access to Confidential Data (ISTG-WRLS-SCRT-001)
Cryptography (ISTG-WRLS-CRYPT)
Usage of Weak Cryptographic Algorithms (ISTG-WRLS-CRYPT-001)
Business Logic (ISTG-WRLS-LOGIC)
Circumvention of the Intended Business Logic (ISTG-WRLS-LOGIC-001)
Input Validation (ISTG-WRLS-INPV)
Insufficient Input Validation (ISTG-WRLS-INPV-001)
Code or Command Injection (ISTG-WRLS-INPV-002)
Overview
This section includes test cases and categories for the component wireless interface. A
wireless interface is accessible with PA-2, PA-3 or PA-4. Establishing a connection to a wireless
interface might require specific hardware equipment (e.g., a dongle or software-defined
radio).
In regards of test case categories that are relevant for a wireless interface, the following
were identified:
Secrets: Focuses on secrets that are handled by the wireless interface in an insecure
manner.
Authorization (ISTG-WRLS-AUTHZ)
Depending on the access model for a given device, only certain individuals might be allowed
to access a wireless interface. Thus, proper authentication and authorization procedures
need to be in place, which ensure that only authorized users can get access.
Summary
Test Objectives
It must be checked if authorization checks for access to the wireless interface are
implemented.
In case that authorization checks are in place, it must be determined whether there is a
way to bypass them.
https://owasp.org/owasp-istg/print.html 105/142
7/31/24, 7:56 AM OWASP IoT Security Testing Guide
Remediation
Proper authorization checks need to be implemented, which ensure that access to the
wireless interface is only possible for authorized individuals.
References
For this test case, data from the following sources was consolidated:
Summary
Test Objectives
Remediation
Proper authorization checks need to be implemented, which ensure that access to restricted
functionalities is only possible for individuals with the required authorization access levels.
References
For this test case, data from the following sources was consolidated:
https://owasp.org/owasp-istg/print.html 106/142
7/31/24, 7:56 AM OWASP IoT Security Testing Guide
Summary
If details about the implementation, e.g., algorithms in use or the authentication procedure,
are available to potential attackers, flaws and entry points for successful attacks are easier
to detect. While the disclosure of such details alone is not considered to be a vulnerability, it
facilitates the identification of potential attack vectors, thus allowing an attacker to exploit
insecure implementations faster.
For example, relevant information might be included in service banners, broadcasts or error
messages.
Test Objectives
https://owasp.org/owasp-istg/print.html 107/142
7/31/24, 7:56 AM OWASP IoT Security Testing Guide
Remediation
References
For this test case, data from the following sources was consolidated:
Summary
A wireless interface might disclose information about the surrounding IoT ecosystem, e.g.,
sensitive URLs, IP addresses, software in use etc. An attacker might be able to use this
information to prepare and execute attacks against the ecosystem.
For example, relevant information might be included in service banners, broadcasts or error
messages.
Test Objectives
Remediation
The disclosure of information should be reduced to the minimum, which is required for
operating the device. The disclosed information it has to be assessed and all unnecessarily
included data should be removed.
References
https://owasp.org/owasp-istg/print.html 108/142
7/31/24, 7:56 AM OWASP IoT Security Testing Guide
For this test case, data from the following sources was consolidated:
Summary
During runtime, a device is accumulating and processing data of different kinds, such as
personal data of its users. If this data is disclosed, an attacker might be able to get access to
it.
Test Objectives
Remediation
Access to user data should only be granted to individuals and processes that need to have
access to it. No unauthorized or not properly authorized individual should be able to access
user data.
References
For this test case, data from the following sources was consolidated:
https://owasp.org/owasp-istg/print.html 109/142
7/31/24, 7:56 AM OWASP IoT Security Testing Guide
Summary
Every piece of software is potentially vulnerable to attacks. For example, coding errors could
lead to undefined program behavior, which then can be exploited by an attacker to gain
access to data, processed by the application, or to perform actions in the context of the
runtime environment. Furthermore, vulnerabilities in the used frameworks, libraries and
other technologies might also affect the security level of a given piece of software.
Usually, developers release an update once a vulnerability was detected in their software.
These updates should be installed as soon as possible in order to reduce the probability of
successful attacks. Otherwise, attackers could use known vulnerabilities to perform attacks
against the device.
Test Objectives
Remediation
https://owasp.org/owasp-istg/print.html 110/142
7/31/24, 7:56 AM OWASP IoT Security Testing Guide
References
For this test case, data from the following sources was consolidated:
Summary
Every piece of software, which is available on the device, broadens the attack surface since it
might be used to perform attacks against the device. Even if the installed software is up-to-
date, it might still be affected by unpublished vulnerabilities. It is also possible that a
software program facilitates an attack without being vulnerable, e.g., by providing access to
specific files or processes.
Test Objectives
Based on the device documentation, its behavior and the intended use cases, it must
be determined whether any of the available functionalities are not mandatory for the
device operation.
Remediation
The attack surface should be minimized as much as possible by removing or disabling every
software that is not required for the device operation.
https://owasp.org/owasp-istg/print.html 111/142
7/31/24, 7:56 AM OWASP IoT Security Testing Guide
References
For this test case, data from the following sources was consolidated:
Secrets (ISTG-WRLS-SCRT)
IoT devices are often operated outside of the control space of their manufacturer. Still, they
need to establish connections to other network nodes within the IoT ecosystem, e.g., to
request and receive firmware updates or to send data to a cloud API. Hence, it might be
required that the device has to provide some kind of authentication credential or secret.
These secrets need to be stored on the device in a secure manner to prevent them from
being stolen and used to impersonate the device.
Summary
Test Objectives
It has to be determined whether secrets can be accessed via the wireless interface.
Remediation
Access to secrets should only be granted to individuals and processes that need to have
access to them. No unauthorized or not properly authorized individual should be able to
access secrets.
https://owasp.org/owasp-istg/print.html 112/142
7/31/24, 7:56 AM OWASP IoT Security Testing Guide
References
For this test case, data from the following sources was consolidated:
Cryptography (ISTG-WRLS-CRYPT)
Many IoT devices need to implement cryptographic algorithms, e.g., to securely store
sensitive data, for authentication purposes or to receive and verify encrypted data from
other network nodes. Failing to implement secure, state of the art cryptography might lead
to the exposure of sensitive data, device malfunctions or loss of control over the device.
Summary
The usage of weak cryptographic algorithms might allow an attacker to recover the plaintext
from a given ciphertext in a timely manner.
Test Objectives
The data, processed by the interface, must be checked for the presence of encrypted
data segments. In case that encrypted data segments are found, it must be checked
whether the cryptographic algorithms in use can be identified.
https://owasp.org/owasp-istg/print.html 113/142
7/31/24, 7:56 AM OWASP IoT Security Testing Guide
Remediation
Only strong, state of the art cryptographic algorithms should be used. Furthermore, these
algorithms must be used in a secure manner by setting proper parameters, such as an
appropriate key length or mode of operation.
References
For this test case, data from the following sources was consolidated:
Summary
https://owasp.org/owasp-istg/print.html 114/142
7/31/24, 7:56 AM OWASP IoT Security Testing Guide
Flaws in the implementation of the business logic might result in unintended behavior or
malfunctions of the device. For example, if an attacker intentionally misses to provide
relevant input data or tries to skip or change important steps in the processing workflow the
device might end up in an unknown, potentially insecure state.
Test Objectives
Remediation
The device should not end up in an unknown state. Anomalies in the workflow must be
detected and exceptions have to be handled properly.
References
For this test case, data from the following sources was consolidated:
Summary
https://owasp.org/owasp-istg/print.html 115/142
7/31/24, 7:56 AM OWASP IoT Security Testing Guide
Test Objectives
Remediation
The device has to validate all input from untrustworthy sources. Malformed or otherwise
invalid input must either be rejected or converted into a proper data structure, e.g., by
encoding the input. However, it must be ensured that the input is not interpreted or
executed when converting it.
References
For this test case, data from the following sources was consolidated:
Summary
https://owasp.org/owasp-istg/print.html 116/142
7/31/24, 7:56 AM OWASP IoT Security Testing Guide
the ireless interface which code and commands are potentially executable. For example, a
possible injection attack is OS command injection.
Test Objectives
Remediation
The device has to validate all input from untrustworthy sources. Malformed or otherwise
invalid input must either be rejected or converted into a proper data structure, e.g., by
encoding the input. However, it must be ensured that the input is not interpreted or
executed when converting it.
References
For this test case, data from the following sources was consolidated:
https://owasp.org/owasp-istg/print.html 117/142
7/31/24, 7:56 AM OWASP IoT Security Testing Guide
Table of Contents
3.8. User Interfaces (ISTG-UI)
Table of Contents
Overview
Authorization (ISTG-UI-AUTHZ)
Unauthorized Access to the Interface (ISTG-UI-AUTHZ-001)
Privilege Escalation (ISTG-UI-AUTHZ-002)
Information Gathering (ISTG-UI-INFO)
Disclosure of Implementation Details (ISTG-UI-INFO-001)
Disclosure of Ecosystem Details (ISTG-UI-INFO-002)
Disclosure of User Data (ISTG-UI-INFO-003)
Configuration and Patch Management (ISTG-UI-CONF)
Usage of Outdated Software (ISTG-UI-CONF-001)
Presence of Unnecessary Software and Functionalities (ISTG-UI-CONF-002)
Secrets (ISTG-UI-SCRT)
Access to Confidential Data (ISTG-UI-SCRT-001)
Cryptography (ISTG-UI-CRYPT)
Usage of Weak Cryptographic Algorithms (ISTG-UI-CRYPT-001)
Business Logic (ISTG-UI-LOGIC)
Circumvention of the Intended Business Logic (ISTG-UI-LOGIC-001)
Input Validation (ISTG-UI-INPV)
Insufficient Input Validation (ISTG-UI-INPV-001)
Code or Command Injection (ISTG-UI-INPV-002)
Overview
This section includes test cases and categories for the component user interface. Based on
its implementation and intended use, a user interface might be accessible with all physical
access levels.
In regards to test case categories that are relevant for a user interface, the following were
identified:
https://owasp.org/owasp-istg/print.html 118/142
7/31/24, 7:56 AM OWASP IoT Security Testing Guide
Secrets: Focuses on secrets that are handled by the user interface in an insecure
manner.
Authorization (ISTG-UI-AUTHZ)
Depending on the access model for a given device, only certain individuals might be allowed
to access a user interface. Thus, proper authentication and authorization procedures need
to be in place, which ensure that only authorized users can get access.
Summary
Depending on the specific implementation of a given device, access to a user interface might
be restricted to individuals with a certain authorization access level, e.g., AA-2, AA-3 or AA-4. If
the device fails to correctly verify access permissions, any attacker (AA-1) might be able to
get access.
Test Objectives
It must be checked if authorization checks for access to the user interface are
implemented.
https://owasp.org/owasp-istg/print.html 119/142
7/31/24, 7:56 AM OWASP IoT Security Testing Guide
In case that authorization checks are in place, it must be determined whether there is a
way to bypass them.
Remediation
Proper authorization checks need to be implemented, which ensure that access to the user
interface is only possible for authorized individuals.
References
For this test case, data from the following sources was consolidated:
Summary
Test Objectives
Remediation
https://owasp.org/owasp-istg/print.html 120/142
7/31/24, 7:56 AM OWASP IoT Security Testing Guide
Proper authorization checks need to be implemented, which ensure that access to restricted
functionalities is only possible for individuals with the required authorization access levels.
References
For this test case, data from the following sources was consolidated:
Summary
If details about the implementation, e.g., algorithms in use or the authentication procedure,
are available to potential attackers, flaws and entry points for successful attacks are easier
to detect. While the disclosure of such details alone is not considered to be a vulnerability, it
facilitates the identification of potential attack vectors, thus allowing an attacker to exploit
insecure implementations faster.
For example, relevant information might be included in service banners, response headers
or error messages.
https://owasp.org/owasp-istg/print.html 121/142
7/31/24, 7:56 AM OWASP IoT Security Testing Guide
Test Objectives
Remediation
References
For this test case, data from the following sources was consolidated:
Summary
A user interface might disclose information about the surrounding ISTG-ecosystem, e.g.,
sensitive URLs, IP addresses, software in use etc. An attacker might be able to use this
information to prepare and execute attacks against the ecosystem.
https://owasp.org/owasp-istg/print.html 122/142
7/31/24, 7:56 AM OWASP IoT Security Testing Guide
For example, relevant information might be included in service banners, response headers
or error messages.
Test Objectives
It must be determined if the user interface discloses relevant information about the
surrounding ecosystem.
Remediation
The disclosure of information should be reduced to the minimum, which is required for
operating the device. The disclosed information it has to be assessed and all unnecessarily
included data should be removed.
References
For this test case, data from the following sources was consolidated:
Summary
During runtime, a device is accumulating and processing data of different kinds, such as
personal data of its users. If this data is disclosed, an attacker might be able to get access to
it.
Test Objectives
https://owasp.org/owasp-istg/print.html 123/142
7/31/24, 7:56 AM OWASP IoT Security Testing Guide
Remediation
Access to user data should only be granted to individuals and processes that need to have
access to it. No unauthorized or not properly authorized individual should be able to access
user data.
References
For this test case, data from the following sources was consolidated:
Summary
Every piece of software is potentially vulnerable to attacks. For example, coding errors could
lead to undefined program behavior, which then can be exploited by an attacker to gain
access to data, processed by the application, or to perform actions in the context of the
https://owasp.org/owasp-istg/print.html 124/142
7/31/24, 7:56 AM OWASP IoT Security Testing Guide
Usually, developers release an update once a vulnerability was detected in their software.
These updates should be installed as soon as possible in order to reduce the probability of
successful attacks. Otherwise, attackers could use known vulnerabilities to perform attacks
against the device.
Test Objectives
Remediation
References
For this test case, data from the following sources was consolidated:
Summary
https://owasp.org/owasp-istg/print.html 125/142
7/31/24, 7:56 AM OWASP IoT Security Testing Guide
Every piece of software, which is available on the device, broadens the attack surface since it
might be used to perform attacks against the device. Even if the installed software is up-to-
date, it might still be affected by unpublished vulnerabilities. It is also possible that a
software program facilitates an attack without being vulnerable, e.g., by providing access to
specific files or processes.
Test Objectives
Based on the device documentation, its behavior and the intended use cases, it must
be determined whether any of the available functionalities are not mandatory for the
device operation.
Remediation
The attack surface should be minimized as much as possible by removing or disabling every
software that is not required for the device operation.
References
For this test case, data from the following sources was consolidated:
Secrets (ISTG-UI-SCRT)
ISTG-devices are often operated outside of the control space of their manufacturer. Still,
they need to establish connections to other network nodes within the ISTG-ecosystem, e.g.,
to request and receive firmware updates or to send data to a cloud API. Hence, it might be
required that the device has to provide some kind of authentication credential or secret.
These secrets need to be stored on the device in a secure manner to prevent them from
being stolen and used to impersonate the device.
https://owasp.org/owasp-istg/print.html 126/142
7/31/24, 7:56 AM OWASP IoT Security Testing Guide
Summary
Test Objectives
It has to be determined whether secrets can be accessed via the user interface.
Remediation
Access to secrets should only be granted to individuals and processes that need to have
access to them. No unauthorized or not properly authorized individual should be able to
access secrets.
References
For this test case, data from the following sources was consolidated:
Cryptography (ISTG-UI-CRYPT)
Many ISTG-devices need to implement cryptographic algorithms, e.g., to securely store
sensitive data, for authentication purposes or to receive and verify encrypted data from
other network nodes. Failing to implement secure, state of the art cryptography might lead
to the exposure of sensitive data, device malfunctions or loss of control over the device.
Summary
The usage of weak cryptographic algorithms might allow an attacker to recover the plaintext
from a given ciphertext in a timely manner.
Test Objectives
The data, processed by the interface, must be checked for the presence of encrypted
data segments. In case that encrypted data segments are found, it must be checked
whether the cryptographic algorithms in use can be identified.
Remediation
Only strong, state of the art cryptographic algorithms should be used. Furthermore, these
algorithms must be used in a secure manner by setting proper parameters, such as an
appropriate key length or mode of operation.
References
For this test case, data from the following sources was consolidated:
https://owasp.org/owasp-istg/print.html 128/142
7/31/24, 7:56 AM OWASP IoT Security Testing Guide
Summary
Flaws in the implementation of the business logic might result in unintended behavior or
malfunctions of the device. For example, if an attacker intentionally misses to provide
relevant input data or tries to skip or change important steps in the processing workflow the
device might end up in an unknown, potentially insecure state.
Test Objectives
Remediation
The device should not end up in an unknown state. Anomalies in the workflow must be
detected and exceptions have to be handled properly.
References
For this test case, data from the following sources was consolidated:
Summary
Test Objectives
Remediation
The device has to validate all input from untrustworthy sources. Malformed or otherwise
invalid input must either be rejected or converted into a proper data structure, e.g., by
encoding the input. However, it must be ensured that the input is not interpreted or
executed when converting it.
References
For this test case, data from the following sources was consolidated:
"Practical IoT Hacking" by Fotios Chantzis, Ioannis Stais, Paulino Calderon, Evangelos
Deirmentzoglou, and Beau Woods
Key aspects of testing of the T-Systems Multimedia Solutions GmbH
Summary
Test Objectives
Remediation
The device has to validate all input from untrustworthy sources. Malformed or otherwise
invalid input must either be rejected or converted into a proper data structure, e.g., by
encoding the input. However, it must be ensured that the input is not interpreted or
executed when converting it.
References
For this test case, data from the following sources was consolidated:
https://owasp.org/owasp-istg/print.html 132/142
7/31/24, 7:56 AM OWASP IoT Security Testing Guide
Antje Winkler
Clemens Keil
Denny Vogt (Pyxon73)
Manfred Heinz (zaphoxx aka CptSpiff)
Martin Weißbach
Patrick "HomeSen" Walker
Sebastian Döring
https://owasp.org/owasp-istg/print.html 133/142
7/31/24, 7:56 AM OWASP IoT Security Testing Guide
=======================================================================
Creative Commons Corporation ("Creative Commons") is not a law firm and does not
provide legal services or legal advice. Distribution of Creative Commons public licenses does
not create a lawyer-client or other relationship. Creative Commons makes its licenses and
related information available on an "as-is" basis. Creative Commons gives no warranties
regarding its licenses, any material licensed under their terms and conditions, or any related
information. Creative Commons disclaims all liability for damages resulting from their use to
the fullest extent possible.
Creative Commons public licenses provide a standard set of terms and conditions that
creators and other rights holders may use to share original works of authorship and other
material subject to copyright and certain other rights specified in the public license below.
The following considerations are for informational purposes only, are not exhaustive, and
do not form part of our licenses.
=======================================================================
https://owasp.org/owasp-istg/print.html 134/142
7/31/24, 7:56 AM OWASP IoT Security Testing Guide
By exercising the Licensed Rights (defined below), You accept and agree to be bound by the
terms and conditions of this Creative Commons Attribution-ShareAlike 4.0 International
Public License ("Public License"). To the extent this Public License may be interpreted as a
contract, You are granted the Licensed Rights in consideration of Your acceptance of these
terms and conditions, and the Licensor grants You such rights in consideration of benefits
the Licensor receives from making the Licensed Material available under these terms and
conditions.
Section 1 -- Definitions.
a. Adapted Material means material subject to Copyright and Similar Rights that is derived
from or based upon the Licensed Material and in which the Licensed Material is translated,
altered, arranged, transformed, or otherwise modified in a manner requiring permission
under the Copyright and Similar Rights held by the Licensor. For purposes of this Public
License, where the Licensed Material is a musical work, performance, or sound recording,
Adapted Material is always produced where the Licensed Material is synched in timed
relation with a moving image.
b. Adapter's License means the license You apply to Your Copyright and Similar Rights in
Your contributions to Adapted Material in accordance with the terms and conditions of this
Public License.
d. Copyright and Similar Rights means copyright and/or similar rights closely related to
copyright including, without limitation, performance, broadcast, sound recording, and Sui
Generis Database Rights, without regard to how the rights are labeled or categorized. For
purposes of this Public License, the rights specified in Section 2(b)(1)-(2) are not Copyright
and Similar Rights.
e. Effective Technological Measures means those measures that, in the absence of proper
authority, may not be circumvented under laws fulfilling obligations under Article 11 of the
WIPO Copyright Treaty adopted on December 20, 1996, and/or similar international
agreements.
f. Exceptions and Limitations means fair use, fair dealing, and/or any other exception or
limitation to Copyright and Similar Rights that applies to Your use of the Licensed Material.
g. License Elements means the license attributes listed in the name of a Creative Commons
Public License. The License Elements of this Public License are Attribution and ShareAlike.
h. Licensed Material means the artistic or literary work, database, or other material to which
the Licensor applied this Public License.
https://owasp.org/owasp-istg/print.html 135/142
7/31/24, 7:56 AM OWASP IoT Security Testing Guide
i. Licensed Rights means the rights granted to You subject to the terms and conditions of
this Public License, which are limited to all Copyright and Similar Rights that apply to Your
use of the Licensed Material and that the Licensor has authority to license.
j. Licensor means the individual(s) or entity(ies) granting rights under this Public License.
k. Share means to provide material to the public by any means or process that requires
permission under the Licensed Rights, such as reproduction, public display, public
performance, distribution, dissemination, communication, or importation, and to make
material available to the public including in ways that members of the public may access the
material from a place and at a time individually chosen by them.
l. Sui Generis Database Rights means rights other than copyright resulting from Directive
96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal
protection of databases, as amended and/or succeeded, as well as other essentially
equivalent rights anywhere in the world.
m. You means the individual or entity exercising the Licensed Rights under this Public
License. Your has a corresponding meaning.
Section 2 -- Scope.
a. License grant.
https://owasp.org/owasp-istg/print.html 136/142
7/31/24, 7:56 AM OWASP IoT Security Testing Guide
5. Downstream recipients.
https://owasp.org/owasp-istg/print.html 137/142
7/31/24, 7:56 AM OWASP IoT Security Testing Guide
b. Other rights.
Your exercise of the Licensed Rights is expressly made subject to the following conditions.
a. Attribution.
https://owasp.org/owasp-istg/print.html 138/142
7/31/24, 7:56 AM OWASP IoT Security Testing Guide
b. ShareAlike.
https://owasp.org/owasp-istg/print.html 139/142
7/31/24, 7:56 AM OWASP IoT Security Testing Guide
2. You must include the text of, or the URI or hyperlink to, the
Adapter's License You apply. You may satisfy this condition
in any reasonable manner based on the medium, means, and
context in which You Share Adapted Material.
Where the Licensed Rights include Sui Generis Database Rights that apply to Your use of the
Licensed Material:
a. for the avoidance of doubt, Section 2(a)(1) grants You the right to extract, reuse,
reproduce, and Share all or a substantial portion of the contents of the database;
b. if You include all or a substantial portion of the database contents in a database in which
You have Sui Generis Database Rights, then the database in which You have Sui Generis
Database Rights (but not its individual contents) is Adapted Material, including for purposes
of Section 3(b); and
c. You must comply with the conditions in Section 3(a) if You Share all or a substantial
portion of the contents of the database.
For the avoidance of doubt, this Section 4 supplements and does not replace Your
obligations under this Public License where the Licensed Rights include other Copyright and
Similar Rights.
https://owasp.org/owasp-istg/print.html 140/142
7/31/24, 7:56 AM OWASP IoT Security Testing Guide
b. TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE TO YOU ON ANY
LEGAL THEORY (INCLUDING, WITHOUT LIMITATION, NEGLIGENCE) OR OTHERWISE FOR ANY
DIRECT, SPECIAL, INDIRECT, INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR
OTHER LOSSES, COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR
USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR DAMAGES. WHERE A LIMITATION OF
LIABILITY IS NOT ALLOWED IN FULL OR IN PART, THIS LIMITATION MAY NOT APPLY TO YOU.
c. The disclaimer of warranties and limitation of liability provided above shall be interpreted
in a manner that, to the extent possible, most closely approximates an absolute disclaimer
and waiver of all liability.
a. This Public License applies for the term of the Copyright and Similar Rights licensed here.
However, if You fail to comply with this Public License, then Your rights under this Public
License terminate automatically.
b. Where Your right to use the Licensed Material has terminated under Section 6(a), it
reinstates:
For the avoidance of doubt, this Section 6(b) does not affect any
right the Licensor may have to seek remedies for Your violations
of this Public License.
c. For the avoidance of doubt, the Licensor may also offer the Licensed Material under
separate terms or conditions or stop distributing the Licensed Material at any time;
however, doing so will not terminate this Public License.
a. The Licensor shall not be bound by any additional or different terms or conditions
communicated by You unless expressly agreed.
Section 8 -- Interpretation.
a. For the avoidance of doubt, this Public License does not, and shall not be interpreted to,
reduce, limit, restrict, or impose conditions on any use of the Licensed Material that could
https://owasp.org/owasp-istg/print.html 141/142
7/31/24, 7:56 AM OWASP IoT Security Testing Guide
b. To the extent possible, if any provision of this Public License is deemed unenforceable, it
shall be automatically reformed to the minimum extent necessary to make it enforceable. If
the provision cannot be reformed, it shall be severed from this Public License without
affecting the enforceability of the remaining terms and conditions.
c. No term or condition of this Public License will be waived and no failure to comply
consented to unless expressly agreed to by the Licensor.
=======================================================================
Creative Commons is not a party to its public licenses. Notwithstanding, Creative Commons
may elect to apply one of its public licenses to material it publishes and in those instances
will be considered the “Licensor.” The text of the Creative Commons public licenses is
dedicated to the public domain under the CC0 Public Domain Dedication. Except for the
limited purpose of indicating that material is shared under a Creative Commons public
license or as otherwise permitted by the Creative Commons policies published at
creativecommons.org/policies, Creative Commons does not authorize the use of the
trademark "Creative Commons" or any other trademark or logo of Creative Commons
without its prior written consent including, without limitation, in connection with any
unauthorized modifications to any of its public licenses or any other arrangements,
understandings, or agreements concerning use of licensed material. For the avoidance of
doubt, this paragraph does not form part of the public licenses.
C ti C b t t d t ti
https://owasp.org/owasp-istg/print.html 142/142