Dark Reading is part of the Informa Tech Division of Informa PLC

This site is operated by a business or businesses owned by Informa PLC and all copyright resides with them.Informa PLC's registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 8860726.

IoT
5/30/2017
10:00 AM
Connect Directly
LinkedIn
RSS
E-Mail vvv
50%
50%

Securing IoT Devices Requires a Change in Thinking

There's no magic bullet for IoT security, but there are ways to help detect and mitigate problems.

Predicting an Internet of Things (IoT) disaster is a bit like expecting a tragic ending in Titanic. We've seen this movie before, and we know how it ended the last time.

To understand how big the IoT security problem is, you need to go back to the 1970s when what is now called the Modbus communications protocol was introduced and utilized in industrial control systems. That same protocol is still in use today, and the code running in many of the control devices has remained unchanged. Any device connected to a Modbus chain has full control over every device in that chain. How can you call a security model weak when it is nonexistent?

At one IoT security meeting I attended recently, a speaker stressed the need to get the ability to update IoT firmware firmly established as a core security principle. However, why would manufacturers see the point in that when they haven't updated their code in the last 30 years?

The process control world sticks to the past because the alternatives tend to be worse. When I worked in the chemical industry, the two paramount concerns were safety and keeping the plant running. These were often the same concern. A machine that might suddenly take itself offline for 10 minutes as it installed what the manufacturer considered to be an "important security update" might well take the whole plant offline for a day or more. If a furnace tripped, it might well turn a valuable process intermediary into an expensive dispose of industrial waste.

A Few Approaches to Mitigate IoT Security Issues
The security vulnerabilities that the industry has worked to eliminate from the desktop and server have been reinvented at the application layer. And now they are being recreated in the world of IoT. There is no magic bullet for IoT security, but there are approaches that can help detect and mitigate problems.

  • Least privilege: The less a machine, a process, or a user is allowed to do, the less opportunity it has to cause damage. Compartmentalizing IoT devices and sandboxing code allows attack surfaces to be managed if not exactly minimized.
  • Least complexity: The more complex a software system is, the harder it is to test, and the more likely it is that it will go wrong. Industrial control systems are based on the model of simple devices connected to a hub where the complexity is confined.
  • Audit: Another powerful tool is audit. An antisocial habit of many IoT devices is unexpected and often undisclosed attempts to communicate with the outside world. This presents a dilemma for companies with products that include application firewall services. Is that video-conference camera trying to contact an outside Web server because it's supposed to or because it has been compromised? Even if the device thinks it's supposed to, should it be allowed?

Of course, the wise and security conscious chief information security officer might declare a moratorium on IoT devices until the industry sorts itself out and starts delivering a predictably reliable and secure product. But as with bring-your-own-device policies, Wi-Fi, and Internet connectivity itself, productivity will almost always triumph over security.

What Is the Way Forward?
For the present, and for many years to come, detection and mitigation will remain essential, but they are costly. The more attack surfaces a device has, the more expensive it is to manage. Operating systems such as Windows and Linux offer a large attack surface to the opposition because their function is to be as flexible as possible. As a result, even the Linux kernel contains 15.9 million lines of code (v3.6). Almost all of it is written in C or C++ and, thus, is vulnerable to buffer overrun attacks.

We are currently at the point of maximum IoT vulnerability. Five years ago, most embedded systems controllers were built around 8- or 16-bit CPUs, which rarely offered more than a few thousand bytes of RAM. Systems had to be simple, as programmers were forced to make every byte count. Today, a 32-bit CPU with a couple of gigabytes of memory costs only a few pennies more. The cheapest, fastest way to get an IoT device to market is to drop a full Linux distribution onto the chip and use it as the development system. A typical developer may remove his or her development tools and personal accounts from the system before it ships, but this doesn't always happen.

Two things are required if IoT security is to improve:

  • A metric that allows purchasers of IoT devices to estimate the likely attack surface it presents must be developed.
  • Manufacturers must believe that the metric matters to their customers when they make purchasing decisions.

Today, 99% of the code complexity of most IoT devices comes from the operating system core it's built around. Rather than build software for IoT devices as an application running on a desktop operating system, we need to start from something much smaller. Instead of taking something very complex and asking what can be removed, we should start with something as simple as possible and add the bare minimum.

Related Content:

 

Dr. Phillip Hallam-Baker is VP and principal scientist at Comodo, a global cybersecurity firm. Dr. Hallam-Baker has approximately 25 years of experience in Web security, with 12 years spent as principal scientist at VeriSign. He has worked on Web security since 1992, when he ... View Full Bio
 

Recommended Reading:

Comment  | 
Print  | 
More Insights
Comments
Newest First  |  Oldest First  |  Threaded View
COVID-19: Latest Security News & Commentary
Dark Reading Staff 9/25/2020
Hacking Yourself: Marie Moe and Pacemaker Security
Gary McGraw Ph.D., Co-founder Berryville Institute of Machine Learning,  9/21/2020
Startup Aims to Map and Track All the IT and Security Things
Kelly Jackson Higgins, Executive Editor at Dark Reading,  9/22/2020
Register for Dark Reading Newsletters
White Papers
Video
Cartoon
Current Issue
Special Report: Computing's New Normal
This special report examines how IT security organizations have adapted to the "new normal" of computing and what the long-term effects will be. Read it and get a unique set of perspectives on issues ranging from new threats & vulnerabilities as a result of remote working to how enterprise security strategy will be affected long term.
Flash Poll
How IT Security Organizations are Attacking the Cybersecurity Problem
How IT Security Organizations are Attacking the Cybersecurity Problem
The COVID-19 pandemic turned the world -- and enterprise computing -- on end. Here's a look at how cybersecurity teams are retrenching their defense strategies, rebuilding their teams, and selecting new technologies to stop the oncoming rise of online attacks.
Twitter Feed
Dark Reading - Bug Report
Bug Report
Enterprise Vulnerabilities
From DHS/US-CERT's National Vulnerability Database
CVE-2020-15208
PUBLISHED: 2020-09-25
In tensorflow-lite before versions 1.15.4, 2.0.3, 2.1.2, 2.2.1 and 2.3.1, when determining the common dimension size of two tensors, TFLite uses a `DCHECK` which is no-op outside of debug compilation modes. Since the function always returns the dimension of the first tensor, malicious attackers can ...
CVE-2020-15209
PUBLISHED: 2020-09-25
In tensorflow-lite before versions 1.15.4, 2.0.3, 2.1.2, 2.2.1 and 2.3.1, a crafted TFLite model can force a node to have as input a tensor backed by a `nullptr` buffer. This can be achieved by changing a buffer index in the flatbuffer serialization to convert a read-only tensor to a read-write one....
CVE-2020-15210
PUBLISHED: 2020-09-25
In tensorflow-lite before versions 1.15.4, 2.0.3, 2.1.2, 2.2.1 and 2.3.1, if a TFLite saved model uses the same tensor as both input and output of an operator, then, depending on the operator, we can observe a segmentation fault or just memory corruption. We have patched the issue in d58c96946b and ...
CVE-2020-15211
PUBLISHED: 2020-09-25
In TensorFlow Lite before versions 1.15.4, 2.0.3, 2.1.2, 2.2.1 and 2.3.1, saved models in the flatbuffer format use a double indexing scheme: a model has a set of subgraphs, each subgraph has a set of operators and each operator has a set of input/output tensors. The flatbuffer format uses indices f...
CVE-2020-15212
PUBLISHED: 2020-09-25
In TensorFlow Lite before versions 2.2.1 and 2.3.1, models using segment sum can trigger writes outside of bounds of heap allocated buffers by inserting negative elements in the segment ids tensor. Users having access to `segment_ids_data` can alter `output_index` and then write to outside of `outpu...