Availability Policies
Chapter 7
Version 1.1 Computer Security: Art and Science, 2nd Edition Slide 7-1
Availability Policies Chapter 7 Computer Security: Art and Science , - - PowerPoint PPT Presentation
Availability Policies Chapter 7 Computer Security: Art and Science , 2 nd Edition Version 1.1 Slide 7-1 Outline Goals Deadlock Denial of service Constraint-based model State-based model Networks and flooding
Chapter 7
Version 1.1 Computer Security: Art and Science, 2nd Edition Slide 7-1
Version 1.1 Computer Security: Art and Science, 2nd Edition Slide 7-2
expecting
Version 1.1 Computer Security: Art and Science, 2nd Edition Slide 7-3
unavailable
Version 1.1 Computer Security: Art and Science, 2nd Edition Slide 7-4
process in set to take come action
resources to become available
for another process in set to release resources
Version 1.1 Computer Security: Art and Science, 2nd Edition Slide 7-5
Version 1.1 Computer Security: Art and Science, 2nd Edition Slide 7-6
service unavailable to a (disjoint) group of authorized users for a period of time exceeding a defined maximum waiting time
whether or not the security policy grants them access
resources
Version 1.1 Computer Security: Art and Science, 2nd Edition Slide 7-7
resource and being allocated that resource
Version 1.1 Computer Security: Art and Science, 2nd Edition Slide 7-8
resource
Version 1.1 Computer Security: Art and Science, 2nd Edition Slide 7-9
Version 1.1 Computer Security: Art and Science, 2nd Edition Slide 7-10
Mutually exclusive resource
Version 1.1 Computer Security: Art and Science, 2nd Edition Slide 7-11
second
Version 1.1 Computer Security: Art and Science, 2nd Edition Slide 7-12
etc.
Version 1.1 Computer Security: Art and Science, 2nd Edition Slide 7-13
true after oi*(c)
such that it is initial subsequence of some s ∈ Sseq and oi*(c) ➝s(k) oi(c)
Version 1.1 Computer Security: Art and Science, 2nd Edition Slide 7-14
( acquirei, releasei, acquirei, acquirei, releasei ) with acquirei, releasei ∈ Ai, (acquirei, releasei) ∈ Ri;o = acquirei, o’ = releasei
no(Ui(4)) = 3, no’(Ui(4)) = 1
no(Ui(5)) = 3, no’(Ui(5)) = 2
Version 1.1 Computer Security: Art and Science, 2nd Edition Slide 7-15
acquirek, acquirek+1(c), releasek, releasek+1, ...)
Version 1.1 Computer Security: Art and Science, 2nd Edition Slide 7-16
future)
true); so A ⤳ B is shorthand for A ⇒ ◇B
Version 1.1 Computer Security: Art and Science, 2nd Edition Slide 7-17
enough release operations will release enough resources of that type to allow blocked process to proceed service resource_allocator User agreement in(acquire) ⤳ ((☐◇(#active_release > 0) ∨ (free ≥ acquire.n))
1 release operation occurs, and enough resources will be freed for the requesting process to acquire the needed resources
Version 1.1 Computer Security: Art and Science, 2nd Edition Slide 7-18
will not block indefinitely if given the opportunity to progress
needs to use resource
accessing and using the resource
Version 1.1 Computer Security: Art and Science, 2nd Edition Slide 7-19
indefinite blocking sharing policies fairness (at(acquire) ∧ ☐◇((free ≥ acquire.n) ∧ (#active = 0))) ⤳ after(acquire) (at(release) ∧ ☐◇(#active = 0)) ⤳ after(release) simultaneity (in(acquire) ∧ (☐◇(free ≥ acquire.n)) ∧ (☐◇(#active = 0))) ⤳ ((free ≥ acquire.n) ∧ (#active = 0)) (in(release) ∧ ☐◇(#active_release > 0)) ⤳ (free ≥ acquire.n)
Version 1.1 Computer Security: Art and Science, 2nd Edition Slide 7-20
Version 1.1 Computer Security: Art and Science, 2nd Edition Slide 7-21
interface operations acquire(n: units) exception conditions: quota[id] < own[id] + n effects: free’ = free – n
release(n: units) exception conditions: n > own[id] effects: free’ = free + n
Version 1.1 Computer Security: Art and Science, 2nd Edition Slide 7-22
resource constraints
after(release)))]
Version 1.1 Computer Security: Art and Science, 2nd Edition Slide 7-23
example concurrency constraints
Version 1.1 Computer Security: Art and Science, 2nd Edition Slide 7-24
service if enforced
time is finite
Version 1.1 Computer Security: Art and Science, 2nd Edition Slide 7-25
specified
enforces its policies
Version 1.1 Computer Security: Art and Science, 2nd Edition Slide 7-26
process can hold a unit for a maximum holding time m(r)
Version 1.1 Computer Security: Art and Science, 2nd Edition Slide 7-27
any time
R1: The system cannot allocate more instances of a resource type than it has: (∀r ∈ R)[∑p∈PAp(r) ≤ c(r)]
Version 1.1 Computer Security: Art and Science, 2nd Edition Slide 7-28
including the resources it already holds
p(r) means the number of units of resource type r that process p may need to
complete
R2: A currently running process must not require additional resources to run running(p) => (∀r ∈ R)[QSp(r) = 0]
Version 1.1 Computer Security: Art and Science, 2nd Edition Slide 7-29
execution
can only occur when asleep(p)
Version 1.1 Computer Security: Art and Science, 2nd Edition Slide 7-30
R3: Resource allocation does not affect allocations of a running process: (running(p) ∧ running’(p)) ⇒ (Ap’ = Ap) R4: T(p) changes only when resource allocation of p changes: (Ap’(CPU) = Ap(CPU)) ⇒ (T’(p) = T(p)) R5: Updates in time vector increase value of element being updated: (Ap’(CPU) ≠ Ap(CPU)) => (T’(p) > T(p))
Version 1.1 Computer Security: Art and Science, 2nd Edition Slide 7-31
R6: When p reallocated resources, allocation matrix updated before p resumes execution: asleep(p) ⇒ QSp’ = QSp + Ap – Ap’ R7: When a process is not running, the time it needs resources does not change: asleep(p) ⇒ QTp’ = QTp R8: when a process ceases to execute, the only resource it must surrender is the CPU: (running(p) ∧ asleep’(p)) ⇒ Ap’(r) = Ap(r)–1 if r = CPU (running(p) ∧ asleep’(p)) ⇒ Ap’(r) = Ap(r)
Version 1.1 Computer Security: Art and Science, 2nd Edition Slide 7-32
Version 1.1 Computer Security: Art and Science, 2nd Edition Slide 7-33
process transitions from running(p) to asleep(p)
Version 1.1 Computer Security: Art and Science, 2nd Edition Slide 7-34
than the capacity of that resource, and no more than 1 CPU is requested
Version 1.1 Computer Security: Art and Science, 2nd Edition Slide 7-35
(∀p, σ)(∃σ’)[running’(p) ∧ (T’(p) ≥ T(p))]
has been allocated resources
(∃M)(∀p, σ)(∃σ’)[running’(p) ∧ (0 < T’(p) – T(p) ≤ M)]
future state in which it is executing and has been allocated resources
Version 1.1 Computer Security: Art and Science, 2nd Edition Slide 7-36
In addition to all these, a DPB must satisfy these constraints:
way that satisfies the waiting time policy
unless that resource is no longer needed (∀i)[ri ≠ CPU ∧ Ap(ri) ≠ 0 ∧ Ap’(ri) = 0] ⇒ QTp(ri) = 0
Version 1.1 Computer Security: Art and Science, 2nd Edition Slide 7-37
transitions to a non-running state
needs the resource for is decreased by the amount of time it was in the previous running state; that is, QTp ≠ 0 ∧ running(p) ∧ asleep’(p) ⇒ (∀r∈R)[QTp(r) ≤ max(0, maxr QTp(r)–(T’(p)–T(p)))]
Version 1.1 Computer Security: Art and Science, 2nd Edition Slide 7-38
a) no resource ri is deallocated from p for which QSp is feasible until QTp = 0; and b) there is a maximum time for each round robin cycle
Version 1.1 Computer Security: Art and Science, 2nd Edition Slide 7-39
p and Tp feasible is selected
p = 0, and
then p needs no more resources
process in running state executes for a minimum amount of time before it transitions to a non-running state
Version 1.1 Computer Security: Art and Science, 2nd Edition Slide 7-40
time before it transitions to a non-running state
Version 1.1 Computer Security: Art and Science, 2nd Edition Slide 7-41
allocated required resources to p
deallocate all resources, is: ta + floor(M/d + 1)(q + tCPU) + td
Version 1.1 Computer Security: Art and Science, 2nd Edition Slide 7-42
resources
attack
Version 1.1 Computer Security: Art and Science, 2nd Edition Slide 7-43
initiate connection
third message (the last ACK)
about pending connection for a period of time before the space is released
Version 1.1 Computer Security: Art and Science, 2nd Edition Slide 7-44
source destination
SYN(s)
source destination
SYN(t)ACK(s+1)
source destination
ACK(t+1)
legitimate handshake attempts may not be able to reach the target
legitimate handshake attempts to be discarded
(acquire) it
Version 1.1 Computer Security: Art and Science, 2nd Edition Slide 7-45
receive (acquire) it
Version 1.1 Computer Security: Art and Science, 2nd Edition Slide 7-46
complete are available
really on waiting time
sent to destination
Version 1.1 Computer Security: Art and Science, 2nd Edition Slide 7-47
diverting or eliminating illegitimate traffic so only legitimate traffic reaches destination
intercept mode)
flood
Version 1.1 Computer Security: Art and Science, 2nd Edition Slide 7-48
change to bad
Version 1.1 Computer Security: Art and Science, 2nd Edition Slide 7-49
(internal) network and going to Internet
Version 1.1 Computer Security: Art and Science, 2nd Edition Slide 7-50
without legitimate addresses
destination
incoming (response) traffic
Version 1.1 Computer Security: Art and Science, 2nd Edition Slide 7-51
model, indicates attack has ended, so flow reclassified as suspicious
Version 1.1 Computer Security: Art and Science, 2nd Edition Slide 7-52
can be sent
traffic destination can handle
is as before
Version 1.1 Computer Security: Art and Science, 2nd Edition Slide 7-53
rate limit associated with flow
Version 1.1 Computer Security: Art and Science, 2nd Edition Slide 7-54
Version 1.1 Computer Security: Art and Science, 2nd Edition Slide 7-55
to determine which bucket to store enough information to be able to send SYN/ACK on the pending connection (and does so)
Version 1.1 Computer Security: Art and Science, 2nd Edition Slide 7-56
random data; use as ACK sequence number in SYN/ACK packet
inserted into syncache
Version 1.1 Computer Security: Art and Science, 2nd Edition Slide 7-57
decreases
Version 1.1 Computer Security: Art and Science, 2nd Edition Slide 7-58
traffic, creating flooding
Version 1.1 Computer Security: Art and Science, 2nd Edition Slide 7-59
broadcast address of network
stream to all hosts on network
Version 1.1 Computer Security: Art and Science, 2nd Edition Slide 7-60
host rather than only hosts on their own network
information to target
amount of data to target, typically in multiple packets, each larger than a query packet
Version 1.1 Computer Security: Art and Science, 2nd Edition Slide 7-61
denial-of-service attack
Version 1.1 Computer Security: Art and Science, 2nd Edition Slide 7-62
agreement as key components
these models
flooding by an attacker that sends a relatively small number of packets
Version 1.1 Computer Security: Art and Science, 2nd Edition Slide 7-63