<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" 
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	>

<channel>
	<title>My Security Planet &#187; Security Vulnerability Research &amp; Defense</title>
	<link>http://rgaucher.info/planet/</link>
	<description>My Security Planet &#187; Security Vulnerability Research &amp; Defense</description>
	<generator>Gregarius 0.5.4</generator>
	<language>en</language>
	<item>
		<title>Security Vulnerability Research &amp;amp; Defense: The Enhanced Mitigation Experience Toolkit 2.0 is Now Available</title>
		<link>http://blogs.technet.com/b/srd/archive/2010/09/02/enhanced-mitigation-experience-toolkit-emet-v2-0-0.aspx</link>
		<pubDate>Thu, 02 Sep 2010 12:00:00 -0500</pubDate>
		<guid>http://blogs.technet.com/b/srd/archive/2010/09/02/enhanced-mitigation-experience-toolkit-emet-v2-0-0.aspx</guid>
		<content:encoded><![CDATA[	<p>
  Today we are pleased to announce the availability of the Enhanced Mitigation Experience Toolkit (EMET) version 2.0.&nbsp; Users can <a href="http://go.microsoft.com/fwlink/?LinkID=200220&amp;clcid=0x409">click here to download the tool</a> free of charge.&nbsp;
</p>
<p>
  &nbsp;&nbsp;
</p>
<p>
  For those who may be unfamiliar with the tool, EMET provides users with the ability to deploy security mitigation technologies to arbitrary applications. &nbsp;This helps prevent vulnerabilities in those applications (especially line of business and 3rd party apps) from successfully being exploited. &nbsp;By deploying these mitigation technologies on legacy products, the tool can also help customers manage risk while they are in the process of transitioning over to modern, more secure products.&nbsp; In addition, it makes it easy for customers to test mitigations against any software and provide feedback on their experience to the vendor.
</p>
<p>
  &nbsp;
</p>
<p>
  Below is a screenshot of the tool, which features a brand new interface as part of this release.
</p>
<p>
  &nbsp;
</p>
<p>
  <a href="http://blogs.technet.com/cfs-filesystemfile.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-61-47/1803.EMT-v2-GUI.png"><img alt="" src="http://blogs.technet.com/resized-image.ashx/__size/550x0/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-61-47/8080.EMETv2.png" /></a>
</p>
<p>
  &nbsp;
</p>
<p>
  The installation package for EMET v2.0 includes a detailed user guide.&nbsp; A copy can also be found at the bottom of this post.&nbsp; It gives an overview of the tool, instructions on how to use it, answers to frequently asked questions, and caveats about the mitigations that users should be aware of.&nbsp; Please be sure to read the guide before using the tool.
</p>
<p>
  &nbsp;
</p>
<p>
  Additionally, the <a href="http://technet.microsoft.com/en-us/security/cc261637.aspx">BlueHat</a> team has helped us put together a training video on EMET v2.0.&nbsp; The video gives an even more in-depth look at some of the security mitigations offered by the tool.&nbsp; You can <a href="http://technet.microsoft.com/en-us/security/ff859539.aspx">watch the video online here</a>.
</p>
<p>
  &nbsp;
</p>
<p>
  To get more information on how this FREE tool can help you take advantage of the protections it offers please refer to our <a href="http://blogs.technet.com/b/srd/archive/2010/07/28/announcing-the-upcoming-release-of-emet-v2.aspx">previous blog post</a> announcing the upcoming release.&nbsp; That post also gives a rundown of all the changes that are new with the 2.0 version.
</p>
<p>
  &nbsp;
</p>
<p>
  As always, we welcome your feedback and would like to hear more about your experiences with EMET.&nbsp; Please feel free to e-mail us at <a href="mailto:switech@microsoft.com">switech@microsoft.com</a>
</p>
<p>
  &nbsp;
</p>
<p>
  - Andrew Roths and Fermin J. Serna
</p><img alt="" src="http://blogs.technet.com/aggbug.aspx?PostID=3350378" /> ]]></content:encoded>
</item>
<item>
		<title>Security Vulnerability Research &amp;amp; Defense: An update on the DLL-preloading remote attack vector</title>
		<link>http://blogs.technet.com/b/srd/archive/2010/08/31/an-update-on-the-dll-preloading-remote-attack-vector.aspx</link>
		<pubDate>Tue, 31 Aug 2010 16:00:00 -0500</pubDate>
		<guid>http://blogs.technet.com/b/srd/archive/2010/08/31/an-update-on-the-dll-preloading-remote-attack-vector.aspx</guid>
		<content:encoded><![CDATA[	<p>
  Last week, we released <a href="http://www.microsoft.com/technet/security/advisory/2269637.mspx">Security Advisory 2269637</a> notifying customers of a publicly disclosed remote attack vector to a class of vulnerabilities affecting applications that load dynamic-link libraries (DLL’s) in an insecure manner. At that time, we also <a href="http://blogs.technet.com/b/msrc/archive/2010/08/21/microsoft-security-advisory-2269637-released.aspx">released a tool</a> to help protect systems by disallowing unsafe DLL-loading behavior.
</p>
<p>
  Today we wanted to provide an update by answering several questions we have received from customers and addressing common misperceptions about the risk posed by this class of vulnerability.
</p>
<ul>
  <li>The user experience of the exploit in progress
  </li>
  <li>The dangers of untrusted, Internet-zone WebDAV
  </li>
  <li>Enabling the CWDIllegalInDllSearch protection tool
  </li>
</ul>
<p>
  <b>The user experience of the exploit in progress</b>
</p>
<p>
  <i>This class of vulnerabilities does not enable a “driveby” or “browse-and-get-owned” 0-click attack.</i> To be exploited, a victim would need to browse to a malicious WebDAV server or a malicious SMB server and double-click a file in the Windows Explorer window that the malicious server displays. Let’s walk through an example of what an attack might look like:
</p>
<p>
  First, the user browses to a malicious website:
</p>
<p>
  <img alt="" src="http://blogs.technet.com/resized-image.ashx/__size/550x0/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-61-47/6710.hacku.png" />
</p>
<p>
  The website would then attempt to display a new Windows Explorer window that points to a malicious WebDAV or SMB share. On systems running Protected Mode, Internet Explorer will require user consent to launch Windows Explorer, using a security warning like the one below. Protected Mode is enabled by default for Internet Explorer on Windows Vista, Windows Server 2008, Windows 7, and Windows Server 2008 R2.
</p>
<p>
  <img alt="" src="http://blogs.technet.com/resized-image.ashx/__size/550x0/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-61-47/5008.protectedmode.png" />
</p>
<p>
  After the user allows Windows Explorer to launch (or if they have previously requested that Internet Explorer no longer display this warning), the user will be presented with a Windows Explorer dialog that is likely to look like the one below:
</p>
<p>
  <img alt="" src="http://blogs.technet.com/resized-image.ashx/__size/550x0/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-61-47/4075.hacku_2D00_explorer.png" />
</p>
<p>
  At this point, if the user were to double-click the data file on the share, the affected application could potentially run attacker code that is separately hosted on the same WebDAV server.
</p>
<p>
  <b>The dangers of untrusted, Internet-zone WebDAV</b>
</p>
<p>
  As described above, this class of vulnerabilities could allow malicious code to run if an attacker can convince a victim to do the following:
</p>
<ul>
  <li>Browse to a malicious, untrusted WebDAV server in the Internet Zone; and
  </li>
  <li>Double-click a file that appears by its extension and icon to be safe
  </li>
</ul>
<p>
  Unfortunately, based on attack patterns we have seen in recent years, we believe it is no longer safe to browse to a malicious, untrusted WebDAV server in the Internet Zone and double-click on <b><i>any</i></b> type of files. Attackers are clever, substituting dangerous file icons with safe, trusted file icons. They have even recently begun obfuscating the filename based on character encoding tricks (such as right-to-left character encoding). Their goal is to entice unsuspecting users into double-clicking on a malicious executable. With or without this new remote vector to the DLL Preloading issue, it’s very hard to make a trust decision given the amount of control an attacker has over the malicious WebDAV server browsing experience. We recommend users only double-click on file icons from WebDAV shares known to be trusted, safe, and not under the control of a malicious attacker.
</p>
<p>
  <b>Enabling the CWDIllegalInDllSearch protection tool</b>
</p>
<p>
  We have received several questions regarding the best way to enable the protection tool released on the Microsoft Download Center last week.
</p>
<p>
  First, you should know that downloading and installing the tool alone will not protect a workstation from vulnerable applications. It ships “off-by-default” and must be enabled either system-wide or for specific applications. After releasing this tool, we received a number of questions on how best to deploy it. We have now updated the KB article to address them. We encourage you to review the updated <a href="http://support.microsoft.com/kb/2264107">knowledge base article 2264107</a>.
</p>
<p>
  Secondly, customers have asked us to recommend the best setting among the three choices. We recommend one of two settings, depending on the specific risk about which you are concerned.
</p>
<ul>
  <li>Setting the CWDIllegalInDllSearch regkey to 2 system-wide will completely block any network-based attack. We’ve built an automated Fix-it solution to enable that. You can click the Fix-it graphic below on systems that have already installed the tool to set CWDIllegalInDllSearch = 2, blocking DLL loads from the current working directory for both WebDAV and SMB except in cases where the application is run from a WebDAV or SMB share.
  </li>
</ul>
<p>
  <a href="http://go.microsoft.com/?linkid=9742148"><img alt="" src="http://blogs.technet.com/resized-image.ashx/__size/550x0/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-61-47/8176.fixit.png" /></a>
</p>
<p>
  Note: The Fix-it itself does not install the <a href="http://support.microsoft.com/kb/2264107">workaround tool</a>. You’ll need to separately download and install the tool beforehand.
</p>
<ul>
  <li>To instead completely block all DLL-preloading attack vectors, including the threat of malicious files on a USB thumb drive or files arriving via email as a ZIP attachment, set CWDIllegalInDllSearch to 0xFFFFFFFF. This will address any DLL preloading vulnerabilities that may exist in applications running on your system. However, it may have some unintended consequences for applications that require this behavior, so we do recommend thorough testing.
  </li>
</ul>
<p>
  This section option can be enabled by following these steps:
</p>
<ul>
  <li>Install the tool from <a href="http://support.microsoft.com/kb/2264107">KB2264107</a>.
  </li>
  <li>Log on to your computer as an administrator.
  </li>
  <li>Open Registry Editor.
  </li>
  <li>Locate and then click the following registry subkey: HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession Manager
  </li>
  <li>Right-click Session Manager, point to New, and then click Dword Value.
  </li>
  <li>Type CWDIllegalInDllSearch, and then click Modify.
  </li>
  <li>In the Value data box, type 0xFFFFFFFF, and then click OK.
  </li>
</ul>
<p>
  While the impact of the above change seems to be low, a reader of this blog wrote in that he experienced a compatibility issue with the Outlook 2002 address book. If you experience issues such as this, they can be mitigated by setting a special policy for the affected binaries that overrides the default CWDIllegalInDllSearch. The following steps show how to do this for OUTLOOK.EXE:
</p>
<ul>
  <li>Log on to your computer as an administrator.
  </li>
  <li>Open Registry Editor.
  </li>
  <li>Locate and then click the following registry subkey: HKEY_LOCAL_MACHINESoftwareMicrosoftWindows NTCurrentVersionImage File Execution OptionsOUTLOOK.EXE
  </li>
  <li>If a key with the application binary name does not exist, then you will have to create one.
  </li>
  <li>Right-click OUTLOOK.EXE, point to New, and then click Dword Value.
  </li>
  <li>Type CWDIllegalInDllSearch,and then click Modify.
  </li>
  <li>In the Value data box, type 2, and then click OK.
  </li>
</ul>
<p>
  This will still prevent OUTLOOK.EXE from loading DLL’s from a remote network share or WebDAV location, but it does not remove CWD from the library search path for this application altogether. This process can be repeated for all other applications that may no longer work correctly. As discussed, we don’t believe this will be common, but we do recommend testing.
</p>
<p>
  Thanks for your interest in this issue. Please send questions in to switech@microsoft.com.
</p>
<p>
  Jonathan Ness, MSRC Engineering<br />
  Maarten Van Horenbeeck, MSRC Program Manager
</p>
<p>
  *Posting is provided "AS IS" with no warranties, and confers no rights.*
</p><img alt="" src="http://blogs.technet.com/aggbug.aspx?PostID=3352902" /> ]]></content:encoded>
</item>
<item>
		<title>Security Vulnerability Research &amp;amp; Defense: More information about the DLL Preloading remote attack vector</title>
		<link>http://blogs.technet.com/b/srd/archive/2010/08/23/more-information-about-dll-preloading-remote-attack-vector.aspx</link>
		<pubDate>Mon, 23 Aug 2010 17:00:00 -0500</pubDate>
		<guid>http://blogs.technet.com/b/srd/archive/2010/08/23/more-information-about-dll-preloading-remote-attack-vector.aspx</guid>
		<content:encoded><![CDATA[	<p>
  Today we released <a href="http://www.microsoft.com/technet/security/advisory/2269637.mspx">Security Advisory 2269637</a> notifying customers of a remote attack vector to a class of vulnerabilities affecting applications that load DLL’s in an insecure manner. The root cause of this issue has been understood by developers for some time. However, last week researchers published a remote attack vector for these issues, whereas in the past, these issues were generally considered to be local and relatively low impact. In this blog post, we’d like to share:
</p>
<ul>
  <li>
    <b>Background about the vulnerability</b>
  </li>
  <li>
    <b>Information to help you make a risk assessment for your environment</b>
  </li>
  <li>
    <b>An optional binary update you can install to protect your systems</b>
  </li>
  <li>
    <b>Guidance for developers</b>
  </li>
  <li>
    <b>What Microsoft is doing</b>
  </li>
</ul>
<p>
  <b>The vulnerability</b>
</p>
<p>
  When an application loads a DLL without specifying a fully qualified path name, Windows will attempt to locate the DLL by searching a defined set of directories. We have discussed the DLL search path <a href="http://blogs.technet.com/b/srd/archive/2009/04/14/ms09-014-addressing-the-safari-carpet-bomb-vulnerability.aspx">on this blog</a> and it has also been explained well on <a href="http://blogs.msdn.com/b/david_leblanc/archive/2008/02/20/dll-preloading-attacks.aspx">David LeBlanc’s blog</a>. For the sake of this issue, its sufficient to say that if an attacker can cause an application to LoadLibrary() while the application’s current directory is set to an attacker-controlled directory, the application will run the attacker's code. <a href="http://msdn.microsoft.com/en-us/library/ff919712(VS.85).aspx">Development best practices</a> state that applications should call SetDllDirectory with a blank path before calling LoadLibrary(“foo.dll”) to ensure that foo.dll is not loaded from the current directory. We are investigating whether any of our own applications are affected by this class of vulnerability so that we can take appropriate action to protect customers.
</p>
<p>
  <b>Making a risk assessment for your environment</b>
</p>
<p>
  The most likely exploit scenario involves an attacker convincing the victim to&nbsp;open a&nbsp;file hosted on an attacker-controlled SMB or WebDAV share. The file itself would not necessarily be malicious or malformed. The key is that the file is loaded from a location where an attacker can also place a malicious DLL with the same name as a DLL the vulnerable application loads.
</p>
<p>
  If a perimeter firewall prevents a system from making outbound SMB or WebDAV connections to attacker-controlled locations, this issue poses little risk.&nbsp;An attack&nbsp;cannot be automatically launched through email or web browsing attack vectors; a user must choose to open a file. However we recognize that users will often open trusted filetypes. We continue to recommend that all outbound SMB is filtered at the perimeter firewall.&nbsp;In addition,&nbsp;the <a href="http://www.microsoft.com/technet/security/advisory/2269637.mspx">security advisory</a> recommends disabling the WebDAV client service on workstations to prevent outbound WebDAV connections.
</p>
<p>
  <b>A tool you can use to protect your systems</b>
</p>
<p>
  Another option for protecting your systems is to deploy a tool that can help prevent exploitation of this issue. <a href="http://support.microsoft.com/kb/2264107">Knowledge Base article 2264107</a> offers for download a tool that allows customers to selectively change the library loading behavior, either system-wide or for specific applications.
</p>
<p>
  Customers can set the following two registry keys:&nbsp;
</p>
<pre>
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControl<br /> Session ManagerCWDIllegalInDllSearch<br />HKEY_LOCAL_MACHINESoftwareMicrosoftWindows NTCurrentVersion<br /> Image File Execution Optionsbinaryname.exeCWDIllegalInDllSearch<br />
</pre>
<p>
  Setting the first key will define the system-wide behavior, whereas the second key will set the behavior for one particular application. Note that this is an Image File Execution Option (IFEO), and thus will be valid for all binaries with that same name on the system.
</p>
<p>
  The values for these keys have slightly different effects, depending on from where the application is started.
</p>
<p>
  Scenario 1: The application is started from a local folder, such as C:Program Files
</p>
<table>
  <tr>
    <td>
      0xffffffff
    </td>
    <td>
      Removes the current working directory from the default DLL search order.
    </td>
  </tr>
  <tr>
    <td>
      0
    </td>
    <td>
      Uses the default DLL search path. This is the Windows default, and the least secure setting.
    </td>
  </tr>
  <tr>
    <td>
      1
    </td>
    <td>
      Blocks a DLL load from the current working directory if the current working directory is set to a WebDAV folder.
    </td>
  </tr>
  <tr>
    <td>
      2
    </td>
    <td>
      Blocks a DLL load from the current working directory if the current working directory is set to a remote folder.
    </td>
  </tr>
</table>
<p>
  Scenario 2: The application is started from a remote folder, such as \remoteshare
</p>
<table>
  <tr>
    <td>
      0xffffffff
    </td>
    <td>
      Removes the current working directory from the default DLL search order.
    </td>
  </tr>
  <tr>
    <td>
      0
    </td>
    <td>
      Uses the default DLL search path. This is the Windows default, and the least secure setting.
    </td>
  </tr>
  <tr>
    <td>
      1
    </td>
    <td>
      Blocks a DLL load from the current working directory if the current working directory is set to a WebDAV folder.
    </td>
  </tr>
  <tr>
    <td>
      2
    </td>
    <td>
      Allows DLL load from the current working directory if the current working directory is set to a remote folder.&nbsp; DLL's that are loaded from a WebDAV share are blocked if the current working directory is set to a WebDAV share.
    </td>
  </tr>
</table>
<p>
  Scenario 3: The application is started from a WebDAV folder, such as http://remote/share
</p>
<table>
  <tr>
    <td>
      0xffffffff
    </td>
    <td>
      Removes the current working directory from the default DLL search order.
    </td>
  </tr>
  <tr>
    <td>
      0
    </td>
    <td>
      Uses the default DLL search path. This is the Windows default, and the least secure setting.
    </td>
  </tr>
</table>
<p>
  <b>How can developers address these issues?</b>
</p>
<p>
  Microsoft&nbsp;recommends that developers clearly define from where they intend to load specific libraries. This was documented in the specific LoadLibrary application programming interface documentation on MSDN. However, we recognize that this guidance may not always have been very clear. We recently published an MSDN article, <a href="http://msdn.microsoft.com/en-us/library/ff919712(VS.85).aspx">“Dynamic-Link Library Security</a>,” that provides specific guidance to developers on how to load these libraries securely.
</p>
<p>
  While there are several affected situations, described in detail in the above MSDN article, our general recommendations are:<br />
</p>
<ul>
  <li>Where possible, use a fully qualified path name when loading a library;
  </li>
  <li>Remove the current directory from the search path by using SetDLLDirectory;
  </li>
  <li>Do not use SearchPath to locate a library. SearchPath was not intended to look for libraries to be loaded into the application process space, and uses an insecure search order;
  </li>
  <li>Do not attempt to load libraries purely to identify the version of Windows. Instead, use GetVersionEx or a similar function offered by the Windows API.
  </li>
</ul>
<p>
  We’ve also recently drafted additional guidance to help developers understand this issue. You can find that <a href="http://blogs.technet.com/cfs-file.ashx/__key/CommunityServer-Components-PostAttachments/00-03-35-14-21/Secure-loading-of-libraries-to-prevent-DLL-Preloading.docx">developer guidance attached to the blog post</a>.&nbsp;
</p>
<p>
  <b>What Microsoft is doing</b>
</p>
<p>
  Loading dynamic libraries&nbsp;is basic behavior for Windows and other operating systems, and the design of some applications require the ability to load libraries from the current working directory. Hence, this issue cannot directly be addressed in Windows without breaking expected functionality. Instead, it requires developers to ensure they code secure library loads. However, we’re looking into ways to make it easier for developers to not make this mistake in the future.
</p>
<p>
  Microsoft is also conducting a thorough investigation into how this new vector may affect Microsoft products.&nbsp; As always, if we find this issue affects any of our products, we will address them appropriately.
</p>
<p>
  We hope this blog helps address any questions you may have. Thanks to Mark Debenham, Anoop KV, Hari Pulapaka, Dou Kaya, Gov Maharaj, David LeBlanc, and Michael Howard for their work on this issue.
</p>
<p>
  Cheers,
</p>
<p>
  Jonathan Ness, MSRC Engineering<br />
  Maarten Van Horenbeeck, MSRC Program Manager
</p><img alt="" src="http://blogs.technet.com/aggbug.aspx?PostID=3351421" /> ]]></content:encoded>
</item>
<item>
		<title>Security Vulnerability Research &amp;amp; Defense: Assessing the risk of the August security updates</title>
		<link>http://blogs.technet.com/b/srd/archive/2010/08/10/assessing-the-risk-of-the-august-security-updates.aspx</link>
		<pubDate>Tue, 10 Aug 2010 12:03:00 -0500</pubDate>
		<guid>http://blogs.technet.com/b/srd/archive/2010/08/10/assessing-the-risk-of-the-august-security-updates.aspx</guid>
		<content:encoded><![CDATA[	<p>
  Today we released <a href="http://www.microsoft.com/technet/security/bulletin/ms10-aug.mspx">fourteen security bulletins</a>. Eight have a maximum severity rating of Critical with the other six having a maximum severity rating of Important. Furthermore, six of the fourteen bulletins either do not affect the latest version of our products or affect them with reduced severity. We hope that the table below helps you prioritize the deployment of the updates appropriately for your environment.
</p>
<table>
  <tr>
    <td>
      <b>Bulletin</b>
    </td>
    <td>
      <b>Most likely attack vector</b>
    </td>
    <td>
      <b>Max Bulletin Severity</b>
    </td>
    <td>
      <b>Max Exploit-ability Index</b>
    </td>
    <td>
      <b>Likely first 30 days impact</b>
    </td>
    <td>
      <b>Platform mitigations and key notes</b>
    </td>
  </tr>
  <tr>
    <td>
      <a href="http://www.microsoft.com/technet/security/bulletin/MS10-055.mspx">MS10-055</a><br />
      (Cinepak)
    </td>
    <td>
      Victim browses to a malicious webpage or opens a malicious AVI movie with Media Player.
    </td>
    <td>
      Critical
    </td>
    <td>
      1
    </td>
    <td>
      Likely to see an exploit released able to exploit the vulnerability in the Cinepak codec.
    </td>
    <td>
      Vulnerable DLL does not exist on Windows Server 2003 or Windows Server 2008.
    </td>
  </tr>
  <tr>
    <td>
      <a href="http://www.microsoft.com/technet/security/bulletin/MS10-052.mspx">MS10-052<br /></a>(MPEG-3)
    </td>
    <td>
      Victim browses to a malicious webpage or opens a malicious ASX file with Media Player.
    </td>
    <td>
      Critical
    </td>
    <td>
      1
    </td>
    <td>
      Likely to see an exploit released able to exploit the vulnerability in MPEG-3 codec.
    </td>
    <td>
      Only Windows XP and Windows Server 2003 are vulnerable.
    </td>
  </tr>
  <tr>
    <td>
      <a href="http://www.microsoft.com/technet/security/bulletin/MS10-056.mspx">MS10-056</a><br />
      (Word, RTF)
    </td>
    <td>
      Victim opens malicious RTF file using Microsoft Word or views RTF email using Outlook 2007.
    </td>
    <td>
      Critical
    </td>
    <td>
      1
    </td>
    <td>
      RTF exploit likely to be developed.
    </td>
    <td>
      Office 2010 not affected.<br />
      Versions of Outlook prior to 2007 did not use Word as RTF parser so are not susceptible to Outlook attack vector.
    </td>
  </tr>
  <tr>
    <td>
      <a href="http://www.microsoft.com/technet/security/bulletin/MS10-060.mspx">MS10-060</a><br />
      (Silverlight, .NET framework)
    </td>
    <td>
      Victim browses to a malicious webpage.
    </td>
    <td>
      Critical
    </td>
    <td>
      1
    </td>
    <td>
      Likely to see an exploit released able to exploit the vulnerability in Silverlight.
    </td>
    <td></td>
  </tr>
  <tr>
    <td>
      <a href="http://www.microsoft.com/technet/security/bulletin/MS10-054.mspx">MS10-054<br /></a>(SMB)
    </td>
    <td>
      Windows XP system compromised via over-the-network SMB packet.
    </td>
    <td>
      Critical
    </td>
    <td>
      2
    </td>
    <td>
      Exploiting this vulnerability for code execution will be difficult.
    </td>
    <td>
      For more information on risk by platform, please see <a href="http://blogs.technet.com/b/srd/archive/2010/08/10/ms10-054-exploitability-details-for-the-smb-server-update.aspx">this SRD blog post</a>.
    </td>
  </tr>
  <tr>
    <td>
      <a href="http://www.microsoft.com/technet/security/bulletin/MS10-053.mspx">MS10-053<br /></a>(Internet Explorer)
    </td>
    <td>
      Victim browses to a malicious website.
    </td>
    <td>
      Critical
    </td>
    <td>
      1<br />
      (IE6 only)
    </td>
    <td>
      Consistent, reliable exploit affecting IE7 or IE8 will be difficult to develop.
    </td>
    <td>
      Vulnerabilities significantly more difficult to exploit on IE7 and IE8 due to platform mitigations.
    </td>
  </tr>
  <tr>
    <td>
      <a href="http://www.microsoft.com/technet/security/bulletin/MS10-051.mspx">MS10-051<br /></a>(MSXML ActiveX)
    </td>
    <td>
      Victim browses to a malicious website.
    </td>
    <td>
      Critical
    </td>
    <td>
      2
    </td>
    <td>
      Difficult to build reliable exploit.
    </td>
    <td></td>
  </tr>
  <tr>
    <td>
      <a href="http://www.microsoft.com/technet/security/bulletin/MS10-049.mspx">MS10-049</a><br />
      (schannel)
    </td>
    <td>
      Victim browses to a malicious https website.
    </td>
    <td>
      Critical
    </td>
    <td>
      2
    </td>
    <td>
      Exploiting CVE-2010-2566 for code execution will be difficult. Successful attacks would result in code execution as SYSTEM, making this an attractive target, despite its difficulty.
    </td>
    <td>
      Windows Vista and newer platforms are Important Severity. For more information please see <a href="http://blogs.technet.com/b/srd/archive/2010/08/10/ms10-049-an-inside-look-at-cve-2009-3555-the-tls-renegotiation-vulnerability.aspx">this SRD blog post</a> and <a href="http://blogs.technet.com/b/srd/archive/2010/08/10/ms10-049-a-remote-code-execution-vulnerability-in-schannel-cve-2010-2566.aspx">this SRD blog post</a>.
    </td>
  </tr>
  <tr>
    <td>
      <a href="http://www.microsoft.com/technet/security/bulletin/MS10-050.mspx">MS10-050<br /></a>(Windows Movie Maker)
    </td>
    <td>
      Victim opens malicious MSWMM file sent via email or downloaded via website.
    </td>
    <td>
      Important
    </td>
    <td>
      1
    </td>
    <td>
      MSWMM exploit likely to be developed.
    </td>
    <td>
      Does not affect Windows Live Movie Maker shipped by default with Windows 7.
    </td>
  </tr>
  <tr>
    <td>
      <a href="http://www.microsoft.com/technet/security/bulletin/MS10-057.mspx">MS10-057</a><br />
      (Excel 2002, Excel 2003)
    </td>
    <td>
      Victims opens malicious XLS file sent via email or downloaded via website.
    </td>
    <td>
      Important
    </td>
    <td>
      1
    </td>
    <td>
      XLS exploit likely to be developed.
    </td>
    <td>
      Does not affect Office 2007 or Office 2010.
    </td>
  </tr>
  <tr>
    <td>
      <a href="http://www.microsoft.com/technet/security/bulletin/MS10-048.mspx">MS10-048<br /></a>(Win32k)
    </td>
    <td>
      Attacker logged-in to a machine locally exploits vulnerability to elevate to a higher privilege level.
    </td>
    <td>
      Important
    </td>
    <td>
      1
    </td>
    <td>
      Likely to see an exploit developed for CVE-2010-1897 and potentially others.
    </td>
    <td></td>
  </tr>
  <tr>
    <td>
      <a href="http://www.microsoft.com/technet/security/bulletin/MS10-058.mspx">MS10-058</a><br />
      (TCP/IP)
    </td>
    <td>
      Remote attacker causes victim machine to bugcheck. Attacker logged-in to machine locally exploits vulnerability to elevate to a higher privilege level.
    </td>
    <td>
      Important
    </td>
    <td>
      1
    </td>
    <td>
      Likely to see an exploit developed for one or both vulnerabilities.
    </td>
    <td>
      64-bit Windows not affected by vulnerability allowing local elevation of privilege.
    </td>
  </tr>
  <tr>
    <td>
      <a href="http://www.microsoft.com/technet/security/bulletin/MS10-059.mspx">MS10-059</a><br />
      (Tracing service)
    </td>
    <td>
      Attacker logged-in to a machine locally exploits vulnerability to elevate to a higher privilege level.
    </td>
    <td>
      Important
    </td>
    <td>
      1
    </td>
    <td>
      Likely to see proof-of-concept code released
    </td>
    <td></td>
  </tr>
  <tr>
    <td>
      <a href="http://www.microsoft.com/technet/security/bulletin/MS10-047.mspx">MS10-047<br /></a>(Kernel)
    </td>
    <td>
      Attacker logged-in to a machine locally exploits vulnerability to elevate to a higher privilege level.
    </td>
    <td>
      Important
    </td>
    <td>
      1
    </td>
    <td>
      Likely to see proof-of-concept code released.
    </td>
    <td>
      The security impact on Windows Server 2008 R2 and Windows 7 is limited to denial of service.
    </td>
  </tr>
</table>
<p>
  Thanks to all of MSRC Engineering for their work on these cases.
</p>
<p>
  - Jonathan Ness, MSRC Engineering
</p><img alt="" src="http://blogs.technet.com/aggbug.aspx?PostID=3349342" /> ]]></content:encoded>
</item>
<item>
		<title>Security Vulnerability Research &amp;amp; Defense: MS10-054: Exploitability Details for the SMB Server Update</title>
		<link>http://blogs.technet.com/b/srd/archive/2010/08/10/ms10-054-exploitability-details-for-the-smb-server-update.aspx</link>
		<pubDate>Tue, 10 Aug 2010 12:02:00 -0500</pubDate>
		<guid>http://blogs.technet.com/b/srd/archive/2010/08/10/ms10-054-exploitability-details-for-the-smb-server-update.aspx</guid>
		<content:encoded><![CDATA[	<p>
  This month Microsoft released an update for Windows to address three vulnerabilities in the SMB Server component. Two of the vulnerabilities are remote denial-of-service (DoS) attacks, while one (CVE-2010-2550) has the potential for remote code execution (RCE). This blog post provides more details on the exploitability of CVE-2010-2550, and outlines why the risk of reliable RCE is low.
</p>
<p>
  As mentioned in the bulletin, Windows Vista, Windows 7, Windows Server 2003, Windows Server 2008, and Windows 2008 R2 systems are not vulnerable to unauthenticated attackers by default. (Only if password-based sharing was disabled would one of these systems be vulnerable.) In the most common scenarios, and on these versions of Windows by default, the attacker would therefore need to be authenticated.
</p>
<p>
  <b>Vulnerability details</b>
</p>
<p>
  In order to exploit CVE-2010-2550, the attacker must have read permission on a SMB share on the target system. This implies that the attacker is authenticated, or that the target allows anonymous access to network shares (this is a default configuration only on Windows XP with later platforms requiring authentication by default)
</p>
<p>
  By sending a specially crafted SMB request to the target, an attacker with read access could cause a kernel pool block to be overrun. This is due to an attacker-provided length being used as the size value in an allocation call. If an attacker specifies a small size value, the system will later write data to this buffer, which will corrupt the adjacent pool block(s). The data used in the overwrite comes from the disk or file system on the target machine.
</p>
<p>
  <b>Exploitability details</b>
</p>
<p>
  Assuming the attacker is able to trigger the vulnerability, there are some factors that make reliable exploitation difficult:
</p>
<ul>
  <li>Windows 7 and Windows 2008 R2 systems have mitigations in the kernel to prevent pool overrun exploitation which will make the remote attack even more difficult (as discussed here http://blogs.technet.com/b/srd/archive/2009/05/26/safe-unlinking-in-the-kernel-pool.aspx)
  </li>
  <li>The data that will be written to the kernel pool block is not attacker-controlled and instead comes from the disk or file system on the target machine. Finding data that contains useful values in the right location for an attacker’s purposes will be difficult in a remote attack scenario. A local attacker has more control and might be able to allocate memory on the system in a way that allows corrupted pointers in the pool to be leveraged for local elevation of privilege (EOP).
  </li>
  <li>Failed exploitation attempts will result in a system crash (bugcheck), so the attacker will only get one attempt (per boot) to exploit the vulnerability.
  </li>
</ul>
<p>
  For these reasons we think it will be difficult to build reliable RCE exploits for this vulnerability, and remote DoS attacks are much more likely. A local EOP exploit is possible. The risk of a worm spreading using this vulnerability is very low.
</p>
<p>
  Thanks to the following people for their hard work on this issue:
</p>
<ul>
  <li>Bruce Dang, MSRC Engineering
  </li>
  <li>Dustin Childs, MSRC
  </li>
  <li>Kowshik Jaganathan, Hassan Sultan, Vivek Jain , Felix Coifman, Geoffrey Antos , Purujit Saha, Faraz Qadri, Shiraj Kashani and Anindya Das from the Windows Sustained Engineering
  </li>
  <li>Shivani Sharma, Ather Haleem, Gary Shang, David Kruse and Greg Kramer from the Windows Core SMB
  </li>
  <li>Julien Vanegue, MSEC Pentest
  </li>
</ul>
<p>
  Thanks to Fermin J. Serna and Andrew Roths for contributing to this blog post.
</p>
<p>
  - Mark Wodrich, MSRC Engineering
</p><img alt="" src="http://blogs.technet.com/aggbug.aspx?PostID=3349363" /> ]]></content:encoded>
</item>
<item>
		<title>Security Vulnerability Research &amp;amp; Defense: MS10-049: An inside look at CVE-2009-3555, the TLS renegotiation vulnerability</title>
		<link>http://blogs.technet.com/b/srd/archive/2010/08/10/ms10-049-an-inside-look-at-cve-2009-3555-the-tls-renegotiation-vulnerability.aspx</link>
		<pubDate>Tue, 10 Aug 2010 12:01:00 -0500</pubDate>
		<guid>http://blogs.technet.com/b/srd/archive/2010/08/10/ms10-049-an-inside-look-at-cve-2009-3555-the-tls-renegotiation-vulnerability.aspx</guid>
		<content:encoded><![CDATA[	<p>
  This issue was identified by security researchers Marsh Ray and Steve Dispensa. The vulnerability exists because certain Transport Layer Security (TLS)/Secure Sockets Layer (SSL) protected protocols assume that data received after a TLS renegotiation is sent by the same client as before the renegotiation. Renegotiation is TLS functionality that allows either peer to change the parameters of the secure session. In this post, we’ll explain how our fix works, and why the risk to most Microsoft customers is limited.
</p>
<p>
  &nbsp;
</p>
<p>
  TLS and SSL did not effectively guarantee this authenticity, and as a result, the underlying protocol would need to ensure that the renegotiated session is still with the same peer, something the protocol is often ill prepared for. An attacker with the ability to intercept traffic (for instance through an ARP spoofing attack, or DNS cache poisoning) could execute a man-in-the-middle attack, intercept a TLS renegotiation attempt, and partially pose as the authenticated client.
</p>
<p>
  &nbsp;
</p>
<p>
  By cleverly manipulating the protocol, the researchers identified that as man-in-the-middle, they could keep the client-end of the connection stalled, start up their own renegotiation with the server, and submit data. Once the server received it, they would restart the renegotiation, and pass the server’s renegotiation attempt back to the client as if nothing happened. While an attacker cannot use this to change or read encrypted information, it can be leveraged to prepend data to a secure connection.
</p>
<p>
  &nbsp;
</p>
<p>
  Some protocols are more affected than others. HTTPS for instance, is affected. An attacker can send an HTTPS request from the client to the server, and by splicing the request can have the actual client send through the authentication cookie. The server will read the request issued by the attacker, and attribute it to the authenticated client.
</p>
<p>
  &nbsp;
</p>
<p>
  <b>The risk to most Microsoft customers, overall, is limited.</b> While the TLS/SSL implementations for all vendors are affected, overall risk to our customers is limited. In order to exploit this vulnerability, the attacker needs to abuse TLS renegotiation already taking place between both peers.&nbsp; Internet Information Services (IIS) 6 and 7, do not allow clients to initiate TLS renegotiation, removing the attacker’s ability to induce a vulnerable scenario. These servers will only start up renegotiation themselves when they are configured to&nbsp; ‘accept’ certificate based mutual authentication. This is a non-default scenario. In addition, our team found a number of other reasons why this issue would be difficult to exploit. We published more detail on our overall risk assessment in this February <a href="http://blogs.technet.com/b/srd/archive/2010/02/09/details-on-the-new-tls-advisory.aspx">blog entry</a>.
</p>
<p>
  &nbsp;
</p>
<p>
  <b>It is important to note that this is still potentially a significant issue for certain deployments, and the update should be installed.</b> In particular, the vulnerability may affect other, non-HTTP protocols that are less well understood. When the vulnerability was identified, Microsoft worked through the <a href="http://www.icasi.org/">Industry Consortium for Advancement of Security on the Internet</a> (ICASI) to ensure that we had a TLS-layer fix which is compatible with third-party TLS implementations.
</p>
<p>
  &nbsp;
</p>
<p>
  The result of that collaboration, and hard work by many other security developers in the IETF TLS working group, led to the publication of RFC 5746, the <a href="http://tools.ietf.org/html/rfc5746">TLS Renegotiation Indication Extension</a>. This new standard, co-authored by Nasko Oskov in our Windows security engineering team, addresses the vulnerability by defining a TLS extension that cryptographically binds renegotiations to their initial TLS connection. With this fix installed, the TLS endpoint itself can validate whether the data sent still belongs to the same initial connection. There is no longer any requirement for the encapsulated protocol to do so.
</p>
<p>
  &nbsp;
</p>
<p>
  <b>In order for a connection to be fully protected, both client and server need to have a TLS implementation that is RFC 5746 compliant</b>. As of today, we’re happy to announce that Microsoft customers have an update available that will deploy this new functionality. We also know many other vendors have either released or are in the process of releasing support for this extension.
</p>
<p>
  &nbsp;
</p>
<p>
  We understand that administrators may have a need to require clients to have the update in order to connect to high-security applications. A registry key is available, documented in <a href="http://support.microsoft.com/kb980436">KB 980436</a>, which allows the administrator to place a system in “<i>Compatible</i>” or “<i>Strict</i>” mode. In <i>compatible</i> mode, the default setting, the client will enable the use of this TLS extension, but not enforce it. A client connecting without the security update will still be able to successfully connect with peers that do not. In <i>strict</i> mode, both peers will require the standard in order to successfully connect.
</p>
<p>
  &nbsp;
</p>
<p>
  The following diagram displays this in more detail:
</p>
<p>
  <b><img alt="" src="http://blogs.technet.com/resized-image.ashx/__size/550x0/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-61-47/3757.MS10_2D00_049.png" />&nbsp;</b>
</p>
<p>
  <b>&nbsp;</b>
</p>
<p>
  <b>Acknowledgements</b>
</p>
<p>
  <b>&nbsp;</b>
</p>
<p>
  Thanks to the following for their work on this issue and feedback on the blog:
</p>
<p>
  &nbsp;
</p>
<p>
  Nasko Oskov from <i>Windows Security Engineering</i><br />
  Gavin Thomas and Robert Hensing from <i>MSRC Engineering<br /></i>Manoj Thakur and Chunlin Shi from <i>Windows Sustained Engineering</i>
</p>
<p>
  <em>&nbsp;</em>
</p>
<p>
  Cheers,<br />
  -Maarten Van Horenbeeck, MSRC Program Manager
</p>
<p>
  <b>&nbsp;</b>
</p><img alt="" src="http://blogs.technet.com/aggbug.aspx?PostID=3349192" /> ]]></content:encoded>
</item>
<item>
		<title>Security Vulnerability Research &amp;amp; Defense: MS10-048 an explanation of the Defense in Depth fixes</title>
		<link>http://blogs.technet.com/b/srd/archive/2010/08/10/ms10-048-an-explanation-of-the-defense-in-depth-fixes.aspx</link>
		<pubDate>Tue, 10 Aug 2010 12:00:00 -0500</pubDate>
		<guid>http://blogs.technet.com/b/srd/archive/2010/08/10/ms10-048-an-explanation-of-the-defense-in-depth-fixes.aspx</guid>
		<content:encoded><![CDATA[	<p>
  Today we released several fixes on MS10-048 affecting the win32k.sys kernel component. The most severe vulnerability allows a local user to perform an authenticated elevation of privileges, with no possible remote vector.
</p>
<p>
  &nbsp;
</p>
<p>
  This update also includes several “Defense in Depth” measures that correct potential integer overflows in unrealistic scenarios. In this blog post we are going to walk you through these vulnerabilities to help explain the technical reasoning behind the DiD rating.
</p>
<p>
  &nbsp;
</p>
<p>
  In order to understand these issues we first need to understand the source code involved. The win32k.sys component, among other things, is responsible for handling and forwarding windows messages. Before handling or forwarding them, win32k.sys will validate the messages and their parameters: probing, fetching from user mode, validating sizes, pointers, etc…
</p>
<p>
  &nbsp;
</p>
<p>
  While handling a certain type of request, and before forwarding it to the top windows on the desktop, several potential integer overflows can happen that would bypass the before mentioned checks. All these are similar to the one that we will focus on:
</p>
<p>
  &nbsp;
</p>
<p>
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case DBT_DEVTYP_PORT:
</p>
<p>
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pPortW = (PDEV_BROADCAST_PORT_W)lParam;
</p>
<p>
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if ((1+wcslen(pPortW-&gt;dbcp_name))*sizeof(WCHAR) + FIELD_OFFSET(DEV_BROADCAST_PORT_W, dbcp_name) &gt; cbSize) {
</p>
<p>
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MSGERRORCLEANUP(0);
</p>
<p>
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }
</p>
<p>
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;
</p>
<p>
  &nbsp;
</p>
<p>
  &nbsp;
</p>
<p>
  An attacker could control the value of pPortW-&gt;dbcp_name, which is already probed and captured locally in kernel space.
</p>
<p>
  &nbsp;
</p>
<p>
  On 32 bit systems an integer overflow can happen if wcslen() returns more than 2^31<sup>1</sup>.&nbsp; This would require having a 2^32<sup>1</sup> byte string captured in kernel mode plus the same one in user mode, 2^33 in total. This is not possible on current 32bit systems since with this 32bit range you can only have 2^32 bytes of virtual memory per process shared by user mode and kernel mode
</p>
<p>
  &nbsp;
</p>
<p>
  However, that still leaves 64 bit systems.&nbsp; In order to see if this could be exploitable on 64 bit system we will go to the assembly level.
</p>
<p>
  &nbsp;
</p>
<p>
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0:000&gt; u fffff97f`ff07474c
</p>
<p>
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fffff97f`ff07474c 488d7b0c&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; lea&nbsp;&nbsp;&nbsp;&nbsp; rdi,[rbx+0Ch]
</p>
<p>
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fffff97f`ff074750 33c0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xor&nbsp;&nbsp;&nbsp;&nbsp; eax,eax
</p>
<p>
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fffff97f`ff074752 4883c9ff&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;or&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; rcx,0FFFFFFFFFFFFFFFFh
</p>
<p>
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fffff97f`ff074756 66f2af&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;repne scas word ptr [rdi] <b>&lt;- inlined wcslen</b>
</p>
<p>
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fffff97f`ff074759 48f7d1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;not&nbsp;&nbsp;&nbsp;&nbsp; rcx <b>&lt;- rcx contains the length</b>
</p>
<p>
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fffff97f`ff07475c 488d4c090c&nbsp;&nbsp;&nbsp;lea&nbsp;&nbsp;&nbsp;&nbsp; rcx,[rcx+rcx+0Ch] <b>&lt;- this does not overflow unless you have a really big (length ~ 2^63 )</b>
</p>
<p>
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fffff97f`ff074761 493bcc&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cmp&nbsp;&nbsp;&nbsp;&nbsp; rcx,r12 <b>&lt;- compare against cbSize…</b>
</p>
<p>
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fffff97f`ff074764 7609&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; jbe&nbsp;&nbsp;&nbsp;&nbsp; fffff97f`ff07476f
</p>
<p>
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0:000&gt;
</p>
<p>
  &nbsp;
</p>
<p>
  The comparison from the above source code is up-casted on 64 bit systems. Again, the attacker needs a really big string in user space (plus the local copy at kernel space).&nbsp; That’s 2^65 bytes of data and is not possible on current 64bit systems either.
</p>
<p>
  &nbsp;
</p>
<p>
  So, why are we fixing it? If there is&nbsp;a future recompilation or source change&nbsp;and the comparison is down-casted to 32 bits this could potentially be exploitable on 64 bit systems. Adding that to the fact that we have fixes in the close area makes this a worthy effort.
</p>
<p>
  &nbsp;
</p>
<p>
  -Fermin J. Serna, MSRC Engineering
</p>
<p>
  &nbsp;
</p>
<p>
  <sup>1</sup>&nbsp;These two values are rounded up.&nbsp; Technically the value that must be bypassed is a few bytes less.&nbsp; However, this does not change the overall argument as the size of the string is too large to&nbsp;be allocated on the system.
</p><img alt="" src="http://blogs.technet.com/aggbug.aspx?PostID=3349186" /> ]]></content:encoded>
</item>
<item>
		<title>Security Vulnerability Research &amp;amp; Defense: MS10-049: A remote Code Execution vulnerability in SChannel, CVE-2010-2566</title>
		<link>http://blogs.technet.com/b/srd/archive/2010/08/10/ms10-049-a-remote-code-execution-vulnerability-in-schannel-cve-2010-2566.aspx</link>
		<pubDate>Tue, 10 Aug 2010 12:00:00 -0500</pubDate>
		<guid>http://blogs.technet.com/b/srd/archive/2010/08/10/ms10-049-a-remote-code-execution-vulnerability-in-schannel-cve-2010-2566.aspx</guid>
		<content:encoded><![CDATA[	<p>
  In MS10-049, we are also addressing a second vulnerability, <b>CVE-2010-2566</b>. This is a vulnerability in schannel.dll which can potentially lead to Remote Code Execution. The vulnerability is present only in Windows XP and Windows Server 2003, and does not affect Windows Vista, Windows Server 2008, Windows 7 and Windows Server 2008 R2.
</p>
<p>
  &nbsp;
</p>
<p>
  This vulnerability is present in the code that validates client certificate requests sent by the server. An attacker could set up a malicious TLS or SSL-enabled server, and convince a user to connect to it using a Windows client application.
</p>
<p>
  &nbsp;
</p>
<p>
  A malicious server could then respond with a specifically crafted message in a way that induces heap corruption on the client, leading to a crash of the Local Security Authority Subsystem Service (LSASS). Theoretically, this is an exploitable condition, and the attacker could then arbitrary code as LocalSystem.
</p>
<p>
  &nbsp;
</p>
<p>
  A detailed investigation by our team, however, has indicated that the attacker has very little control over what is written to the heap. This vulnerability has an Exploitability Index rating of 2, which indicates we believe it’s unlikely that reliable exploit code will be published within 30 days.
</p>
<p>
  &nbsp;
</p>
<p>
  We do recommend customers to install this update, especially because it is difficult to build on-the-wire mitigation against this issue. In the <a href="http://msdn.microsoft.com/en-us/library/aa380513(VS.85).aspx">TLS handshake protocol</a>, the client certificate is usually requested inside the existing encrypted TLS channel. This makes it difficult for firewalls and intrusion prevention systems to successfully detect and block an attack.
</p>
<p>
  &nbsp;
</p>
<p>
  <b>Acknowledgements</b>
</p>
<p>
  <b>&nbsp;</b>
</p>
<p>
  Thanks to Mark Wodrich and Bruce Dang from the MSRC Engineering team for their contribution to this blog post.
</p>
<p>
  &nbsp;
</p>
<p>
  Cheers,<br />
  -Maarten Van Horenbeeck, MSRC Program Manager
</p>
<p>
  <b>&nbsp;</b>
</p><img alt="" src="http://blogs.technet.com/aggbug.aspx?PostID=3349190" /> ]]></content:encoded>
</item>
<item>
		<title>Security Vulnerability Research &amp;amp; Defense: Announcing the upcoming release of EMET v2</title>
		<link>http://blogs.technet.com/b/srd/archive/2010/07/28/announcing-the-upcoming-release-of-emet-v2.aspx</link>
		<pubDate>Wed, 28 Jul 2010 11:00:00 -0500</pubDate>
		<guid>http://blogs.technet.com/b/srd/archive/2010/07/28/announcing-the-upcoming-release-of-emet-v2.aspx</guid>
		<content:encoded><![CDATA[	<p>
  *** UPDATE: Version 2.0 of EMET is now available.&nbsp; <a href="http://blogs.technet.com/b/srd/archive/2010/09/02/enhanced-mitigation-experience-toolkit-emet-v2-0-0.aspx">Click here to read&nbsp;more about it</a>. ***
</p>What is EMET?
<p>
  In October 2009, we <a href="http://blogs.technet.com/b/srd/archive/2009/10/27/announcing-the-release-of-the-enhanced-mitigation-evaluation-toolkit.aspx">released a tool on this blog called EMET</a> that provides users with the ability to deploy security mitigation technologies to arbitrary applications.&nbsp;Doing so helps to prevent vulnerabilities in those applications (especially line of business and 3<sup>rd</sup> party apps) from successfully being exploited. It also responds to requests from customers to help manage risk in older, legacy products while they are in the process of transitioning over to modern, more secure products. Beyond that it makes it easy for customers to try mitigations against any software and provide feedback on their experience to the vendor.
</p>What is new with version 2?
<p>
  EMET sparked customer interest and based on the feedback that we received, we decided to release version 2 that includes more mitigations, a better interface, and a more robust infrastructure compared to the earlier version of EMET.&nbsp;&nbsp;
</p>
<p>
  &nbsp;
</p>
<p>
  Our aim with this version is to provide an innovative solution that helps customers manage risk and minimize disruption in their environment. This is reflected in our goals for the release:
</p>
<p>
  &nbsp;
</p>
<ul>
  <li>Leverage the tool for vulnerabilities under active exploitation to help customers prevent themselves from being exploited.
  </li>
  <li>Give customers the ability to use newer mitigation technologies to help protect older applications that cannot be recompiled to opt into them.
  </li>
  <li>Provide a central interface to make it easier for users to manage both system and application mitigations.
  </li>
</ul>
<p>
  &nbsp;
</p>
<p>
  These new goals increase the scope of EMET significantly from version 1. As a result, the old definition of EMET (Enhanced Mitigation Evaluation Toolkit) is no longer a good fit. With version 2, we are changing the EMET acronym to stand for <b>Enhanced Mitigation Experience Toolkit</b> to reflect this.
</p>How can I benefit from it?
<p>
  While EMET can be used by anybody, it is primarily targeted at protecting applications on machines that are at high risk for attack. Good examples include line of business applications on backend servers and browsers on the desktops of corporate executives. These are scenarios where an application compromise could be particularly damaging.&nbsp;
</p>
<p>
  &nbsp;
</p>
<p>
  As with most software, deploying this tool will likely involve an individual, such as an IT professional, testing to ensure that EMET works smoothly with applications where the mitigations are desired (like line of business applications and 3<sup>rd</sup> party products). Once in place, EMET will be transparent to the end user.
</p>
<p>
  &nbsp;
</p>
<p>
  That said of course EMET is also ideal for any security savvy user wishing to harden the apps they use against possible exploitation. Developers and security professionals can also use it as a convenient way to try out security mitigations.
</p>Can you give an example where mitigations have helped in the past?
<p>
  During the Aurora outbreak back in January 2010, Data Execution Prevention and Address Space Layout Randomization (two types of mitigation technologies) played an important in blocking known attacks.&nbsp; You can find more information on these SRD&nbsp;blog posts <a href="http://blogs.technet.com/b/srd/archive/2010/01/15/assessing-risk-of-ie-0day-vulnerability.aspx">IE Vulnerability Risk Accessment</a> and <a href="http://blogs.technet.com/b/srd/archive/2010/01/18/additional-information-about-dep-and-the-internet-explorer-0day-vulnerability.aspx">DEP and the New IE Vulnerability</a>
</p>What mitigations will be supported in version 2?
<p>
  The new version of EMET will include a total of six mitigations. Four of them are from the original EMET, while Export Address Table Access Filtering and Mandatory Address Space Layout Randomization are new for version 2. Here are some more details on the mitigations:
</p>
<p>
  &nbsp;
</p>Dynamic Data Execution Prevention (DEP)
<p>
  DEP has been available since Windows XP.&nbsp; However, current configuration options don’t allow applications to be opted in on an individual basis unless they are compiled with a special flag.&nbsp;EMET allows applications compiled without that flag to also be opted. For more information on what DEP is and how it works, take a look at&nbsp;<a href="http://blogs.technet.com/srd/archive/2009/06/12/understanding-dep-as-a-mitigation-technology-part-1.aspx">Part 1</a> and <a href="http://blogs.technet.com/srd/archive/2009/06/12/understanding-dep-as-a-mitigation-technology-part-2.aspx">Part 2</a>&nbsp;of our two-part SRD blog post on it.
</p>
<p>
  &nbsp;
</p>Structure Exception Handler Overwrite Protection (SEHOP)
<p>
  This protects against currently the most common technique for exploiting stack overflows in Windows.&nbsp;This mitigation has shipped with Windows since Windows Vista SP1.&nbsp;Recently with Windows 7, the ability to turn it on and off per process was added.&nbsp;With EMET, we provide the Windows 7 capabilities on any platform back though Windows XP. For more information, take a look at the&nbsp;<a href="http://blogs.technet.com/b/srd/archive/2009/02/02/preventing-the-exploitation-of-seh-overwrites-with-sehop.aspx">SEHOP Overview</a> and <a href="http://blogs.technet.com/b/srd/archive/2009/11/20/sehop-per-process-opt-in-support-in-windows-7.aspx">Window 7 SEHOP Changes</a> blog posts.
</p>
<p>
  &nbsp;
</p>Heap Spray Allocation
<p>
  When an exploit runs, it often cannot be sure of the address where its shellcode resides and must make a case when taking control of the instruction pointer.&nbsp;To increase the odds of success, most exploits now use heapspray techniques to place copies of their shellcode at as many memory locations as possible.&nbsp;This mitigation blocks the use of addresses most common in today’s exploits.
</p>
<p>
  &nbsp;
</p>Null Page Allocation
<p>
  This is similar technology to the heap spray allocation, but designed to prevent potential null dereference issues in usermode.&nbsp;Currently there are no known ways to exploit them and thus this is a defense in depth mitigation technology.
</p>
<p>
  &nbsp;
</p>Export Address Table Access Filtering
<p>
  This mitigation is designed to break nearly all shell code in use today.&nbsp;Before a piece of shellcode can do anything useful, it generally has to locate windows APIs first.&nbsp;This mitigation blocks a common current technique shellcode uses to do this.
</p>
<p>
  &nbsp;
</p>Mandatory Address Space Layout Randomization (ASLR)
<p>
  ASLR randomizes the addresses where modules are loaded to help prevent an attacker from leveraging data at predictable locations. The problem with this is that all modules have to use a compile time flag to opt into this. With EMET, we force modules to be loaded at randomized addresses for a target process regardless of the flags it was compiled with.
</p>Where can I download it?
<p>
  Please stay tuned for the actual binaries which will get released in the upcoming weeks. <a href="http://blogs.technet.com/b/srd">Our blog</a> will be updated with the latest news and download links as soon as that happens.
</p>Where can I get more info on EMET v2?
<p>
  &nbsp;We’ve put together a Bluehat video to walk through the tool and explain many of its advantages and capabilities. The video can be found on the BlueHat site <a href="http://blogs.technet.com/b/bluehat/archive/2010/07/26/the-emet-2-0-training-video-has-arrived.aspx">linked here</a>. We hope you enjoy it.
</p>
<p>
  &nbsp;
</p>
<p>
  &nbsp;
</p>
<p>
  Thanks to Matt Miller and Ken Johnson for their work on EMET.
</p>
<p>
  &nbsp;
</p>
<p>
  - Andrew Roths and Fermin J. Serna, MSRC Engineering
</p>
<p>
  &nbsp;
</p><img alt="" src="http://blogs.technet.com/aggbug.aspx?PostID=3345846" /> ]]></content:encoded>
</item>
<item>
		<title>Security Vulnerability Research &amp;amp; Defense: MS10-042: Vulnerability in Help and Support Center</title>
		<link>http://blogs.technet.com/b/srd/archive/2010/07/13/ms10-042-vulnerability-in-help-and-support-center.aspx</link>
		<pubDate>Tue, 13 Jul 2010 12:01:00 -0500</pubDate>
		<guid>http://blogs.technet.com/b/srd/archive/2010/07/13/ms10-042-vulnerability-in-help-and-support-center.aspx</guid>
		<content:encoded><![CDATA[	<p>
  Today we released MS10-042 to address CVE-2010-1885, a Critical severity security issue in the Help and Support Center. &nbsp;Windows XP is affected and <a href="http://blogs.technet.com/b/mmpc/archive/2010/07/13/update-on-the-windows-help-and-support-center-vulnerability-cve-2010-1885.aspx">we have seen limited attacks</a>, so we encourage everyone to depoy the update right away.&nbsp; Windows Server 2003 also contains the vulnerable code; however, we have not identified a way for an attacker to exploit it.&nbsp; Uplevel versions of Windows do not contain Help and Support Center and as such are not vulnerable.
</p>
<p>
  &nbsp;&nbsp;
</p>
<p>
  <b>Background on Help and Support Center Vulnerabilities</b>
</p>
<p>
  <b>&nbsp;&nbsp;</b>
</p>
<p>
  Help and Support Center vulnerabilities, CVE-2010-1885 included, generally involve local content enabling injection of script into the Help and Support Center environment.&nbsp; In the case of CVE-2010-1885, the local content targeted was a file, “sysinfomain.htm.”&nbsp; This content references a helper library, “commonFunc.js,” which contains <a href="http://www.owasp.org/index.php/DOM_Based_XSS">DOM-based XSS</a>.&nbsp; Specifically, commonFunc.js enables an untrusted querystring parameter to be injected onto the page.&nbsp; This in turn enables the execution of attacker-controlled commands.
</p>
<p>
  &nbsp;&nbsp;
</p>
<p>
  By design, Help and Support Center allows trusted Help content on Windows XP and Windows Server 2003 to execute privileged commands enabling Help related functionality.&nbsp; Given the presence of an injection issue, the powerful Help and Support Center environment can enable execution of arbitrary code.
</p>
<p>
  &nbsp;&nbsp;
</p>
<p>
  <b>A Note about Potential Mitigations</b>
</p>
<p>
  <b>&nbsp;&nbsp;</b>
</p>
<p>
  The attack scenario for this vulnerability involves navigation to an hcp:// protocol URL.&nbsp; Browsers <a href="http://blogs.msdn.com/b/ie/archive/2008/07/02/ie8-security-part-v-comprehensive-protection.aspx">including Internet Explorer 8</a> have recently begun to implement warning prompts before navigation to less-common URL schemes.
</p>
<p>
  &nbsp;&nbsp;
</p>
<p>
  One example proof-of-concept exploit for CVE-2010-1885 demonstrated the use of Windows Media Player 9 to navigate to the hcp:// protocol and avoid the IE8 prompt.&nbsp; More recent versions of Windows Media Player prompt before loading arbitrary HTML content and thus do not enable this attack scenario.
</p>
<p>
  &nbsp;&nbsp;
</p>
<p>
  Nevertheless, we view the newly introduced protocol prompting behavior in browsers to be at best defense-in-depth.&nbsp; We do not believe that these prompts provide sufficient mitigation for the identified Help and Support Center vulnerability in all cases.&nbsp; Thus they are not called out as mitigations in MS10-042.
</p>
<p>
  &nbsp;&nbsp;
</p>
<p>
  <b>Ruling out URL Decoding as the Primary Issue</b>
</p>
<p>
  <b>&nbsp;&nbsp;</b>
</p>
<p>
  Our analysis of the vulnerability is that it is due to a bug in the URL validation performed by Help Center, not due to a bug in URL decoding functionality within Help and Support Center.&nbsp;
</p>
<p>
  &nbsp;&nbsp;
</p>
<p>
  As identified in the original vulnerability report, a malformed URL can result in failure of the Help and Support Center URL decoding routine.&nbsp; That in itself is expected, however Help and Support Center subsequently ignores the associated failure condition and thus the resulting decoded URL is left in an arguably invalid state. &nbsp;The report also made the assertion that the URL decoding could be held responsible for the security of the URL validation in Help and Support Center as a whole. &nbsp;However, it is possible to construct a <i>validly-encoded</i> URL that would decode to the same in-memory representation as the invalidly-decoded proof-of-concept URL.&nbsp; So, fixing the handling of URL decoding failure would not address the underlying vulnerability.
</p>
<p>
  &nbsp;&nbsp;
</p>
<p>
  <b>Digging Deeper</b>
</p>
<p>
  <b>&nbsp;&nbsp;</b>
</p>
<p>
  In the scenario identified as part of the vulnerability report, Help and Support Center validates URLs using a <a href="http://technet.microsoft.com/en-us/library/cc966378.aspx">Jet database</a> containing an index of locally installed Help content.&nbsp; This database is located in %windir%PCHealthDatabaseHCdata.EDB.&nbsp; A query is issued against the database looking for a particular piece of help content.&nbsp; If this content is indexed in the database, the local file is then authorized to load within Help and Support Center.&nbsp; In the case of the reported vulnerability, it was possible for an attacker to bypass validation and trigger navigation to sysinfomain.htm with a maliciously constructed URL.
</p>
<p>
  &nbsp;&nbsp;
</p>
<p>
  CVE-2010-1885 leverages the fact that the query against the Jet database is not a true string comparison.&nbsp; In reality, it’s a comparison of keys generated by the <a href="http://msdn.microsoft.com/en-us/library/dd318700(VS.85).aspx">LCMapString</a> API.&nbsp; So the attacker-supplied input maps down to a string that improperly matches content contained within the Jet database.&nbsp; When the query is issued against the database, the database code identifies the malformed file name to exist (several times!) even though it is not present.
</p>
<p>
  &nbsp;&nbsp;
</p>
<p>
  <b>Minimal Risk on Windows Server 2003</b>
</p>
<p>
  <b>&nbsp;&nbsp;</b>
</p>
<p>
  As it turns out, the HCdata.EDB database file is significantly different between Windows XP and Windows Server 2003.&nbsp; On Windows Server 2003 the database file does not contain the base URLs necessary to match database queries for HCP:// protocol content.&nbsp; Because the vulnerable Help and Support Center code exists on Windows Server 2003, we were able swap in the EDB file from Windows XP and observe the exploit function.&nbsp; However, we were unable to construct an attack that would work with the standard Windows Server 2003 EDB file.&nbsp; Nevertheless, we are addressing the issue as a low severity vulnerability on Windows Server 2003.
</p>
<p>
  - MSRC Engineering Team Bloggers
</p>
<p>
  &nbsp;
</p><img alt="" src="http://blogs.technet.com/aggbug.aspx?PostID=3343806" /> ]]></content:encoded>
</item>


</channel>
</rss>
