
Threat Modeling
Last week, I gave a talk at QCON’s inaugural US conference, as part of Gunnar Peterson’s security track. There were some pretty serious speakers giving talks and I was thrilled to be amongst a set of developers with such deep quals.
I spoke about threat modeling because I think its a reasonable first-step towards implementing “Architectural Analysis”, one of McGraw’s most important touch points. Threat models aim to illuminate the intersection of technical risks (from technical vulnerabilities) and the business assets they target. An active SDLC work product, Security Architects (conducting secure design), Security Analysts (conducting code analysis), and test managers (planning destructive tests) should consume these models. They’re not shelfware.
Slides from my talk are available from the first link above, but I wanted to distill the key steps from threat modeling I covered therein:
- Anchor the threat model on software architecture, that’s where the majority attacks against your application will occur
- Identify assets (critical or sensitive data, and functionality) key to the application’s business function
- Translate use case actors into threats, use into misuse/abuse. Start with normal use cases’ error conditions and alternative flows
- Enumerate attack vectors each attacker may use against the application by pilfering the “low-hanging fruit” from community resources on vulnerability (such as the OWASP Top-10)
Tricks emerge along the way:
- Show privilege escalation or increased system exposure (for instance from unauthorized Internet threats to authorized system use) through simple, common attacks. Show escalation to ‘insider’ in turn through similar attacks
- Layer or combine simple attacks to penetrate systems more deeply
- Show selective targeting of assets (victim clients, data stores, or application functionality) through particular attack selection
Finally, annotate threat diagrams by showing mitigating or compensating controls. While this wasn’t covered by my 50 minute session, its a critical part of a larger ‘loop’ of behavior that begins to create “design for security” out of “model threats”.
Enjoy.
Technorati Tags: threat modeling


December 21st, 2007 at 4:33 pm
[…] Threat Modeling - a blog entry by John Steven […]
January 2nd, 2008 at 10:06 am
Great show!