Are Apple, Google, Microsoft And Mozilla Helping Governments Carry Out Man-In-The-Middle Attacks?
from the and-what-can-they-do-about-it? dept
Back in September, we reported on the Chinese authorities using man-in-the-middle attacks to spy on citizens who carry out Google searches over encrypted connections. That's done by using a fake security certificate to redirect traffic to a server where the traffic is decrypted, analyzed, and blocked if necessary. A new post on the Greatfire.org Web site points out that this approach can only work if the user's computer trusts the certificate's issuing authority, in this case the China Internet Network Information Center, and that it's curious that browsers from the West do so quite so readily:Microsoft, Apple and Mozilla among others, trust CNNIC (China Internet Network Information Center) to protect your communications on their platforms by default, regardless of whether or not you are in China. CNNIC has implemented (and tried to mask) internet censorship, produced malware and has very bad security practices. Tech-savvy users in China have been protesting the inclusion of CNNIC as a trusted certificate authority for years. In January 2013, after Github was attacked in China, we publicly called for the the revocation of the trust certificate for CNNIC. In light of the recent spate of man-in-the-middle (MITM) attacks in China, and in an effort to protect user privacy not just in China but everywhere, we again call for revocation of CNNIC Certificate Authority.Although the logic of revoking CNNIC as a trusted certificate authority might seem inarguable, the consequences of doing so are likely to be serious. For example, the Chinese government might decide to ban the use of any browser that did not include CNNIC. That's hard to police, but the threat alone would be enough to dissuade any software company from removing CNNIC's certificate from its browser.
Perhaps the best solution is simply making users aware of the issue, and explaining how they can remove any certificate authority they have doubts about. And not just for China: these problems can arise in any country where a local trusted certificate authority is under the direct -- or indirect -- control of the government.
Follow me @glynmoody on Twitter or identi.ca, and +glynmoody on Google+
Thank you for reading this Techdirt post. With so many things competing for everyone’s attention these days, we really appreciate you giving us your time. We work hard every day to put quality content out there for our community.
Techdirt is one of the few remaining truly independent media outlets. We do not have a giant corporation behind us, and we rely heavily on our community to support us, in an age when advertisers are increasingly uninterested in sponsoring small, independent sites — especially a site like ours that is unwilling to pull punches in its reporting and analysis.
While other websites have resorted to paywalls, registration requirements, and increasingly annoying/intrusive advertising, we have always kept Techdirt open and available to anyone. But in order to continue doing so, we need your support. We offer a variety of ways for our readers to support us, from direct donations to special subscriptions and cool merchandise — and every little bit helps. Thank you.
–The Techdirt Team
Filed Under: certificate authorities, china, man in the middle attacks, security, trust
Companies: apple, cnnic, google, microsoft, mozilla
Reader Comments
Subscribe: RSS
View by: Time | Thread
Dunno, is Techdirt turning into The Daily Mail? Is asking questions in a big headline more important than providing the answers?
[ link to this | view in thread ]
Preferences... > Advanced > Certificates > View Certificates
Authorities > CNNIC Root > Delete or Distrust...
[ link to this | view in thread ]
Re:
[ link to this | view in thread ]
No CA is trustworthy anyway. Trust (or simply use) at your own risk, regardless of the known particular history of any CA. They may be generally OK, but all have problems.
[ link to this | view in thread ]
Those 2 words should inspire Americans to do something similar to their out of control governments instead of just rolling over and accepting it.
The Arabs were inspired by the American concept of rights and freedoms that the current generations no longer seem to care about. Maybe you guys could get inspired about the rights and freedoms your ancestors fought died over as well
[ link to this | view in thread ]
Re: delete certificate
[ link to this | view in thread ]
Google Chrome Certificate location...
Google Chrome:
Settings > Advanced > HTTPS/SSL > Manage certificates...
But I don't see CNNIC listed anywhere.
Windows 7/Chrome Version 38.0.2125.111 m
...brig
[ link to this | view in thread ]
Re:
[ link to this | view in thread ]
Oh, and c) in Windows 8.1 at least there is no sign of CNNIC
Just sayin'
[ link to this | view in thread ]
[ link to this | view in thread ]
Re:
[ link to this | view in thread ]
çin
[ link to this | view in thread ]
ok...
Then why don't you do that!
[ link to this | view in thread ]
Was there any MITM attempt using CNNIC?
The reason it was never used for MITM is that, as soon as it's used for MITM, it will lose its trusted CA status. CNNIC is not one of the "too big to fail" CAs.
As to the discussion leading to its inclusion by Mozilla, https://www.mozilla.org/en-US/about/governance/policies/security-group/certs/included/ has links to the discussion for all trusted CAs. For CNNIC, the discussion was at https://bugzilla.mozilla.org/show_bug.cgi?id=476766 and https://bugzilla.mozilla.org/show_bug.cgi?id=607208.
[ link to this | view in thread ]
Re: Re: delete certificate
[ link to this | view in thread ]
Re:
Start > Run certmgr.msc
Go to Trusted Certificates and find CNNIC Root. Drag it to Untrusted Certificates.
[ link to this | view in thread ]
[ link to this | view in thread ]
Re: Re: Re: delete certificate
[ link to this | view in thread ]
[ link to this | view in thread ]
Re:
I'm not exactly sure how the browser verifies certificates but, presumably (if it were smart) it should give priority to certain (more trusted) authorities before giving priority to less trusted ones and it should check the credentials of a website with the 'more trustworthy' authorities first to see if those authorities have any records of the website. If the more trustworthy authorities have records of the website then the certificates on those websites should be verified with the more trusted CA's without the need to verify them with the less trustworthy ones. Or, alternatively, the browser can check with multiple different CA's and report any CA conflicts. This would ensure that whoever is playing man in the middle would need to work with multiple CA's if the website is to be verified by multiple ones. Hopefully banks have the sense to use more than one CA so that browsers can do this.
"That's done by using a fake security certificate to redirect traffic to a server where the traffic is decrypted, analyzed, and blocked if necessary."
So if a trusted certificate authority presents a fake certificate it can then instruct the browser to redirect its inquiry to another site? Doesn't make much sense (at least not if you have a properly functioning browser). This type of attack seems somewhat difficult because it would require both a MITM attack (the ability for someone to get in between the user and the desired website to trick the browser into thinking it's receiving information from a site it's not) and it would require that someone to be working with the certificate authority. I suppose it's possible (and the OP is talking about a potential MITM attack) but it's important to be aware of what would be required and the difficulty.
Another potential general solution to the general problem above, at least in firefox, is to click on the little lock next to the URL, click more information, and see who the certificate is being verified by and whether or not it makes sense that this authority is the correct authority for the website being visited.
Another potential problem could be when downloading files. When running them as admin usually you'll get a yes or no popup asking you if you want to continue and there maybe a line on the popup saying 'verified publisher' and who the verified publisher is. If there is a 'verified publisher' it would be nice if the operating system also told the user who's the CA that verified the publisher (though you can usually right click on the program, click properties, and view that info from there).
[ link to this | view in thread ]
Re: Re:
[ link to this | view in thread ]
Re:
Government agencies, especially spy agencies, would not be on the budget cutting block until things got really bad, if ever, as no politician has the guts to defund the spy agencies in case something goes wrong and they get blamed for it.
[ link to this | view in thread ]
Re: Google Chrome Certificate location...
[ link to this | view in thread ]
Re:
That, and I'm reminded of Betteridges Law of Headlines: "Any headline which ends in a question mark can be answered by the word no."
[ link to this | view in thread ]
Re: ok...
[ link to this | view in thread ]
Re:
Then what did I just delete from firefox on 8.1? Tools > Options > Advanced > Certificates > View Certificates
Authorities > CNNIC Root > Delete or Distrust
[ link to this | view in thread ]
Re: Re:
[ link to this | view in thread ]
Re: Re: Re:
[ link to this | view in thread ]
Re: Re: Re: Re:
[ link to this | view in thread ]
Re: Re: Re: Re:
[ link to this | view in thread ]
Re: Re:
Who said anything about caring? Never ascribe to malice what can be explained by incompetence or stupidity.
They're well on the way (if they haven't already) to destroying any confidence foreigners had in US based "cloud" infrastructure. They backdoored RSA. They tee'd ISPs, then Congress pardoned the latter retroactively. DHS/ICE hijacks domains without even bothering to verify that they should.
What else can't we trust about USA based infrastructure?
[ link to this | view in thread ]
Safari
Find the certificate you want to remove - CNNIC ROOT is right there - and double-click on it. Details about the certificate will appear. Click the arrow next to "Trust" to open the trust details. Change "When using this certificate" from "Use System Defaults" to "Never Trust".
It's not possible to delete one of the built-in certificates, at least not using the Keychain Access application. (There is a command line utility that can do it, but even then the removal isn't permanent, and the cert may reappear - though it will be marked "Never Trust".)
-- Jerry
[ link to this | view in thread ]
Re: Re:
[ link to this | view in thread ]
Re: Safari
[ link to this | view in thread ]
Re: Re: Re: Re:
Windows 8.1, 7 and my Linux box all had it on FF. Updated and they had it again. Win7 was still at version 24 and had it as well.
Fanbois make people less secure.
Just sayin'
[ link to this | view in thread ]
Re: Re: Re:
[ link to this | view in thread ]
Re:
Since "Trust" isn't absolute, all browsers now need to check the certificate against the last known certificate they used. If the certificate changes unexpectedly, alert the user, and we can spread the word.
Worst case, is the CA authorities need to be 'opt in', meaning when you are presented with a certificate signed by "Big Name CA", you have to acknowledge you trust that CA now before accepting certs by them as "trusted".
[ link to this | view in thread ]
Re:
Settings - scroll down to "Show Advanced Settings"
Click on "Manage Certificates" in HTTP/SSL section
Click on "Authorities" tab
Scroll down to CNNIC, click on "CNNIC Root", then click on "Edit"
Uncheck the "Trust this certificate for identifying websites." box
Click on "Ok"
Restart Chrome
[ link to this | view in thread ]
Re: Re:
[ link to this | view in thread ]
Re: Re: Re: Re:
This is exactly what I was trying to explain but you explained it better.
But here is the thing. Even if all certificate authorities published a list of which domains were covered if Chinesegovernment is in your browser all the Chinesegovernment CA has to do is lie and tell your browser that this domain is covered by it. This is why cross referencing across different CA's is needed as a somewhat better, though still not perfect (at least not for all situations), solution. That way the browser can check with another CA if that website is (also) covered by that CA and, if it is, the browser can then ensure the website includes the certificate from that other authority as well (or else alert the user).
[ link to this | view in thread ]
Re: Re: Re: Re: Re:
The browser has its own (perhaps temporary) public key. The browser makes a request to an alternative CA asking it if it also covers the given website. The request is signed by the browser. The browser already knows, ahead of time, the public key of the CA.
Now the CA responds with
A: the request being made (is www. ... .com included in your list).
B: the date and time of the request
C: The response to the request (yes or no)
D: The public key of the requester (this is key to prevent a man in the middle attack)
E: A signature of all of the above information (that is a signed hashsum including all the above information).
When the browser receives its response it knows
A: The sender is the requested CA
B: The public key being responded to is the public key the browser used (and not some spoofed public key of someone in the middle) because the response itself includes the public key making the request (and the response is signed).
[ link to this | view in thread ]
Re: Re:
Yes it is, and CAs backing the security of SSL is and always was simply a scam. Something like SSL ought to be backed up by something like DNSSEC, not some obscure "thanks for the cash, you get the job" arrangement.
Diginotar wasn't an exception. They just failed far more visibly.
[ link to this | view in thread ]
Surprised this works in chrome
[ link to this | view in thread ]
O RLY?
However, they are not the government and here the "private investment" is "sacred", so no one is facing them.
[ link to this | view in thread ]
Re: Re: Re: Re:
[ link to this | view in thread ]
Re: Re:
[ link to this | view in thread ]
Seems to me its in a desperate need of an overhaul, or enough discussions, for now, on which ones can be relatively trusted......i.e. a handfull, instead of ALL that come preinstalled
By the way, for android
Settings
Security
Trusted credentials
Its there!
Disable
[ link to this | view in thread ]
[ link to this | view in thread ]