Notes for December 3, 1999
- Greetings and Felicitations!
- Puzzle of the Day
- 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 (duplicating
OS), dynamic analysis (run it in controlled environment and watch)
- 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: Trust
- Untrusted software: what is it, example (USENET)
- Check source, programs (what to look for); C examples
- Limit who has access to what; least privilege
- Your environment (how do you know what you're executing); UNIX
examples
- 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
- Network security
- Main point: just like a system
- Review of ISO model
- Authentication protocols
- Kerberos
- PKI
- Certificate-based key management
- X.509 model, other models
- PEM, PGP
- Goals: confidentiality, authentication, integrity, non-repudiation
(maybe)
- Design goals: drop in (not change), works with any RFC 821-conformant
MTA and any UA, and exchange messages without prior interaction
- Use of Data Exchange Key, Interchange Key
- Review of how to do confidentiality, authentication, integrity with
public key IKs
- Details: canonicalization, security services, printable encoding
(PEM)
- PGP v. PEM
Send email to
cs153@csif.cs.ucdavis.edu.
Department of Computer Science
University of California at Davis
Davis, CA 95616-8562
Page last modified on 12/3/99