Complete Information Flow Tracking from Gates Up
Mohit Tiwari, Xun Li, Hassan M G Wassel, Frederic T Chong, Timothy Sherwood Presented by Mengjia Yan Based on slides from Mohit Tiwari
Complete Information Flow Tracking from Gates Up Mohit Tiwari, Xun - - PowerPoint PPT Presentation
Complete Information Flow Tracking from Gates Up Mohit Tiwari, Xun Li, Hassan M G Wassel, Frederic T Chong, Timothy Sherwood Presented by Mengjia Yan Based on slides from Mohit Tiwari Goal: Non-Interference Non-Interference: a change in a
Mohit Tiwari, Xun Li, Hassan M G Wassel, Frederic T Chong, Timothy Sherwood Presented by Mengjia Yan Based on slides from Mohit Tiwari
inferred from changes in the Low output. That is, High data should never leak to Low
Secret or Tainted/Untrusted.
High Low Low
“system” Source Sink
vehicle systems
not cause a vehicle loss
determine the schedule (real-time)
router
X
passenger avionics
6.888 Fall 2020 5
6.888 Fall 2020 6
A new way to look at IFT from a new perspective.
Usage: GLIFT + Information Flow Policy
Applications Language Logic Gates Microarchitecture Instruction Set (ISA) Compiler/OS Security Properties Sound Information Flow Analysis Hardware/Software Design for Verifiable Security
if (high == 1)
else
(implicit flow)
(explicit flow)
6.888 Fall 2020 9
if (high == 1)
else
(implicit flow)
(explicit flow)
address or the memory value is tainted
Memory CPU A CPU B
à So that the security property can be verifiable à Avoid taint explosion
à Use the concept of GLIFT to guide the design
6.888 Fall 2020 11
Separation Kernel P0 P1 CPU Mem I/O Dev
S/W H/W Secure System
001000101
external inputs Combinational Logic external outputs clock state
Equivalent State Machine
1001110101111011 0001011001111111
Separation Kernel P0 P1 CPU Mem I/O Dev
S/W H/W Secure System
001000101
external inputs external outputs clock state
Equivalent State Machine
1001110101111011 0001011001111111
Separation Kernel P0 P1 CPU Mem I/O Dev
S/W H/W Secure System
001000101
external inputs external outputs clock state
Equivalent State Machine
1001110101111011 0001011001111111
t
Conservative. If one of a and b is tainted, the output is tainted.
clock reset D Q
010101…
1 1 0
0 0 0 1 1 1 1 0 0 1 1 1 1 1 0 1 a b o a b
untainted tainted
When a=0, b can not affect the value of the output. à no-interference
a b
bt
t
b a
t
a
t
b a
t1 t2
t
s at
t
s b s bt
t
s t1 t2
1
Instr Mem +4 jump target R1 R2 Reg File is jump? through decode PC PC
if (secret==1)
tmp = 5
tmp Conditional execution taints critical state (PC)
6.888 Fall 2020 22
Instr Mem +4 jump target R1 R2 Reg File is jump? through decode PC
if (secret==1)
tmp = 5 P0 = secret (P0) out = 1 tmp = 5
P0
P0 = secret (P0) out = 1 tmp = 5
6.888 Fall 2020 23
Instr Mem +4 jump target R1 R2 Reg File is jump? through decode PC
if (secret==1)
tmp = 5
P0
5
tmp
P0 = secret (P0) out = 1 tmp = 5 P0 = secret (P0) out = 1 tmp = 5
Non-Interference; Tiwari et al.; MICRO’09
6.888 Fall 2020 24
+ Verifiable system
+ Security
Appropriate use cases:
augmented with these abilities could be an attractive option.
6.888 Fall 2020 25
architecture/implementation does an input first get marked as untrustworthy?
trusted? (from High to Low)
execution, speculation etc? Will the proposed architecture be able to detect covert and side channel attacks such as Meltdown and Spectre?
6.888 Fall 2020 27
Example Satellite Application. [Tzvetan Metodi, Aerospace Corp.]
Kernel and Diagnostics Crypto Command Telemetry Interface Time Keeping I/O Secret Mission Secret Mission Unclass. Interrupt Handlers (Sensitive) Non-sensitive Sensitive Note: Since this is not a real schedule, the processes are not in any sensible execution order
Execution Time Primary Execution Schedule
Interrupt Handlers (Non-sensitive)
Untrusted & Unclassified Untrusted & Secret Trusted & Unclassified Trusted & Secret
Kernel, Interrupt Handlers (Unclassified), Time Keeping Programs Diagnostics, Telemetry Interfaces Custom code on Secret data Libraries (e.g. encryption) that operate on Secret data
kernels, such as AES, would it not be better to produce a specially tuned ASIC/IP core?
write as a result of the limitations that they've placed on loops?
6.888 Fall 2020 30
computation, could an FPGA-based enclave in a traditional CPU be used with this ISA instead as a cost-effective implementation?
could apply the same concepts to FPGA tooling.
6.888 Fall 2020 31
Great idea. Read “HyperFlow: A Processor Architecture for Nonmalleable, Timing- Safe Information Flow Security”; Ferraiuolo et al. CCS’18
in such cases?
indirect loads? (not indirect stores)
32
Memory CPU A CPU B