| | NDSS 2020
P ROTECT IO N : Root-of-Trust for IO in Compromised Platforms Aritra - - PowerPoint PPT Presentation
P ROTECT IO N : Root-of-Trust for IO in Compromised Platforms Aritra - - PowerPoint PPT Presentation
P ROTECT IO N : Root-of-Trust for IO in Compromised Platforms Aritra Dhar, Enis Ulqinaku, Kari Kostiainen, Srdjan Capkun ETH Zurich NDSS 2020 | | Motivation Remote device 75 Heart beat 177 Insulin (U) 0.025 Basal rate (U/Hr) Low limit
| | NDSS 2020 4/3/20 2
Motivation
Program Cancel Heart beat Insulin (U) Remote device Low limit (mg/dL) High limit (mg/dL) Basal rate (U/Hr) 75 177 0.025 60 105
| | NDSS 2020 4/3/20 3
Motivation
Program Cancel Heart beat Insulin (U) Remote device Low limit (mg/dL) High limit (mg/dL) Basal rate (U/Hr) 75 177 0.025 60 105
| | NDSS 2020 4/3/20 Aritra Dhar 4
Remote Trusted path
Host Remote server IO devices User
| | NDSS 2020 4/3/20 Aritra Dhar 5
Solution 1: Transaction Confirmation Device
Program Cancel Heart beat Insulin (U) Remote device Low limit (mg/dL) High limit (mg/dL) Basal rate (U/Hr) 75 177 0.025 60 105
Android Protected Confirmation You are going to program Heart beat 75 Insulin 177U Basal rate 0.025 U/Hr Low level 60 mg/dL High level 105 mg/dL And more ……
| | NDSS 2020 4/3/20 Aritra Dhar 6
Solution 2: Input Signing
Trusted embedded device Program Cancel Heart beat Insulin (U) Remote device Low limit (mg/dL) High limit (mg/dL) Basal rate (U/Hr) 75 177 0.025 60 105 Heart beat 75 Insulin 177U Basal rate 0.025 U/Hr Low level 60 mg/dL High level 105 mg/dL
| | NDSS 2020 4/3/20 Aritra Dhar 7
Display manipulation attack
17 177 177 177 7 1777 User sees 177 Device records 1777 Host sends 1777 Insulin Insulin
- IntegriKey
| | NDSS 2020
The lack of output integrity – the render of user inputs on the screen – compromises input integrity.
4/3/20 Aritra Dhar 8
Observation 1
| | NDSS 2020 4/3/20 Aritra Dhar 9
Solution 3: Overlay
Program Cancel Heart beat Insulin (U) Remote device Low limit (mg/dL) High limit (mg/dL) Basal rate (U/Hr) 75 177 0.025 60 105 Program Cancel Heart beat Insulin (U) Remote device Low limit (mg/dL) High limit (mg/dL) Basal rate (U/Hr)
| | NDSS 2020 4/3/20 Aritra Dhar 10
Overlay: Output Manipulation
Program Cancel Heart beat Insulin (U) Remote device Low limit (mg/dL) High limit (mg/dL) Basal rate (U/Hr) Program Cancel Insulin (U) Heart rate Remote device Low limit (mg/cc) High limit (mg/cc) Basal rate (U/Hr)
| | NDSS 2020 4/3/20 Aritra Dhar 11
Overlay: Output Manipulation
Program Cancel Insulin (U) Heart rate Remote device Low limit (mg/cc) High limit (mg/cc) Basal rate (U/Hr) 75 177 0.025 6000
10500
| | NDSS 2020
If the protected output is provided out-of-context, users are more likely not to verify it. Therefore input integrity can be violated.
4/3/20 Aritra Dhar 12
Observation 2
| | NDSS 2020 4/3/20 Aritra Dhar 13
Overlay: Early Form Submission Attack
Textbox in focus Program Cancel Heart beat Insulin (U) Remote device Low limit (mg/dL) High limit (mg/dL) Basal rate (U/Hr) 75 17 0.025 60 105 OS triggers click
- Fidelius
- Trusted overlay from FPGA
| | NDSS 2020
If not all the modalities of inputs are secured simultaneously, none of them can be fully secured.
4/3/20 Aritra Dhar 14
Observation 3
| | NDSS 2020 4/3/20 Aritra Dhar 15
Requirements
Inter-dependency between Input and output
The lack of output integrity – the render of user inputs on the screen – compromises input integrity.
| | NDSS 2020 4/3/20 Aritra Dhar 16
Requirements
All modalities of input
If not all the modalities of inputs are secured simultaneously, none of them can be fully secured.
| | NDSS 2020 4/3/20 Aritra Dhar 17
Requirements
Low cognitive load
If the protected output is provided out-of-context, users are more likely not to verify it. Therefore input integrity can be violated.
| | NDSS 2020 4/3/20 Aritra Dhar 18
Requirements
Low TCB and easy deploy
| | NDSS 2020 4/3/20 Aritra Dhar 19
Requirements
| | NDSS 2020 4/3/20 Aritra Dhar 20
ProtectIOn
Input modalities Low TCB + fast deployment
IOHub
| | NDSS 2020 4/3/20 Aritra Dhar 21
IO Integrity – Overlay Generation
Program Cancel Insulin (U) Heart rate Remote device Low limit (mg/cc) High limit (mg/cc) Basal rate (U/Hr) <form action=“/some_action”, signature = “0x45AB…”, id = “0x0ab”> Simultaneous IO
| | NDSS 2020 4/3/20 Aritra Dhar 22
IO Integrity – Overlay Generation
Simultaneous IO
| | NDSS 2020 4/3/20 Aritra Dhar 23
IO Integrity – Overlay Generation
Program Cancel Insulin (U) Heart rate Remote device Low limit (mg/cc) High limit (mg/cc) Basal rate (U/Hr)
Verified UI from secure_site.io
Simultaneous IO
| | NDSS 2020 4/3/20 Aritra Dhar 24
IO Integrity – Input
Program Cancel Insulin (U) Heart rate Remote device Low limit (mg/cc) High limit (mg/cc) Basal rate (U/Hr)
Verified UI from secure_site.io
75 177 0.025 60 105 Simultaneous IO
| | NDSS 2020
§ Output Integrity: Low cognitive load § Several existing mechanisms
4/3/20 Aritra Dhar 25
Grabbing User Attention
Put 1 in front of all inputs Low cognitive load
| | NDSS 2020
Put 1 in front of all inputs Low cognitive load
§ Output Integrity: Low cognitive load § Several existing mechanisms
§ Lightbox
4/3/20 Aritra Dhar 26
Grabbing User Attention
| | NDSS 2020
§ Output Integrity: Low cognitive load § Several existing mechanisms
§ Lightbox § Highlight
4/3/20 Aritra Dhar 27
Grabbing User Attention
Low cognitive load Put 1 in front of all inputs
| | NDSS 2020
§ Output Integrity: Low cognitive load § Several existing mechanisms
§ Lightbox § Highlight § Freezing
4/3/20 Aritra Dhar 28
Grabbing User Attention
Put 1 in front of all inputs Low cognitive load
| | NDSS 2020
Put 1 in front of all inputs
§ Output Integrity: Low cognitive load § Several existing mechanisms
§ Lightbox § Highlight § Freezing § Combination
4/3/20 Aritra Dhar 29
Grabbing User Attention
Low cognitive load
| | NDSS 2020
§ Output Integrity: Low cognitive load § Several existing mechanisms
§ Lightbox § Highlight § Freezing § Combination
§ How to determine when to engage?
§ Track pointer § Mouse movement on the overlay
4/3/20 Aritra Dhar 30
Grabbing User Attention
Low cognitive load
| | NDSS 2020 4/3/20 Aritra Dhar 31
Prototype and TCB
25.16M 20.92M 2M 71K 600K 36.68M 1.9K 3.5K 893 121K Low TCB Fast deployment
| | NDSS 2020 4/3/20 Aritra Dhar 32
Performance
§ Display latency: 21.67 ms
§ ~46 fps
§ Mouse latency: 250 !" § Keyboard latency: 170 !" § Pointer detection accuracy: 0.997
| | NDSS 2020
§ Existing research
§ Drawbacks § Observations
§ Requirements for Trusted Path § ProtectIOn design § Prototype
4/3/20 Aritra Dhar 33
Summary
Thank you! Questions?
Backup slides
| | NDSS 2020 4/3/20 Aritra Dhar 36
Attacker’s view User’s view on the monitor Focusing user’s attention
Prototype View
| | NDSS 2020 4/3/20 Aritra Dhar 37
Other Trusted Path Solutions
| | NDSS 2020
§ Server sends messages : HTML, JS … → " § All modalities of inputs → #
§ #$%&' → " → #
§ Host transforms them : Browser, GPU … + I → ["]
§ ,-.$/01-" : ", # → ["]
§ Host is a bad guy → " 1- "4 § Output integrity → Users need to report back " / "4
4/3/20 Aritra Dhar 38
How to Build a Trusted Path
| | NDSS 2020
§ Sever sends ! § Server knows ! § Given ! , correct input is " § Host sends !# ≠ ! Output integrity § User sends "# ≠ " Input integrity
4/3/20 Aritra Dhar 39
Definition: Violation of Input/output Integrity
| | NDSS 2020 4/3/20 Aritra Dhar 40
Verification
!" !# $%&'()*%+() + " $%&'()*%+() + . + / !. !/ $%&'()*%+() + /0# !/0#
…
+ # + $%&'()*%+() Anything missing in the chain → IO integrity violation
| | NDSS 2020 4/3/20 Aritra Dhar 41
Overlay: Output Manipulation
Program Cancel Insulin (U) Heart rate Remote device Low limit (mg/cc) High limit (mg/cc) Basal rate (U/Hr) 75 177 0.025 6000
10500