Information Flow Tracking
Andrei Sabelfeld Chalmers
https://www.cse.chalmers.se/~andrei EWSCS 2019
Information Flow Tracking Andrei Sabelfeld Chalmers - - PowerPoint PPT Presentation
Information Flow Tracking Andrei Sabelfeld Chalmers https://www.cse.chalmers.se/~andrei EWSCS 2019 Language c ::= skip | x:=exp | c;c | if exp then c else c | while exp do c 2 Explicit flows high (secret) l:=h insecure low (public)
https://www.cse.chalmers.se/~andrei EWSCS 2019
2
3
4
h:=…; l:=false; if h then l:=true else skip;
5
6
initial memory command final memory
7
low projection
8
9
may not use high variables
may not assign to low
may not assign to low
10
11
12
13
implicit flows: branches
if must be typable in a high context
14
15
3 : low 5 : low [low] ⊢ h:=h+1; if l=0 then l:=5 else l:=3 l=0: low [low] ⊢ l:=5 [low] ⊢ l:=3 [low] ⊢ if l=0 then l:=5 else l:=3 [low] ⊢ h:=h+1
16
17
18
19
20
21
22
[Kocher96]
23
24
Non-assignment
25
1. No restriction 2. Explicit flows 3. Implicit flows 4. Termination 5. Declassification 6. Exceptions 7. Let 8. Procedures 9. References 10. Arrays
26
27