Outline for October 28, 2022

Reading: text, §24.1–24.5
Due: Homework 3, due November 11; Progress report, due Nov 11 (Note change in due date!)


  1. Aslam
    1. Goal: Treat vulnerabilities as faults
    2. Coding faults: introduced during software development
      1. Synchronization errors
      2. Validation errors
    3. Emergent faults: introduced by incorrect initialization, use, or application
      1. Configuration errors
      2. Environment faults
    4. Introduced decision procedure to classify vulnerabilities in exactly one category

  2. Standards
    1. CVE
    2. CWE

  3. Penetration Studies
    1. Goals
    2. Where to start
      1. Unknown system
      2. Known system, no authorized access
      3. Known system, authorized access

  4. Flaw Hypothesis Methodology
    1. System analysis
    2. Hypothesis generation
    3. Hypothesis testing
    4. Generalization

  5. System Analysis
    1. Learn everything you can about the system
    2. Learn everything you can about operational procedures
    3. Compare to other systems

  6. Hypothesis Generation
    1. Study the system, look for inconsistencies in interfaces
    2. Compare to other systems’ flaws
    3. Compare to vulnerabilities models

  7. Hypothesis testing
    1. Look at system code, see if it would work (live experiment may be unneeded)
    2. If live experiment needed, observe usual protocols

  8. Generalization
    1. See if other programs, interfaces, or subjects/objects suffer from the same problem
    2. See if this suggests a more generic type of flaw

  9. Elimination

  10. Examples
    1. Burroughs B6700 System

UC Davis sigil
Matt Bishop
Office: 2209 Watershed Sciences
Phone: +1 (530) 752-8060
Email: mabishop@ucdavis.edu
ECS 235A, Computer and Information Security
Version of October 27, 2022 at 7:56PM

You can also obtain a PDF version of this.

Valid HTML 4.01 Transitional Built with BBEdit Built on a Macintosh