Managing Risks On IoT Projects
Managing Risks On IoT Projects
Managing Risks On IoT Projects
Lesson Introduction
The challenges in designing, developing, implementing, and managing an Internet of Things
(IoT) system are not only technical. You must also manage risks related to cybersecurity,
privacy, and safety.
Lesson Objectives
In this lesson, you will:
• Identify security and privacy risks in IoT systems.
• Identify strategies to keep IoT systems secure and to protect the privacy of users.
• Manage IoT-related safety risks.
190 | Certified Internet of Things (IoT) Practitioner (Exam ITP-110)
TOPIC A
Identify IoT Security and Privacy Risks
The general concept underlying the Internet of Things (IoT) is to connect every object to make
tasks easier and more efficient, automate tedious tasks, use resources more efficiently, and generally
improve the quality of our lives—in short, to make things better. However, if not managed well, IoT
has the potential to make things much worse from the perspective of cybersecurity and privacy.
Mirai is able to bypass software intended to protect against denial of service (DoS) attacks by
monitoring the IP address of incoming requests. Normally such software would block traffic when
too many requests come from a single IP address. However, distributing the attack across many
different devices (with different IP addresses) bypasses this protection. Also, because the devices are
on different networks, much more collective bandwidth is available for an attack than if attacks
originated from one network, and attacks can't be traced back to a single origin.
Fronts of Attack
IoT systems are (by definition) typically connected to the Internet, which means they are potentially
vulnerable on many possible fronts:
• IoT devices themselves, typically on the edge of the network, may be attacked directly. For
example, an attacker may have physical access to the device, and can therefore physically attack
it, removing a memory card, pulling data from device memory, breaking the device or altering its
function, and so forth. If devices are exposed to the Internet, they can be attacked if the devices
themselves are not configured for security or if their software includes vulnerabilities.
• Edge systems such as a messaging broker or IoT gateway, attached to both the Internet and the
local network, could be a point of vulnerability.
• Networks used to communicate between IoT devices, cloud storage, applications, and other
hardware and software involved in the system can be attacked if not properly configured for
security. For example, usernames, passwords, and content transmitted over the network without
encryption could be viewed by someone monitoring network communication.
• Storage used to hold IoT data could be attacked if not secured properly. Onboard device
storage, local network storage (e.g., IoT gateway), cloud storage, or application storage all
provide possible fronts of attack.
• Databases that hold IoT data are a source of possible exposure.
• Applications that process and control IoT data and devices can be attacked.
company the victim works for, or the names of the victim's family members. By including this
information in communication with the victim, it gives the impression the attacker knows the
victim, and is, therefore, more trustworthy.
• Shoulder surfing/dumpster diving: The attacker spies on a user entering credentials as they
log in, or inspects items on the user's desk or garbage to look for clues that may be useful.
• Impersonation: An attacker pretends to be someone trusted enough to gain sensitive
information. For example, the attacker could call a user, pretending to be from customer service
or an IT helpdesk, asking for information that may be useful.
• Keylogging: If attackers can gain access to a user's computer, they can install a keylogger on
end user systems to track text they enter, such as usernames and passwords.
system without going through normal authentication methods. The backdoor may have been put in
place on purpose to support development and testing of the product, or it may result from an
oversight or programming error. In some cases, attackers may figure out a way to install their own
backdoor—for example, by issuing commands to provide elevated privileges.
Attackers use various methods to uncover software vulnerabilities, such as:
• Fuzzing: An attacker sends an application a set of random or unusual input data designed to
cause software to fail, and observes how it is handled by the application, and whether it produces
results that can be exploited.
• Cross-site scripting: An attacker takes advantage of vulnerabilities in a website's configuration
that enable malicious code from outside the site to be injected into the site's legitimate content.
• Buffer overflow: By finding ways to submit too much data to poorly written software, an
attacker may be able to cause the software to crash, so the system can't be accessed by legitimate
users, or create a condition in which the attacker can change data values in memory to perform
any number of other attacks.
identifiable information (PII). Attackers may steal or modify such weakly protected data to
conduct credit card fraud, identity theft, or other crimes. Sensitive data may be compromised
without extra protection, such as encryption at rest or in transit, and requires special precautions
when exchanged with the browser.
• External Entities (XXE): Many older or poorly configured XML processors evaluate external
entity references within XML documents. External entities can be used to disclose internal files
using the file Uniform Resource Identifier (URI) handler, internal file shares, internal port
scanning, remote code execution, and denial of service attacks.
• Broken Access Control: Restrictions on what authenticated users are allowed to do are often
not properly enforced. Attackers can exploit these flaws to access unauthorized functionality
and/or data, such as access other users' accounts, view sensitive files, modify other users' data,
change access rights, etc.
• Security Misconfiguration: Security misconfiguration is the most commonly seen issue. This is
commonly a result of insecure default configurations, incomplete or ad hoc configurations, open
cloud storage, misconfigured Hypertext Transfer Protocol (HTTP) headers, and verbose error
messages containing sensitive information. Not only must all operating systems, frameworks,
libraries, and applications be securely configured, but they must also be patched and upgraded in
a timely fashion.
• Cross-Site Scripting (XSS): XSS flaws occur whenever an application includes untrusted data
in a new web page without proper validation or escaping, or updates an existing web page with
user-supplied data using a browser API that can create Hypertext Markup Language (HTML) or
JavaScript. XSS allows attackers to execute scripts in the victim's browser that can hijack user
sessions, deface web sites, or redirect the user to malicious sites.
• Insecure Deserialization: Insecure deserialization often leads to remote code execution. Even
if deserialization flaws do not result in remote code execution, they can be used to perform
attacks, including replay attacks, injection attacks, and privilege escalation attacks.
• Using Components with Known Vulnerabilities: Components, such as libraries, frameworks,
and other software modules, run with the same privileges as the application. If a vulnerable
component is exploited, such an attack can facilitate serious data loss or server takeover.
Applications and APIs using components with known vulnerabilities may undermine application
defenses and enable various attacks and impacts.
• Insufficient Logging & Monitoring: Insufficient logging and monitoring, coupled with
missing or ineffective integration with incident response, allows attackers to further attack
systems, maintain persistence, pivot to more systems, and tamper, extract, or destroy data. Most
breach studies show time to detect a breach is over 200 days, typically detected by external
parties rather than internal processes or monitoring.
OWASP provides a guide to these threats. Search for pdf OWASP_Top_10_2017, or open https://
www.owasp.org/images/7/72/OWASP_Top_10-2017_%28en%29.pdf.pdf
ACTIVITY 5-1
Identifying the Rationale for IoT Security
Scenario
An important step in determining how you will manage risks is to assess the potential consequences
should they become reality. This will help you determine where you should place your priorities, and
the effort you should expend to mitigate or avoid the risks. In this activity, you will discuss security
risks in IoT projects, and identify the rationale for focusing on security in your IoT projects.
1. What risk factors contribute to security problems with consumer IoT devices?
Building Security In
As with any aspect of software quality, to ensure successful implementation, security should be dealt
with throughout the entire project lifecycle. From the very start, as you plan and identify
requirements, security requirements should be identified. Those requirements should be designed
and developed into the product, and testing should verify the requirements have been met. As you
deploy and maintain the system over time, security should be monitored and necessary updates
applied as needed to maintain security.
For example, during the design process, you should use threat modeling to systematically evaluate
your exposure to individual security threats. Although it is common for development teams to create
diagrams and documents to model how the system will work, it is less common for a development
team to model how the system might be attacked and where it will be necessary to provide
protections and countermeasures. This is the essence of threat modeling—thinking about the design
Lesson 5: Managing Risks on IoT Projects | Topic A
Certified Internet of Things (IoT) Practitioner (Exam ITP-110) | 197
with a breaker mindset to identify where the system might be attacked, and then revisiting the design
with a builder mindset to design protections for cybersecurity and privacy.
In later phases, as you test whether the system meets functional requirements, you might also test its
ability to withstand cyberattacks—performing vulnerability assessments and penetration tests,
for example.
ACTIVITY 5-2
Identifying Security Problems in an IoT
Application
Scenario
With no encryption in the network or application, data sent between machines in the sensor
network may be at risk. In this activity, you will use a network analyzer to demonstrate how a "man
in the middle" attack could easily intercept and view data being communicated over the local sensor
network.
e) In the Broker window, enter the mosquitto -v command to launch the Mosquitto broker in
verbose mode.
The IoT device is still running the previous program, so messages are shown by the Broker.
f) In the Subscriber One window, enter the mosquitto_sub -t building/alldata -v command
to launch the Mosquitto broker in verbose mode.
g) Arrange the windows on your desktop so you can see both at the same time.
Note: Leave the command windows open. You'll be using them again shortly.
g) Select Apply.
Messages should start appearing in the top list. If they do not, then press F5 to restart the session.
The Field Data pane shows the MQTT message data in clear text.
c) In the top list, select various other rows.
In each case, you can see the data contained in the message.
7. What problems do you see in the current setup, and how might you address
them?
TOPIC B
Manage IoT Security and Privacy Risks
You've seen that the potential threats to cybersecurity and privacy in IoT systems are numerous.
Fortunately there are strategies you can apply to protect against these threats.
Cybersecurity Strategies
When planning protections against security and privacy risks, there are specific countermeasures you
can take to protect against specific threats. For example, OWASP provides guidelines on specific
strategies you can implement to protect against the threats identified in its top ten lists. Platform
vendors such as Microsoft, Google, and Amazon Web Services provide guidelines in their developer
community sites on using their technologies securely.
Unfortunately, the cybersecurity landscape changes continually, and there aren't cookbook
countermeasures for every threat. However, designing your system in light of general security
principles such as the CIA Triad, AAA, and Defense in Depth can help you design defenses that
hold up over time.
CIA Triad
Throughout the entire lifecycle of an IoT project, you should focus on ensuring the system provides
three aspects of security: confidentiality, integrity, and availability. Collectively, these aspects are
called the CIA triad, referring to the first letter of each one. If one of these services is
compromised, the security of users and the organization they work within are threatened.
• Confidentiality—What does the system do to keep information and communications private
and protect them from unauthorized access?
• Integrity—How does the system ensure the organization's information is ensured to be
accurate, without error, and without unauthorized modification?
• Availability—What protections ensure systems operate continuously and that authorized users
can always access the data they need?
As you design and evaluate your system, consider what you have done to promote these qualities. If
you're thinking about the design of your system from the breaker mindset, you might view these
same concerns as outlined by the DAD Triad.
• Disclosure—How might an attacker reveal information and communications intended to be
private and protected?
• Alteration—Is it possible for an attacker to perform unauthorized modification of information,
and introduce errors or defects?
• Denial—Does the system enable an attacker to cause systems to fail or perform poorly, and
prevent authorized users from accessing the data they need?
Note: To learn more about the CIA triad, check out the Spotlight on Components of the CIA
Triad presentation from the Spotlight tile on the CHOICE Course screen.
AAA
Authentication, authorization, and accounting (AAA) work together to ensure the system has
complete control over which users or processes can access the system (authentication), what they
are allowed to access once they're in the system (authorization), and how much they consume or use
(accounting).
Authentication is the process of identifying whether someone or something (a user) should be
allowed to access the system. The user might be a human being. Or the user might be a software
process—typically a software agent performing a task on behalf of a user. Think of authentication as
essentially providing a key to the "front door" of the application.
Authorization builds on authentication by verifying the authenticated user or process has
permission to perform specific tasks within the application. Think of authorization as essentially
providing a key to various "rooms" within the application. Different users are authorized to access
different functions and data within the system. So security checks typically involve both
authentication and authorization, working together. For example, authorization checks are
essentially useless if you don't first authenticate the user. Remember to perform both checks on all
users, including backend processes.
Accounting measures the resources the user or process consumes while accessing the system, such
as the time within the system or data sent or received during a session. Accounting may be used for
billing, trend analysis, resource utilization, capacity planning, and so forth.
Defense in Depth
Various layers within the IoT architecture help provide a strong, cooperative defense. For example,
you might employ defense strategies such as the following.
• Isolated communication channels: When possible, use a secure communication channel that
is physically or logically isolated from unauthorized clients. Virtual Private Network (VPN)
technology can be used to establish an isolated communication channel when a public network
must be used.
• Authentication: Require that communicating devices provide credentials (such as username and
password, or an encrypted key certificate). Communication from unauthenticated devices will be
Lesson 5: Managing Risks on IoT Projects | Topic B
Certified Internet of Things (IoT) Practitioner (Exam ITP-110) | 203
rejected. For example, the MQTT protocol enables you to require a client identifier, username,
and password. An application that communicates using MQTT can use this information to
determine whether to accept communications from a particular device.
• Identification and authorization: Once it has established a user's or client's identity, an
application can associate certain privileges with that identity. Some users may be allowed to do
certain advanced tasks (like changing a device's security configuration, for example, or viewing a
summary of data collected about all users), while other users may have more limited access (like
viewing a summary of data the device has collected about themselves, but not about other users).
• Network layer encryption: Where you must use public networks to communicate between
devices, use encryption to keep data within the message confidential. Also make sure that
passwords and usernames are encrypted while in transit. For example, the Transport Layer
Security/Secure Sockets Layer (TLS/SSL) protocol is typically used to encrypt traffic over the
cloud. TLS/SSL supports authentication as well as encryption.
• Application layer encryption: Some communication protocols or technologies may not directly
support authentication and encryption, so applications have to implement these features at both
ends of the communication. For example, an IoT device may encrypt data before it sends that
data over an MQTT message. The message broker just hands the encrypted message over to
subscribers without attempting to decrypt the message. The analytics program subscribing to the
data then decrypts the message, so only the device and the analytics program need to have the
information required to encrypt and decrypt the messages.
In addition to addressing different types of vulnerabilities, multiple layers of defense provide an
effective barrier to attackers by requiring them to solve multiple problems to get to their target. The
more tasks they have to perform, the more likely their presence will be detected before they can
perform significant harm.
• Cloud security: Although local network security is an important line of defense for IoT devices,
it is also essential to ensure they cannot be indirectly reconfigured or controlled from outside
through vulnerabilities such as cross-site scripting, injection, and so forth.
• Physical security: While securing the world outside IoT devices is critical, don't neglect the
security of the device itself. Make sure it is physically secure. For example, removable memory
cards make it easy for someone with physical access to the device to extract information from it.
• Device security: Whenever possible, on your IoT devices use a system that supports secure
booting to prevent unauthorized software from being loaded onto the device during the boot
process. This should also include secure firmware update capabilities.
Note: Do your best to provide the best security possible on the device itself. For example, any
network-facing interfaces on the devices should be hardened against vulnerabilities.
Encoding
Another form of processing that must be performed by IoT devices and other systems in the IoT
architecture is encoding. Encoding prepares data for transmission or storage. Encoding might
include some form of compression or minification to decrease the size of the message that will be
sent. It also includes putting data into a structured format easily processed by a machine, such as
XML or JSON.
In some cases, data on IoT devices may be presented in a binary form, such as an object, which is
useful for programming in a particular language (such as C++ or Java), but not for transmission
over a network. As part of the encoding process, objects may need to be serialized, or converted
into a data format that can be easily represented through text characters, such as XML or JSON.
Data Integrity
Data integrity means you are sure no third party modified contents of your communications while
they were in transit. Data that was sent matches data that was received. Using a network protocol
Lesson 5: Managing Risks on IoT Projects | Topic B
Certified Internet of Things (IoT) Practitioner (Exam ITP-110) | 205
such as TLS/SSL or Datagram Transport Layer Security (DTLS) helps to ensure data integrity by
encrypting the message so it can't be modified in transit.
Another way data integrity can be assured is to use a checksum or digital signature, which can be
recalculated based on the received message and compared with the original to verify data integrity.
Communication and messaging protocols such as MQTT typically provide a checksum or digital
feature that software developers can use for this purpose.
Blockchain
Blockchain is a technology created to authenticate and track transactions of Bitcoin, a form of digital
money based in the cloud. With no centralized authority or bank, Bitcoin uses an online accounting
system based on a distributed open network of dedicated computers spread around the world.
Because Bitcoin was designed so no single entity would control the accounting of Bitcoin
transactions, a decentralized system needed to be developed so the integrity of the accounting data
could be verified anywhere in the network. Blockchain is that technology.
Blockchain uses a tree-like data structure distributed throughout the world. A major characteristic of
this tree structure is that, with just a small portion of the overall tree (a branch), there is enough
information to verify a transaction contained in the tree is valid and contains intact data. The
validation algorithm is computationally easy and fast to perform. Developers of IoT systems have
recognized that these characteristics provide blockchain with widespread applications for ensuring
the integrity of data in IoT.
Advocates of using blockchain technologies in IoT list the following benefits:
• Transparent: Blockchain provides a permanent, immutable record of transactions as items pass
between points in the supply chain. Activities can be tracked and analyzed by anyone authorized
to connect to the network. If a problem occurs, the blockchain record makes it straightforward
to identify where the breakdown occurred.
• Trusted: Since data is encrypted and distributed, it can be trusted by parties involved in the
transaction. Humans cannot falsify the record with inaccurate data.
• Smart: Some blockchain networks enable the creation of agreements triggered by certain
conditions, enabling payments to occur immediately when certain conditions have been met.
• Secure: Attackers would have to bypass blockchain's security layers, which use some of the most
robust encryption standards available.
Privacy
The EU General Data Protection Regulation (GDPR) took effect in 2018, providing privacy
protections for all citizens of the European Union. The law focuses on information organizations
may obtain from customers and how that information must be protected. The law specifies that
organizations must obtain users' permission to process data through a clear affirmation by the user,
follow "privacy by design" rules, and report any data breaches. Special care must be taken when
handling the personal data of children. Consumer IoT devices (such as smart speakers, personal
fitness trackers, smart home devices, and connected cars) are especially affected by this law.
While this law protects citizens of the European Union, it applies to organizations throughout the
world who handle their data.
Privacy by Design
Privacy by Design is an approach to software development that takes privacy into account
throughout every phase of development. The underlying premise of Privacy by Design is not simply
protecting data, but as much as possible designing software so data doesn't need protection—for
example, minimizing data collected in the first place.
Privacy by Design was initially proposed by Ann Cavoukian, the Information & Privacy
Commissioner of Ontario, Canada, as a set of seven principles, described here.
Item Description
1. Proactive not Data privacy should be considered early and often (throughout the entire
Reactive; Preventative development lifecycle) not just after there is a problem.
not Remedial
2. Privacy as the Default As initially installed, the application should be as private as possible. The
Setting user must opt in to decrease privacy to less private settings. By default,
restrictions are placed on sharing, data collection, and data retention.
3. Privacy Embedded Privacy should be built into the design of the software. It should be
into Design explicitly included in processes like requirements identification, threat
modeling, user interface design, testing, and so forth.
4. Full Functionality— Customers value privacy. It is part of the value that customers pay for.
Positive-Sum, Not
Zero-Sum
5. End-to-End Security Privacy protections should follow the data wherever it goes—when it is
—Full Lifecycle first created, shared with others, archived, and deleted.
Protection
6. Visibility and Privacy practices should be clear and overt, so users can have confidence
Transparency—Keep it in their privacy expectations. Policies and mechanisms should be in place
Open to ensure users can address problems and have them resolved efficiently.
7. Respect for User Users own their data. Data held in the software should be accurate, and
Privacy—Keep it User- the user must have the power to correct errors. The user can grant and
Centric revoke consent on the use of the data.
Data Anonymization
To maintain privacy, personally identifiable information (PII) may need to be anonymized before it
is transmitted, processed, or analyzed. This means the identity associated with personal data has
been masked somehow to conceal the person associated with the data.
Note: All of the Guidelines for this lesson are available as checklists from the Checklist tile on
the CHOICE Course screen.
Protect Privacy
To ensure that personal information and privacy are protected:
• Minimize data collection.
• Consult with data scientists and legal and compliance teams to determine risk of data collection
and storage.
• Provide end users the option to specify what data will be collected.
• Use encryption to protect all collected personal data at rest and in transit.
• Ensure that collected personal information is accessible only by authorized users.
• Ensure that a data retention policy is in place.
• Anonymize collected data, using one of the following techniques to mask the identifying data:
• Replacement: Substitute any values that could be used to identify the user with different
values.
• Suppression: Omit (all or in part) any values that could be used to identify the user.
• Generalization: Substitute specific values that could be used to identify the user with
something less specific. For example, generalize the date of birth to the year or decade in
which the user was born.
• Perturbation: Make random changes to the data to corrupt values that could be used to
identify the user.
• Design products so improvements can be added to a system or device through future releases,
updates, and patches.
• If possible, configure services to not store sensitive data such as PII and credit cards at all.
ACTIVITY 5-3
Protecting Data in Transit
Scenario
Encryption protects data in transit. In this activity, you will provide application layer encryption
using AES. You will analyze network traffic to affirm it is no longer readable.
3. While you compile and upload the sketch, examine the code that encrypts
and decrypts message data.
a) Select Sketch→Upload.
• This code defines variables that will be used for AES encryption.
• AES uses symmetric encryption. The same key is used on both ends of communication, so the
key must be protected on both ends.
• In this example, the encryption key (line 34) is hard-coded for demonstration purposes only.
• One strategy for ensuring the security of keys involves generating a new key at the start of each
session. Programmers should use tools provided by the platform for this purpose.
Data is first encrypted. Then the encrypted bytes are encoded as hexadecimal strings so they can
be transferred as plain text without communication problems that might occur because of control
characters in the message.
d) Examine how incoming messages are decrypted in lines 115 through 148.
Decoding and decryption of incoming messages reverse the processes performed on the outgoing
messages. The hexadecimal values are decoded into bytes that make up the cipher. Then the
cipher is decrypted back to the original values.
• The data is encrypted. Client applications would have to decode and decrypt the data to
consume it.
• Over time, you might notice the patterns of some encrypted values are repeated. With the same
algorithm and inputs, the same output is produced. Even though the content is encrypted, an
attacker may be able to recognize patterns, which can be a problem.
• This example uses symmetric encryption—which uses the same key for encryption and
decryption.
• In some circumstances, you might use asymmetric encryption, which uses one key to encrypt
and another to decrypt. By using asymmetric encryption, it is possible to have one of the keys be
public (doesn't matter if everyone knows it) and the other private (must be kept secret on one
end of the communication).
• Asymmetric encryption can make it easier to manage keys because only one end of the
communication (a server, for example) needs to keep the key secret.
a) In the serial monitor, examine the sequence in which outgoing messages are encrypted and
incoming messages are decrypted.
Note: You can uncheck Autoscroll so you can focus better on a single entry. If
you do, you may need to check this option again later to restore the scrolling
feature.
• This trace listing shows the sequence of data being sent out by the sensor application to the
MQTT broker, and later received back (because the sensor application subscribed to the same
message it published to).
• The payload is sent across the network as text representing the hexadecimal values of each byte
in the cipher text.
• When the message is returned, the hexadecimal values are decoded back to cipher bytes. Then
the cipher is decrypted.
• The Field Data pane shows the MQTT message data in encrypted text.
• You can see the topic, but the data is unreadable.
• This would help to prevent a man-in-the-middle attack, as intercepted data on the network would
not reveal its content.
b) Select File→Exit to exit Message Analyzer.
c) Select Close without saving to exit without saving your changes.
ACTIVITY 5-4
Preventing Unauthorized Use of Messaging
Services
Scenario
The IoT device is still running and sending messages to the MQTT broker. To prevent
unauthorized access to messages through the MQTT broker, you will configure the broker to
require authentication.
• Mosquitto.conf is a configuration file. You can specify a configuration file when you run Mosquitto
to override the default configuration.
• Passwords.txt contains user names and passwords.
• Mosquitto_passwd.exe is an executable file that enables you to manage the usernames and
encrypted passwords stored in the passwords file.
Most of the settings in this configuration file have been commented out with hash symbols, but the
first two settings specify that anonymous logins will not be allowed, and provide the name of the
password file.
c) In Windows Notepad, open passwords.txt.
• Three username and password sets have already been provided in this file, for users named
roger, sub_client, and pub_client.
• The stored passwords are encrypted.
• Mosquitto provides the mosquitto_passwd.exe program, which you can use to add more
usernames and encrypted passwords. You will add another user named iot_device.
d) Exit Notepad.
Since passwords are now required, the subscriber is no longer able to connect to the broker.
7. Start the process to compile and upload the sketch, and observe how
communication resumes with authentication in place.
a) Select Sketch→Upload.
b) When the program runs on the device, observe that communication has resumed in the message
broker and the subscriber. Publishers and subscribers must now use a password to connect to the
MQTT broker.
TOPIC C
Manage IoT Safety Risks
In addition to cybersecurity and privacy risks, IoT may also present various safety risks.
Infrastructure Outages
Infrastructure outages provide both challenges and opportunities for IoT. Poorly secured or faulty
IoT systems may contribute to the possibility of outages, and mass power or Internet outages may
have a debilitating effect if we become completely dependent on IoT. On the other hand, IoT also
has the potential to improve the efficiency and performance of the Internet, power grid, and other
infrastructure. For example, data gathered from IoT sensors can be used to improve the resilience of
the grid. IoT can monitor physical systems such as transmission lines, transformers, generators, and
Lesson 5: Managing Risks on IoT Projects | Topic C
Certified Internet of Things (IoT) Practitioner (Exam ITP-110) | 221
so forth, and can implement corrections immediately when outages occur. Utilities can use this data
to actively manage resources and make informed decisions about power usage and generation to
predict and prevent problems.
Item Description
Quality management This term was coined in 1991 by Ken Croucher, a British management
systems (QMS) consultant working on designing and implementing a generic model of a
QMS within the IT industry. It refers to a system of organizational goals
and aspirations, policies, processes, documented information, and
resources that enable an organization to consistently meet customer
requirements and enhance their satisfaction. The ISO 9000 family of
standards is probably the most widely known and used example of QMS.
Item Description
Root cause analysis A method of problem solving that focuses on identifying a problem's
(RCA) catalyst. While specific methods are described, essentially you perform
RCA by starting with the problem and asking, "What was the immediate
thing that enabled this to happen?" With each answer, you ask the
question iteratively to work your way toward the fundamental problem,
or root cause, that set the bad sequence of events into motion.
Corrective and CAPA is part of an overall quality management system. It provides a set
preventive action of actions an organization must take to correct and eliminate recurring
(CAPA) problems. Underlying problems are identified through a root cause
analysis. The corrective and preventive action is designed by quality
assurance personnel and those in a position to recognize the problem
when it occurs. There is a systematic process for evaluating the CAPA's
ability to eliminate further occurrences of the problem. In some
industries, such as medical devices and pharmaceuticals, CAPA is
required by regulations to be a part of the organization's QMS.
Hazard analysis and HACCP is a QMS originally developed to protect food in production
critical control points from biological, chemical, and physical hazards. HACCP focuses on
(HACCP) problem prevention, and is used throughout the chain from food
production through preparation processes including packaging and
distribution. HACCP is mandated by the U.S. Food and Drug
Administration (FDA) and Department of Agriculture (USDA) for juice
and meat production.
Safety certification Various organizations provide certifications in safety standards, such as
Certified Safety Professional (CSP), CRSP (Canadian Registered Safety
Professional), and the International Institute of Risk and Safety
Management (IIRSM) certifications. Requirements for these certifications
include such things as educational credentials, field experience, and
passing one or more examinations. Each of these programs defines
standards and best practices for safety management.
ACTIVITY 5-5
Identifying Safety Risks and Remediations
Scenario
Medical IoT devices provide many benefits and have the potential to transform the way patients are
diagnosed, monitored, and cared for. A device with such potential is a new category of infusion
pumps that automatically administer a prescribed dosage of a drug into a patient. These devices are
intended to reduce human error by ensuring that the dosage is administered at the correct time, and
in the correct amounts. The devices are connected to a drug library containing information
regarding the proper dosage amounts.
A researcher evaluated one of these pumps and unfortunately found a number of vulnerabilities.
The device did not have to authenticate when connecting to the drug library. This provides an
attacker with the ability to alter drug dosage upper limits beyond those specified by the drug library.
Also, the device can be directly controlled from a PC by connecting through a serial cable connected
to the communication module and circuit board. The pumps do not require authentication or
genuine signed certificates for updates, so the firmware can be updated and exploited by an attacker.
This would give the attacker the ability to reprogram and control the device.
Two patients at a hospital in Austria had to be treated for morphine addiction after they hacked
their infusion pumps to increase their dosage. One of the patients suffered respiratory arrest because
of the high dosages. The hack did not require advanced hacking tools or extensive skills. The patient
bypassed the device's weak authentication to log in, and found online documentation that provided
the control codes for the machine.
2. What steps should be taken to assure a device like this doesn't facilitate such
attacks?
Summary
In this lesson, you identified security and privacy risks in IoT systems, strategies to keep IoT systems
secure and to protect the privacy of users, and strategies to avoid or mitigate IoT-related safety risks.
How can you ensure that you've thoroughly implemented all of the protections
that your application requires?
What processes does your organization have in place to identify and manage
privacy, security, and safety risks related to IoT?
Note: Check your CHOICE Course screen for opportunities to interact with your classmates,
peers, and the larger CHOICE online community about the topics covered in this course or
other topics you are interested in. From the Course screen you can also access available
resources for a more continuous learning experience.
Note: To learn more about steps you can take to secure your IoT products, check out the
Spotlight on IoT Security presentation from the Spotlight tile on the CHOICE Course screen.