Clarity, Technology, and Solving Problems | PracticeThis.com
WP7 App with Key Windows Azure resources – Slides, Videos, How-To’s, and T-shooting – for quick consumption on the go.
LinkedIn
When three years ago I started to practice Threat Modeling I thought it is most boring part of security (which itself is not the most fascinating thing to most of people). I hated it since it seemed too boring - interview folks, read tones of specs, and write documents. Come on! I am .Net code guy! But fortunately to me I was motivated by good reasons to keep doing it - one cannot build good design from security perspective unless security is considered through out the design process itself. That is essentially the one and single reason to do Threat Modeling.
Now what approach to take? How actually to conduct Threat Modeling? Here came the confusion...
These are some really good sources of knowledge I tried to adopt:
Seems like we are really crazy about the topic, lets do some search, hmm indeed we really like it:
So which one is the best?
Depends on who you are. Are you developer, architect, IT guy, security auditor, security consultant, doing line of business app, ISV guy, what is your budget, what is your dev culture? There are lot more attributes.
So while I cannot map each each and every attribute to the above Threat Modeling techniques (which have a lots in common anyway), I found the big chunks of the process while conducting Threat Modeling that work for me and my customers. It is also very aligned to Security Language That Every One Understands
Here are my big chunks:
It is not my invention rather what I absorbed from the resources above and adjusted to my needs.
Today I just love Threat Modeling and the above approach works for me - I am still got paid for this :)
Enjoy.
Alik,
Great blog there -- to answer your question of which one is best, I like to look at it as which one is appropriate. This is what I used to tell customers back when I worked on the ACE team and my customers now: for threat modeling line of business applications (LOB), you want to use the ACE threat modeling process. For independent software vendor (ISV) scenarios, that is you are developing software and shipping it to be installed on customer computers (like Word, SQL Server, etc.) then you want to use Frank Swiderski's process.
Incidentally, Frank doesn't work for Microsoft anymore so might be interesting as to what he comes out with next :P
Again, great blog!
Kevin
--
Kevin Lam
Impacta LLC (http://www.impactalabs.com)
"Risk management solutions working for you"
Kevin!
Thanks for nice words and the comment on this post.
Appreciate it.
This post is inspired by Dave Ladd's Security Education v. Security Training My favorite quote is "We
Lifecycle and prioritization seem like a key to successful implementation of Security Engineering. Why
I always suggest conducting Threat Modeling even in advanced dev cycle stages, although it might seem
patterns & practices team maintains Design for Operations [DFO] project on codeplex . The goal of
You probably heard about SDL few times. This is the process that MS apply when developing its products