Study Guide for Midterm

This is simply a guide of topics that I consider fair game for the midterm. I don't promise to ask you about them all, or about any of these in particular; but I may very well ask you about any of these.

  1. Fundamentals
    1. Basics of risk analysis
    2. Saltzer and Schroeder's design principles
    3. Relationship of security policy to security
  2. Ethics and Law
    1. Exporting cryptographic programs, enciphered messages
    2. Ethical and legal problems of break-ins
    3. License to hack
  3. Robust Programming
  4. Security in Programming
    1. Unknown interaction with other system components
    2. Overflow (both numeric and buffer)
    3. Race conditions (TOCTTOU flaw)
    4. Environment (shell variables, UIDs, file descriptors, etc.)
    5. Not resetting privileges
    Vulnerabilities Models
    1. RISOS
    2. PA
    3. Uses
  5. Penetration Studies
    1. Relationship to formal verification and testing
    2. Flaw Hypothesis Methodology
    3. Using vulnerabilities models
  6. Intrusion Detection Systems
    1. Anomaly detection
    2. Misuse detection
    3. Specification detection
  7. Cryptography
    1. Types of attacks: ciphertext only, known plaintext, chosen plaintextt
    2. Types of ciphers: substitution, transposition, product (both substitution and transposition)
    3. Goal of ciphers; what makes a cipher theoretically unbreakable
    4. Caesar cipher, Vigenère cipher, one-time pad
    5. What the DES is, characteristics
    6. Public key cryptosystems
    7. RSA
    8. Confidentiality and authentication with secret key and public key systems

You can also see this document in its native format, in Postscript, in PDF, or in ASCII text.
Send email to

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

Page last modified on 11/5/98