Notes for December 3, 1999

  1. Greetings and Felicitations!
  2. Puzzle of the Day
  3. Ideal: program to detect malicious logic
    1. Can be shown: not possible to be precise in most general case
    2. Can detect all such programs if willing to accept false positives
    3. Can constrain case enough to locate specific malicious logic
    4. 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)
  4. Best approach: data, instruction typing
    1. On creation, it's type "data"
    2. Trusted certifier must move it to type "executable"
    3. Duff's idea: executable bit is "certified as executable" and must be set by trusted user
  5. Practise: Trust
    1. Untrusted software: what is it, example (USENET)
    2. Check source, programs (what to look for); C examples
    3. Limit who has access to what; least privilege
    4. Your environment (how do you know what you're executing); UNIX examples
  6. Practise: detecting writing
    1. Integrity check files à la binaudit, tripwire; go through signature block
    2. LOCUS approach: encipher program, decipher as you execute.
    3. Co-processors: checksum each sequence of instructions, compute checksum as you go; on difference, complain
  7. Network security
    1. Main point: just like a system
  8. Review of ISO model
  9. Authentication protocols
    1. Kerberos
  10. PKI
    1. Certificate-based key management
    2. X.509 model, other models
  11. PEM, PGP
    1. Goals: confidentiality, authentication, integrity, non-repudiation (maybe)
    2. Design goals: drop in (not change), works with any RFC 821-conformant MTA and any UA, and exchange messages without prior interaction
    3. Use of Data Exchange Key, Interchange Key
    4. Review of how to do confidentiality, authentication, integrity with public key IKs
    5. Details: canonicalization, security services, printable encoding (PEM)
    6. PGP v. PEM

Send email to

Department of Computer Science
University of California at Davis
Davis, CA 95616-8562

Page last modified on 12/3/99