CNNIC CA still trusted by major browsers and software

Discussion in 'other security issues & news' started by BoerenkoolMetWorst, Oct 29, 2014.

  1. BoerenkoolMetWorst

    BoerenkoolMetWorst Registered Member

    Joined:
    Dec 22, 2009
    Posts:
    3,771
    Location:
    Outer space
    CNNIC Certifcate Authority is likely at least complicit in recent major Man-in-the-Middle attacks and still a trusted CA in a lot of software:
    https://en.greatfire.org/blog/2014/...chinese-government-protect-your-communication

    I just checked Opera(Presto and New) and Google Chrome, they trust CNNIC as well.

    If you search for CNNIC on Wilders, there are posts from already 4 years ago warning about this.
     
  2. xxJackxx

    xxJackxx Registered Member

    Joined:
    Oct 23, 2008
    Posts:
    4,052
    Location:
    USA
    So is it safe to run these batch files they link to? I'm not familiar enough with this process to verify it.
     
  3. Yuki2718

    Yuki2718 Registered Member

    Joined:
    Aug 15, 2014
    Posts:
    1,257
    I looked AntiChinaCerts_All.bat and found nothing weird.
    But since it deletes bunch of certs, you might come across connection issue for some sites, though all of them seems to be Chinese or Taiwan certs.
    I personally prefer manually delete untrustworthy certs one by one.
    Input certmgr.msc into start menu and run as admin.
     
  4. xxJackxx

    xxJackxx Registered Member

    Joined:
    Oct 23, 2008
    Posts:
    4,052
    Location:
    USA
    Thanks. I'll take a look at certmgr and go from there.
     
  5. Yuki2718

    Yuki2718 Registered Member

    Joined:
    Aug 15, 2014
    Posts:
    1,257
    You're welcome, Jack:)
     
  6. BoerenkoolMetWorst

    BoerenkoolMetWorst Registered Member

    Joined:
    Dec 22, 2009
    Posts:
    3,771
    Location:
    Outer space
    Keep in mind that most third party browsers have their own SSL/TLS libary and certificate store, but with most of them you can just find it in the (Advanced) settings and delete/distrust any you don't want.
     
  7. badsector

    badsector Registered Member

    Joined:
    Oct 7, 2014
    Posts:
    51
    I hope someone make a whitelist for firefox certs... too lazy too make my own.. :)
     
  8. RockLobster

    RockLobster Registered Member

    Joined:
    Nov 8, 2007
    Posts:
    318
    I have a whole bunch of "certificate authorities" as long as my arm in my certificate manger, how did they get there ? How can anyone know if they are correct or not and if they are not what does that mean ? No one outside of I.T. professionals has the first clue what any of it means. Its no wonder so much hacking is going on. Internet security is like government bureaucracy gobledegook that only other bureaucrats understand.
    All of the certificates in my servers tab says "could not verify this certificate because it is not trusted" what are they doing there if they are not trusted should I delete them all ?
    Who is deciding who we should trust or not, web browser developers ? The government ?
    Firefox claims to be for user security yet my browser connects to every damn tracking thing on the internet, I bet they don't have security certificates and then what about when I connect to an https website and there are things on that page that is not https ? Like news sites comments sure the news site is https but the comments thing is not yet does firefox alert me to that ? of course not. I only find that out when I specifically only allow https and the comments thing does not load.
     
    Last edited: Nov 1, 2014
  9. RockLobster

    RockLobster Registered Member

    Joined:
    Nov 8, 2007
    Posts:
    318
    Perhaps need a better system to make better use of certificates, where certificate authorities are only a part of authentication and a program to educate more people about the certificate usage on sites that use them. A better system could be called httpss and it might work like this, for example online banking.
    1. When you connect to the bank website the browser checks banks certificate with certificate authority as usual.
    2. When you sign up to the site, the bank itself issues you with a unique certificate created by the bank.
    2. Every time you log into your bank's httpss site with your password a regular https connection is established first.
    3. The browser then expects the bank to request the certificate they issued to you by it's fingerprint. Only the bank knows the fingerprint of the certificate it issued to you.
    4. If Bank requests wrong fingerprint it means it is not your bank and browser alerts you to possible attack.
    5. If bank requested correct fingerprint browser knows that must be the same site that you signed up to and makes the green padlock and sends bank the public key of your certificate, perhaps client and server could then use each others public keys for further encryption?
    6. This would add a much higher level of security between client and server and as the bank issued the certificate itself it can revoke it at any time a security breach is suspected. Users would be aware, an attacker would have to not only steal their password, but also gain access to their computer to steal the certificate.
     
    Last edited: Nov 1, 2014
  10. noone_particular

    noone_particular Registered Member

    Joined:
    Aug 8, 2008
    Posts:
    3,798
    The certificate authorities of any country have to obey the laws of the nation they're in. In so called democratic nations, it's popular to point at China, Russia, etc and point out these activities. In reality, this happens in most countries under the guise of national security. This is the main flaw in the entire certificate authority concept. Centralized authorities can be coerced or forced by the governments of the nations they reside in. Until a solution is found that completely eliminates centralized "authorities", there is no secure traffic. Browsers "trust" them because that's the system we have.
    Trust has to be conditional here. There are no guarantees with the existing system. It's not necessary to completely trust a site before you connect to them. The web as a whole should be regarded as untrusted. As for certificates, I trust self signed certificates, like the ones used here more than those from "authorities".
     
  11. BoerenkoolMetWorst

    BoerenkoolMetWorst Registered Member

    Joined:
    Dec 22, 2009
    Posts:
    3,771
    Location:
    Outer space
    Yes, the CA system is crap.
    HPKP (HTTP Public Key Pinning) is a new standard that sounds like your idea. It is comparable to HSTS. The browser and a site both need to support it. On the first visit, the website specifies a CA or public keys and the browser saves them. The next time you visit the site, it checks if the certificate public key is the same or whether it is issued by the specified CA, and if not it will give a warning.
    It is not publicly used yet, but Firefox will support it from v35 afaik.
     
  12. Rasheed187

    Rasheed187 Registered Member

    Joined:
    Jul 10, 2004
    Posts:
    8,055
    Location:
    The Netherlands
    Is there a way to fix this in Opera v11/12? :)
     
  13. Q Section

    Q Section Registered Member

    Joined:
    Feb 5, 2003
    Posts:
    771
    Location:
    Headquarters - London & Field Offices -Worldwide
    RockLobster - some great thinking and posts!

    Best regards
     
  14. RockLobster

    RockLobster Registered Member

    Joined:
    Nov 8, 2007
    Posts:
    318
    Thanks guys I'm glad you liked my ideas, although now I have read up on the new HPKP Public Key Pinning I see someone else had a similar idea long before I did and have taken it to the next level.
    I still think if the site issued its own per user certificate it would be more secure than just using the existing CA certificate because the entire authentication would require both and could be a case of the server sends the 1st half of the fingerprint, the client authenticates that and replies with the other half of the fingerprint all of which is already encrypted using existing https. That would allow client and server to authenticate each other before using each others public key for further encryption.
    Having said that, my idea was more about sites where user login is required, but HPKP could work everywhere.
     
    Last edited: Nov 1, 2014
  15. noone_particular

    noone_particular Registered Member

    Joined:
    Aug 8, 2008
    Posts:
    3,798
    @RockLobster
    Regarding the sequence you've mentioned, if that first connection is MITM'd, how would you know if the received certificates actually came from the bank and wasn't replaced by an adversary? The only way I see to reasonably make the first exchange trustworthy is for the bank to physically hand you the certificate. Even that doesn't rule out government or law enforcement getting a copy.
     
  16. RockLobster

    RockLobster Registered Member

    Joined:
    Nov 8, 2007
    Posts:
    318
    Yes the very first time you sign up you would have to trust the CA. With a bank you would find out pretty soon because obviously you would know your own account details, balances etc. Any attacker who already knows that well enough to replicate probably already has access to your accounts therefore MTM would be moot. The system I proposed was more about ensuring the site you connect to is the same site you signed up to. But you are right a MTM could dupe you into signing up to a fake site, that would require maintaining that fake site thereafter though, if you managed to connect to the real site at some point the certificate fingerprint would not authenticate and you would be alerted to further investigate.
    it would also protect against phishing when they try to get you to log into a fake login page to steal your password. The password would be useless to them without the certificate and your browser would know you tried to login to a phishing site when they did not authenticate.
    It might not be perfect but it would be robust when you think the entire authentication would take CA validation of sites main certificate, client and server both to authenticate the site issued, per user certificate and the user's regular username and password.
    It could be implemented without a user name and password too for regular browsing sites.
     
    Last edited: Nov 1, 2014
  17. noone_particular

    noone_particular Registered Member

    Joined:
    Aug 8, 2008
    Posts:
    3,798
    It also would make it possible to monitor your financial activities and account balances in real time. The surveillance potential here is scary.
     
  18. RockLobster

    RockLobster Registered Member

    Joined:
    Nov 8, 2007
    Posts:
    318
    Yes but is the case regardless when using online banking, we just have to rely on https to encrypt it.
     
  19. BoerenkoolMetWorst

    BoerenkoolMetWorst Registered Member

    Joined:
    Dec 22, 2009
    Posts:
    3,771
    Location:
    Outer space
    Preferences -> Advanced -> Security -> Manage Certificates -> Authorities -> CNNIC Root CA -> View
    You can set it to Warn, or completely block the connection.
    You can also delete it from the list, but that doesn't seem to do anything except that it doesn't show a lock icon anymore when visiting a site signed with CNNIC.
     
  20. Rasheed187

    Rasheed187 Registered Member

    Joined:
    Jul 10, 2004
    Posts:
    8,055
    Location:
    The Netherlands
    @ BoerenkoolMetWorst

    Thanks, for some reason I could not find the certificate, I have disabled it now, cool that it's easy to fix in Opera Presto.
     
  21. Yuki2718

    Yuki2718 Registered Member

    Joined:
    Aug 15, 2014
    Posts:
    1,257
    I'm not sure if I understand you correctly, but I think still attacker only needs username & password to crack account.
    As already mentioned, the first login is no different from usual https.
    Also from website's point of view, they can't identify you unless user saves cookie or he entered username & password.
    If user get new device, he should be able to login with username & password on that device.
    But from website, there's no difference btwn user's new device and attacker who get username & password by other way.
    What you mentioned will make user more confident that what you're logging in is surely your bank, but still a leak of username & password is game over.

    Yahoo once implemented such function called sign-in seal.
    https://protect.login.yahoo.com/login/set_pref/
    But I suppose it is discontinued.
     
  22. RockLobster

    RockLobster Registered Member

    Joined:
    Nov 8, 2007
    Posts:
    318
    Yes but my point was not about password security, it was about preventing MTM attacks where a bogus website masquerades as the site you are trying to access. I was proposing a method to ensure the site you connect to is always the same site you signed up to.
     
  23. Yuki2718

    Yuki2718 Registered Member

    Joined:
    Aug 15, 2014
    Posts:
    1,257
    Yup, I understand you.
     
  24. Q Section

    Q Section Registered Member

    Joined:
    Feb 5, 2003
    Posts:
    771
    Location:
    Headquarters - London & Field Offices -Worldwide
    An addition to this is to have the customer in the bank at the time of account creation and that customer uses the bank's computer present to enter a username and password. The customer can be given a secure personal key at that time on a secure flash drive. It seems like this should help a good deal for authenticity's sake. So from then on the customer needs to use the same username and password along with the security key given to them at the bank.

    Just a thought. Banking is not our business.

    Best regards
     
  25. Yuki2718

    Yuki2718 Registered Member

    Joined:
    Aug 15, 2014
    Posts:
    1,257
    Well, what if the key is stolen, and/or user lost the flash drive?
    And it's better that user can change password when he need as he might forget it, or the password might be stolen, or possibly new attack method might be discoverd and current password length become no more secure.

    However as current authentication processes (username, password & authentication code sent to mobile device or YubiKey) are far from ideal, surely we need better one, but to be honest I don't have an good idea.
     
Loading...