Language-based Security
FOSAD 2008 Steve Zdancewic
University of Pennsylvania
Language-based Security FOSAD 2008 Steve Zdancewic University of - - PowerPoint PPT Presentation
Language-based Security FOSAD 2008 Steve Zdancewic University of Pennsylvania Confidential Data Networked information systems: PCs store passwords, e-mail, finances,... Businesses rely on computing infrastructure Military &
University of Pennsylvania
Zdancewic 2
Zdancewic 3
Zdancewic 4
Zdancewic 5
Zdancewic 6
Zdancewic 7
Zdancewic 8
Zdancewic 9
Zdancewic 10
Zdancewic 11
Zdancewic 12
Zdancewic 13
Zdancewic 14
Zdancewic 15
Zdancewic 16
Zdancewic 17
Zdancewic 18
Zdancewic 19
Zdancewic 20
Zdancewic 21
[Reynolds ’78, Goguen&Meseguer ’82,’84]
Zdancewic 22
Zdancewic 23
Zdancewic 24
abstraction you choose.
difficult to carry out and/or have low bandwidth
Zdancewic 25
Zdancewic 26
Zdancewic 27
Zdancewic 28
Zdancewic 29
Zdancewic 30
Zdancewic 31
Note: Capture-avoiding substitution
Zdancewic 32
Zdancewic 33
Zdancewic 34
Zdancewic 35
Zdancewic 36
Zdancewic 37
Zdancewic 38
Zdancewic 39
Zdancewic 40
Zdancewic 41
Zdancewic 42
Zdancewic 43
Zdancewic 44
Zdancewic 45
Zdancewic 46
Zdancewic 47
Zdancewic 48
Zdancewic 49
Zdancewic 50
Zdancewic 51
Zdancewic 52
Zdancewic 53
Zdancewic 54
Zdancewic 55
Zdancewic 56
Zdancewic 57
Zdancewic 58
[Vincent Simonet & François Pottier ’02,’03]
Zdancewic 59
Zdancewic 60
Zdancewic 61
Zdancewic 62
Zdancewic 63
Zdancewic 64
Zdancewic 65
Zdancewic 66
Zdancewic 67
[Jouvelot & Gifford ’91]
Zdancewic 68
Zdancewic 69
Zdancewic 70
Zdancewic 71
Zdancewic 72
Zdancewic 73
Zdancewic 74
Zdancewic 75
Zdancewic 76
Zdancewic 77
Zdancewic 78
79
[Myers, Nystrom, Zdancewic, Zheng]
Zdancewic 80
Zdancewic 81
[Myers & Liskov '97, '00]
Zdancewic 82
Zdancewic 83
Zdancewic 84
Zdancewic 85
Zdancewic 86
Zdancewic 87
Zdancewic 88
(though see recent work by Banerjee & Naumann)
Zdancewic 89
[Zdancewic & Myers'01,Zdancewic’03,Myers, Sabelfeld & Zdancewic’06]
Zdancewic 90
Zdancewic 91
Zdancewic 92
Zdancewic 93
Zdancewic 94
Zdancewic 95
public static void main{}(String{}[]{} args) {
String filename = args[0]; final principal p = Runtime.user(); final label lb; lb = new label{p:}; Runtime[p] runtime = Runtime.getRuntime(p); FileInputStream{*lb} fis = runtime.openFileRead(filename, lb); InputStreamReader{*lb} reader = new InputStreamReader{*lb}(fis); BufferedReader{*lb} br = new BufferedReader{*lb}(reader); PrintStream{*lb} out = runtime.out(); String line = br.readLine(); while (line != null) {
line = br.readLine(); } }
Zdancewic 96
[Jump to other slides]
Zdancewic 97
Zdancewic 98
synchronization mechanisms.
equivalence
distributed systems
Zdancewic 99
Zdancewic 100
Zdancewic 101
Zdancewic 102