ties still need to investigate the feasibility and effec-
tiveness of the method, eventually leading to practi-
cal implementations. Regarding the use of one-time-
disclosed PUF-generated cryptographic keys for mul-
tiple applications, we emphasize our recommendation
of the use of separate keys for different purposes, or
at the very least, one separate encryption key for the
purpose of firmware upgrades.
5 CONCLUSIONS
In this paper, we have proposed and discussed tech-
niques for runtime monitoring of security properties
in safety-critical embedded systems and for secure re-
mote firmware upgrades. These techniques are aimed
at solving two related problems that become critical
as the level of connectivity of these systems increases.
Some important challenges remain to be solved be-
fore these techniques can be effectively applied in
practical systems, and it is our hope that the com-
munities of computer security and embedded systems
will evaluate and discuss these techniques, eventually
leading to practical implementations.
ACKNOWLEDGEMENTS
This research was supported in part by the Natu-
ral Sciences and Engineering Research Council of
Canada and the Ontario Research Fund.
REFERENCES
Avizienis et al. (2004). Basic Concepts and Taxonomy of
Dependable and Secure Computing. IEEE Transac-
tions on Dependable and Secure Computing, 1(1):11–
33.
Cho, K.-T. and Shin, K. G. (2016). Fingerprinting Elec-
tronic Control Units for Vehicle Intrusion Detection.
USENIX Security Symposium.
Clark et al. (2013). WattsUpDoc: Power Side Channels
to Nonintrusively Discover Untargeted Malware on
Embedded Medical Devices. USENIX Workshop on
Health Information Technologies.
Computerworld Magazine (2012). Pacemaker Hack Can
Deliver Deadly 830-Volt Jolt.
Hankerson, D., Menezes, A., and Vanstone, S. (2004).
Guide to Elliptic Curve Cryptography. Springer-
Verlag.
Havelund, K. (2008). Runtime Verification of C Programs.
In International Conference on Testing of Software
and Communicating Systems.
Herder, C., Yu, M.-D., Koushanfar, F., and Devadas, S.
(2014). Physical Unclonable Functions and Applica-
tions: A Tutorial. Proceedings of the IEEE, 102(8).
International Electrotechnical Commission (2006). Nuclear
Power Plants – Instrumentation and Control Systems
Important to Safety – Software Aspects for Computer-
Based Systems Performing Category A Functions
(IEC-60880).
International Office for Standardization (2011). Interna-
tional Standard ISO-26262 – Road Vehicles Func-
tional Safety.
Langner, R. (2011). Stuxnet: Dissecting a Cyberwarfare
Weapon. IEEE Security & Privacy.
Liu et al. (2016). On Code Execution Tracking via Power
Side-Channel. In ACM Conference on Computer and
Communications Security. ACM.
McAfee (2015). Automotive security best practices.
Miller, C. and Valasek, C. (2015). Remote Exploitation of
an Unaltered Passenger Vehicle.
Miller, C. and Valasek, C. (2016). Advanced CAN Injection
Techniques for Vehicle Networks.
M¨oller, B., Duong, T., and Kotowicz, K. (2014). This POO-
DLE Bites: Exploiting The SSL 3.0 Fallback – Secu-
rity Advisory.
Moreno, C. and Fischmeister, S. (2016). Non-intrusive
Runtime Monitoring Through Power Consumption: A
Signals and SystemAnalysis Approach to Reconstruct
the Trace. International Conference on Runtime Veri-
fication (RV’16).
Moreno, C., Fischmeister, S., and Hasan, M. A. (2013).
Non-intrusive Program Tracing and Debugging of
Deployed Embedded Systems Through Side-Channel
Analysis. Conference on Languages, Compilers and
Tools for Embedded Systems.
Moreno, C., Kauffman, S., and Fischmeister, S. (2016).
Efficient Program Tracing and Monitoring Through
Power Consumption – With A Little Help From The
Compiler. In Design, Automation, and Test in Europe
(DATE).
Msgna, M., Markantonakis, K., and Mayes, K. (2013). The
B-side of side channel leakage: control flow security
in embedded systems. In International Conference
on Security and Privacy in Communication Systems,
pages 288–304. Springer.
Navabpour et al. (2013). RiTHM: A Tool for Enabling
Time-triggered Runtime Verification for C Programs.
In Foundations of Software Engineering. ACM.
National Institute for Standards in Technology (2014).
BASH Shellshock – CVE-2014-6271 (Exported func-
tion through environment variable).
OpenSSL Team (2014). OpenSSL Heartbeat Read Overrun
– CVE-2014-0160.
Pnueli, A. and Zacks, A. (2006). PSL Model Checking and
Run-Time Verification via Testers. International Sym-
posium on Formal Methods.
RTCA / EUROCAE (2012). DO-178C: Software Consider-
ations in Airborne Systems and Equipment Certifica-
tion.
SAE International (2016). Cybersecurity Guidebook for
Cyber-Physical Vehicle Systems.