www.data61.csiro.au
Time Protection: The Missing OS Abstraction
Qian Ge, Yuval Yarom, Tom Chothia, Gernot Heiser
qian.ge@data61.csiro.au
Time Protection: The Missing OS Abstraction Qian Ge, Yuval Yarom, - - PowerPoint PPT Presentation
Time Protection: The Missing OS Abstraction Qian Ge, Yuval Yarom, Tom Chothia, Gernot Heiser qian.ge@data61.csiro.au www.data61.csiro.au Top secret Time Protection: The Missing OS Abstraction qian.ge@data61.csiro.au 2 Enforcing time
www.data61.csiro.au
Qian Ge, Yuval Yarom, Tom Chothia, Gernot Heiser
qian.ge@data61.csiro.au
Time Protection: The Missing OS Abstraction qian.ge@data61.csiro.au
2
Top secret
Time Protection: The Missing OS Abstraction qian.ge@data61.csiro.au
3
Security Domain Security Domain
Sending information through timing
Time Protection: The Missing OS Abstraction qian.ge@data61.csiro.au
3
Security Domain Security Domain
Sending information through timing
Time Protection: The Missing OS Abstraction qian.ge@data61.csiro.au
3
Security Domain Security Domain
Sending information through timing
Time Protection: The Missing OS Abstraction qian.ge@data61.csiro.au
Shared hardware caches
Security Domain Security Domain
4
Time Protection: The Missing OS Abstraction qian.ge@data61.csiro.au
Shared hardware caches
Security Domain Security Domain
4
Welcome to Dresden
Time Protection: The Missing OS Abstraction qian.ge@data61.csiro.au
Shared hardware caches
Security Domain Security Domain
4
Welcome to Dresden
Time Protection: The Missing OS Abstraction qian.ge@data61.csiro.au
Shared hardware caches
Security Domain Security Domain
4
Welcome to Dresden
Time Protection: The Missing OS Abstraction qian.ge@data61.csiro.au
Shared hardware caches
Security Domain Security Domain
Fast Fast Slow Fast Fast ….. S F S FFF SSSS F
Not English, but our protocol…
4
Welcome to Dresden
Time Protection: The Missing OS Abstraction qian.ge@data61.csiro.au
…
Shared hardware caches
timing
interference during:
5
Time Protection: The Missing OS Abstraction qian.ge@data61.csiro.au
…
Shared hardware caches
timing
interference during:
5
Time Protection: The Missing OS Abstraction qian.ge@data61.csiro.au
Security Domain Security Domain
Partitioned caches
Time Protection: The Missing OS Abstraction qian.ge@data61.csiro.au
Cache RAM
Cache Memory
7
Time Protection: The Missing OS Abstraction qian.ge@data61.csiro.au
Cache RAM
Cache Memory
7
…
Shared hardware caches
Time Protection: The Missing OS Abstraction qian.ge@data61.csiro.au
Cache RAM
Cache Memory
7
…
Shared hardware caches
Time Protection: The Missing OS Abstraction qian.ge@data61.csiro.au
Cache RAM
Cache Memory
7
…
Shared hardware caches
Time Protection: The Missing OS Abstraction qian.ge@data61.csiro.au
Cache RAM
Cache Memory
7
…
Shared hardware caches
Time Protection: The Missing OS Abstraction qian.ge@data61.csiro.au
…
Shared on-caches
8
Time Protection: The Missing OS Abstraction qian.ge@data61.csiro.au
…
Shared on-caches
8
Time Protection: The Missing OS Abstraction qian.ge@data61.csiro.au
…
Shared on-caches
8
Time Protection: The Missing OS Abstraction qian.ge@data61.csiro.au
…
Security Domain Security Domain
…
9
Time Protection: The Missing OS Abstraction qian.ge@data61.csiro.au
Security Domain Security Domain
10
…
Shared hardware caches
A shared partition
Time Protection: The Missing OS Abstraction qian.ge@data61.csiro.au
Security Domain Security Domain
Cache lines used by the kernel collide with Spy’s partition
10
…
Shared hardware caches
A shared partition
Time Protection: The Missing OS Abstraction qian.ge@data61.csiro.au
Security Domain Security Domain
Cache lines used by the kernel collide with Spy’s partition
10
…
Shared hardware caches
A shared partition
Poster Session @ 17:15
Time Protection: The Missing OS Abstraction qian.ge@data61.csiro.au
Security Domain Security Domain
Cache lines used by the kernel collide with Spy’s partition
Fast Fast Slow Fast Fast ….. S F S FFF SSSS F
10
…
Shared hardware caches
A shared partition
Poster Session @ 17:15
Time Protection: The Missing OS Abstraction qian.ge@data61.csiro.au
11
Time Protection: The Missing OS Abstraction qian.ge@data61.csiro.au
.text .rodata .data
Analysing the kernel sections
12
Time Protection: The Missing OS Abstraction qian.ge@data61.csiro.au
.text .rodata .data
Analysing the kernel sections
.text .rodata .data
Global (9KiB)
Maintaining coherency Duplicated sections
12
Time Protection: The Missing OS Abstraction qian.ge@data61.csiro.au
.text .rodata .data
Analysing the kernel sections
.text .rodata .data
Global (9KiB)
Maintaining coherency Duplicated sections
12
Time Protection: The Missing OS Abstraction qian.ge@data61.csiro.au
.text .rodata .data
Analysing the kernel sections
.text .rodata .data
Global (9KiB)
Maintaining coherency Duplicated sections
12
Time Protection: The Missing OS Abstraction qian.ge@data61.csiro.au
…
Security Domain Security Domain
…
Shared Global Data
Deterministic usage
13
Time Protection: The Missing OS Abstraction qian.ge@data61.csiro.au
14
seL4 system call
Input (taking seL4 syscall)
Channel matrix: conditional probability
spy) given the input signal (system-call number, Trojan) Horizontal variation indicates a channel
Output (cycles)
Time Protection: The Missing OS Abstraction qian.ge@data61.csiro.au
14
seL4 system call
Input (taking seL4 syscall)
Channel matrix: conditional probability
spy) given the input signal (system-call number, Trojan) Horizontal variation indicates a channel
Output (cycles)
Input (taking seL4 syscall) Output (cycles)
Time Protection: The Missing OS Abstraction qian.ge@data61.csiro.au
x86 Arm 224 KiB 120 KiB
Memory consumption
Arch seL4 Clone Linux fork + exec x86 79 μs 257 μs Arm 608 μs 4,300 μs
Efficiency
.text .rodata .data
Global (9KiB)
15
Time Protection: The Missing OS Abstraction qian.ge@data61.csiro.au
0% 1% 2% 3% 4% 5% 6% 7% b a r n e s c h
e s k y f f t f m m l u
e a n r a d i
i t y r a d i x r a y t r a c e w a t e r n s q u a r e d w a t e r s p a t i a l M E A N Slowdown 50% colours base 50% colour clone
The slowdown of splash-2 against base line kernel
16
Time Protection: The Missing OS Abstraction qian.ge@data61.csiro.au
x86 Arm 3.38% 1.09%
The geometric mean
0% 1% 2% 3% 4% 5% 6% 7% b a r n e s c h
e s k y f f t f m m l u
e a n r a d i
i t y r a d i x r a y t r a c e w a t e r n s q u a r e d w a t e r s p a t i a l M E A N Slowdown 50% colours base 50% colour clone
The slowdown of splash-2 against base line kernel
16
Time Protection: The Missing OS Abstraction qian.ge@data61.csiro.au
17
Time Protection: The Missing OS Abstraction qian.ge@data61.csiro.au
18
www.data61.csiro.au
Trustworthy Systems Qian Ge PhD candidate e qian.ge@data61.csiro.au w https://ts.data61.csiro.au/projects/TS/ timingchannels/
19