Introduction to Computer Security

Assets, adversaries and trust boundaries — and the engineering that holds them

About this course

Security as engineering: threat models and least privilege, memory safety and injection, web origins and sessions, cryptographic building blocks and authenticated encryption, certificates and secure channels, isolation and sandboxing, supply chains, detection and response, and one application taken through a full review.

What you will be able to do

  • Draw a system's assets, adversaries and trust boundaries, and derive its threat model
  • Explain memory-safety and injection failures from the state the code actually trusts
  • Use cryptographic primitives, authenticated encryption and certificates correctly
  • Design with isolation, least privilege and a defensible supply chain
  • Test a system in a controlled lab and take it through a security review

What this course covers

  • Memory State as Foundation for Security Policy
  • Spatial Safety and Bounds Checking
  • Temporal Safety and Use-After-Free via Generation Handles
  • Arithmetic Safety and Integer Overflow in Allocation
  • Scope of Evidence and Layered Security Arguments
  • Three Invariants and Their Enforcement Points
  • Four Cryptographic Properties and Primitive Boundaries
  • Hash Functions: Integrity Only With a Trusted Reference
  • Unambiguous Encoding Before Authentication
  • Message Authentication Codes and Shared-Key Limits
  • Authorization as Separate from Authentication
  • Digital Signatures and Key-Association Trust
  • Freshness and Replay Prevention via Receiver State
  • Four Cryptographic Properties and Primitive Boundaries
  • Hash Functions: Integrity Only With a Trusted Reference
  • Encoding Ambiguity and Field Binding
  • Message Authentication Codes: Shared-Key Authentication and Its Limits
  • Authorization as a Separate Gate from Authentication
  • Digital Signatures: Asymmetric Verification and Key-Trust Separation
  • Freshness and Replay Prevention via Receiver State
  • Complete Receiver Chain and Confidentiality Preview
  • Isolation as a Constrained Authority Boundary
  • Policy, Enforcement Mechanism, and Evidence as Distinct Layers
  • Permission Grid: Operation–Object Pairs and Least Authority
  • Four Routes Out of a Compartment
  • Process Separation vs. Actual Sandbox Confinement
  • Broker Authorization: Binding Requests to Trusted Job Input
  • Resource Budgets and Output Validation as Separate Obligations
  • Evidence Stages and Collection Assumptions
  • Structured Serialization and Field-Boundary Integrity
  • Failure-Count Detector with Window and Deduplication Rules
  • Detector Evaluation with Labeled Histories and Confusion Table
  • Log Integrity via Chained MAC and Trusted Checkpoint
  • Credential Revocation, Account Blocking, and Verified Recovery
  • Unified Evidence Chain and Operational Scope Discipline
  • Assets, Security Properties, and Policy Claims
  • Adversary Capabilities and Trust Assumptions
  • Trust Boundaries, Authority Flows, and Alternate Paths
  • Finite Enumeration and Negative Controls as Security Evidence
  • Authentication-Before-Use: The Release Gate
  • Authenticated Encryption with Associated Data (AEAD) Interface
  • Context Binding and the Substitution Attack
  • Nonce Uniqueness Requirement and Nonce-Reuse Failure
  • Replay Resistance as a Receiver-Side State Problem
  • Nonce Allocation Strategy and Exhaustion
  • Authorization and Version-Use Policy After Decryption
  • Stateful Revocation Testing and Mutation Diagnosis
  • Authorization Grid: Coverage, Oracles, and Mutation Sensitivity
  • Claim, Input, Oracle, and Observation Framework
  • Boundary Testing and Mutation Sensitivity for Packet Parsing
  • Data-to-syntax boundary and injection mechanics
  • Structural choices vs. value binding (sort-column mapping)
  • Delayed (stored-value) injection and provenance tracking
  • Authorization policy completeness vs. structural protection
  • Principal, credential, and request as distinct objects
  • Bearer credentials and the session life cycle
  • Session acceptance rule and state-ordering correctness
  • Session fixation and token rotation on privilege change
  • Challenge–response and one-time ticket consumption
  • Account recovery as an authentication attack surface
  • Authentication as a chain of linked dependencies
  • Security invariants over paths, state, and retries
  • Request-grid testing and independent test oracles
  • Complete mediation across effect paths
  • Time-of-check / time-of-use (TOCTOU) and decision freshness
  • Fail-closed behavior versus permissive exception handling
  • Atomic artifact-and-receipt transactions for idempotent retries
  • Integrated design argument and finite evidence limits
  • Authorization as principal-action-object triples
  • Confused deputy: substituting component authority for requester permission
  • Policy matrix and explicit default denial
  • Roles and object-scoped relationships as policy representations
  • Capability attenuation and delegation containment
  • Temporal limits of revocation and closing synthesis
  • Preserving request context across component boundaries
  • Four-light request model: sent, authenticated, changed, readable
  • Origin identification: scheme, host, and effective port tuple
  • Same-origin policy scope and the response-gate distinction
  • Cookie scope, same-site vs. same-origin, and attachment rules
  • Synchronizer token: session binding and correct validation
  • HTTP-only cookies: credential read vs. authenticated request authority
  • 12-case policy grid and experimental discrimination
  • Harbor application structure and protected assets
  • Trust boundaries and the meaning-change rule
  • Evidence ledger and scope of the capstone review
  • Path-coverage graph and its limits
  • Composed controls: envelope validation, stale-state detection, and retry binding
  • Release path and multi-step trust gaps
  • Four-question admission framework
  • Content digest binding to signed manifest
  • Target and component specificity
  • Key role authorisation vs. signature validity
  • Threshold signature policy
  • Limits of admission checks: behavioral safety and supply chain
  • Version memory and rollback prevention
  • Expiry and temporal freshness policy
  • Check-to-use gap and immutable verified value
  • Endpoint Identity vs. Encrypted Channel
  • Certificates, Trust Anchors, and the Two-Lane Model
  • Certificate Path Validation Controls
  • Parsing, Signature Checking, and Identity Acceptance as Distinct Steps
  • Host Name Checking as an Independent Verification Input
  • Public Certificate vs. Private Key Capability
  • Certificate Validity Intervals and Verification Time
  • Diagnosing Certificate Failures Without Disabling Verification
  • TLS Channel Protection and Application-Layer Authorization as Separate Layers

Syllabus

  1. Threats, Principals and Privilege

    1. L1 · Assets, Adversaries, and Trust Boundaries
    2. L2 · Principals and Authentication
    3. L3 · Authorization and Least Privilege
  2. Software Vulnerabilities

    1. L4 · Memory Safety and Unsafe State
    2. L5 · Injection and Interpreted Data
    3. L6 · Web Origins and Session Security
  3. Cryptography in Practice

    1. L7 · Cryptographic Building Blocks
    2. L8 · Authenticated Encryption and Key Use
    3. L9 · Certificates and Secure Channels
  4. Isolation and Secure Design

    1. L10 · Isolation and Sandboxing
    2. L11 · Secure Design and Implementation
    3. L12 · Software Supply Chains and Updates
  5. Operating Securely

    1. L13 · Logging, Detection, and Response
    2. L14 · Security Testing in Controlled Labs
    3. L15 · One Application Through a Security Review