Protecting Embedded Systems
From an asset owner's perspective: Defining firmware and discovering embedded vulnerabilities to protect devices from exploitation.
Learn MoreSubscribe to stay in the loop with the latest OT cyber security best practices.
Embedded systems are often thought of as something that resembles a circuit board, as Programable Logic Controllers (PLCs), Internet of Things (IoT), or even the widgetry buried inside of enclosed product.
Regardless of the buzzword, in the most traditional sense, it is the electronics that provide some sort of defined functionality inside of a product. It could also be multiple pieces of “embedded” electronics tied together to make an embedded system.
The real challenge for asset owners, consumers, and those even from the PC/Server/IT crowds is comprised of several questions:
This is a huge topic, worthy of multiple degrees and decades of study, but for the purposes of this blog, we will begin with an initial explanation of the above questions, and provide a longer (but still brief) discourse on the topic in this paper.
In short, an embedded system has an operating system (OS), a CPU, storage, memory, and often several features that are present such as those on a laptop (for example). And as the days march by, and architectures rise or decline, the lines between the two become blurry. Regardless, in Operational Technology (OT), embedded systems are:
You may say on the last point that these systems run an OS like Linux, and that’s not closed source, right? Yes, Linux is Open Source, but the vendor often has customizations (you could request the source code though) and does not have to provide you the right nor the mechanism to interact with the system or load your own software.
Therefore, Tivoism highlights one fundamental difference between current IT systems. On the other hand, even if a proprietary OS is used (such as VxWorks), it doesn’t necessarily improve security in any way shape or form.
There is often a variety of testing, product motivations, intellectual property (IP), and most importantly, highly specialized hardware/software that cannot be easily updated. And the latter, is another fundamental difference that again explains (besides environmental/operational constraints) how they cannot be trivially updated in the same way ubiquitous devices often can be administrated.
From a general perspective, the tighter the link between software and hardware in purpose, function, speciality, and product – the more embedded and different it is from a traditional enterprise device even if they share similarities (e.g., a IT router vs. an OT din rail router/switch).
Think of firmware like a file folder, or better yet, something closer to a DVD ISO image. An ISO image is a standard that effectively wraps up files, configurations, binaries, and even operating systems in a format that makes it possible to be installed onto media for a variety of uses (e.g., booting a Linux live OS, or backing up files).
Following that analogy, embedded firmware can be broken up into multiple sections, contain a hodgepodge array of components, be a complete image that has all the bits and bytes necessary to make a product a product, or even be as slim as a “hotfix”.
In the following example, we see that embedded firmware might have multiple components such as a Kernel, a Bootloader, binaries/applications, and even files or a complete Filesystem (FS). These initiate a system, start the operating system, and run all of our applications. Without them, you would not have a functioning device, but merely a hollow shell of a product.
So a firmware (or firmware update) from the end user perspective can be end-to-end and contain all or a few of the above components, or a select few in four scenarios:
Technically, it doesn’t matter about the nature of the word firmware, but rather to be aware that multiple types of firmware might exist inside of a firmware or “update”, and so it is best to keep track of them where possible; this includes configurations.
Given these types of systems do not often run on commodity hardware or architectures seen in usual enterprise environments, and they are closed, the differences in vulnerabilities is more about what can a specific vulnerability “do” when exploited (e.g., the impact), the veil of false security when embedded in a product casing, and the nature of the flaw and remediation.
Therefore, the differences between commodity systems and embedded OT devices are seen better by observation in the following Venn-diagram:
There is overlap for certain types of devices (not depicted), but the “openness” of the platform and the standardized hardware plays a key role in the wholesale ability for enterprise/IT to easily identify and remediate identified vulnerabilities.
Without explaining the types of vulnerabilities specifically or what a vulnerability is, it is important to understand vulnerabilities differ from data-focused ones because in OT embedded systems, their stability, integrity, reliability, and continued safe operations are of paramount importance.
For example, some security primitives such as the need for completely encrypted and tunneled industrial network protocols are not necessarily desirable (or required), but ensuring secure updates or the stability of a device such that it cannot be subject to memory management flaws when parsing network packets is of far more importance; especially those packets are used in a critical application and the device can be crashed.
From experience, a good approach for examining vulnerability disclosures (or CVEs) or even “insecure by design” risks is to look at them this way:
If you can answer those questions, then you might have a better chance in assessing a vulnerability vs. relying solely on a CVSS score (which is incomplete and without context) and be able to prioritize and engage in remediation if possible.
Besides the highlighted closed nature of embedded products, their customized function, or less-than-frequent updates through closed OEM channels, the future is not as bleak as it once was; especially if we consider the number of abandoned/end-of-life and insecure by design products in the OT/ICS universe.
The reason for that positivity, is that over my career, and interactions with devices or their development, the commoditization of hardware and its ability mainline into ecosystems such as Linux has reduced the need for completely proprietary, and hopefully this will:
Even if the above have or will improve OT cyber security and robustness of embedded products, vendors are the bottleneck in providing updates. The asset owner needs to apply updates, and we still should always assume that embedded solutions in OT are subject to a number of environmental challenges such as:
Still, with respect to securing the device, a multi-layered approach is recommended:
Of course, this is only a small array of items an asset owner can apply to help remediate cyber risk to tolerable levels, and securing these devices is both feasible and worthy. For more information – please download the complete white paper on Embedded Vulnerabilities, and register for our upcoming webinar on November 5th where we will cover this topic in more detail.
From an asset owner's perspective: Defining firmware and discovering embedded vulnerabilities to protect devices from exploitation.
Learn MoreLearn how to protect OT embedded devices and firmware in OT/ICS cyber security environments.
Learn MoreThis webinar is intended for IT persons, asset owners, and those looking to understand the complexities of embedded devices and firmware (as they relate to managing vulnerabilities) in OT/ICS.
Learn More