<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Threat Modeling Again, Presenting the PlaySound Threat Model</title><link>http://blogs.msdn.com/b/larryosterman/archive/2007/09/17/threat-modeling-again-presenting-the-playsound-threat-model.aspx</link><description>It's been a long path, but we're finally at the point where I can finally present the threat model for PlaySound. None of the information in this post is new, all the information is pulled from previous posts. ---------------- PlaySound Threat Model The</description><dc:language>en-US</dc:language><generator>Telligent Evolution Platform Developer Build (Build: 5.6.50428.7875)</generator><item><title>re: Threat Modeling Again, Presenting the PlaySound Threat Model</title><link>http://blogs.msdn.com/b/larryosterman/archive/2007/09/17/threat-modeling-again-presenting-the-playsound-threat-model.aspx#5244469</link><pubDate>Tue, 02 Oct 2007 18:57:44 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:5244469</guid><dc:creator>Larry Osterman [MSFT]</dc:creator><description>&lt;p&gt;Thor, in the analysis for the WAV file data store, there's the following comment: &lt;/p&gt;
&lt;p&gt;&amp;quot;The PlaySound API will check for errors when reading from the store and will return an error indication to its caller (if possible). When PlaySound is running in the &amp;quot;resource or memory location&amp;quot; mode and the SND_ASYNC flag is specified, the caller may unmap the virtual memory associated with the WAV file. &amp;nbsp;In that case, the PlaySound may access violate while rendering the contents of the file[2]. &amp;nbsp;Bug #XXXX filed to validate this mitigation. &amp;quot;&lt;/p&gt;
&lt;p&gt;I believe that this addresses your concern.&lt;/p&gt;
&lt;p&gt;Note that an access violation in this case isn't considered a defect or a security hole (see my threat modeling rules of thumb - if the attack requires that the attacker run code in your process, it's not a big deal). &amp;nbsp;It's possible that this could be used as one step in a multi-part compromise, but I'm willing to live with that risk. &amp;nbsp;&lt;/p&gt;
&lt;p&gt;Having said that, there IS a design issue that this exposes: there's no way of knowing when PlaySound is done with playing a sound if you specify the SND_ASYNC flag.&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=5244469" width="1" height="1"&gt;</description></item><item><title>re: Threat Modeling Again, Presenting the PlaySound Threat Model</title><link>http://blogs.msdn.com/b/larryosterman/archive/2007/09/17/threat-modeling-again-presenting-the-playsound-threat-model.aspx#5244018</link><pubDate>Tue, 02 Oct 2007 18:32:48 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:5244018</guid><dc:creator>Thor Larholm</dc:creator><description>&lt;p&gt;&amp;quot;It can play the contents of a Win32 resource or other memory location passed in as a parameter to the API.&amp;quot;&lt;/p&gt;
&lt;p&gt;I don't recall seeing this mode of operation mentioned in the earlier articles of this series. Where is its data flow in the diagram and its remediations? I would definitely want to ensure some level of correctness on this argument.&lt;/p&gt;
&lt;p&gt;Cheers&lt;/p&gt;
&lt;p&gt;Thor Larholm&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=5244018" width="1" height="1"&gt;</description></item><item><title>Some final thoughts on Threat Modeling...</title><link>http://blogs.msdn.com/b/larryosterman/archive/2007/09/17/threat-modeling-again-presenting-the-playsound-threat-model.aspx#5225282</link><pubDate>Mon, 01 Oct 2007 19:54:26 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:5225282</guid><dc:creator>Larry Osterman's WebLog</dc:creator><description>&lt;p&gt;I want to wrap up the threat modeling posts with a summary and some comments on the entire process. Yeah,&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=5225282" width="1" height="1"&gt;</description></item><item><title>The Trouble with Threat Modeling</title><link>http://blogs.msdn.com/b/larryosterman/archive/2007/09/17/threat-modeling-again-presenting-the-playsound-threat-model.aspx#5149327</link><pubDate>Wed, 26 Sep 2007 22:27:53 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:5149327</guid><dc:creator>The Security Development Lifecycle</dc:creator><description>&lt;p&gt;Adam Shostack here. I said recently that I wanted to talk more about what I do. The core of what I do&lt;/p&gt;
&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=5149327" width="1" height="1"&gt;</description></item><item><title>re: Threat Modeling Again, Presenting the PlaySound Threat Model</title><link>http://blogs.msdn.com/b/larryosterman/archive/2007/09/17/threat-modeling-again-presenting-the-playsound-threat-model.aspx#4997961</link><pubDate>Wed, 19 Sep 2007 18:27:42 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:4997961</guid><dc:creator>Adam</dc:creator><description>&lt;p&gt;Thanks. &amp;nbsp; To be clear, my issue wasn't really the wording, it was the issue that you surfaced--a lot of the work feels like a waste. &amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=4997961" width="1" height="1"&gt;</description></item><item><title>re: Threat Modeling Again, Presenting the PlaySound Threat Model</title><link>http://blogs.msdn.com/b/larryosterman/archive/2007/09/17/threat-modeling-again-presenting-the-playsound-threat-model.aspx#4992340</link><pubDate>Wed, 19 Sep 2007 07:31:29 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:4992340</guid><dc:creator>Larry Osterman [MSFT]</dc:creator><description>&lt;p&gt;Point taken. &amp;nbsp;The wording was unquestionably awkwards.&lt;/p&gt;
&lt;p&gt;And you're absolutely 100% right. &amp;nbsp;We don't know what's going to be a problem - threat modeling helps us know where to look.&lt;/p&gt;
&lt;p&gt;Of course, it leaves out the bigger question: did we do the modeling correctly? &amp;nbsp;Did we actually check what we needed to check? What did we miss?&lt;/p&gt;
&lt;p&gt;The firefoxurl in the next post is a great example of this: Something &amp;lt;i&amp;gt;was&amp;lt;/i&amp;gt; missed, the challenge is to determine what and why.&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=4992340" width="1" height="1"&gt;</description></item><item><title>re: Threat Modeling Again, Presenting the PlaySound Threat Model</title><link>http://blogs.msdn.com/b/larryosterman/archive/2007/09/17/threat-modeling-again-presenting-the-playsound-threat-model.aspx#4992248</link><pubDate>Wed, 19 Sep 2007 07:13:01 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:4992248</guid><dc:creator>Adam</dc:creator><description>&lt;p&gt;&amp;lt;em&amp;gt;Let's look at a slightly more interesting case where threat modeling exposes an issue.&amp;lt;/em&amp;gt;&lt;/p&gt;
&lt;p&gt;I have to admit..I winced really hard when I read that. &amp;nbsp;But then I thought about it, and I want to add to it.&lt;/p&gt;
&lt;p&gt;&amp;lt;p&amp;gt;&lt;/p&gt;
&lt;p&gt;What you've been doing here is walking through a lot of possibilities. &amp;nbsp;Some of those turn out to be uninteresting, and we learn something. &amp;nbsp;Others (as we've discussed) were pretty clearly uninteresting, and we need to evolve the process more.&lt;/p&gt;
&lt;p&gt;&amp;lt;p&amp;gt;&lt;/p&gt;
&lt;p&gt;Before you started, we didn't know how many of these would expose issues or not. &amp;nbsp;Threat modeling has given us confidence that you've thought through these issues. &amp;nbsp;And that's worth a lot.&lt;/p&gt;
&lt;p&gt;&amp;lt;p&amp;gt;&lt;/p&gt;
&lt;p&gt;In an ideal world, we'd help you find out which ones aren't relevant in less time. &lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=4992248" width="1" height="1"&gt;</description></item></channel></rss>