ECS 235B, Lecture 23
March 6, 2019
March 6, 2019 1 ECS 235B, Foundations of Computer and Information Security
ECS 235B, Lecture 23 March 6, 2019 March 6, 2019 ECS 235B, - - PowerPoint PPT Presentation
ECS 235B, Lecture 23 March 6, 2019 March 6, 2019 ECS 235B, Foundations of Computer and Information Security 1 Loading Like sandboxing, but framework embedded in libraries and not a separate process When called, a constrained library
March 6, 2019
March 6, 2019 1 ECS 235B, Foundations of Computer and Information Security
separate process
determine whether it should take desired action
considerably more granular than default permissions set at installation
March 6, 2019 2 ECS 235B, Foundations of Computer and Information Security
Android phone by apps
considerably more granular than default permissions set at installation
phone resources, such as SMS messages
determine whether app’s requested system call should be blocked
Aurasium signs app
March 6, 2019 3 ECS 235B, Foundations of Computer and Information Security
accesses to shared resource
March 6, 2019 4 ECS 235B, Foundations of Computer and Information Security
bit
another bit
March 6, 2019 5 ECS 235B, Foundations of Computer and Information Security
(CPU)
March 6, 2019 6 ECS 235B, Foundations of Computer and Information Security
read
March 6, 2019 7 ECS 235B, Foundations of Computer and Information Security
March 6, 2019 8 ECS 235B, Foundations of Computer and Information Security
March 6, 2019 9 ECS 235B, Foundations of Computer and Information Security
receiver
sender, receiver
filter out to “read” sender’s communication
March 6, 2019 10 ECS 235B, Foundations of Computer and Information Security
information
channel
March 6, 2019 11 ECS 235B, Foundations of Computer and Information Security
using that resource
March 6, 2019 12 ECS 235B, Foundations of Computer and Information Security
transferred between them, even in the absence of a direct communication path
March 6, 2019 13 ECS 235B, Foundations of Computer and Information Security
instruction stream i
subjects s with security level l(s), states s, A(p(i, l(s)), s).v(s) = A(i, s).v(s)
March 6, 2019 14 ECS 235B, Foundations of Computer and Information Security
subject s at security level l(s), there exists an equivalence relation º: S´S such that
s.v(s)
March 6, 2019 15 ECS 235B, Foundations of Computer and Information Security
viewpoint of the lower-level subjects
March 6, 2019 16 ECS 235B, Foundations of Computer and Information Security
March 6, 2019 17 ECS 235B, Foundations of Computer and Information Security
[ s¢ = object_create(s,o,l(o),t(o),s) Ù s¢ ≠ s ] Û [ o Ï T(s) Ù l(s) ≤ l(o) ]
the clearance of the object will dominate the clearance of its creator
March 6, 2019 18 ECS 235B, Foundations of Computer and Information Security
permissions)
subject’s security level does not dominate, or object of the wrong type
March 6, 2019 19 ECS 235B, Foundations of Computer and Information Security
[o Ï readable(s, s) Ù o Î readable(s, s¢)] Û [s¢ = object_create(s,o,l(o),t(o),s) Ù o Ï T(s) Ù l(s¢) ≤ l(o) ≤ l(s) Ù can_read(s, o, s¢)]
set properly
March 6, 2019 20 ECS 235B, Foundations of Computer and Information Security
March 6, 2019 21 ECS 235B, Foundations of Computer and Information Security
March 6, 2019 22 ECS 235B, Foundations of Computer and Information Security
s2¢ = object_create(s¢, o, s2) = s2
¬[ A(object_create(s¢, o, l(o), t(o), s2), s2) º A(object_create(s¢, o, l(o), t(o), s1), s1) ]
March 6, 2019 23 ECS 235B, Foundations of Computer and Information Security
March 6, 2019 24 ECS 235B, Foundations of Computer and Information Security
March 6, 2019 25 ECS 235B, Foundations of Computer and Information Security
March 6, 2019 26 ECS 235B, Foundations of Computer and Information Security
[columns]
March 6, 2019 27 ECS 235B, Foundations of Computer and Information Security
March 6, 2019 28 ECS 235B, Foundations of Computer and Information Security
read write delete create existence R R R, M R, M
R M label R R R M size R M M M
March 6, 2019 Slide 18-29 ECS 235B, Foundations of Computer and Information Security
resource
March 6, 2019 30 ECS 235B, Foundations of Computer and Information Security
attribute of file (shared resource)
March 6, 2019 31 ECS 235B, Foundations of Computer and Information Security
March 6, 2019 32 ECS 235B, Foundations of Computer and Information Security
1.Sending, receiving processes have access to same attribute of shared object; 2.Sender, receiver have access to a time reference (wall clock, timer, event
3.Sender can control timing of detection of change to that attribute by receiver; and 4.Mechanism for starting processes, properly sequencing their accesses to resource
March 6, 2019 33 ECS 235B, Foundations of Computer and Information Security
(attribute)
numbers to position arm appropriately (timing of detection of change)
mechanism to (1) start sender, receiver and (2) sequence requests as desired
March 6, 2019 34 ECS 235B, Foundations of Computer and Information Security
March 6, 2019 35 ECS 235B, Foundations of Computer and Information Security
development
March 6, 2019 36 ECS 235B, Foundations of Computer and Information Security
about the value – a covert channel
when it sends message or blocks to receive one
March 6, 2019 37 ECS 235B, Foundations of Computer and Information Security
directly)
March 6, 2019 38 ECS 235B, Foundations of Computer and Information Security
control how that variable is altered
indicator
March 6, 2019 39 ECS 235B, Foundations of Computer and Information Security
x directly visible to caller as it is returned directly to caller x := func(abc, def); if x = 0 then x := x + 10; return x; y not directly visible to caller, but indirectly visible as its state observed through z y := func(abc, def); if y = 0 then z := 1; else z := 0; return z;
March 6, 2019 40 ECS 235B, Foundations of Computer and Information Security
be viewed
resulting primitives to model of access control
March 6, 2019 41 ECS 235B, Foundations of Computer and Information Security
March 6, 2019 42 ECS 235B, Foundations of Computer and Information Security
attribute by direct reference or calling a function that returns it
attribute without directly referencing it or calling a function that references attribute directly
when information passed using it is specified by inferred-via goal
March 6, 2019 43 ECS 235B, Foundations of Computer and Information Security
procedure Lockfile(f: file): boolean; (* lock file if not locked; return *) begin (* false if locked, true otherwise *) if not f.locked and empty(f.inuse) then f.locked := true; Lockfile := not f.locked; end; procedure Unlockfile(f: file); (* unlock file *) begin if f.locked then f.locked := false; end; function Filelocked(f: file): boolean; (* return state of file locking *) begin Filelocked := f.locked; end;
March 6, 2019 44 ECS 235B, Foundations of Computer and Information Security
procedure Openfile(f: file); (* open file if not locked and *) begin (* permissions allow it *) if not f.locked and read_access(process_id, f) then (* add the process ID to the inuse set *) f.inuse = f.inuse + process_id; end; function Fileopened(f: file): boolean;(* if permissions allow process to read file, *) begin (* say if open; else return random value. *) if not read_access(process_id, f) then Fileopened := random(true, false); else Fileopened := not isempty(f.inuse); end;
March 6, 2019 45 ECS 235B, Foundations of Computer and Information Security
return
Lockfile Unlockfile Filelocked Openfile Fileopened reference locked,inuse locked locked locked,inuse inuse modify locked ∅ ∅ inuse ∅ return ∅ ∅ locked ∅ inuse
March 6, 2019 46 ECS 235B, Foundations of Computer and Information Security
symbol of failure symbol
March 6, 2019 47 ECS 235B, Foundations of Computer and Information Security
recognized
modify attribute
attribute
March 6, 2019 48 ECS 235B, Foundations of Computer and Information Security
attribute
an attribute and modifies an attribute
attribute recognized
state of attribute recognized, requiring a recognition goal for attribute
1 child (recognition goal symbol)
March 6, 2019 49 ECS 235B, Foundations of Computer and Information Security
Covert storage channel via attribute locked Modification of attribute locked Recognition of attribute locked +
attribute locked Lockfile Unlockfile goal state and node
node
March 6, 2019 50 ECS 235B, Foundations of Computer and Information Security
+ Recognition of attribute locked Direct recognition of attribute locked Indirect recognition of attribute locked + + Lockfile Indirect attribute locked via attribute inuse
March 6, 2019 51 ECS 235B, Foundations of Computer and Information Security
Recognition of attribute inuse
via attribute inuse Openfile
March 6, 2019 52 ECS 235B, Foundations of Computer and Information Security
+ Recognition of attribute inuse Direct recognition of attribute inuse Indirect recognition of attribute locked + + Fileopened FALSE
March 6, 2019 53 ECS 235B, Foundations of Computer and Information Security
recognition of modification of attribute locked
March 6, 2019 54 ECS 235B, Foundations of Computer and Information Security
channel
a 0
March 6, 2019 55 ECS 235B, Foundations of Computer and Information Security
shared resources that one process can modify and another view
information to flow
March 6, 2019 56 ECS 235B, Foundations of Computer and Information Security