Security Challenges in Embedded Systems
Security Challenges in Embedded Systems
This work is supported in part by a grant (PENED 2003), which is funded by the European Commission
by 75%, from the Hellenic State-Greek Ministry of Development-General Secretariat of Research and Tech-
nology (GSRT) by 25% and by private industry through the Operational Programme “Competitiveness,”
Measure 8.3, 2000-2006.
Author’s addresses: D. N. Serpanos, Department of Electrical and Computer Engineering, University of
Patras, Patras, GR-26504, Greece; email: [email protected]; A. G. Voyiatzis, Industrial Systems
Institute/RC Athena, Patras Science Park building, Stadiou Str., Plarani GR-26504, Greece.
Permission to make digital or hard copies of part or all of this work for personal or classroom use is granted
without fee provided that copies are not made or distributed for profit or commercial advantage and that
copies show this notice on the first page or initial screen of a display along with the full citation. Copyrights for
components of this work owned by others than ACM must be honored. Abstracting with credit is permitted.
To copy otherwise, to republish, to post on servers, to redistribute to lists, or to use any component of this
work in other works requires prior specific permission and/or a fee. Permissions may be requested from
Publications Dept., ACM, Inc., 2 Penn Plaza, Suite 701, New York, NY 10121-0701 USA, fax +1 (212)
869-0481, or [email protected].
c 2013 ACM 1539-9087/2013/03-ART66 $15.00
DOI: http://dx.doi.org/10.1145/2435227.2435262
ACM Transactions on Embedded Computing Systems, Vol. 12, No. 1s, Article 66, Publication date: March 2013.
66:2 D. N. Serpanos and A. G. Voyiatzis
user, system, and process involved. For example, security in an e-commerce transaction
implies protection of financial data, while in a car it implies safety and dependability.
Importantly, all these interpretations of security require development and adoption of
new technologies, in order to provide the required properties.
Although security has received attention in the past in the context of conventional
computational and communication environments, the dramatic evolution of embedded
systems and related applications leads to need for new technologies to be developed,
since embedded systems have brought significant differentiations to the models
considered in the past. The large numbers of users, the limited resources of embedded
systems and the complexity of developed embedded platforms leads to the need
to reconsider the models for the capabilities of attackers, the necessary levels of
protection of devices and systems, including physical protection, the performance
limitations of systems for computationally intensive operations, etc.
The goal of this article is to provide a comprehensive overview of the directions and
challenges of embedded systems security. Since security has different interpretations,
as mentioned earlier, we specify the security issues addressed in the article and we
distinguish security from privacy, safety and dependability. As these properties are
important and considered as parts of security in many contexts, we also address their
relationship and dependence on security.
The article is organized as follows. Section 2 presents the security requirements
of applications and services on embedded systems, the differentiators of embedded
systems from non-embedded ones and distinguishes security from privacy, safety and
dependability. Section 3 describes the security issues and challenges in autonomous
embedded systems, while Section 4 addresses issues and challenges in networked
embedded systems and their applications and services. Finally, Section 5 addresses
privacy protection, safety and dependability, presenting challenges in these technical
areas, which demonstrate the need to differentiate them from security, as they require
advances in different direction.
ACM Transactions on Embedded Computing Systems, Vol. 12, No. 1s, Article 66, Publication date: March 2013.
Security Challenges in Embedded Systems 66:3
ACM Transactions on Embedded Computing Systems, Vol. 12, No. 1s, Article 66, Publication date: March 2013.
66:4 D. N. Serpanos and A. G. Voyiatzis
safety issue in several contexts, as in the case of financial transactions. In contrast, de-
pendability is mainly a system issue, which is complementary to security, as indicated
in Figure 1. The layering shown in the figure indicates that security and dependability
are a requirement for privacy and safety. One can easily derive this, considering that,
if security mechanisms are not provided, an attacker can (i) easily collect any data, at-
tacking privacy, and (ii) alter processes, leading to unsafe conditions. Dependability is
complementary, since an attacker can insert faults and failures that the dependability
mechanisms cannot recover from, in analogy to attacks on security mechanisms.
ACM Transactions on Embedded Computing Systems, Vol. 12, No. 1s, Article 66, Publication date: March 2013.
Security Challenges in Embedded Systems 66:5
the model of attacks, breaking cryptosystems using methods that rather than attack-
ing the cryptographic algorithms themselves exploit physical characteristics (timing,
power, etc.) [Kocher 1996; Kocher et al. 1999; Quisquater and Samyde 2001] or intro-
duce faults during the cryptographic computations [Bar-El et al. 2006; Joye 2009].
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 [Jin and Makris 2010].
Importantly, physical and hardware attacks have not been proven successful only
against specialized circuits, but against more complex systems as well, such as micro-
controllers and processors [Anderson and Kuhn 1996; Blythe et al. 1993]. Several hard-
ware and architectural techniques have been developed for protection against physical
and hardware attacks. Dedicated hardware is necessary, for example, to protect sen-
sitive parts of the system memory. One such solution is a hardware implementation
of a type of execute-only memory, which allows instructions stored in memory to be
executed but not manipulated otherwise [Lie et al. 2000]. Side channel attacks can be
prevented by specialized design techniques in ASICs, or using architectural concepts,
such as decay caches [Keramidas et al. 2008], for protection from cache information
leakage, and bus encryption [Best 1981; Kuhn 1997] to protect data exchanged between
the processor and the main memory.
The diversity of the attacks [Ravi et al. 2004] against embedded systems creates
the need for software as well as hardware protection technologies, in order to address
security problems in embedded systems. Hardware modifications are necessary and
sufficient to defend against some of those attacks, as mentioned above. However, for
more complex attacks on highly programmable systems, operating systems (OS) en-
hancements or other software techniques must be used; importantly, software solutions
to attacks are cost effective, considering the high cost of several hardware solutions.
The availability of such technologies enables the development of trusted computing
platforms for applications and services.
Security in more complex, highly-programmable systems requires development of
methodologies for a wide range of issues, from methodologies for secure bootstrapping,
in order to verify system integrity in every step of the booting procedure [Arbaugh
ACM Transactions on Embedded Computing Systems, Vol. 12, No. 1s, Article 66, Publication date: March 2013.
66:6 D. N. Serpanos and A. G. Voyiatzis
et al. 1997] to the use of process isolation and process level attestation techniques
[Microsoft 2011] to protect running processes. Additional OS enhancements include
techniques for context switching, exception handling, inter-process communication
and memory management [Lie et al. 2003; Garfinkel et al. 2003]. Importantly, software
authentication and validation is necessary and feasible, since it can be achieved by
using techniques like oblivious hashing [Chen et al. 2003] or program shepherding
[Kiriansky et al. 2002].
4. NETWORKED EMBEDDED SYSTEMS AND APPLICATION SECURITY
Secure communication is based on the use of encryption and authorization mechanisms
together with a secure routing method across a network. The decision of the encryption
scheme to be used is critical since the encryption complexity defines the level of security
offered by the communication. As increasing computational resources become available
to embedded systems, traditional public key cryptography is becoming a viable option
for some applications, although it is still too demanding computationally for most
embedded applications and services. Elliptic curve cryptography provides a promising
solution to embedded systems, due to its lower computational resources than algebraic
public key cryptography, while providing a high level of security [Miller 1986].
Key management is an important process in the establishment of secure commu-
nication as keys are the base of the encryption and decryption mechanisms. Often,
key management constitutes the weak point of a security system, since disclosure or
leakage of keys renders even the strongest cryptosystem ineffective. Global communi-
cation keys usually cannot be pre-defined in the networked systems, since the security
of the network is easily compromised. Thus, it is necessary to establish an effective
mechanism of generating and distributing keys. Two effective ways of achieving this
is the use of temporary global keys and random key distribution. With temporary
global keys, a global permanent key is used to establish a main key, and then, the
global key is destroyed in order to avoid key leakage, the main risk with using global
keys [Perrig et al. 2004]. In random key distribution, a large number of keys exist and
communication is accomplished through the use of choosing random subsets of keys.
With appropriate set size choices, communication between all ends of a network can
be accomplished [Chan et al. 2003].
Networked embedded systems constitute distributed systems, since they coordinate
to provide applications and services. As such, they need to defend against known
distributed system attacks at the application layer in addition to the communication
layers they implement. Such attacks include security flaws in the management of
application complexity, distributed denial-of-service, secure upgrading, etc.
Upgrading systems in a networked embedded environment is a necessity for fixing
software issues as well as for implementing new features and services. The increasing
software complexity of systems and services leads to an increased number of software
bugs and therefore, systems need to be updated during their operation. Furthermore,
new features and new services can be implemented by software upgrade on existing
hardware. However, software upgrading leads to security risks, because it offers pos-
sibility for malicious software to replace legitimate software. To face these security
risks, it is important to implement defences at both the communication protocols and
the internal organization of the system. The transmission of mobile code, i.e., system
software transmitted over a communication link, must be done with higher security
requirements than normal communication. Moreover, upgradeability can be limited,
or not allowed at all, for the software components that access crucial system resources.
Remote management of networked systems is another example of a service which
provides functional advantages but poses security risks, due to computation and trans-
mission of critical information. Remote management implementations need to be built
ACM Transactions on Embedded Computing Systems, Vol. 12, No. 1s, Article 66, Publication date: March 2013.
Security Challenges in Embedded Systems 66:7
ACM Transactions on Embedded Computing Systems, Vol. 12, No. 1s, Article 66, Publication date: March 2013.
66:8 D. N. Serpanos and A. G. Voyiatzis
ACM Transactions on Embedded Computing Systems, Vol. 12, No. 1s, Article 66, Publication date: March 2013.
Security Challenges in Embedded Systems 66:9
from the models used up to date. Furthermore, the increasing complexity of highly
integrated embedded systems and networks of embedded systems render many of
the existing techniques inappropriate or with limited effectiveness in the emerging
environments. Thus, it is a clear challenge to develop new methods and technologies
that combine security and dependability appropriately, in order to develop the desired
embedded platforms [Serpanos and Henkel 2008].
6. CONCLUSION
Embedded systems security is an emerging field in embedded systems technology,
relevant to all application domains of these systems. In this article, we addressed em-
bedded systems security and identified its relationship to privacy protection, safety
and dependability, which are often considered security properties. We presented se-
curity requirements based on the application domains and we described technologies
and methods for autonomous and networked embedded systems. Finally, we presented
the challenges placed by privacy, safety and dependability requirements, which lead to
complementary technical problems than the conventional security ones.
REFERENCES
ANDERSON, R. AND KUHN, M. 1996. Tamper resistance: A cautionary note. In Proceedings of the 2nd Workshop
on Electronic Commerce. USENIX Association, Berkeley, CA, 1–11.
ARBAUGH, W., FARBER, D., AND SMITH, J. 1997. A secure and reliable bootstrap architecture. In Proceedings of
the IEEE Symposium on Security and Privacy. IEEE Computer Society, Los Alamitos, CA, 65–71.
ARTEMIS 2006. ARTEMIS strategic research agenda 1st Ed. http://www.artemis-office.org.
BAR-EL, H., CHOUKRI, H., NACCACHE, D., TUNSTALL, M., AND WHELAN, C. 2006. The sorcerer’s apprentice guide
to fault attacks. Proce. IEEE 94, 2, 370–382.
BELENKY, A. AND ANSARI, N. 2003. IP traceback with deterministic packet marking. IEEE Comm. Letters, 7, 4,
162–164.
BEST, R. 1981. Crypto microprocessor for executing enciphered programs.
BLYTHE, S., FRABONI, B., LALL, S., AHMED, H., AND DE RIU, U. 1993. Layout reconstruction of complex silicon
chips. IEEE J. Solid-State Circuits, 28, 2, 138–145.
BOLDING, D. 1995. Network security, filters and firewalls. Crossroads 2, 1, 8–10.
CABRERA, J., LEWIS, L., QIN, X., LEE, W., PRASANTH, R., RAVICHANDRAN, B., AND MEHRA, R. 2001. Proactive detection
of distributed denial of service attacks using MIB traffic variables—a feasibility study. In Proceedings
of the IEEE/IFIP International Symposium on Integrated Network Management. IEEE, 609–622.
CHAN, H., PERRIG, A., AND SONG, D. 2003. Random key predistribution schemes for sensor networks. In
Proceedings of the IEEE Symposium on Security and Privacy. IEEE Computer Society, Los Alamitos,
CA, 197–213.
CHEN, Y., VENKATESAN, R., CARY, M., PANG, R., SINHA, S., AND JAKUBOWSKI, M. 2003. Oblivious hashing: A
stealthy software integrity verification primitive. In Proceedings of the 5th International Workshop on
Information Hiding (Revised Papers). Springer-Verlag, Berlin, 400–414.
ESAFETY FORUM 2011. http://ec.europa.eu/information society/activities/esafety/forum/index en.htm.
FERGUSON, P. AND SENIE, D. 1998. RFC 2267: Network ingress filtering: Defeating denial of service attacks
which employ IP source address spoofing.
GARFINKEL, T., ROSENBLUM, M., AND BONEH, D. 2003. Flexible OS support and applications for trusted comput-
ing. In Proceedings of the 9th Conference on Hot Topics in Operating Systems. Vol. 9, USENIX Association,
Berkeley, CA, USA, 25–25.
HUSSAIN, A., HEIDEMANN, J., AND PAPADOPOULOS, C. 2003. A framework for classifying denial of service attacks.
In Proceedings of the Conference on Applications, Technologies, Architectures, and Protocols for Computer
Communications. ACM, New York, NY, 99–110.
JIN, Y. AND MAKRIS, Y. 2010. Hardware trojans in wireless cryptographic ics, IEEE Test Computers, 27, 1,
26–35.
JOYE, M. 2009. Protecting RSA against fault attacks: The embedding method. In Proceedings of the Workshop
on Fault Diagnosis and Tolerance in Cryptography (FDTC). IEEE Computer Society, Los Alamitos, CA,
41–45.
ACM Transactions on Embedded Computing Systems, Vol. 12, No. 1s, Article 66, Publication date: March 2013.
66:10 D. N. Serpanos and A. G. Voyiatzis
KERAMIDAS, G., ANTONOPOULOS, A., SERPANOS, D., AND KAXIRAS, S. 2008. Non deterministic caches: A simple and
effective defense against side channel attacks. Design Autom. Embed. Syst. 12, 3, 221–230.
KIRIANSKY, V., BRUENING, D., AND AMARASINGHE, S. 2002. Secure execution via program shepherding. In Pro-
ceedings of the 11th USENIX Security Symposium. USENIX Association, Berkeley, CA, 191–206.
KOCHER, P. 1996. Timing attacks on implementations of Diffie-Hellman, RSA, DSS, and other systems. In
Advances in Cryptology - CRYPTO’96. Springer-Verlag, Berlin, 104–113.
KOCHER, P., JAFFE, J., AND JUN, B. 1999. Differential power analysis. In Advances in Cryptology-CRYPTO’99.
Springer-Verlag, Berlin, 789–789.
KUHN, M. 1997. The TrustNo1 cryptoprocessor concept. http://www.cl.cam.ac.uk/ mgk25/.
LIE, D., THEKKATH, C., AND HOROWITZ, M. 2003. Implementing an untrusted operating system on trusted
hardware. ACM SIGOPS Operat. Syst. Revi. 37, 5, 178–192.
LIE, D., THEKKATH, C., MITCHELL, M., LINCOLN, P., BONEH, D., MITCHELL, J., AND HOROWITZ, M. 2000. Architectural
support for copy and tamper resistant software. ACM SIGPLAN Not. 35, 11, 168–177.
MICROSOFT. 2011. Shared source initiative. http://www.microsoft.com/resources/ngscb/default.mspx.
MILLER, V. 1986. Use of elliptic curves in cryptography. In Advances in Cryptology—CRYPTO85. Lecture
Notes in Computer Sciences, vol. 218, Springer-Verlag, Berlin, 417–426.
MÜLLER, G. 2006. Special issue: Privacy and security in highly dynamic systems-introduction. Comm.
ACM 49, 9, 28–31.
PENG, T., LECKIE, C., AND RAMAMOHANARAO, K. 2007. Survey of network-based defense mechanisms countering
the dos and ddos problems. ACM Comput. Surv. 39, 1, 3–es.
PERRIG, A., STANKOVIC, J., AND WAGNER, D. 2004. Security in wireless sensor networks. Comm. ACM 47, 6,
53–57.
QUISQUATER, J. AND SAMYDE, D. 2001. Electromagnetic analysis (EMA): Measures and counter-measures for
smart cards. In Proceedings of the International Conference on Research in Smart Cards: Smart Card
Programming and Security. Springer-Verlag, Berlin, 200–210.
RAVI, S., RAGHUNATHAN, A., KOCHER, P., AND HATTANGADY, S. 2004. Security in embedded systems: Design
challenges. ACM Trans. Embed. Comput. Syst. 3, 3, 461–491.
SAVAGE, S., WETHERALL, D., KARLIN, A., AND ANDERSON, T. 2001. Network support for IP traceback. IEEE/ACM
Trans. Network. 9, 3, 226–237.
SERPANOS, D. AND HENKEL, J. 2008. Dependability and security will change embedded computing. Com-
puter 41, 1, 103–105.
SIEWIOREK, D. AND SWARZ, R. 1982. The Theory and Practice of Reliable System Design. Digital Press, Bedford,
MA.
SLIJEPCEVIC, S., POTKONJAK, M., TSIATSIS, V., ZIMBECK, S., AND SRIVASTAVA, M. 2002. On communication security in
wireless ad-hoc sensor networks. In Proceedings of the 11th IEEE International Workshop on Enabling
Technologies. IEEE Computer Society, Los Alamitos, CA, 139–144.
SNOEREN, A., PARTRIDGE, C., SANCHEZ, L., JONES, C., TCHAKOUNTIO, F., SCHWARTZ, B., KENT, S., AND STRAYER, W.
2002. Single-packet IP traceback. IEEE/ACM Trans. Network. 10, 6, 721–734.
TADLOCK, D. E. 2002. Avionics Safety. In Proceedings of the Joint ESA-NASA Space-Flight Safety Conference.
B. Battrick and C. Preyssi, Eds., Vol. ESA SP-486, European Space Agency, Noordwijk, The Netherlands,
75–80.
WANG, H., JIN, C., AND SHIN, K. 2007. Defense against spoofed IP traffic using hop-count filtering. IEEE/ACM
Trans. Network. 15, 1, 40–53.
WANG, H., ZHANG, D., AND SHIN, K. 2002. Detecting SYN flooding attacks. In Proceedings of the 21st Annual
Joint Conference of the IEEE Computer and Communications Societies (INFOCOM’02). Vol. 3. IEEE,
Los Alamitos, CA, 1530–1539.
ZHOU, Y. AND FENG, D. 2005. Side-channel attacks: Ten years after its publication and the impacts on crypto-
graphic module security testing. http://eprint.iacr.org/2005/388.
ZHU, S., SETIA, S., AND JAJODIA, S. 2003. LEAP: efficient security mechanisms for large-scale distributed sensor
networks. In Proceedings of the 10th ACM Conference on Computer and Communications Security. ACM,
New York, NY, 62–72.
ACM Transactions on Embedded Computing Systems, Vol. 12, No. 1s, Article 66, Publication date: March 2013.