![]() |
![]() |
|
November 20, 2008"Experiences" Threat Modeling at MicrosoftIf there is one thing we can learn from the past, it is that we are doomed to repeat our failures if we ignore it. The reciprocal is also true. If we reflect on our experiences properly, there is a lot we can learn from it. In the world of designing secure code, this becomes more apparant as we see Microsoft's SDL process mature. Next year will hit the 10 year mark where threat modeling, as a formalized methodology, has been going on at Microsoft. In its infancy in 1999 only a few people at Microsoft were engaged in this. Now... every team is. And we can see the benefits of that when we reflect on the less critical bugs that have been reported in the last few years. Today I cam across an interesting paper by Adam Shostack titled "Experiences Threat Modeling at Microsoft". Adam has ownership of the SDL Tool I mentioned earlier this month, and it was interesting to see his approach in explaining how Microsoft is focusing on threat modeling, and how the design is for normal developers, and NOT for security experts alone. This is a critical point. Where in the past Microsoft has indicated it was important to do bainstorming sessions with a security expert in tow, now ownership of the model comes from the developers themselves. By designing tools that allow the architects, designers and developers to all know how to look at threats to their systems, everyone benefits. It's more cost effective. And it raises the bar as everyone thinks more critical about the security impacts of the code. This is rather refreshing. And a good, quick read. So check out the paper. Happy reading! November 11, 2008Introduction to Microsoft's SDL Threat Modeling ToolIf you design and/or write code, building trustworthy software may or may not be a driver in your team. If you care to build secure code (which I would assume since you read my blog) threat modeling may be a very important part of your development lifecycle. If you are a regular reader of this blog, you know earlier this year I challenged Microsoft to cross-breed The Microsoft TAM tool with Microsoft's internal threat modeling tool that they use for their own commercial software. While the TAM tool is a great application threat modeling tool, it doesn't align well with the use of STRIDE, as part of SDL. You can see the difference in the two processes with this image: During MVP summit, Alun, Jesper and I sat in on a developer security session where I pressured hard on Adam Shostack, the owner of the tool within Microsoft, to release this tool to the community. At the time it was heavily coded to use internal Microsoft resources and pathings, and just wasn't in a position to be released outside the corporate LAN. Well, I am proud to annouce that Adam and his team listened to our feedback, and released a beta of the tool this week for FREE to the community. You can download it here. John Bristowe, Developer Evangelist for Microsoft, heard about this and invited me on to a podcast where we talk about the tool. You can check out John's blog post here, or download the MP3 here. And finally, if you download the SDL Threat Modeling Tool and would like to discuss how best to use it, want to report ways you think it could be better, or want to report potential defects, you can visit the Microsoft Security Development Lifecycle (SDL) - Threat Modeling MSDN forum here. I am one of the moderators there, so if you would like to talk to me about the tool, this would be a great avenue to do so. Many thanks to Adam, his team and Microsoft for releasing such a useful tool that can significantly help in the threat modeling process, and drastically reduce the time and associated costs in making this process part of the development lifecycle of many different dev shops in the community. November 08, 2008Developing applications to work as a Standard User in VistaHave you ever felt that the UAC prompts in Vista are annoying? Well, did you know a LOT of them could be avoided if developers would just design their code in a way where they don't pass a privilege boundary and require elevation? Simple examples would include writing to privileged areas of the registry, and to areas of the file system that are ACL tight. Sometimes its difficult for developers to understand WHAT requires elevation, and what doesn't. Microsoft has answered this with a special project written by Aaron Margosis called "LUA Buglight". If you haven't heard of it before, LUA Buglight is a utility that helps identify "LUA bugs" in applications -- application features that that fail as standard user but that work as administrator. Aaron works on it in his spare time, so progress has been slow. But his recent release has some nice updates, including:
If you would like to download it, check out Aaron's latest post here. November 01, 2008LiveID becomes an OpenID providerSo here is something interesting for the OpenID world. Microsoft has commited to supporting OpenID for Live services. Not only are they commiting to it... they already have a working IdP!!! You can check it out here. Right now it is a beta, and shouldn't be used for real identity control. The main reason is the INT database is not wired to the product Live services. Oh, and a warning. If you sign up at https://login.live-INT.com/ PLEASE DON'T USE THE SAME PASSWORD that you do for your production LiveID account. For obvious reasons. Interestingly enough, shouldn't be long before you can use OpenID and prove your identity using your Information Card from LiveID. How cool is that! |
![]() ![]()
My 5 Favorite Books
Writing Secure Code
Secure Programming Cookbook Security Engineering Secure Coding Principles & Practice Inside the Security Mind ![]()
My 5 Favorite Papers
Smashing the Stack
Penetration Studies Covert Channel Analysis of Trusted Systems DoD Trusted Computer System Evaluation Criteria NSA Security Recommendation Guides ![]()
Archives
March 2010
October 2009 August 2009 May 2009 April 2009 March 2009 February 2009 January 2009 December 2008 November 2008 October 2008 September 2008 August 2008 July 2008 June 2008 April 2008 January 2008 December 2007 November 2007 October 2007 September 2007 August 2007 July 2007 June 2007 May 2007 April 2007 March 2007 February 2007 January 2007 December 2006 November 2006 October 2006 September 2006 August 2006 July 2006 June 2006 May 2006 April 2006 March 2006 February 2006 January 2006 December 2005 November 2005 October 2005 September 2005 August 2005 July 2005 June 2005 May 2005 April 2005 March 2005 February 2005 January 2005 December 2004 November 2004 October 2004 September 2004 August 2004 July 2004 June 2004 May 2004 April 2004 March 2004 February 2004 January 2004 December 2003 November 2003 October 2003 September 2003 August 2003 July 2003 June 2003 May 2003 April 2003 March 2003 February 2003 January 2003 December 2002 November 2002 October 2002 September 2002 August 2002 July 2002 ![]() |
|