Sibin Mohan
,kicking ng & s & scream eaming ng
n
- Dept. of Computer Science
Information Trust Institute sibin@illinois.edu @sibinmohan
Dagstuhl 2016
,kicking ng & s & scream eaming ng Sibin Mohan Dagstuhl - - PowerPoint PPT Presentation
n ,kicking ng & s & scream eaming ng Sibin Mohan Dagstuhl 2016 Dept. of Computer Science Information Trust Institute sibin@illinois.edu @sibinmohan Physically isolated Attacks on Industrial Control Systems [Stuxnet!]
Information Trust Institute sibin@illinois.edu @sibinmohan
Dagstuhl 2016
Physically isolated Specialized protocols & hardware Not connected to the internet Limited capabilities Finite (often severely constrained) resources Attacks on Industrial Control Systems [Stuxnet!] Hijacking of automotive systems Vulnerabilities in implantable (and other) medical devices Vulnerable avionics systems Power grids & other utilities ...
November 1, 2016 Sibin Mohan | Bringing Real-Time Systems into a Secure World
3
Limited Resources
Timing Requirement
System Upgrade
November 1, 2016 Sibin Mohan | Bringing Real-Time Systems into a Secure World
4
Note: similar constraints for attack as well as defense mechanisms
…and stay undetected
…and still meet real-time constraints
November 1, 2016 Sibin Mohan | Bringing Real-Time Systems into a Secure World
5
November 1, 2016 Sibin Mohan | Bringing Real-Time Systems into a Secure World
6
November 1, 2016 Sibin Mohan | Bringing Real-Time Systems into a Secure World
7
UAV (HIL)
Network Manager Mission Planner Integrator to Base Station Sensor Task Control Laws Actuator Task Vendor 2 Encoder (JPEG/MPEG) I/O Vendor 1 from Camera Encryption
8
November 1, 2016 Sibin Mohan | Bringing Real-Time Systems into a Secure World
November 1, 2016 Sibin Mohan | Bringing Real-Time Systems into a Secure World
9
actual schedule with multiple tasks Idle Idle what an intruder can see [busy periods] t t
10
period(i) t i j period(j) Detailed analysis, algorithms, etc. in the paper
November 1, 2016
November 1, 2016 Sibin Mohan | Bringing Real-Time Systems into a Secure World
11
t Idle Idle t Failure?
Precision ratio,
November 1, 2016 Sibin Mohan | Bringing Real-Time Systems into a Secure World
12
Implemented the attack (and analysis) on
Application scenario: vendor-based UAV model FreeRTOS Operating System
November 1, 2016 Sibin Mohan | Bringing Real-Time Systems into a Secure World
13
UAV (HIL)
Network Manager Mission Planner Integrator to Base Station Sensor Task Control Laws Actuator Task Vendor 2 Encoder (JPEG/MPEG) I/O Vendor 1 from Camera Encryption
Simulation engine
November 1, 2016 Sibin Mohan | Bringing Real-Time Systems into a Secure World
14
Hardware platform
Note: analysis can be done offline if needed
15
Plots of precision ratio vs CPU Utilization
Note: precision ratio is very high even in the presence of offsets! Mean precision ratio: 1 Mean precision ratio: 0.9982 – 0.999
Assuming a distribution
Worst-case mean precision ratio: 0.90901
November 1, 2016 Sibin Mohan | Bringing Real-Time Systems into a Secure World
17
November 1, 2016 Sibin Mohan | Bringing Real-Time Systems into a Secure World
18
Challenge: how do we protect against such attacks
Intuition: transform security requirements to real-time constraints Three ways to achieve this:
1.
Obfuscation of the schedule to prevent attacks such as ScheduLeak
2.
Shared state cleanup to prevent attempts like coarse-grained cache timing attacks
3.
Use predictable behavior to detect intrusions
November 1, 2016 Sibin Mohan | Bringing Real-Time Systems into a Secure World
19
20
* For one hyperperiod
November 1, 2016
Solution: obfuscate the schedule
Problems!!!
November 1, 2016 Sibin Mohan | Bringing Real-Time Systems into a Secure World
21
November 1, 2016 Sibin Mohan | Bringing Real-Time Systems into a Secure World
22
M H L
deadline (and another release) release
Inv Inv Inv Pre Pre Pre Inv
… …
At every scheduling decision point,
1.
Pick a random job from ready queue
2.
(if not highest priority task) Decrement V as execution proceeds
3.
Continue until job completes or V is depleted
Any job in the ready queue is guaranteed to be schedulable V values are replenished at each job’s release
23
V worst-case maximum inversion time p e V task 0 5 1 4 task 1 8 2 3 task 2 20 3 4
Improvements for increased randomization
1.
Treat idle time as an additional task with lowest priority
2.
Allow early yield for tasks (i.e. not waiting till completion) Apply randomized scheduling algorithm again TaskShuffler Engine
November 1, 2016 Sibin Mohan | Bringing Real-Time Systems into a Secure World
24
No randomization Randomization Only Randomization +Idle Scheduling +Early Yield Randomization +Idle Scheduling
26
Randomization:
most effective
too much idle time
very few inversions High entropy for most common situations better protection
L can potentially snoop on H’s cache state Solution: cleanup of shared resources e.g.: a synthetic ‘cache flush task’ that executes at scheduling points Execute synthetic cache flush task (CFT) between every two tasks
November 1, 2016 Sibin Mohan | Bringing Real-Time Systems into a Secure World
27
H H H L L L
Since many systems already follow a vendor-based design Vendor-oriented Security Model
any task of another vendor
Generalizes traditional Multi-Level Security (MLS) models
28
noleak(τi, τj) Action True prevent information leakage from τi to τj False no constraints imposed
November 1, 2016
An inordinate number of CFTs
We analyze the system
November 1, 2016 Sibin Mohan | Bringing Real-Time Systems into a Secure World
29
Results:
1.
Drop in schedulability especially for higher utilization
2.
Much better than trivial bound
3.
Can still schedule many tasks Provides information to designers to account for such changes.
30
Reduced utilization but improved security against timing attacks! Costs known ahead of time
November 1, 2016 Sibin Mohan | Bringing Real-Time Systems into a Secure World
31
Abnormal Memory Accesses Control Flow Change Extra Instructio ns Abnormal External I/O
Potential Symptoms of Malware
November 1, 2016 Sibin Mohan | Bringing Real-Time Systems into a Secure World
32 On-chip Monitoring HW Monitored Core
SecureCore Secure Monitor Hypervisor OS OS
On-chip Monitoring HW Unit
Secure Monitor
monitoring and detection using observed behavior
Hypervisor-based SecureCore Protection
. . .
Able to keep system safe even if attacker has root access on main core
33
November 1, 2016 Sibin Mohan | Bringing Real-Time Systems into a Secure World
Metrics (?)
November 1, 2016 Sibin Mohan | Bringing Real-Time Systems into a Secure World
34
35
Pellizzoni: ScheduLeak: An Algorithm for Reconstructing Task Schedules in Fixed-Priority Hard Real-Time Systems. CERTS 2016. [To Appear]
Protocol for Obfuscation against Timing Inference Attacks in Real-Time Systems. RTAS 2016.
intrusion detection architecture for real-time embedded systems. IEEE Real-Time and Embedded Technology and Applications Symposium 2013.
embedded systems using memory behavior. DAC 2015.
Protected Security Modules for In-Place Intrusion Detection. SYSTOR 2016.
Scheduler Constraints. ECRTS 2014.
model for preventing information leakage in hard real-time systems. RTAS 2015.
fixed priority real-time schedulers. Real-Time Systems 52(5).
Execution for Integrating Security into Legacy Hard Real-Time Systems. RTSS 2016 [To Appear]
36
November 1, 2016 Sibin Mohan | Bringing Real-Time Systems into a Secure World
37
38
ScheduLeak is able to complete execution on platform Completely estimate the schedule of the UAV model (15 tasks) Does not result in missed deadlines for any other task Average precision ratio: 0.9977 Hardware measurement jitters cause reduction (from 1.0)
39
Note: analysis can be done offline if needed
November 1, 2016 Sibin Mohan | Bringing Real-Time Systems into a Secure World
“the attacker attempts to steal the information from the system by analyzing the time variation of a function”
40
Application Attacker
miss and cache-hit ratio to gauge the cache usage
November 1, 2016
November 1, 2016 Sibin Mohan | Bringing Real-Time Systems into a Secure World
41
hardware board:
Sibin Mohan | Bringing Real-Time Systems into a Secure World
42
Low-res mode High-res mode Expected Behavior Measured Behavior Low-res mode High-res mode
November 1, 2016
[OFFLINE] Calculate worst-case maximum inversion time, V
November 1, 2016 Sibin Mohan | Bringing Real-Time Systems into a Secure World
43
p e task 0 5 1 task 1 8 2 task 2 20 3
p e V task 0 5 1 4 task 1 8 2 3 task 2 20 3 4
HP 1 1 1 3 3 3 3 1 1 2 2 2 3 3 3 3 3 1 1 2 1 3 3 3 1 3 2 1 1 2 3 3 3 HP 2 1 1 2 2 3 3 3 1 2 1 3 3 3 1 1 3 2 2 2 1 3 3 3 1 3 1 1 3 3 3 3 3 HP 3 2 2 2 1 1 3 3 3 1 1 3 3 3 1 1 3 3 3 3 3 1 1 2 2 2 3 3 3 3 1 1 3 HP 4 1 1 2 2 3 3 2 3 3 1 1 3 3 1 1 3 3 3 3 3 2 2 1 1 2 3 3 3 1 1 3 3 HP 5 1 1 2 2 2 3 1 1 3 3 3 3 3 3 3 1 1 3 3 3 3 2 1 1 2 2 1 1 3 3 3 3 HP 6 3 3 3 1 1 3 2 1 1 2 2 3 1 1 3 3 3 3 3 3 2 2 2 1 1 3 3 3 3 1 1 3 HP 7 2 2 2 1 1 3 1 1 3 3 3 3 3 3 3 1 1 2 2 2 3 3 3 1 1 1 1 3 3 3 3 3 HP 8 3 3 3 1 1 3 2 2 2 1 1 3 3 3 3 1 1 3 3 3 2 2 2 1 1 3 3 3 1 1 3 3 HP 9 1 1 2 2 2 3 3 1 3 3 3 1 3 3 3 3 1 1 2 2 1 1 3 3 3 3 2 1 1 3 3 3 HP 10 3 3 3 1 1 3 2 2 1 1 2 3 3 3 3 1 1 3 3 3 2 2 1 1 2 3 3 3 1 1 3 3 HP 11 3 3 3 1 1 2 2 3 2 3 1 1 3 3 3 3 1 1 3 3 1 1 2 2 2 3 3 3 1 1 3 3 HP 12 1 1 2 2 3 3 3 3 2 3 1 1 3 3 3 1 1 3 3 1 2 2 2 1 3 3 3 3 3 1 1 3 HP 13 2 2 2 1 1 3 3 3 3 1 1 3 3 1 1 3 2 2 2 3 1 1 3 3 3 3 3 3 1 1 3 3 HP 14 3 3 3 1 1 2 2 1 1 2 3 3 3 1 1 3 3 3 3 3 1 1 2 2 2 3 3 3 1 1 3 3 HP 15 1 1 3 3 3 3 1 1 2 2 2 3 3 1 1 3 3 3 3 3 2 2 2 1 1 3 1 1 3 3 3 3 HP 16 1 1 2 2 2 3 1 1 3 3 3 3 3 1 1 3 3 3 3 2 3 2 1 1 2 1 1 3 3 3 3 3 HP 17 3 3 3 1 1 3 2 2 1 1 2 3 3 3 3 1 1 3 3 1 1 3 3 2 2 2 1 1 3 3 3 3 HP 18 2 2 2 1 1 3 1 1 3 3 3 3 3 3 3 1 1 2 2 1 1 2 3 3 3 3 3 3 3 1 1 3 HP 19 2 2 2 1 1 3 3 3 3 1 1 3 3 3 3 1 1 3 3 3 2 2 2 1 1 3 1 1 3 3 3 3 HP 20 3 3 3 1 1 2 2 2 1 1 3 3 3 3 3 1 1 3 3 3 3 1 1 2 2 1 1 2 3 3 3 3 HP 21 1 1 3 3 2 2 3 3 1 1 2 3 3 3 3 3 1 1 2 3 1 1 2 2 3 3 3 3 1 1 3 3
November 1, 2016 Sibin Mohan | Bringing Real-Time Systems into a Secure World
44
HP 1 1 1 3 3 3 3 1 1 2 2 2 3 3 3 3 3 1 1 2 1 3 3 3 1 3 2 1 1 2 3 3 3 HP 2 1 1 2 2 3 3 3 1 2 1 3 3 3 1 1 3 2 2 2 1 3 3 3 1 3 1 1 3 3 3 3 3 HP 3 2 2 2 1 1 3 3 3 1 1 3 3 3 1 1 3 3 3 3 3 1 1 2 2 2 3 3 3 3 1 1 3 HP 4 1 1 2 2 3 3 2 3 3 1 1 3 3 1 1 3 3 3 3 3 2 2 1 1 2 3 3 3 1 1 3 3 HP 5 1 1 2 2 2 3 1 1 3 3 3 3 3 3 3 1 1 3 3 3 3 2 1 1 2 2 1 1 3 3 3 3 HP 6 3 3 3 1 1 3 2 1 1 2 2 3 1 1 3 3 3 3 3 3 2 2 2 1 1 3 3 3 3 1 1 3 HP 7 2 2 2 1 1 3 1 1 3 3 3 3 3 3 3 1 1 2 2 2 3 3 3 1 1 1 1 3 3 3 3 3 HP 8 3 3 3 1 1 3 2 2 2 1 1 3 3 3 3 1 1 3 3 3 2 2 2 1 1 3 3 3 1 1 3 3 HP 9 1 1 2 2 2 3 3 1 3 3 3 1 3 3 3 3 1 1 2 2 1 1 3 3 3 3 2 1 1 3 3 3 HP 10 3 3 3 1 1 3 2 2 1 1 2 3 3 3 3 1 1 3 3 3 2 2 1 1 2 3 3 3 1 1 3 3 HP 11 3 3 3 1 1 2 2 3 2 3 1 1 3 3 3 3 1 1 3 3 1 1 2 2 2 3 3 3 1 1 3 3 HP 12 1 1 2 2 3 3 3 3 2 3 1 1 3 3 3 1 1 3 3 1 2 2 2 1 3 3 3 3 3 1 1 3 HP 13 2 2 2 1 1 3 3 3 3 1 1 3 3 1 1 3 2 2 2 3 1 1 3 3 3 3 3 3 1 1 3 3 HP 14 3 3 3 1 1 2 2 1 1 2 3 3 3 1 1 3 3 3 3 3 1 1 2 2 2 3 3 3 1 1 3 3 HP 15 1 1 3 3 3 3 1 1 2 2 2 3 3 1 1 3 3 3 3 3 2 2 2 1 1 3 1 1 3 3 3 3 HP 16 1 1 2 2 2 3 1 1 3 3 3 3 3 1 1 3 3 3 3 2 3 2 1 1 2 1 1 3 3 3 3 3 HP 17 3 3 3 1 1 3 2 2 1 1 2 3 3 3 3 1 1 3 3 1 1 3 3 2 2 2 1 1 3 3 3 3 HP 18 2 2 2 1 1 3 1 1 3 3 3 3 3 3 3 1 1 2 2 1 1 2 3 3 3 3 3 3 3 1 1 3 HP 19 2 2 2 1 1 3 3 3 3 1 1 3 3 3 3 1 1 3 3 3 2 2 2 1 1 3 1 1 3 3 3 3 HP 20 3 3 3 1 1 2 2 2 1 1 3 3 3 3 3 1 1 3 3 3 3 1 1 2 2 1 1 2 3 3 3 3 HP 21 1 1 3 3 2 2 3 3 1 1 2 3 3 3 3 3 1 1 2 3 1 1 2 2 3 3 3 3 1 1 3 3
November 1, 2016 Sibin Mohan | Bringing Real-Time Systems into a Secure World
45
HP 1 1 1 3 3 3 3 1 1 2 2 2 3 3 3 3 3 1 1 2 1 3 3 3 1 3 2 1 1 2 3 3 3 HP 2 1 1 2 2 3 3 3 1 2 1 3 3 3 1 1 3 2 2 2 1 3 3 3 1 3 1 1 3 3 3 3 3 HP 3 2 2 2 1 1 3 3 3 1 1 3 3 3 1 1 3 3 3 3 3 1 1 2 2 2 3 3 3 3 1 1 3 HP 4 1 1 2 2 3 3 2 3 3 1 1 3 3 1 1 3 3 3 3 3 2 2 1 1 2 3 3 3 1 1 3 3 HP 5 1 1 2 2 2 3 1 1 3 3 3 3 3 3 3 1 1 3 3 3 3 2 1 1 2 2 1 1 3 3 3 3 HP 6 3 3 3 1 1 3 2 1 1 2 2 3 1 1 3 3 3 3 3 3 2 2 2 1 1 3 3 3 3 1 1 3 HP 7 2 2 2 1 1 3 1 1 3 3 3 3 3 3 3 1 1 2 2 2 3 3 3 1 1 1 1 3 3 3 3 3 HP 8 3 3 3 1 1 3 2 2 2 1 1 3 3 3 3 1 1 3 3 3 2 2 2 1 1 3 3 3 1 1 3 3 HP 9 1 1 2 2 2 3 3 1 3 3 3 1 3 3 3 3 1 1 2 2 1 1 3 3 3 3 2 1 1 3 3 3 HP 10 3 3 3 1 1 3 2 2 1 1 2 3 3 3 3 1 1 3 3 3 2 2 1 1 2 3 3 3 1 1 3 3 HP 11 3 3 3 1 1 2 2 3 2 3 1 1 3 3 3 3 1 1 3 3 1 1 2 2 2 3 3 3 1 1 3 3 HP 12 1 1 2 2 3 3 3 3 2 3 1 1 3 3 3 1 1 3 3 1 2 2 2 1 3 3 3 3 3 1 1 3 HP 13 2 2 2 1 1 3 3 3 3 1 1 3 3 1 1 3 2 2 2 3 1 1 3 3 3 3 3 3 1 1 3 3 HP 14 3 3 3 1 1 2 2 1 1 2 3 3 3 1 1 3 3 3 3 3 1 1 2 2 2 3 3 3 1 1 3 3 HP 15 1 1 3 3 3 3 1 1 2 2 2 3 3 1 1 3 3 3 3 3 2 2 2 1 1 3 1 1 3 3 3 3 HP 16 1 1 2 2 2 3 1 1 3 3 3 3 3 1 1 3 3 3 3 2 3 2 1 1 2 1 1 3 3 3 3 3 HP 17 3 3 3 1 1 3 2 2 1 1 2 3 3 3 3 1 1 3 3 1 1 3 3 2 2 2 1 1 3 3 3 3 HP 18 2 2 2 1 1 3 1 1 3 3 3 3 3 3 3 1 1 2 2 1 1 2 3 3 3 3 3 3 3 1 1 3 HP 19 2 2 2 1 1 3 3 3 3 1 1 3 3 3 3 1 1 3 3 3 2 2 2 1 1 3 1 1 3 3 3 3 HP 20 3 3 3 1 1 2 2 2 1 1 3 3 3 3 3 1 1 3 3 3 3 1 1 2 2 1 1 2 3 3 3 3 HP 21 1 1 3 3 2 2 3 3 1 1 2 3 3 3 3 3 1 1 2 3 1 1 2 2 3 3 3 3 1 1 3 3
November 1, 2016 Sibin Mohan | Bringing Real-Time Systems into a Secure World
46
November 1, 2016 Sibin Mohan | Bringing Real-Time Systems into a Secure World
47
Platform
GPS-like position
Synthetic task sets
48
November 1, 2016 Sibin Mohan | Bringing Real-Time Systems into a Secure World