Skip to content

Lecture 1 - The Security Mindset

Lecture 1 - The Security Mindset

eecs-388

Introduction

  • security studies how systems behave in the presence of an adversary
  • adversary - an intelligence that actively tries to cause the system to misbehave
    • e.g. a person, group, institution, AI
  • security mindset - mitigate problems before they can be exploited, by thinking about how attackers might cause a system to fail

Thinking Like an Attacker

  • understand techniques for circumventing security

  • look for ways security can break, not excuses why it won’t

  • always ask what could go wrong

  • look for the weakest links

  • identify assumptions security depends on, and if any are false

    • e.g. “executing a program incorrectly and cleaning it up = not executing it”
  • think outside the box - attackers are not constrained by system designers’ skill sets

    • e.g. software can be attacked via hardware vulnerabilities or physical security weaknesses

Thinking Like a Defender

Security Policies

  • what assets are we trying to protect?
  • what properties are we trying to enforce?
    • e.g. confidentiality, integrity, availability, authenticity

Threat Modeling

  • who are we defending against?
  • attacker motivations?
  • which threats should we disregard?

Assessing Risk

  • what would breaches cost us? (money, safety, reputation)
  • how likely?
  • how to recover?

Selecting Countermeasures

  • costs vs benefits? no security mechanism is free
    • indirect costs include added complexity, false positives, lost productivity
  • technical or nontechnical approaches
    • e.g. law enforcement, procedures, training

Secure Design and Assessment

  • security is a process (something you do), not a product (something you buy)
    • must be practiced continuously during development
  • good design strives for defense-in-depth (layered defenses)
  • instead of trying to convince yourself the system is secure, identify weaknesses and mitigate them
  • focus attention on the:
    • attack surface (parts of the system exposed to attackers)
    • trusted components (parts that must function correctly for system to be secure)
Sep 1, 2026