X
Tech

Is Windows vulnerable to attack by stolen digital certificates?

Hacker claims that stolen SSL certificates can be used to create fake Windows Update packages.
Written by Adrian Kingsley-Hughes, Senior Contributing Editor

An Iranian hacker going by the name of 'Comodohacker' claims that Windows PCs are vulnerable to attack from malware-loaded updates digitally signed with stolen certificates.

'Comodohacker' makes the claim following attacks on several certificate authorities (CAs), the companies responsible for issuing SSL certificates, including Comodo back in March and DigiNotar in July. The hacker now claims that the certificates he has stolen could be used to create fake Windows Updates.

I'm able to issue windows update, Microsoft's statement about Windows Update and that I can't issue such update is totally false! I already reversed ENTIRE windows update protocol, how it reads XMLs via SSL which includes URL, KB no, SHA-1 hash of file for each update, how it verifies that downloaded file is signed using WinVerifyTrust API, and... Simply I can issue updates via windows update! You see? I'm so smart, sharp, dangerous, powerful, etc. huh?

Microsoft however says that these claims are not accurate. Jonathan Ness, an engineer with the Microsoft Security Response Center (MSRC), had this to say:

In this particular case, we were originally aware of fraudulent certificates issued by DigiNotar for *.google.com and have since become aware of fraudulent certificates issued for *.microsoft.com, *.windowsupdate.com, www.update.microsoft.com, and a number of other domains for which conversation privacy is extremely important. Windows Update is a special case addressed later in the blog; however, suffice it to say that if the attacker had one of those certificates and had man-in-the-middle access to your network traffic, they could potentially snoop on (or change the contents of) conversations between you and any of those domains.

...

All versions of Windows are affected by this attack. However, when a user initiates an HTTPS SSL connection via Internet Explorer on Windows Vista, Windows 7, or Windows Server 2008 and encounters a new root certificate, the Windows certificate chain verification software checks a list of valid root certificates, which is hosted on Windows Update. As of August 29th, this Certificate Trust List (CTL) on Windows Update has been revised to remove DigiNotar from the list of trusted Certificate Authorities so that any certificates issued by DigiNotar are no longer trusted for HTTPS conversations.

Windows XP and Windows Server 2003 do not have the same Windows Update check mechanism. Instead, these versions of Windows rely on a static list of trusted root certificate authorities. This list is updated through the non-security update "Update for Root Certificates (KB 931125)". DigiNotar was not initially included as a trusted root certificate in Windows XP, so if you have never installed this update, you are not vulnerable to any certificates issued by them.

However, any Windows XP or Windows Server 2003 system that installed this update as of November 2008 or later would have DigiNotar added as a trusted root certificate. Administrators of these systems can follow the steps in the "What you can do to protect yourself" section below to take proactive actions to remove DigiNotar as a trusted root Certificate Authority until Microsoft releases an update that fully addresses this problem.

Updates for Windows XP and Windows Server 2003 platforms which will add DigiNotar to the Untrusted Certificate Store will, according to Microsoft, 'be available soon.' are available now [see update below].

Ness also gives instructions on delete the DigiNotar root from the certificate store. I've reprinted them below for your convenience:

Step 1: Remove the DigiNotar Root from the trusted root CA store

  • Click Start, click Start Search, type mmc, and then press ENTER.
  • On the File menu, click Add/Remove Snap-in
  • Under Available snap-ins, click Certificates, and then click Add
  • Under This snap-in will always manage certificates for, click Computer account, and then click Next
  • Click Local computer, and click Finish
  • If you have no more snap-ins to add to the console, click OK
  • In the console tree, double-click Certificates
  • Double-click the Trusted Root Certification Authorities store and click on Certificates to view all certificates in the store
  • Select the two DigiNotar Root CA certificates. You can confirm the right certificates by checking their thumbprints which should be "c0 60 ed 44 cb d8 81 bd 0e f8 6c 0b a2 87 dd cf 81 67 47 8c" and "43 d9 bc b5 68 e0 39 d0 73 a7 4a 71 d8 51 1f 74 76 08 9c c3"
  • Right-click the certificates and select Delete

To perform the above steps from the command-line, you can use the certutil.exe tools as follows:

  • certutil -delstore authroot "c0 60 ed 44 cb d8 81 bd 0e f8 6c 0b a2 87 dd cf 81 67 47 8c"
  • certutil -delstore authroot "43 d9 bc b5 68 e0 39 d0 73 a7 4a 71 d8 51 1f 74 76 08 9c c3"

Step 2: Clear the cache to remove any older cached CTL

The simplest way to do so is to use "certutil -urlcache * delete". This will clean up the cache for the current user.

Stay safe!

[UPDATE: While the Microsoft blog post says that the updates for Windows XP and Windows Server 2003 platforms will be 'available soon' they are available now.]

Editorial standards