Secure Processing in Embedded Systems

Tilman Wolf

Department of Electrical and Computer Engineering

Embedded Systems ƒ Embedded systems are everywhere • • • • • •

Smart cards Power meters Set-top boxes Cars Military applications Medical applications

Tilman Wolf

2

1

Embedded System Characteristics ƒ Limited processing power • Cannot run typical defenses (e.g., virus scanner, intrusion detection system)

ƒ Limited available power • Increased power consumption reduces system lifetime • Limited power resources to provide system security

ƒ Physical exposure • Inherently vulnerable to attacks that exploit physical proximity of attacker

ƒ Remoteness and unmanned operation • Inaccessible locations (e.g., harsh environment, remote field location) • Automated updates and patches provide potential targets for attacks

ƒ Network connectivity • Vulnerabilities can be exploited remotely from anywhere

Tilman Wolf

3

Embedded System Attacks ƒ Typical attack scenarios for embedded systems

Tilman Wolf

4

2

Attack Goals ƒ Vulnerabilities open door for abuses • Different goals depending on attacker motivation

ƒ Potential abuses of embedded systems • • • • • • • •

Energy drainage (exhaustion attack) Physical intrusion (tampering) Network intrusion (malware attack) Information theft (privacy) Introduction of forged information (authenticity) Confusion/damaging of sensors of other peripherals Thermal event (thermal virus or cooling system failure) Reprogramming of system for other uses (stealing)

Tilman Wolf

5

Attack Examples ƒ Example 1: power meter • Tampering: change metering program • Authenticity of data: change meter reading • Confusion of sensor: reduce meter reading sensitivity

ƒ Example 2: set-top box: • Tampering: change software to play protected content • Theft: extract decoder keys • Stealing of platform: run Linux

ƒ Other examples • Networked intrusion: buffer overflow, virus, etc. Tilman Wolf

6

3

Countermeasures ƒ Defenses against hardware attacks • • • •

Tamper-proofing Fault tolerant design Identification of attacks and recovery Architectural defenses against side-channel leakage

ƒ Defenses against software attacks • Safe languages • Code analysis • Sandboxing and damage containment

ƒ Our approach: identification of attacks through monitoring • Main challenge: monitor design

Tilman Wolf

7

Outline ƒ ƒ ƒ ƒ ƒ

Introduction Monitoring architecture for embedded systems Processing monitor Collaborative monitoring Summary

Tilman Wolf

8

4

Outline ƒ ƒ ƒ ƒ ƒ

Introduction Monitoring architecture for embedded systems Guy Gogniat, Tilman Wolf, Wayne Processing monitor Burleson, Jean-Philippe Diguet, Lilian Collaborative monitoring Bossuet, and Romain Vaslin, "Reconfigurable hardware for high-security/ Summary high-performance embedded systems: the Tilman Wolf, Shufu Mao, Dhruv Kumar, Basab Datta, Wayne Burleson, and Guy Gogniat, "Collaborative monitors for embedded system security," in Proc. of First International Workshop on Embedded Systems Security in conjunction with 6th Annual ACM International Conference on Embedded Software (EMSOFT), Seoul, Korea, Oct. 2006.

SAFES perspective," IEEE Transactions on Very Large Scale Integration (VLSI) Systems, vol. 16, no. 2, pp. 144–155, Feb. 2008. Shufu Mao and Tilman Wolf, "Hardware support for secure processing in embedded systems," in Proc. of 44th Design Automation Conference (DAC), San Diego, CA, June 2007, pp. 483–488.

Tilman Wolf

9

Monitoring Architecture ƒ Distributed on-chip hardware monitors • Embedded system augmented by hardware monitors • Monitors communicate via network on chip • Control processor aggregates information

ƒ Separate hardware • Less susceptible to attack • Less performance impact

ƒ Our work • Processing monitor • Collaborative decision making Tilman Wolf

10

5

Processing Monitor ƒ Idea: attack can be observed by deviation from expected program behavior

application binary

off-line

• Expected behavior based on offline analysis • Actual behavior reported by processor

monitoring graph

run-time Embedded System

ƒ Questions • What should be monitored? • How can expected behavior be represented? • What is the performance overhead?

off-line program analysis

processing monitor

memory processing monitor embedded processor monitoring stream interrupt / recovery action

Tilman Wolf

comparison logic call stack

11

Related Work ƒ Processing monitors • Zhang, van Doorn, Jaeger, Perez, Sailer (SIGOPS 2002) − Invariants on kernel data structures

• Arora, Ravi, Raghunathan, Jha (DATE 2005) (basis of comparison) − Monitoring of basic blocks (hash over entire block)

• Suh, Lee, Zhang, Devadas (ASPLOS 2004) − Tracking of information flow in system

• Abadi, Budiu, Erlingsson, Ligatti (CCS 2005) − Control flow integrity with modified binaries

ƒ Other monitors • Zhuang, Zhang, Pande (ASPLOS 2004) − Bus monitor to avoid data leakage

• Chi, Salem, Bahar, Weiss (INTERACT 2003) − Thermal sensor for performance improvement

• Velusamy, Huang, Lach, Stan, Skadron (ICCD 2005) − Thermal sensors on FPGA Tilman Wolf

12

6

Processing Monitor ƒ Application analysis • Graph representation of possible transitions between basic blocks

application binary

off-line

ƒ Runtime operation • Comparison of processor information with possible transitions on monitoring graph • Call stack to keep track of dynamic branches • Invalid state represents attack

ƒ Recovery

off-line program analysis

monitoring graph

run-time Embedded System

processing monitor

memory processing monitor embedded processor monitoring stream

• Initiated when attack is detected

interrupt / recovery action

Tilman Wolf

comparison logic call stack

13

Monitoring Information ƒ Possible types of monitoring information:

ƒ Which type of monitoring information is best? Tilman Wolf

14

7

Size of Monitoring Graph ƒ Evaluation: • MiBench on SimpleScalar

ƒ Memory requirement of different monitors • Approximately 10% of application binary • Hash4 and load/store require least memory • Address requires most

ƒ Monitoring graph requires only small fraction of application binary Tilman Wolf

15

Monitoring Ambiguity ƒ Monitoring is ambiguous • Conditional branch instruction • Need to maintain multiple states

ƒ Number of parallel states:

patricia application Tilman Wolf

16

8

Monitoring Ambiguity ƒ Average length of ambiguous execution path • Duration for which attack may not be detected • Load/store pattern shows worst performance • Other patterns only between 1 and 2 instructions

ƒ Fast detection possible Tilman Wolf

17

Monitoring Ambiguity ƒ Cumulative distribution function of ambiguous path length • Application dependent • Hash4 beats control flow in most case

Tilman Wolf

18

9

Comparison to State of the Art ƒ Comparison to Aurora et al. (control flow monitor) ƒ Strictly better • Less memory • Faster detection

Tilman Wolf

19

Bit-Flip Attacks ƒ System performance during actual attack • Random bit flip in binary • Duration until detection:

Tilman Wolf

20

10

Buffer Overflow Attacks ƒ Attack on application stack (buffer overflow) • Hash4 has fastest detection

Tilman Wolf

21

Processing Monitor Summary ƒ Monitoring of processor behavior to identify attack • Expected behavior extracted from binary • Comparison to monitoring stream

ƒ Evaluation results • Monitoring graph requires approximately 10% of memory of binary • Monitoring can be ambiguous • Detection fast when using hash4 (within 1 or few instructions)

ƒ Effective method for ensuring correct processor behavior

Tilman Wolf

22

11

Outline ƒ ƒ ƒ ƒ ƒ

Introduction Monitoring architecture for embedded systems Processing monitor Collaborative monitoring Summary

Tilman Wolf

23

Collaborative Monitoring ƒ Single monitor has only limited view of system ƒ Multiple monitors • Higher accuracy (e.g., lower false positives and false negatives) • Coupling of hardware and off-line program application analysis software monitors monitoring binary graph off-line • Mutual calibration

ƒ Control processor of monitoring system computes joint result ƒ Example • processing monitor and thermal monitor Tilman Wolf

run-time thermal monitor

Embedded System

ring oscillator

processing monitor

memory thermal monitor

threshold logic

collaborative monitoring logic

processing monitor embedded processor monitoring stream

interrupt / recovery action

interrupt / recovery action

comparison logic call stack

24

12

Thermal Monitor ƒ Ring oscillator • Odd number of inverters in loop • Delay across inverter is temperature dependent

ƒ Event counter • Infers heat dissipation thermal monitor

Embedded System

ring oscillator

memory thermal monitor

threshold logic

embedded processor interrupt / recovery action

Tilman Wolf

25

Collaborative Decision ƒ Variation in processing changes heat dissipation ƒ Static temperature threshold problematic • Low: false positives • High: false negatives

ƒ Processing monitor can identify when processing is “heat-intensive” ƒ Example: ALU access burst raise temperature ƒ Work in progress • Aiming for systematic approach Tilman Wolf

26

13

Outline ƒ ƒ ƒ ƒ ƒ

Introduction Monitoring architecture for embedded systems Processing monitor Collaborative monitoring Summary

Tilman Wolf

27

Summary ƒ Security considerations important in embedded systems • Characteristics of embedded systems lead to particular vulnerabilities • Novel attack space

ƒ Monitoring architecture • Embedded monitors to identify abnormal behavior • Processing monitor − Hash pattern: small monitoring graph and fast detection

• Collaborative monitors to correlate events

ƒ Exciting new area • Many practical applications • Many interesting systems problems

Tilman Wolf

28

14

Questions? ƒ Contact information: [email protected] ƒ References: • Sri Parameswaran and Tilman Wolf, "Embedded systems security – an overview,” Design Automation for Embedded Systems, vol. 12, no. 3, pp. 173– 183, Sept. 2008. • Guy Gogniat, Tilman Wolf, Wayne Burleson, Jean-Philippe Diguet, Lilian Bossuet, and Romain Vaslin, "Reconfigurable hardware for highsecurity/ highperformance embedded systems: the SAFES perspective," IEEE Transactions on Very Large Scale Integration (VLSI) Systems, vol. 16, no. 2, pp. 144–155, Feb. 2008. • Shufu Mao and Tilman Wolf, "Hardware support for secure processing in embedded systems," in Proc. of 44th Design Automation Conference (DAC), San Diego, CA, June 2007, pp. 483–488. • Tilman Wolf, Shufu Mao, Dhruv Kumar, Basab Datta, Wayne Burleson, and Guy Gogniat, "Collaborative monitors for embedded system security," in Proc. of First International Workshop on Embedded Systems Security in conjunction with 6th Annual ACM International Conference on Embedded Software (EMSOFT), Seoul, Korea, Oct. 2006.

ƒ Available at: http://www.ecs.umass.edu/ece/wolf/ Tilman Wolf

29

15

Secure Processing in Embedded Systems

Limited power resources to provide system security ... Our approach: identification of attacks through monitoring ... embedded system security," in Proc. of.

483KB Sizes 0 Downloads 172 Views

Recommend Documents

Secure Processing in Embedded Systems
International Conference on Embedded. Software (EMSOFT) ... off-line run-time off-line program analysis call stack interrupt / recovery action application binary.

Testing Model-Processing Tools for Embedded Systems
based development, as popularized by companies like The ... Model-processors are complex software, the design of ...... [10] N. Heintze and J. Jaffar. A decision ...

Testing Model-Processing Tools for Embedded Systems
Model-based development is increasingly becoming the method of choice for developing embedded systems for applications in automotive and aerospace ...

Testing Model-Processing Tools for Embedded Systems
Bangalore. {p.sampath, rajeev.c, ... based development, as popularized by companies like The. Mathworks [16] .... SOS [19] semantics and big-step natural semantics are ex- pressible in the form ..... Generating test data with enhanced context-.

Secure kNN Query Processing in Untrusted Cloud Environments.pdf ...
There was a problem previewing this document. Retrying... Download. Connect more apps... Try one of the apps below to open or edit this item. Secure kNN ...

Embedded Systems -
camera, Bluetooth, sound system and so on. ▫A detailed understanding of ... When the switch is open, the output voltage of the circuit is pulled up to +5 V via the ...

Zulu® Embedded - Azul Systems
have the deep Java domain expertise ... Zulu Embedded is a fully certified, completely customizable and 100% open source ... completely bug free or secure.

Prefrontal systems in financial processing
tual knowledge about finances, cash transactions, bank statement management, ..... likely to take existing debt and mounting interest into account when deciding to ... initial results open the way for investigation of the neurobiological bases of ...

Processing Doubly-Embedded Head-Final Relative Clauses
Poster presented at the 18th Annual CUNY Conference on Human Sentence ... 1800. 2000. V/N. N/V. DE. Head N mse c. Nested-SRC. Nested-ORC. Serial- ...

Using Hypervisors to Secure Commodity Operating Systems
Oct 4, 2010 - On the other hand, a hypervisor offers significant advantages over hardware for .... network file systems, http, e-mail, and remote login services have .... untrusted OS is allowed to manage the resources used by these ap-.