News for hackers. Stuff that matters.
Re:Embracing HTTPS by Animats on Friday November 14, 2014 @02:04AM (#8606128)
Pushing too hard for HTTPS can lead to HTTPS as security theater. Cloudflare offers this as a service; they call it "Flexible SSL". They get a multi-domain SSL certificate for a huge number of unrelated domains, and let people connect to that. The data is decrypted at Cloudflare, and retransmitted in the clear to the destination site. The user thinks they have security, and they have a little, but less than they think. The multi-domain cert makes some attacks possible. If an attacker can mess with DNS near the client end (perhaps at a public WiFi access point), and can break into any of the sites listed on the cert, they can do an MITM attack. A cert with both an important site and a weakly secured site creates an easy attack target.

Multi-domain certs are used because IPv4 space is full and Windows XP doesn't support Server Name Indication, which allows a unique cert for different domains at the same IP address. So if you want SSL on a shared IP address, and need to support good old IE6 over IPv4, multi-domain certs are necessary. XP still has 19% market share on line, as of October 2014. Everything else has supported SNI since 2007 or so.

I have a paper on this:

http://john-nagle.github.io/certscan/whoamitalkingto04.pdf

This identifies all the major front-end services using shared SSL certificates. Cloudflare has 36,280 second level domains tied to "*.cloudflare.com". Incapsula, the DDOS protection service, has 1471. Once you're past the top 20 such services, no site has more than about 100. Once IE6 has died off, the CAs can stop issuing certs containing unrelated domains. But not yet.

Re:Embracing HTTPS by dspillett on Friday November 14, 2014 @05:04AM (#8606469)
> The data is decrypted at Cloudflare, and retransmitted in the clear to the destination site. > The user thinks they have security, and they have a little, but less than they think.

That is true. But it the user's main concern is the legs of network from their location out of a local untrusted network (such as communal wireless) or country, that is definitely better than nothing.

> XP still has 19% market share

I don't worry about the security of XP+IE users any more. Anyone still there has chosen against good advice to remain insecure. It is their choice when there are other options available (both browsers that support modern standards on XP, and alternate OSs), it is their choice to have the certificate warning and more iffy security when they hit a site that needs SNI.

Re:Embracing HTTPS by tptacek on Friday November 14, 2014 @08:17AM (#8606946)
It's not about the security of XP users; it's about their connectivity.
Re:Embracing HTTPS by pixl97 on Friday November 14, 2014 @09:16AM (#8607186)
Connectivity and security need to be considered the same thing on the modern Internet. XP is no longer supported, and that leaves it in a pretty dangerous position. A unpatched computer isn't just a risk to the user of that computer, it becomes a risk to everybody on the net as it tries to spread its latest infection.
Re:Embracing HTTPS by tptacek on Friday November 14, 2014 @10:58AM (#8607726)
You've mistaken me for someone endorsing Windows XP. I'm not; I'm saying that the tradeoff the parent comment proposed is not the real tradeoff sites have to make.
Re:Embracing HTTPS by Rapzid on Friday November 14, 2014 @02:25AM (#8606170)
Holy S*. I was about to call BS on you because I know CloudFlare supports end-to-end TLS then I read this: https://www.cloudflare.com/ssl:

> SSL can be difficult for website administrators to set up.

> For sites that require more advanced SSL configurations, CloudFlare supports custom certificates from any certificate authority, full end-to-end SSL with robust certificate checking...

Just, wow. TLS is NOT hard to setup for a website administrator. I think I just lost a ton of respect for CloudFlare. Granted, most threats would be between the client and CloudFlare anyway(that is to say, on the wrong side of the tracks), but still....

Re:Embracing HTTPS by Animats on Friday November 14, 2014 @02:48AM (#8606218)
Cloudflare offers a number of SSL options, but they all involve decrypting the traffic at Cloudflare and possibly re-encrypting it for the link to the final server. Their options: (https://www.cloudflare.com/ssl)

* "Flexible SSL" - encrypted from client to Cloudflare using Cloudflare's cert, unencrypted from Cloudflare to host.

* "Full SSL" - encrypted from client to Cloudflare using Cloudflare's cert, encrypted from Cloudflare to host using a different host self-signed cert.

* "Full SSL (strict)" - encrypted from client to Cloudflare using Cloudflare's cert, encrypted from Cloudflare to host using a different host CA-signed cert.

(http://blog.cloudflare.com/keyless-ssl-the-nitty-gritty-tech...)

* "Keyless SSL" - encrypted from client to Cloudflare using the customer host's cert. Cloudflare doesn't have the customer's cert private key. They contact the customer's host for a session key for each session, and use this to encrypt from the client to Cloudflare. They decrypt at Cloudflare, and re-encrypt for the trip to the customer's host.

With the first three, you can see in the browser that this is happening. The host will be identified as "cloudflare.com" in the certificate. With "Keyless SSL", which is basically MITM with active cooperation from the end host, it looks at the browser end like you're encrypted end to end, but you're not.

One assumes that all of these are being "lawfully intercepted".

Re:Embracing HTTPS by IgorPartola on Friday November 14, 2014 @10:01AM (#8607396)
I wish that the Full SSL sans-strict option allowed me to upload my self-signed public key to CloudFlare. The problem is that CloudFlare can be MitM'ed without this step.
Re:Embracing HTTPS by Rapzid on Friday November 14, 2014 @03:16AM (#8606272)
The "possibly" is the problem. CloudFlare should not be promoting or supporting TLS that is not encrypted all the way to their customers infrastructure IMHO.
Re:Embracing HTTPS by ryan-c on Friday November 14, 2014 @03:27AM (#8606291)
Cloudflare can't act as a "cloud waf" unless they are able to decrypt the ssl sessions.
Re:Embracing HTTPS by Rapzid on Friday November 14, 2014 @03:52AM (#8606342)
The issue isn't that they are decrypting the traffic for inspection. That's a concession you just have to make with a trusted third party providing these types of services. The issue is that with their "Flexible SSL" they are then forwarding that unencrypted traffic on through the wilds(the internet) to the customer. Not only does this fly in the face of widely regarded best practices for transferring sensitive information between trusted, controlled networks the browser is none the wiser. You could argue that somebody with a certificate could do this anyhow. Yes, this is true. However CloudFlare who should, and most likely DOES, know better and are now doing this wholesale as a product offering! This should be frowned upon and CloudFlare should receive double frowns.
Re:Embracing HTTPS by Animats on Friday November 14, 2014 @01:27PM (#8608640)
That's a concession you just have to make with a trusted third party providing these types of services.

That's the problem. If you only use SSL/TLS for security-critical pages where there's a login or a credit card, you don't need some massive cloud-based service to cache your stuff. Many sites still use "transferring to secure site for shopping cart checkout". That's fine. If you use SSL/TLS for everything, now you have a load problem on the secure infrastructure.

That's why "SSL Everywhere" is security theater. To have "security" on pages that don't need to be secure requires weakening security on the pages that do.

Re:Embracing HTTPS by nitrogen on Friday November 14, 2014 @03:24PM (#8609287)
That's why "SSL Everywhere" is security theater. To have "security" on pages that don't need to be secure requires weakening security on the pages that do.

Nah, you can still have separate secure domains with EV certs for taking credit cards. That way your customer's browsing habits and product preferences are protected from snooping by their ISP, the page assets are still cached and DDOS protected, and the credit card data is still sent to a separate domain without an intermediary.

The only thing still to worry about is your caching provider sending maliciously modified content that bypasses your secure domain.

Re:Embracing HTTPS by rakoo on Friday November 14, 2014 @08:40AM (#8607022)
On the other hand, it's the customer's decision to put Cloudflare in the stack. They have decided to put Cloudflare on the path, just as they would have decided to use nginx. There really is no one to blame (because the end here is not the customer's server, it's the cloudflare server) and if you really want to, you should blame the customer.

EDIT: just read your answer below, my comment is off-topic. Sorry.

Re:Embracing HTTPS by matthewmacleod on Friday November 14, 2014 @05:38AM (#8606542)
Just, wow. TLS is NOT hard to setup for a website administrator.

It really is – you might just be living in a bubble of competence!

I've got years of experience as a developer and sysadmin, and I still sometimes struggle to get SSL working correctly on a site. Sure, getting and installing a cert is fine – but the mess of making sure that third-party services don't break, and that redirects aren't messed up, and that other virtual hosts don't break… it can be a time-consuming effort, and probably difficult for someone with less experience.

Cloudflare have been pretty transparent with the service they're offering, so I find it hard to see this as a bad thing.

Re:Embracing HTTPS by icebraining on Friday November 14, 2014 @07:19AM (#8606767)
But how does FlexibleSSL help with the third-party services and redirects? Your site still appears as HTTPS, so those issues should still appear, no?
Re:Embracing HTTPS by topherTopher on Friday November 14, 2014 @11:08AM (#8607793)
Bubble of competence -- well put!
Re:Embracing HTTPS by zubspace on Friday November 14, 2014 @06:22AM (#8606628)
Setting up SSL is painful if it ain't your daily business. The problem is, that it could give users a false sense of security if their mom-and-pop webshop uses cloudflare ssl or if it uses unsecured cookies or an outdated protocol etc, etc...

Regarding setting up SSL I'm reminded of this: https://news.ycombinator.com/item?id=8471877

Re:Embracing HTTPS by freerk on Friday November 14, 2014 @02:26AM (#8606174)
SNI is not supported by the schannel implementation of win XP, it is not an IE6 thing, IE8 on win XP doesn't know SNI either :(
Re:Embracing HTTPS by tedunangst on Friday November 14, 2014 @09:51AM (#8607348)
It's also not supported by python urllib or feedparser (at least not by default), meaning any attempt to connect to a service that requires SNI (cloudfront is one) fails during handshake.

This is doubly annoying for checking blogs that require https and redirect http. I have no way to check their RSS feeds.

Re:Embracing HTTPS by Animats on Friday November 14, 2014 @11:20PM (#8610806)
Read this Python bug report for the painful story of SNI support in Python, 2009 through 2014.

http://bugs.python.org/issue5639

Re:Embracing HTTPS by tedunangst on Saturday November 15, 2014 @05:48PM (#8612863)
Sigh.
Re:Embracing HTTPS by bad_user on Friday November 14, 2014 @03:40AM (#8606326)
Firefox and Chrome on the other hand don't have a problem on Windows XP.
Re:Embracing HTTPS by sporkmonger on Friday November 14, 2014 @05:53AM (#8606576)
Also the non-Chrome version of Android Gingerbread's browser lacks SNI support.
Re:Embracing HTTPS by Animats on Friday November 14, 2014 @02:29AM (#8606182)
Right; you have to get to at least Windows Vista to get SNI.
Re:Embracing HTTPS by dspillett on Friday November 14, 2014 @05:05AM (#8606470)
You have to have at least Vista to get SNI in IE. IIRC both Firefox and Chrome support SNI on XP.