Notes for November 23, 1998
- Greetings and Felicitations!
- Homework due at 11:59 PM on Monday, November 30 (not just before
class). Late day extended too.
- Puzzle of the Day
- ORCON (Originator Controlled; Graubert)
- Document/information can be passed on with approval of originator;
real world justification is that originator of document trusts
recipients not to release documents which they should not.
- Untrusted subject x marks object O
ORCON on behalf of organization
X and indicates it is releasable to subjects acting on behalf of
not releasable to subjects acting on behalf of other organizations
without X's permission
any copies made have the same restriction
- DAC: can't do this as the restriction would not copy over
(y reads O into C, puts its own ACL on C)
- MAC: separate category with O, x, y.
y wants to read O, copy to C;
MAC means C has same category as O, x, y,
so can't give z access to C.
Say a new organization W wants to provide data in B to y
but not to be shared with x or z.
Can't use O's category. Hence you get explosion of categories.
Real world parallel: individuals are "briefed" into a
category and those represent a formal "need to know" policy
that is standard across the entity; ORCON has no central clearinghouse
to categorize data; originator makes rules.
- owner of object can't change ACL's relationship with object (MAC
- on copy, ACL is copied as well (MAC characteristic)
- access control restrictions can be tailored on a subject/object basis
- Malicious logic
- Quickly review Trojan horses, viruses, bacteria; include animal and
Thompson's compiler trick
- Logic Bombs, Worms (Schoch and Hupp)
- Review trust and TCB
- Notion is informal
- Assume trusted components called by untrusted programs
- Ideal: program to detect malicious logic
- Can be shown: not possible to be precise in most general case
- Can detect all such programs if willing to accept false positives
- Can constrain case enough to locate specific malicious logic
- Can use: writing, structural detection (patterns in code), common
code analyzers, coding style analyzers, instruction analysis
(duplicting OS), dynamic analysis (run it in controlled environment and
- Best approach: data, instruction typing
- On creation, it's type "data"
- Trusted certifier must move it to type "executable"
- Duff's idea: executable bit is "certified as executable"
and must be set by trusted user
- Practise: blocking writing to communicate information or do damage
- Limit writing (use of MAC if available; show how to arrange system
- Practise: Trust
- Untrusted software: what is it, example (USENET)
- Check source, programs (what to look for); C examples
- Limit who has access to what
- Your environment (how do you know what you're executing); UNIX examples
- Least privilege; above with root
- Practise: detecting writing
- Integrity check files à la binaudit,
tripwire; go through signature block
- LOCUS approach: encipher program, decipher as you execute.
- Co-processors: checksum each sequence of instructions, compute
checksum as you go; on difference, complain
You can also see this document
in its native format,
in ASCII text.
Send email to
Department of Computer Science
University of California at Davis
Davis, CA 95616-8562
Page last modified on 11/24/98