Outline for May 6, 2004
Reading: Chapters 6.1, 6.2, 6.4, 9.1-9.2.2.1
Discussion Problem
"If we do not wish to fight, we can prevent the enemy from
engaging us even though the lines of encampment be merely traced
out on the ground. All we need to do is to throw something odd and
unaccountable in his way.
Tu Mu relates a strategm of Chu-ko Liang, who in 149 B.C., when
occupying Yang-p'ing and about to be attacked by Ssu-ma I, suddenly
struck his colors, stopping the beating of the drums, and flung
open the city gates, showing only a few men engaged in sweeping and
sprinkling the ground. This unexpected proceeding had the intended
effect; for Ssu-Ma I, suspecting an ambush, actually drew off his
army and retreated."1
What does this paragraph say to a system administrator or security
officer seeking insight to defend her systems?
Outline for the Day
- Integrity models
- Requirements
- Users won't write their own programs, but will use existing
programs, databases, etc.
- Programmers develop and test programs on non-production systems
- Installing a program from the development system requires a
special process
- This process must be controlled and auditable
- System managers must be able to access the system state and the system logs
- Separation of duty
- Separation of function
- Auditing
- Biba: mathematical dual of BLP
- P may read O if L(P) ≤
L(O) and C(P) ⊆ C(O),
and P may write O if L(O) ≤
L(P) and C(O) ⊆ C(P)
- Combined with BLP: continue example
- Clark-Wilson
- Theme: military model does not provide enough controls for
commercial fraud, etc. because it does not cover the right aspects
of integrity
- "Constrained Data Items" (CDI) to which model applies,
"Unconstrained Data Items (UDIs) to which no integrity checks
applied, "Integrity Verification Procedures" (IVP) verify
conformance to the integrity spec when IVP is run, "Transaction
Procedures" (TP) take system from one well-formed state to
another
- Certification and enforcement rules:
C1. All IVPs must ensure that all CDIs are in a valid state when
the IVP is run
C2. All TPs must be certified as valid; each TP is assocated with
a set of CDIs it is authorized to manipulate
E1. The system must maintain these lists and must ensure only those
TPs manipulate those CDIs
E2: The system must maintain a list of User IDs, TP, and CDIs that
that TP can manipulate on behalf of that user, and must ensure only
those executions are performed.
C3. The list of relations in E2 must be certified to meet the
separation of duty requirement.
E3. The sysem must authenticate the identity of each user attempting
to execute a TP.
C4. All TPs must be certified to write to an append-only CDI (the
log) all information necessary to resonstruct the operation.
C5. Any TP taking a UDI as an input must be certified to perform
only valid transformations, else no transformations, for any possible
value of the UDI. The transformation should take the input from a
UDI to a CDI, or the UDI is rejected (typically, for edits as the
keyboard is a UDI).
E4. Only the agent permitted to certify entities may change the
list of such entities associated with a TP. An agent that can
certify an entity may not have any execute rights with respect to
that entity
- Cryptography
- codes vs. ciphers
- attacks: ciphertext only, known plaintext, chosen plaintext
- Classical Cryptography
- monoalphabetic (simple substitution):
f(a) = a + k mod n
- example: Caesar with k = 3, RENAISSANCE → UHQDLVVDQFH
- polyalphabetic: Vigenère,
fi(a) = (a + ki) mod n
- Sun Tzu
,
The Art of War, James Clavell, ed., Dell Publishing,
New York, NY ©1983, pp. 26-27
Here is a PDF version of this document.