POODLE SSL vulnerability - secure your Windows Phone!

Mr_nUUb

Senior Member
Mar 23, 2010
69
17
0
Hi!

Hopefully you have heard of a new security hole called POODLE in SSL.
If not, click here!

How can you secure your Windows Phone? Here's the answer!

You need:
  • A interop unlocked Windows Phone
  • A registry editor on your phone

Follow those steps:
  1. Start Internet Explorer on your Phone and navigate to https://www.ssllabs.com/ssltest/viewMyClient.html
  2. You will see what protocols are supported by your browser. close Internet explorer (hold back key and close, not just minimize)
  3. Fire up your registry editor and navigate to HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings
  4. Change the value SecureProtocols to 32. Create this value if it doesn't exist.
  5. Start Internet Explorer again and navigate to the page mentioned in Step 1. Look for supported protocols, it should display only SSL 3.0 - IT WERKS! Close IE again.
  6. Now set the value SecureProtocols to 2688. This enables TLS 1.0/1.1/1.2 and disables SSL 2.0/3.0.
  7. Start Internet Explorer again and navigate to the page mentioned in Step 1. Look for supported protocols, it should display TLS 1.0, 1.1, 1.2 AND SSL 3.0. Because the server is configured to downgrade to SSL 3.0, if TLS isn't supported. This may change in the future (hopefully).

Possible Values for SecureProtocols:
SSL 2.0 - 8 - 0x0008 (not supported on many websites, not recommended)
SSL 3.0 - 32 - 0x0020
TLS 1.0 - 128 - 0x0080
TLS 1.1 - 512 - 0x0200
TLS 1.2 - 2048 - 0x0800http://forum.xda-developers.com/#

2688 = 128 + 512 + 2048 = TLS 1.0 + TLS 1.1 + TLS 1.2

Tested on a Samsung ATIV S GT-I8750 using IO Explorer and WPHTweaks.

Thanks to
-W_O_L_F- and WindowsMania.pl for their excellent cutom ROMs
Jaxbot and Jessenic for the WPHTweaks App
contable for the IO Explorer App
and everyone involved in the great Windows Mobile and Windows Phone development and hacking community
and every member of XDA of course :)

Best regards,
Mr nUUb

EDIT: visit poodletest.com, it displays different images for SSL and TLS.

EDIT 2: Opera mini (beta) is not vulnerable.
 
Last edited:

GoodDayToDie

Inactive Recognized Developer
Jan 20, 2011
6,066
2,930
0
Seattle
Great guide. However, if the phone will still downgrade to SSL3 - that is, if you can't turn *off* SSLv3 - then you aren't safe. That's about half of the point of POODLE; it's possible to force most browsers and servers to downgrade to the obsolete protocol by just closing any connection attempts that report support for a newer version.

EDIT: Make darn sure you do *not* leave that option set to 32 (0x20, SSLv3 only)! That will not only leave you insecure, it will make the phone not work with any server which is configured to be TLS-only (and many will, in the wake of POODLE).
 

GoodDayToDie

Inactive Recognized Developer
Jan 20, 2011
6,066
2,930
0
Seattle
By the way, on "normal" Windows, this data is stored in the per-user registry hives (HKCU). My phone doesn't have the relevant registry value in either location, but it does have the registry *key* under HKCU, so you can (and possibly should) set it there instead of in HKLM.

I haven't tried this yet, though, so test it.
 

Mr_nUUb

Senior Member
Mar 23, 2010
69
17
0
Great guide. However, if the phone will still downgrade to SSL3 - that is, if you can't turn *off* SSLv3 - then you aren't safe. That's about half of the point of POODLE; it's possible to force most browsers and servers to downgrade to the obsolete protocol by just closing any connection attempts that report support for a newer version.

EDIT: Make darn sure you do *not* leave that option set to 32 (0x20, SSLv3 only)! That will not only leave you insecure, it will make the phone not work with any server which is configured to be TLS-only (and many will, in the wake of POODLE).
The phone won't dongrade to SSL 3.0. Qualys SSL Labs only show the highest supported encryption protocol. Because TLS is supported, they say SSL 3.0 is supported as well.
I edited my first post. Visit http://www.poodletest.com/, to check wether your browser sill downgrade to SSL or not. Make sure you refresh the page after you restarted your browser.

And you are right, NEVER EVER leave this option set to 32. And never set it to 2560, as this will disable TLS 1.0 and enable TLS 1.1/1.2.
Not even MS supports those encryption protocols, they really use TLS 1.0 - even if TLS 1.0 is slightly insecure and could be exploited (which practically never happens).
 
  • Like
Reactions: GoodDayToDie

GoodDayToDie

Inactive Recognized Developer
Jan 20, 2011
6,066
2,930
0
Seattle
Poodletest is a good site for this, yes.

So, I set it in the user hive and it works, but it's a pain to do it using SamWP8 Tools because the way that the tools write to the registry uses a driver running under a different user than the DefApps user that normal apps (including IE) run as. Therefore, its concept of "current user" is different. You can use HKEY_USERS and specify the user explicitly - on my phone, the DefApps user is S-1-5-21-2702878673-795188819-444038987-2781 so the whole path to the key is
Code:
S-1-5-21-2702878673-795188819-444038987-2781\Software\Microsoft\Windows\CurrentVersion\Internet Settings
. However, be aware that this will be different on different phones, as a part of each user's SID is machine-dependent and will be different for every phone (should even change when you do a hard reset). You can find the correct SID from the Webserver app - just poke around in HKEY_USERS - but that's a pain HKLM is probably the better approach, if it works.

Thanks again for looking this up and posting instructions!
 
Last edited:
Our Apps
Get our official app!
The best way to access XDA on your phone
Nav Gestures
Add swipe gestures to any Android
One Handed Mode
Eases uses one hand with your phone