Iot m5
Iot m5
Iot m5
5.1 Introduction
The Internet of Things (IoT) has already brought a revolution to our understanding
of applications in a wide range of human activity. This trend is expected to increase
in the near future, as the potential economic impact of IoT is expected to be between
900 billion USD and 2.3 trillion USD on a yearly basis up to 2025 [Man13]. IoT
applications are spreading to various sectors including smart energy, manufactur-
ing, agriculture, health, security and safety, smart cities, smart buildings, and smart
environment. All these application areas repeat the same basic model: a large num-
ber of smart devices, interconnected over wired or wireless media, interacting and
coordinating to achieve a goal.
In the industrial environment, the effort for smart factories [Zue10], the Industrie
4.0 strategy [Ind14], the Industrial Internet [GE17], and the European initiative for
the Factories of the Future [FoF] have initiated the adoption of IoT in industry with
the goals of increasing flexibility and productivity, while reducing production cost.
The developing concept is the Industrial IoT (IIoT).
The Industrial Internet of Things is part of the general IoT evolution. However, it
faces challenges that are unique and differentiate it from the other systems and ser-
vices of IoT due to the need to integrate programmable logic controllers (PLC) and
supervisory control and data acquisition systems (SCADA). PLC and SCADA sys-
tems, together with the related industrial networks that interconnect them, constitute
the infrastructure of operational technology (OT), which has traditionally evolved
independently from the typical IT technology, because it addresses the needs of
systems in the field – industrial floor, energy production facilities, energy distribu-
tion networks, etc. – with strong requirements such as continuous operation, safety,
real-time operation, etc. The capabilities offered by the emerging IIoT technology
pose challenges for the integration of these OT systems with the traditional enter-
prise IT systems at many levels, from enterprise management to cyber security. For
example, enterprise resource planning systems (ERP) need to be expanded to
Industrie 4.0 is a strategic initiative in Germany that targets to bring IoT technolo-
gies to the manufacturing and production sectors [Ind14].The goal is to enable
Germany to keep a leading role in manufacturing achieving efficient and low-cost
production with flexible workflows. The means to achieve this goal is the wide-
spread inclusion of cyber-physical systems in the manufacturing and production
processes, in order to insert intelligence in the systems and processes, to enable their
high connectivity and communication, and to achieve their coordination into more
complex but flexible processes that lead to high-quality, low-cost products.
Industrie 4.0 takes its name from the identification of the new, emerging industry
as the fourth revolution of industrial production. It is widely accepted that industrial
production to date has gone through three (3) revolutions. The first industrial revolu-
tion, between the eighteenth and nineteenth century, is the one where mechanized
production facilities were introduced in the production of goods and services, where
the required energy was provided by water and steam. Electrical energy was intro-
duced during the second revolution, which led to mass production, as electricity
boosted productivity. In the post WWII era, the inclusion of electronics and soft-
ware, i.e., industrial information technology, to the mechanical and electrical com-
ponents led to the third revolution that enabled automation at high levels. Currently,
many industrial stakeholders believe that we are at the verge of the next, the fourth,
industrial revolution, through wide adoption and use of cyber-physical systems that
leads not only to even higher levels of automation but enables mass customized
manufacturing and production of goods and services, due to the flexibility offered
by the easily programmable, configurable, and controllable manufacturing lines.
The effort for Industrie 4.0 is based on the widespread deployment and use of
computational and communication resources. The last two decades have been char-
acterized by significant advances in high performance, low-power processors, mem-
ories, and communication components that enable efficient processing and
networking. These advances have brought significant processing capabilities to a
large number of devices that are deployed to consumers or to the field. Smart con-
sumer devices have become norm. Smartphones provide hundreds of applications
and enable services ranging from identifying travel and transportation routes to
mobile banking and health monitoring. Smart televisions combine and provide vari-
ous types of entertainment and network services, from customized TV channel con-
trol and management to Internet gaming and home device management. Smart
home appliances monitor parameters, from environmental temperatures to water
and energy consumption, enabling citizens to manage their homes efficiently and
effectively leading to the required living quality while reducing operational cost at
various fronts.
The large basis of computational resources and connectivity becomes apparent
by the published numbers of embedded processors and components that are cur-
rently produced. According to [Ind14], the vast majority of produced processors,
approximately 98%, are deployed in embedded systems. Deployed semiconductor
40 5 Industrial Internet of Things
memory is also growing and expected to grow at 40% year over year in 2017
[Mic17]. Furthermore, the significant advances of wired and wireless networks in
the last two decades have led to ubiquitous connectivity, approaching 100% in cities
and towns, through different technologies.
The available processing and communication basis leads to an evolving hierar-
chy of embedded systems and services up to the level of the Internet of Things,
Data, and Services. Examples of this evolution can be identified at several applica-
tion areas. In transportation, for example, embedded systems are widespread con-
trolling functions from car entertainment systems to car seat control. At this level,
embedded processors are programmed to control specific, individual parameters,
e.g., height and movement in car seats, based on user commands. However, embed-
ded systems in cars are also networked, either within the car system or with the
environment, providing networked embedded services; automatic toll payment is
one of them where embedded systems in the car and the toll booths communicate
with each other, in order to complete the electronic payment transaction of the toll
passage. Such payment systems from several tolls, for example, can be further com-
bined in a distributed system that enables traffic and toll management at a wider
scale, leading to more effective transportation infrastructure that achieves lower
waiting times and fuel costs for travelers as well as lower operational cost and, thus,
higher income to transportation management authorities. One can even envision an
even higher level of connectivity of such complex transportation systems to smart
cities that combine transportation management with additional services, such as
energy distribution, civil services, emergency services, etc., as required at different
times, locations, and during special events.
The advances of sensor technologies, in addition to the evolution of embedded
systems and communication networks, make all these scenarios realistic.
Importantly, sensors bridge the gap between the physical world and the digital
world, providing increasingly rich information to digital systems and enabling intel-
ligent control of systems and processes. In that respect, manufacturing and indus-
trial automation has been traditionally employing IT technologies with sensors and
electromechanical systems, leading the development and deployment of technolo-
gies and concepts for intelligent control, systems, and services. Thus, the develop-
ment of the Industrie 4.0 strategy and the related initiatives comes as a natural
evolution step of industrial technologies influencing and being influenced by the
advancement of consumer technologies of the Internet of Things.
The smart factory concept embodies the goals of the Industrie 4.0 strategy to a
large degree. The concept is based on the hierarchy of cyber-physical systems men-
tioned above, where smart production systems are interconnected in a multilevel
hierarchy to achieve a high degree of automation, targeting flexibility, efficiency,
autonomy, resilience, safety, and low cost. Smart machines will be interconnected
to establish smart plants, which, in turn, will be combined to provide smart facto-
ries. Considering the typical components of manufacturing process, smart factories
are targeted to automate efficiently all components and stages. Materials and
resources will be managed and introduced in the process efficiently; production
processing will be managed in real time minimizing the used resources for the
5.3 Industrial Internet of Things (IIoT) 41
The Industrial Internet of Things (IIoT) has emerged as a general concept of the
application of the Internet of Things to the industrial sector. Effectively, it is a gen-
eralization of Industrie 4.0, which appears to focus more on industrial process effi-
ciency. The IIoT vision includes all aspects of industrial operations, focusing not
only on process efficiency but also on asset management, maintenance, etc.
Considering that IIoT is effectively IoT in the industrial sector and that the
Industrie 4.0 concepts are effectively a subset of IIot, as shown in Fig. 5.1, one
needs to identify the difference between IoT and IIoT. Although the basic concepts
are the same, i.e., interconnected smart devices that enable remote sensing, data col-
lection, processing, monitoring, and control, the parameters that identify the IIoT
subset of IoT are the strong requirements for continuous operation and safety as
well as the operational technology employed in the industrial sector. As an example,
one can consider the difference between a consumer service such as a health moni-
toring application on a smart watch and an industrial service such as the monitoring
of a steam pump. Although both applications collect real-time data, e.g., steps or
body temperature in the health application case and pressure or steam volume in the
steam pump case, transmit the data, identify events, and provide feedback or com-
mands to operators/consumers and subsystems, clearly, continuous operation and
safety place stricter requirements in the steam pump case, where the potential effect
of a failure is significantly more catastrophic and may lead to costly operation down
time and even human injuries or loss of life.
These characteristics of the industrial sector – technology and requirements –
lead to specialized, demanding solutions for technology and services, justifying the
focus of the industrial sector on a specialized IoT concept. This has resulted to the
strong interest of the industrial sector in the development of specialized concepts,
from strategy to application and technology. The conventional business develop-
ment models that include numerous interdependencies between stakeholders, from
supply chains to service promotion, lead also to a strong need for interoperable
solutions at many levels, from the device level to services. Thus, there is need for
coordinated activities in the evolution to IIoT, which is addressed by consortia, such
as the Industrial Internet Consortium [IIC14] that provides significant leadership in
this emerging field.
The General Electric company introduced the term Industrial Internet in 2012,
as a leader of the Industrial Internet of Things, identifying also the technologies of
machine-to-machine communication, SCADA, HMI, industrial data analytics, and
42 5 Industrial Internet of Things
cybersecurity as the main constituents of the IIoT vision [GE17]. Interestingly, they
also calculate the impact of the Industrial Internet to 46% of the global economy,
while in the energy sector they calculate an impact of 100% on energy production
and 44% on energy consumption globally [GE17].
The development and deployment of IIoT systems and services require the develop-
ment of architectures that enable efficient and effective operations as well as interop-
erability considering the anticipated end-to-end services and the large number of
stakeholders involved for devices, cyber-physical systems, communication systems
and networks, service providers, and business developers. Thus, significant effort is
being spent to develop standards and reference architectures that will be accepted
and adopted by the various stakeholders. The International Telecommunication
Union (ITU) has addressed this issue, publishing in 2012 the ITU-T Y.2060 recom-
mendation, which introduces a reference architecture for IoT, in general, including
explicitly applications that fall in the context of IIoT, such as smart grid, intelligent
transportation systems, e-health, etc. [ITU12]. The Industrial Internet Consortium
(IIC) has also been working on a reference architecture for IIoT and currently has
published Version 1.7 of the Industrial Internet Reference Architecture [IIC17].
This architecture is an elaborated reference architecture, significantly more detailed
than the ITU one, addressing all important aspects to all categories of stakeholders.
Taking into account the details of both reference models, one can consider the IIC
model as a specialized evolution of the ITU model, addressing in more details the
important issues of IIoT relatively to the more generic ITU reference model that
encapsulates the requirements for the general IoT.
The ITU effort has expanded the communications’ vision to include communica-
tion of “anything” to the communication concepts of “any time” and “any place.”
Importantly, it includes all expected applications, including industrial ones, specifi-
cally mentioning smart grids and intelligent transport systems among others. As
“things,” ITU considers physical and virtual objects that are identifiable and able to
5.4 IIoT Architecture 43
T
T
T
Communication Network
(CN)
Direct communication
T G
Communication over CN through Gateway
Management
Service support and Application support Layer
Security
Network Layer
Device Layer
platform, and application provider, while, in Model 2, one stakeholder has the roles
of device, network, and platform provider and another one has the role of the appli-
cation provider.
The Industrial Internet Consortium (IIC) focuses on similar concepts and devel-
ops a reference IIoT architecture that has several similarities with the ITU approach
and reference model. Clearly, the IIC approach to the architecture development
addresses the interests and concerns of all types of stakeholders in an integrated
way, originating from use cases and focusing on complete business models and
applications at all levels, from devices to IIoT services. IIC follows the approach
that different stakeholders who need to make different decisions have architectural
viewpoints that are at different levels of abstraction. These viewpoints enable stake-
holders to focus on the parameters of interest and develop appropriate architectures
that achieve their goals and address the problems they have identified. For this pur-
pose, IIC has identified four different viewpoints: (a) business, (b) usage, (c) func-
tional, and (d) implementation.
The business viewpoint addresses the concerns of business stakeholders, who
define and specify IIoT systems and services in their organizations or for customers.
These concerns, such as return on investment, cost of maintenance, and similar, are
addressed through a model that enables the definition of visions and values which
are translated to key objectives and then to high-level specifications of business
tasks, named fundamental capabilities. The stakeholders involved include business
developers as well as system engineers and product managers.
The usage viewpoint describes how the system is used, implementing the key
objectives and the capabilities that have been specified through the business view-
5.4 IIoT Architecture 47
point. The viewpoint is described with a model that identifies the system and its
activities, the involved parties – humans or machines – and their roles, and, finally,
tasks, i.e., actions that are executed by parties with a specific role. As tasks are the
actions in the system, they are precisely specified and described per role with, so
called, functional and implementation maps that specify the exact functions and
implementation subsystems that are necessary for a task’s complete execution. The
stakeholders involved in the usage view include not only the systems engineers and
the product managers of the related employed products but all stakeholders that are
involved in IIoT system and service specification, including the end users.
The functional viewpoint presents the functional architecture of the IIoT system,
describing its components, dependencies, and coordination, meeting the require-
ments and specifications that have been developed through the usage viewpoint. The
stakeholders involved in this viewpoint are system and subsystem developers, prod-
uct developers, and managers as well as system integrators.
Considering the focus of IIC on IIoT and the increasing adoption of industrial
control systems (ICS) within the industries of several sectors and in the operation
and management of critical infrastructure, the IIC reference model focuses on its
functional architecture of IIoT systems on the integration of ICS with classical
information technology (IT) systems in a unified, effective model that meets the
requirements of all stakeholders – as specified in the business and usage view-
points – and enables their effective decisions. The inclusion of ICS and IT in a uni-
fied model presents several challenges. Industrial control systems, the systems of
Operational Technology (OT), have been developed following a different evolution
path from typical IT systems, because of their goals and requirements that typically
include continuous operation, safety, and real-time constraints; OT systems have
been mostly developed and owned by control and operations engineers, they employ
different technologies for processing, communications, and interfaces because they
interface directly with the environment through sensors and actuators, and they are
managed by their owners independently, since they are typically part of demanding
systems and services in terms of dependability, continuous operation, real time, and
safety. As a result, their technologies, practices, and standards have evolved inde-
pendently from the ones for IT. However, the increasing capabilities offered by
advanced sensors and actuators, processors, and memories have enabled ICS to
execute highly complex operations that have been developed for complex IT sys-
tems, such as high-volume data collection and analysis, multivariable modeling and
optimization, etc. Importantly, at the same time, the increased capabilities and the
increasing complexity of ICS have led them to be more vulnerable to failures and
cyber-attacks, leading to additional functional requirements for their correct and
efficient operation.
In order to address the integration of IT and OT in a unified model, the IIC
approach to the reference architecture divides IIoT systems in five domains, each
one grouping the functionality required for a logically distinct high-level operation
of the system. These five domains are (a) control, (b) operations, (c) information,
(d) application, and (e) business. Figure 5.5, from [IIC17], illustrates the decompo-
sition of the functional representation of an IIoT system into the five domains and
48 5 Industrial Internet of Things
Business
Control flow
Data flow
Information
Application
Operations
Control
Sense Actuate
Physical system
shows the data and control flow among the domains, as specified by IIC. The control
domain effectively represents the control loop realized by industrial control sys-
tems, i.e., it contains the sensors, the logic, and the actuation that constitute a plant
implemented by one or more industrial control systems. The operations domain
includes the functions that are required for the operation of the industrial control
systems in the control domain; the operation includes system monitoring and man-
agement as well as optimization for the efficient operation of the systems, especially
considering the requirements of several application domains for continuous opera-
tion, meeting real-time requirements, and achievement of low-power objectives.
The information domain is responsible for collecting data from all domains and
analyzing them to enable high-level decisions for the system, e.g., coordinating and
optimizing the end-to-end operation of several industrial control systems in the con-
trol domain. The application domain includes functionality that is application-
dependent and effectively includes the models and operation rules of the application
at hand; an important part of this domain is the set of APIs and user interfaces so that
other applications or human users can use the application effectively. Finally, the
business domain includes systems and functions that enable management and deci-
sion making at the business level, e.g., with enterprise resource planning systems
(ERP), manufacturing execution systems (MES), etc.
5.5 Basic Technologies 49
It is important to note that the IIC approach is centered around the concept of a
control plant, i.e., it addresses all viewpoints around a control loop that implements
a plant. Since control loops can be simple, with one system, or complex with mul-
tiple systems typically organized in a hierarchy, the IIC functional domain decom-
position can be applied at all levels of a hierarchy. Thus, the decomposition of an
IIoT system in the domains does not represent a layered approach as the ITU
approach, but rather a logical functional decomposition within a layer or across lay-
ers in a hierarchy. Because of this, the IIC reference architecture identifies “cross-
cutting functions” that are effectively hierarchical (or layered) IT infrastructure
functions necessary for the development of a complete IIoT application. These
functions include connectivity, distributed data management, analytics, intelligent
and resilient control, and any other application function that is necessary for the
specific application domain or use case. For example, connectivity has to be imple-
mented in a hierarchical fashion, following standards and practices, interconnecting
components within an industrial control system or across several such systems,
where each system can be viewed as a collection of functions from all five specified
domains. Observing the crosscutting functions mentioned, one can realize that they
effectively constitute a layered architecture analogous to the one by ITU. In that
respect, one can consider the IIC approach and the ITU approach as complementary,
with the IIC reference architecture being a generalization of the ITU one, since it
includes crosscutting functions analogous to the ITU layers, while it enables the
development of more detailed functional models per layer addressing complete con-
trol loops and providing support to all types of stakeholders – from device designers
to business developers – for effective decision making.
This analogy and complementarity becomes more apparent with the implemen-
tation viewpoint, which addresses the implementation details of the functional
viewpoint developed for an IIoT system. The implementation viewpoint includes all
the necessary technical and technological details that are necessary for the imple-
mentation of a complete IIoT system and its application, including system function-
ality, technological requirements, communication and network protocols, all types
of interfaces, and a mapping of the functional blocks that are specified in the func-
tional viewpoint onto typical implementation architectures, such as the three-tier
architecture (where the three tiers are the edge, platform, and enterprise) and the
layered databus architecture.
The basic technologies that enable the evolution of IIoT are the sensors, cyber-
physical systems, and the related communications and networking technologies that
enable their connectivity, among them or to other systems, including enterprise net-
works. As basic technologies, we designate the ones that are all common to all
application domains and use cases.
50 5 Industrial Internet of Things
IIoT applications span a wide range of IoT application domains. Operational tech-
nology (OT) systems have become the basic computation platform for the operation
and management of most critical infrastructure. The high processing and storage
capacity of PLCs, their ability to manage real-time applications with high availabil-
ity, and their easy management by available SCADA systems have made them quite
popular as building blocks of large infrastructures beyond the manufacturing floor,
for which they were originally introduced. Today, a large portion of infrastructure is
based on industrial control systems (ICS) and makes this critical infrastructure a
potential provider of IIoT services and user of IIoT technology. The energy sector is
probably the most demanding one on the use of ICS, since the production and pro-
cessing of energy is part of a country’s heavy industry and thus, naturally, includes
large ICS platforms. In addition, ICS are used heavily in power distribution net-
works, such as the electricity network. Considering the emerging smart grids that
provide monitoring devices, i.e., PLC-like systems, to customers, it becomes appar-
ent that ICS are the main computing infrastructure in power systems end to end,
from production to consumption.
5.6 Applications and Challenges 51
References
[Amq14] ISO/IEC 19464:2014 (2014). Information technology: Advanced message queuing pro-
tocol (AMQP) v1.0 specification.
[Ant16] Antonopoulos, C., et al. (2016). Integrated toolset for WSN application planning devel-
opment commissioning and maintenance: The WSN-DPCM ARTEMIS-JU Project. MDPI
Sensors.
Chapter 6
Security and Safety
6.1 Introduction
The Internet of Things (IoT), including the Industrial Internet (IIoT), refers not only
to the connectivity of systems and devices but to the related applications and ser-
vices that provide monitoring and control of complex systems and services. The
application domain spans a wide range of industries, from health to industrial con-
trol and from transportation to surveillance systems. Its expansion and growth
incorporate several technologies and disciplines, such as electronics, embedded net-
works, hybrid systems, and control. The inclusion of information technology (IT) as
well as operational technologies (OT) creates a challenge for the development of
systems and services that are technologically interdisciplinary. The resulting chal-
lenges to integrate these technologies in new design methodologies for robust and
effective IoT systems and services are significant. Currently, even the terminology
used by different stakeholders presents challenges and inconsistencies to the com-
mon understanding of properties and goals of IoT infrastructure and applications.
Considering the targeted applications and services of IoT, in this chapter, we
address security and safety of IoT systems and services with an approach that spans
from systems to applications (services or processes) in a unified way, using termi-
nology that originates from computing, networking, and control, since these disci-
plines constitute the main pillars of IoT technologies in all IoT application domains.
This approach is consistent with the reference architectural models of both ITU and
the Industrial Internet Consortium, as presented in Chap. 5. For convenience, we
address security in this chapter following the ITU model, which divides security
mechanisms in two parts, one for generic security and one that is application depen-
dent; we use the terms application dependent and process dependent
interchangeably.
IoT applications, in general, collect data through sensing devices, process this
data, and take actions that range from sending notification and raising alarms to tak-
ing actions through actuators on physical systems. A simple generic model for this
Control Center
(C)
Control
actions Measurements
Device
Actuators Sensors
(D)
operation is the model of the control loop that is used across many application
domains and is depicted in Fig. 6.1. In this model, a device D is controlled by a
control center C. Measurements of the parameters of interest are collected from D
through sensors and delivered to C which makes the necessary calculations and
takes the necessary decisions and actions for the application; if the application
requires automatic actions, C sends the necessary commands to actuators that con-
trol D. The model is generic and covers application across domains ranging from
health to transportation and from aerospace to manufacturing. In a health applica-
tion, for example, sensors measure patient parameters, such as temperature and glu-
cose levels, and send them to a monitoring program – analogous to the control
center – and decisions are made depending on the application; a message may be
sent to attract a patient’s or a doctor’s attention, or an insulin pump may be opened
to administer more insulin. In a manufacturing floor, sensors may detect the arrival
of a component and send the data to a control center which, in turn, sends the appro-
priate commands to the machine that will process the component accordingly.
The control loop model shown in Fig. 6.1 is implemented on a computational
platform that has a different structure from the one indicated in the control model.
Figure 6.2 shows a typical hierarchical computational structure for industrial sys-
tems, an important class of IoT systems, showing how the computing systems, net-
works, sensors, and actuators are typically used to implement the operational
computing infrastructure of the control loop. Sensors and actuators are attached to
the controlled device (D in Fig. 6.1), programmable logic controllers (PLCs) imple-
ment simple controls – one per PLC typically – and the supervisory control and data
acquisition (SCADA) system implements the control loop for the complete process,
also denoted as plant. The PLCs in the structure are simple industrial computers,
and their number differs according to the application. In a smart grid, for example,
different PLCs may take actions locally per transformer, while SCADA controls the
6.1 Introduction 57
Network
Network
Valve Pump
complete smart grid; in a water management system, a different PLC may control
each pump, while SCADA controls the water system of an industrial site.
In this environment, there are several properties we want to achieve. From the
control point of view, these properties are typically safety properties. For example,
we want to avoid overloading of a smart grid, to avoid the overflow of a fluid tank,
or to avoid overdose of a pharmaceutical substance that is automatically adminis-
tered to a patient. These properties can be violated because of several reasons. A
programmer may have introduced a bug in the program, the requirements of the
system may have missed a condition that should had be taken into consideration, the
middleware of the system may give the wrong priorities to control processes, or,
simply, a malicious party may attack the system and cause it to take the wrong
actions.
The safety requirements for applications are typically expressed as requirements
on the control loop which implements applications. These expressions are based on
assumptions about properties of the infrastructure on which the application is imple-
mented. For example, an HVAC control system assumes that the temperature mea-
surements that are input to the system are correct within some approximation. This
implies that the safety properties are based on assumptions for data integrity that
need to be satisfied by the infrastructure. In general, safety requirements include
infrastructure security ones, such as integrity, implicitly or explicitly. A typical
explicit security property is the protection of personal information in a health man-
agement system. Thus, it becomes clear that security is a requirement for safety as
well, since data integrity is necessary at least.
58 6 Security and Safety
In order to identify the requirements and mechanisms that are required to provide
the necessary security properties in the IoT and IIoT context, we follow the layering
shown in Fig. 6.3, which has been introduced in [Ser13]. Figure 6.3 defines our view
of the relationship between application and process properties, such as safety and
privacy, and security and dependability mechanisms which are provided at the sys-
tem level and are used as primitives to provide the application and process
properties.
The depicted layering is based on our approach to differentiate system level
properties, such as secure storage, secure communication, tamper resistance, etc.,
from properties that are required and provided at the application level. In this
approach, we consider that (embedded) systems and their interconnections are built
to operate resiliently overcoming failures, accidental or malicious, that lead to infor-
mation loss, leakage, and availability. Dependability mechanisms focus more on the
aspects of reliability and availability considering accidental failures, using probabi-
listic models for the failures, while security mechanisms focus on the provision of
alternative properties, e.g., confidentiality, authentication, availability, etc., based
on defined malicious attack models. Although some dependability and security
properties, such as the availability of information, are common between the two
disciplines, others, such as confidentiality or continuous operation, are complemen-
tary. In general, dependability is complementary to security, because an attacker can
insert faults and failures – analogously to launching attacks on security mecha-
nisms – that the dependability mechanisms cannot recover from. Clearly, the com-
bination of dependability and security mechanisms at the system level provides
trusted platforms that are both secure and available under accidents and attacks.
Safety and privacy are often described as security requirements in many applica-
tion domains, although they are different from the typical security considerations in
many ways. Typically, privacy protection and safety are requirements for processes,
applications, and services, rather than for generic systems. In our approach, privacy
and safety are dependent on security, because they employ security mechanisms for
their implementation, such as data integrity and confidentiality. Interestingly, safety
and privacy are overlapping, because privacy is a safety issue in some contexts, such
as the financial transactions. It is important to note that, as Fig. 6.3 indicates, secu-
rity and dependability are requirements for privacy and safety. If security mechanisms
60 6 Security and Safety
are lacking, an attacker can violate privacy by easily collecting data or can alter
processes and applications, leading to unsafe conditions.
The threat model we consider for IoT systems is one that includes both compu-
tational attacks and data attacks. Computational attacks include all malicious actions
in a computing system that affect the correct execution of a program and/or lead to
information leakage. Data attacks constitute all attacks on input or communicated
data. We extend the concept of data attacks to include false data injection attacks,
which are malicious interventions that input inappropriate (illegal) data to a system.
False data injection (FDI) attacks are an emerging class of attacks to IoT systems,
which do not attack the IoT systems themselves but input wrong data to a control
system in order to lead it to a wrong decision. In that respect, they are mostly safety
attacks. For example, in an HVAC system, a false data injection attack would be to
input a higher temperature to the system, instead of the correct measure, in order to
lead it to lower the temperature further. Clearly, this type of attacks can lead to haz-
ardous conditions that may endanger processes and systems, even human life.
IoT systems are embedded computing systems that employ architectures analogous
to general-purpose ones. A typical structure of an IoT system is shown in Fig. 6.4,
where the system contains four main subsystems: (i) processing, (ii) memory, (iii)
input/output, and (iv) power. In general, a secure system requires protection as a
whole in addition to protection of all its components individually. The specific
requirements are placed depending on the operational environment and the expected
capabilities of attackers. In a surveillance system, for example, optical sensors
(cameras) need to be secured individually, but the whole network needs to operate
dynamically in case individual cameras are compromised or destroyed.
The security of stand-alone systems is achieved with several levels of protection
that include physical and hardware security as well as trusted computing platforms.
Anti-tampering techniques enable different levels of physical protection ranging
I/O
Power (Battery)
6.2 Systems Security 61
from tamper evidence to tamper response and tamper resistance and are employed
accordingly depending on the security requirements of the system and its opera-
tional environment. Techniques for tamper evidence simply indicate whether a
device has been tampered with. Tamper-response methods combine tamper detec-
tion with tamper reaction, where appropriate actions are taken after tamper detec-
tion; for example, they destroy stored sensitive data. Tamper resistance methods
prevent tampering with devices and protect any sensitive data in the device from
attacks.
Anti-tamper technologies have been developed to protect systems after their
deployment, so they need to address physical and hardware attacks of attackers with
variable capabilities in a wide range of hostile environments, especially for critical
applications such as surveillance. They need to combine physical as well as algo-
rithmic mechanisms. Traditional encryption of data, for example, is not a sufficient
solution to data protection nowadays, especially in limited-resource systems, where
encryption can be overcome with simple attacks. Side-channel attacks have changed
the attacks on cryptosystems exploiting physical parameters of the implementations
of cryptographic algorithms, such as timing and power consumption, rather than
attacking the algorithms themselves [Koc96, Koc99, Qui01] or introduce faults dur-
ing cryptographic computations [Bar06, Joy09].
Complex hardware systems such as processors and micro-controllers are suscep-
tible to physical and hardware attacks similarly to dedicated circuits, such as cryp-
tographic circuits [And96, Bly93]. Defenses against such attacks require dedicated
hardware, specialized design techniques, or even new architectural concepts. For
example, a sensitive program can be protected from attacks by storing it in a special
design of execute-only memory that allows instructions stored in memory to be
executed only and does not allow any other manipulation [Lie00]. Encrypted buses
protect data from leakage during data transfers between a processor and its memory
[Bes81, Kuh97]. Decay caches can protect from side-channel attacks avoiding
cache information leakage [Ker08].
Anti-tampering techniques protect against attacks after system deployment. New
business environments can drive embedded systems insecure by planting hardware
Trojans during the design and manufacture phase [Jin10].
Embedded and cyber-physical systems, in general, are widespread and have
attracted a large range of attacks [Rav04]. Defense against them requires a combina-
tion of software and hardware techniques, in order to cover all potential attacks.
This is especially important in emerging cyber-physical and IoT systems, which
include operating systems or specialized middleware. More complex programmable
systems require adoption of such methods as secure booting [Arb97] to establish
system integrity, process isolation, and process level attestation techniques [Mic11]
to protect running processes as well as techniques for context switching, exception
handling, inter-process communication, and memory management [Lie03, Gar03].
Overall, the increasing programmability of these systems requires appropriate soft-
ware security techniques. Software techniques also offer a cost advantage over
hardware techniques. Furthermore, the combination of software techniques with
62 6 Security and Safety
When the key set sizes are chosen appropriately, all network end points of a network
can communicate successfully [Cha03].
Networked systems, especially through the Internet, need to ensure that data are
being communicated only among authorized users and processes and that these
exchanged data are “legal.” This is usually achieved through the use of firewalls,
which are typically implemented at the network and application layers, in end point
systems or in the network infrastructure [Bol95]. IoT systems typically have very
well-defined communication needs, and thus, firewalls can be easily configured to
allow strictly the limited type of legitimate communication. The decision about
where the firewall should be implemented, i.e., at the network or application layer,
at the end system, or in the network, depends on the end point system, the network
and their available resources, as well as on the network topology. For example, ad
hoc networks need protection at the node level, while more centralized systems can
rely more on network level protection [Sli02].
Denial-of-service (DoS) and distributed denial-of-service (DDoS) attacks are a
significant threat against IoT systems or exploiting IoT systems. DoS attacks over-
load resources, such as processor, memory, and network, of the targeted system, in
order to prevent it from performing its intended functionality or serving its users.
In general, there are two basic types of DoS attacks [Hus03]. The first type of
attack exploits vulnerabilities, hardware or software, by sending carefully con-
structed packets to the target system; the typical goal is to crash the target system.
Often, such vulnerabilities are exploited because systems are not patched. This
makes IoT systems especially vulnerable to these attacks, because many IoT sys-
tems are not configured to update their software automatically and a wide popula-
tion of users is not sufficiently aware of the risks and actions they need to take to
protect their systems accordingly
In the second type of attacks, the distributed denial-of-service (DDoS) ones, a
large population of compromised systems create vast amounts of network traffic
toward a victim system; this traffic is combined with legitimate traffic as well. The
overload of the aggregated arriving traffic at the target system overloads its resources
and renders it incapable to serve its legitimate users. The recent incident of the Mirai
botnet attack [New16] demonstrated clearly that IoT devices are vulnerable to mal-
ware injection and they can be effectively used to launch DDoS attacks; in the Mirai
case, they attacked an Internet directory service, causing significant and costly dis-
ruptions to Internet connectivity worldwide.
DDoS attacks are difficult to stop because they exploit shared network services
that are accessed by all systems connected to a network. The current version of the
Internet Protocol (IPv4) allows systems to send IP packets with arbitrary values in
the source IP address field, making it difficult to identify sources of offending IP
packets in many attacks [Wan07]. Current efforts to defend against DDoS attacks
are usually based on intrusion detection and traceback schemes for detection, filter-
ing, and tracing of an attack [Pen07]. Intrusion detection employs signature- and
anomaly-based detection techniques [Cab01, Wan02], while packet marking [Bel03,
Sav01] and packet logging [Sno02] are used for attack traceback.
64 6 Security and Safety
u pgrading of the IoT systems. There are several approaches to this challenge. One
can limit or prevent the ability to upgrade software components that manage critical
system resources in highly hostile application environments. Alternatively, in safer
environments, strict access control mechanisms can be used to enable upgrades of
different software components by different operators. Mobile code transmission
may be prevented, while wired code transmission may be allowed when connectiv-
ity is in a controlled environment. In general, remote management of systems, espe-
cially IoT systems with limited resources, requires a secure architecture that
addresses the operational environment as well as the profiles of the potential
attackers.
of developing the application programs as one where the application designers pro-
vide the specifications of the application, including the safety properties, and then
the software is developed accordingly to meet these specifications and be secure
from vulnerabilities overall. In this fashion, the safety and security problem becomes
a verification and monitoring problem: first is the verification of the produced appli-
cation software, i.e., that it meets the set requirements, and second the monitoring
of the execution of the verified program in order to ensure that it is not altered and
executes as expected, based on the specification.
This approach is a behavioral approach to safety and security, since it is based on
the specification of the application process. In this context, application behavior is
defined by the executable specification that is the starting point of the approach, and
this is the way the term is used in the remainder of this text.
Run-time monitoring systems for security can be classified based on two parame-
ters: (i) the method that describes the behavior, i.e., profile based or model based,
and (ii) the method that compares the behaviors, i.e., matching to bad behavior or
deviation from good behavior. This leads to a classification with four classes, as
shown in Fig. 6.5.
Profile-based approaches monitor parameters of the observed system and build a
profile of system operation. Class 1 monitoring systems that detect attacks by
matching with bad behavior (Class 1 in the figure) typically use statistical methods
and machine learning methods to build profiles of bad behavior and statistical pro-
files of attacks [Hod04, Val00]. They are more robust than model-based systems
(Class 2 systems) because machine learning typically generalizes from the collected
data, but they suffer from high false alarm rates, and they do not provide rich infor-
mation for diagnosis when an alarm is raised. Systems in Class 3, which detect
deviations from good behavior, usually build a statistical profile of good behavior
and detect deviations from that [Kim04, Lak05].These systems are actually more
robust than the ones in Class 1, because they do not depend on any past information
of attacks and, thus, they raise alarms when new attacks are launched, because all
deviations from good behavior are detected. However, not only do they provide
limited diagnosis information, i.e., only that something extraordinary has happened,
but they suffer from high false alarm rates, because the deviation may not be mali-
cious or accidental, but it can also be normal but just out of the statistically accepted
profile behavior.
Model-based monitoring systems, Class 2 and Class 4 systems, use a model of
the behavior of the monitored system. Such systems are popular in highly secure
Behavioral
comparison
environments, where successful attacks have high cost. Because they use a behav-
ioral model of the observed system, these monitors provide rich diagnostic informa-
tion when alarms are raised, in contrast to profile-based monitors. Despite this rich
information though, Class 2 monitors are limited because they can detect only
known attacks; this originates from their bad behavior models which are already
known by definition, i.e., the attacks exist [Pax99, Roe99]. Signature-based systems
are typical examples in this class. Class 4 monitors detect deviations from a good
behavior model [Wat07, Gol07] and thus provide even higher diagnostic informa-
tion, because there is adequate knowledge of the exact problem, e.g., the exact
instruction, that led to a detected deviation. However, the execution overhead of the
models of good behavior poses limitations to run-time system performance.
A promising approach that addresses safety and security in a unified way in IoT
systems and cyber-physical systems is the ARMET approach [Kha17]. ARMET is
based on three basic concepts: (i) we can build secure-by-design systems, (ii) we
can monitor these systems at run-time for correct operation to detect attacks or fail-
ures, and (iii) when there is a failure or an attack, we can have plans to recover,
depending on the problem and how much information we have about it. ARMET
has been developed focusing on industrial control systems, but it is applicable to
other IoT systems as well, since their software complexity is comparable to that of
industrial control systems.
With the ARMET approach, an IoT application is developed starting from an
executable specification which is provably consistent with the safety properties set
for the application. From this executable specification, the application code is
derived. Given the executable application specification and the application code for
the target system, ARMET monitors the behavior of an application while it exe-
cutes, by comparing its observed behavior to the expected behavior based on the
application’s specification; to achieve this, a middleware executes the executable
specification in parallel with the application execution on the IoT system and calcu-
lates predictions of the application’s behavior. Figure 6.6 shows the structure of the
ARMET middleware system, which is composed of several components: (i) the
run-time security monitor, (ii) the diagnosis module, (iii) the recovery module, (iv)
the trust model, (v) the adaptive method selection module, and (vi) the backup mod-
ule. The run-time security monitor is a critical component of the middleware, which
takes as input the executable specification of the application and the state of the
system that executes the code of the application. The monitor observes the behavior
of the application execution, and, in parallel, it predicts the state of the application
execution by executing its specification; the specification execution defines the
expected “good behavior” of the application and, optionally, known “bad behavior”
of the application that includes known attacks. Comparing the predictions with the
observations, the monitor can detect deviations that indicate a failure of the
6.8 The ARMET Approach 69
ARMET
Application Application
specification code
in_pump
h wh
out_pump
executable specification can produce automatically executable code for the target
system, IoT or industrial.
The ARMET run-time security monitor (RSM) successfully identifies inconsis-
tencies between predictions, produced by the execution of the specification, and
observations of the application code execution, because of its executable specifica-
tion language [Kha15]; importantly, the predictions are generated automatically.
The run-time security monitor (RSM) is the first one to be formally proven as sound
and complete [Kha15]; the proof means that the monitor is also free of false alarms
(detections), an important, desirable property in practical systems, where false
alarms lead to lost resources that are used to explore the false alarms. Importantly,
ARMET’s specification language allows the specification of faulty behaviors as
well as attack plans, which can be used by the monitoring system for threat
detection.
The ARMET approach is based on the concept that a system can be specified
with an executable specification. Based on an appropriate functional specification
for a system, one can express the safety and security properties that the system
should meet as conditions of the specification and include them in the specification
as well. As an example, let us consider the case of a water tank which has a height
h, as shown in Fig. 6.7, and two pumps that are controlled, one for filling the tank
with water, denoted in_pump, and one, out_pump, for draining the water out; each
of the two pumps has only two possible states, i.e., open or closed. Furthermore, we
assume that there is a sensor that measures the water height, denoted wh, in the tank.
We want to have a water management system, where a user issues commands to
pour water or drain water from the tank. For simplicity, we consider that a user can
perform three actions, FILL, DRAIN, or NOTHING, and that the system operates
in cycles, synchronously with a clock. So, during every cycle (clock tick), one
action can be performed. A FILL action implies that in_pump opens, out_pump
closes, and for this one time unit water is poured in the tank. A DRAIN action
means that in_pump closes, out_pump opens, and for this one time unit water drains
out of the tank. When the action is NOTHING, then both pumps are closed and the
state of the tank remains the same. In an environment like this, an obvious safety
property is that we do not want the tank to overflow under any conditions.
6.8 The ARMET Approach 71
«Enumeration»
Action
- FILL
- DRAIN
- NOTHING
«StereoType»
WaterTankSpec
- water_level : Integer :=0
- SENSOR_ACCURACY : Real := 0.01
- FILL_RATE : Integer := 1
- DRAIN_RATE : Integer := 1
- TANK_MAX : Integer := 10
+ readValue (reading : Integer) : void
+ doAction (water_level : Integer ) : Action
Figure 6.8 shows one executable specification, written in UML, which imple-
ments the three defined actions, assuming that each action FILL or DRAIN has as a
parameter an integer value for the variable water_level, which specifies the target
height of the water that the user wants to obtain; furthermore, the specification
ensures that the water tank never overflows. In the specification, the three actions
are defined in enumeration: SENSOR_ACCURACY defines the measurement
accuracy of the reading sensor for the water level in the tank, FILL_RATE is the
72 6 Security and Safety
incoming water rate through in_pump, and DRAIN_RATE is the rate of the outgo-
ing water when out_pump opens. TANK_MAX is the height h of the tank.
When an action is issued by the user, the system first takes a reading of the water
level with the sensor, as specified in readValue, and identifies whether the target
water height differs from the measured height within the sensor’s accuracy bounds.
If the target height is different, then the corresponding action is performed, pouring
water in or draining water out until the target height is achieved. The safety property
is enforced, because of the precondition that is expressed in doAction(), which
ensures that a FILL action is performed when its result leads to a water height that
is less or equal to TANK_MAX.
Since RSM is sound and complete, it is proved that it will detect all computa-
tional attacks on the application. This means that any attack that influences the
execution of the application and leads to wrong calculations will be detected. This
has been confirmed with several computational attacks [Kha17]. Importantly, RSM
captures a wide range of false data injection attacks as well. For example, if an
attacker wants to overflow the water tank of the example and alters the reading of
the sensor to a lower value – with the purpose to cause insertion of larger volumes
of water – RSM will identify the attack, because the execution of the specification
will calculate a different value for the water level than the one measured with the
sensor. The difference between the expected water level and the one read will lead
to a detection of the deviation; it will raise an alarm and, eventually, will cause the
action to be stopped. Although there exist complex false data injection attacks that
are not detected by RSM, its detection of common attacks combined with the proof
that it detects all computational attacks makes the ARMET behavioral approach a
powerful tool for the protection of processes and applications in the IoT space.
Privacy protection is one of the most significant challenges in IoT systems because
of the legal requirements in many application domains such as home environments,
smart grids, and health systems. There are increasing restrictions and constraints on
the collection, storage, and processing of personal information involved in all appli-
cations, including IoT. Privacy protection solutions may need to integrate a range of
methods and techniques, such as time-limited storage of sensitive information,
access control systems to enable access only for authorized personnel, accounting
systems to enable auditing, etc. The burden to comply with the required policies and
laws is further increased by the increasing amount of information considered as
personal or private, which leads to a need for adaptive and scalable solutions that
accommodate new policies as the relevant legal requirements emerge [Mul06]. The
ARMET approach provides a powerful solution to the problem of privacy protec-
tion, when privacy protection is viewed as a safety property. Privacy protection
originates from legal requirements that can be expressed as conditions in an infor-
mation system, i.e., they can be expressed as preconditions, postconditions, or