Embedded system security is a strategic approach to protecting software running on embedded systems from attack. An embedded system is a programmable hardware component with a minimal operating system and software.
Embedded systems are designed to perform a dedicated function or functions. Found in consumer electronics, process control systems, aircraft, in-car systems and many other applications, embedded systems need to be extremely reliable. Because of their small size and limited compute resources, however, they can present security challenges for designers and developers.
The firmware in embedded systems can be difficult (or impossible) to update, so in the past, such systems were often designed to have a life cycle of 15 years or more. With the growth of the internet of things (IoT), however, the nature of embedded systems is changing and the number of possible attack vectors is growing exponentially. Today, an embedded system in a smart device can be hacked to take control of everything from smart thermostats to industrial control systems.
Like security in most IT fields, embedded system security requires an end-to-end approach that includes addressing security issues during the design phase. Security considerations should include the cost of an attack on an embedded system, the cost of an attack and the number of possible attack vectors.
To prevent attacks on embedded systems, software developers should:
- Expect firmware to be updated regularly.
- Limit access to embedded systems to a need-to-use basis.
- Provide a way for network administrators to monitor connections to and from embedded systems.
- Allow integration with third-party security management systems.