Let’s Encrypt Now Being Abused by Malvertisers
blog.trendmicro.com
blog.trendmicro.com
As lots of people in this thread have already pointed out, that's the security problem. The DNS zone that was delegated to you, then you have a responsibility to keep the "squatters" away.
> Traffic to this created subdomain was protected with HTTPS
Good. HTTP is obsolete. That doesn't change anything from the perspective of the victim.
> an open DoubleClick redirect
Which is yet another example of how irresponsible advertisers are creating huge attack surfaces.
From the blog they link to:
bid.g.doubleclick.net/xbbe/creative/click?r1=<malicious urlencoded URL>
It sounds like doubleclick is sending out the harmful redirect. Maybe they should verify URLs instead of blindly believing the query params? "msxml.domdocument"
LOL> These DV certificates can help the hacker gain legitimacy with the public.
How? "The public" probably doesn't even know what a DV certificate is.
It doesn't look like Let's Encrypt is even involved in any of the actual problems that enable this attack.
> As a certificate authority ourselves
... I guess that explains this hit piece ... /sigh/
> How?
By the lock displayed in the browser that couldn't be there for free that easy before.
I agree strongly with Let's Encrypt's view. They should not be responsible for policing the behaviour of their certificate users. They should just ensure that they only issue certificates for validated CNs.
Isn't that what they exactly do when they check the safe browsing API?
Although it's not their responsibility, they can take steps to mitigate it.
There is a difference between "I can serve content under this domain (currently)" and "I control this domain (and can decide where it points)".
DNS domain validation is the right way to do domain validation. But it's slightly harder for users, which is why HTTP(s)- or E-Mail-based validation is being done more often.
Agreed. However, I have a hard time believing that it's a net win to make it impossible for people who are permitted to control the machines that a DNS record points to, but are not permitted to alter that DNS record and/or anything under it [0] to get a cert from Let's Encypt.
[0] Or are -perhaps- using a DNS hosting provider that doesn't let you add TXT or CNAME records. (I've used such a sorry provider in the past. :/ )
I mean, if we're talking about a situation where an attacker controls your webserver, then that's pretty much game over, right? They can read and write to everything your server can, including SSL private keys, SQL databases, etc., etc., etc...
> Presumably your DNS provider passwords are stored in a password manager outside of that infrastructure. ... It seems that would have prevented the abuse in the OP, right?
Doing DNS-record-alteration-only verification would have prevented the scenario described in TFA, yeah. But, there are a couple of things to consider:
* DV certs provide nothing more than HTTPS, without the scary "THE BROWSER DOESN'T RECOGNIZE THIS CERT ISSUER!!11" dialog. They don't provide the additional UI cues that EV certs do. So, their phishing utility is rather limited.
* Society as a whole benefits far more from thwarting passive dragnet surveillance than it does from putting roadblocks in the way of occasional unauthorized and unwanted issuance of a DV cert to someone who has improperly (effectively) gained control of someone else's web server or DNS zone.
* TFA is primarily a scare-piece from a traditional CA <strike>that's likely sad that their revenue stream from DV issuance is going to vanish.</strike>
Ugh. I actually got off my ass and did some research... it seems that Trend Micro doesn't issue DV certs. [0] Mea culpa.
[0] http://esupport.trendmicro.com/solution/en-US/1097653.aspx
It's on the domain owner to avoid giving away control of their (sub)domain to a malicious party. Exactly the same as with regular HTTP and anything else that uses DNS.
I'd find HTTP(S)-based validation ok if CAs wouldn't issue certificates with an expiration time past the expiration time of the DNS records.
Of course that would be fairly impractical. But then DNS-based validation exists and doesn't have these problems.
> Website owners should ensure that they secure their own website control panels, to ensure that new subdomains beyond their control are not created without their knowledge.
You're a bank and haven't secured your DNS control panel correctly. Someone comes along, and using your vulnerable DNS, registers logon.bank.com (instead of login.bank.com). Now it is the bank's fault to begin with, but end-users are going to see that green padlock and will get pwned. You can point fingers all you want at the bank but that situation could (and should) have been avoided.
Let's Encrypt could be seen as a "vulnerability amplifier." With the previous PKI, even if you gained authority over logon.bank.com you wouldn't be able to get that green padlock in the title bar. There is a very good chance that someone at the CA would have made a phone call to someone at bank.com. With the current Let's Encrypt approach this scenario becomes plausible because no check is made with the parent domain to find out exactly how paranoid it is about subdomains.
Nobody is blaming Let's Encrypt, but they can help.
Other CAs don't have a magic solution that automatically detects malicious domains. Issuance of DV certs is completely automated at any major CA. There is no manual review unless the domain is on some kind of grey- or blacklist, and I highly doubt that they have a list of every domain used by a bank. There have been numerous counts of unauthorized certificates being issued by almost all CAs, what makes you think they're somehow that much more smarter than Let's Encrypt on this topic?
Do you have any information on which CA's already support this, or whether Let's Encrypt (intends to) support this?
I'm still hoping for DANE to gain traction, though. Not necessarily as a replacement for CA's; there is value in thorough, third-party validation of certificates, but not within the current ecosystem.
That statement did not contain anything on other kinds of reports. They do have an email address for reporting certificate abuse. So far, I have not been able to find any public statements on how they will handle that.
I recently had an IoT pairing issue between two devices. A normal human will not run wireshark to troubleshoot a pairing failure between two devices. I did. I was rewarded with a shitty protocol that could not be evaluated for errors and a moderated support forum that encouraged me to reboot my router.
Taken to its extreme conclusion- there are important networking problems that are amplified if we encrypt all the packets.
Sometimes, I feel like the EFF is composed of idealistic teenagers with limited understanding of how the world outside of their first hop works. I generally support them, but it is always at arms length.
Still, you should use the seat belt. All the time.
If someone gains access to a subdomain and is able to place files there, THAT is the problem, not being able to request a certificate for it.
To quote both Ford and Raymond Chen: "It rather involved being on the other side of this airtight hatchway"
That says it all, really. This isn't the first time other CAs have attempted to stop LE:
Because LetsEncrypt needs a very specific response to be served from a specific endpoint, you need this kind of total control to validate a domain and get a certificate issued.
There's a bit more to it than "allowing subdomain creation". You will need control over the DNS records, or ability arbitrarily change the page (essentially).
Let's Encrypt has absolutely nothing to do with content behavior safety, only domain validation and encryption to keep data away from prying eyes.
This title is no different from "Chairs Now Being Abused by Criminals". It's nonsensical and completely unrelated. Do you care that criminals have started using chairs to sit down (gasp)? I don't think this even belongs on Hacker News.
If you can allow me a bit of proofreading, there are a few typo's in the article:
[..] that said it is can be summarized as: -> lose the "is"
Maybe the then the issue is -> lose the first "the"
It had nothing to do with SSL, the attacker had full control of a subdomain and the attack would have still worked without it. -> The final "it" should presumably refer to SSL, but in this construct it refers to "control".
I say “could” because in that not everyone is aware of -> lose "in that" ?
Until all CAs are required to log all of the SSL certificates they issue into CT Logs and add are required to CAA -> Not sure of your intent here. "And CAA records are required before requesting certs"?
Also, your quotes from the original article render for me (in firefox) as single-line textboxes with scrollbars. Maybe you can change it to force automatic wrapping?
So the traffic is encrypted. How does that make anything worse?
It seems pretty irrelevant to me if it's encrypted or not.
Given that Trend Micro themselves provide AV software that does this, it's particularly ironic since it's already no problem for them to decrypt and scan encrypted traffic. It's likely just their CA division that dislikes Let's Encrypt.
https://letsencrypt.org/2015/10/29/phishing-and-malware.html
They basically sold certs as something they're not and now complain that people may realize they don't actually serve that purpose now that they're made widely available without the false pretences.
https://letsencrypt.org/2015/10/29/phishing-and-malware.html
This pretty much invalidates the entire argument. TLS is not about making things look more legitimate. If anything, CLAs are to blame for marketing TLS as something it's not.
Let's Encrypt is doing the right thing here, Trendmicro is part of the problem.
File verification (which I haven't seen as an option with the multiple CAs I have used) is an alternate vector. It may be in line with the CA/B Baseline Requirements, but by removing this they would likely eliminate this threat.
This is a serious problem
p.s. I note that this "content change" verification mechanism is mentioned as point 6 under 3.2.2.4 of the Baseline requirements. It is entirely feasible that when these documents were written this particular issue wasn't considered. How would one go about repealing this particular point, and thus forcing CAs to comply.
It is unclear to me how TXT verification would have prevent this. The article indicates that the attackers created the subdomain and pointed it at a server they controlled; this means DNS was compromised and creating a TXT record wouldn't have been a problem.
Domain owners which are worried about Let's Encrypt can opt to create a CAA DNS record that limits CAs allowed to issue certificates to ones they trust.
CA/B BR can be found here[1].
[1]: https://cabforum.org/wp-content/uploads/Baseline_Requirement...
If you are unable to hijack the DNS servers or poison/spoof the cache used by the CA, then you have the luxury of a whole new (and often WAY more insecure) attack surface. Then you have a cert for that domain which can be used for other, more targeted purposes.
EDIT: IGNORE BELOW, I WAS ASSUMING THAT LETS ENCRYPT LETS YOU VALIDATE SUBDOMAINS FROM THE TLD, BUT THIS DOEST SEEM TO BE THE CASE FROM THE DOCS.
e.g.
1) Wifi access point uses https://login.wifiprovider.com to authenticate users. This is clamped down as tight as possible. Theres no way i'm getting in to that beastie.
2) Their brochure site located at http://www.wifiprovider.com. It was made by some ad agency and probably allows you to log in with test/test or uses some crappy custom CMS that allows SQL injections or even allows you to log in with a "wildcard" password... (this is INSANELY common). Its just a brochure site, and its not linked to the super-secure login systems in any way.
3) By breaking into this crappy brochure site, I can get a cert from a valid CA for the subdomain https://login.wifiprovider.com that allows me to sit at an access point, spoofing DNS and capturing valid login details.
That doesn't seem right to me.
http://login.wifiprovider.com/.well-known/acme-challenge/random
Verifying ownership of wifiprovider.com that way would not automatically allow you to get certificates for subdomains too.I'm still not sure about this mechanism of verification, but good to know that my example scenario cant exist.
Banks and employers should just teach users to look for green icon near the URL, not just a padlock.
https://en.wikipedia.org/wiki/Public_Suffix_List
Probably includes https://en.wikipedia.org/wiki/List_of_Internet_top-level_dom...
One of the main features of DNS is the ability to delegate authority for a zone. You use a NS record on a valid name that where you have authority to indicate that some other server is authoritative for a given subset of your zone.
If you bought example.com, you can create DNS records like
subdomin.example.com. 172800 IN NS ns1.example.com
to indicate that ns1.example.com is the authority for the entire subdomain.example.com zone. This includes all further nesting of .subdomain.example.com.Instead of guessing* who is responsible for a zone, you should simply ask the nearest upstream zone authority.
Also, relying on lists is almost always the wrong solution - if your security requires you to successfully enumerate something, you are doing it wrong. ( http://www.ranum.com/security/computer_security/editorials/d... )
The Dbound WG[1] is working towards a standardized solution that doesn't require enumeration in a centralized list but rather works through DNS records. This should eventually replace the PSL, although I suspect most use cases will still rely on some kind of preload list (similar to HSTS) in addition to that.
On the other hand, since this feature is used almost solely for advertising, there's no reason Let's Encrypt should offer this service for free. Let the ad guys buy those certs from Verisign and verify them with both parties manually.