Skip to content

Instantly share code, notes, and snippets.

@jmeline
Last active March 18, 2021 23:01
Show Gist options
  • Save jmeline/e56d572f454521c4f0eac4db2aa3b213 to your computer and use it in GitHub Desktop.
Save jmeline/e56d572f454521c4f0eac4db2aa3b213 to your computer and use it in GitHub Desktop.
Security 2021 - Threat Modeling

Threat Modeling

Systematically listing all the potential ways one can attack an application

You look at the application at a whole

  • Systematically: repeatable process. Repeatable and consistent process
  • Attack: Look for what can be abused or attacked
  • Probably threat scenarios && list of threats

Terms

  • Weakness - software defect or bug
  • Vulnerability - Weakness that can be exploited
  • Email address field can be abused to inset SQL Statement

Attack

  • Target
  • Attack Vector= path attacker takes to the vulnerablility
  • Threat actor = spammer/the one doing the malicious work
  • Attack surface = anything that can be obtained, used, or attacked by a threat actor

Risk = Impact * Likelihood

"By failing to prepare, you are preparing to fail" - benjamin franklin

Why

  • Pro-active approach - Security up front instead of bolting it on afterwards
  • Efficient - ounce of provention = a pound of cure
  • Prioritize Bugs - get things fixed fast
  • Better understanding - everyone benefits from threat modeling

Asset-centric approach

"If you don't know what to protect, how do you know you're protecting it?" - Kurt Haase

Assets can be a database, etc

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment