Kazakhstan government is intercepting HTTPS traffic in its capital (again)
zdnet.com
zdnet.com
https://blog.mozilla.org/security/2019/08/21/protecting-our-...
---
Nevermind, I went and checked. It's a new CA.
The certificate is here: https://isca.gov.kz/
The first button downloads the cert.
It's a newly issued one, valid from Feb 2020 to 2040.
I've put it on Pastebin as well: https://pastebin.com/ERqCMCBf
---
Common Name: Information Security Certification Authority CA
Organization: ISCA
Country: KZ
Valid From: February 27, 2020
Valid To: February 27, 2040
Issuer: Information Security Certification Authority CA,ISCA
Serial Number: 287dce0ce3c6f7aaa33ff965e76ea98c824a59db
If you expand the row you can see the nation state MitM: notice the O=ISCA, C=KZ.
The remaining alternative is not defaulting to HTTPS for cases like non-sensitive static sites, which would be an unpopular proposition with some objective downsides.
If all the major browser vendors do this it makes Kazakhstan's position quite difficult.
They would be better off releasing some fork of Chromium—which is, unfortunately, also a thing they can presumably do...
"From December 6th 2020 there will be a study conducted in Nur-Sultan called "Cybersecurity Nur-Sultan 2020".
We ask you to install a certificate of safety on all your devices in order to retain access to some foreign internet resources.
Please, follow the link: [link]"
Gotta love government doublespeak...
Of course technically they can spy as well, so one should assume so.
I was routed through a bunch of proxies at ISP level last year because of the internet gag by India and I did not feel safe. Not that I didnt do shit what I wanted to but for the end user, https://theintercept.com/2020/12/06/kashmir-social-media-pol...
This just came up yesterday. Now, I have said this multiple tines before, they dont have "sophisticated surveillance techniques" as alluded to by the article here but a simple handle search in twitter, which links to FB, which links to phone, address, work, parents and next thing you know police are knocking on the door.
Its just really scummy of the government to assume they can kill dissent or that these scare tactics would work. They don't.
1. Traffic encrypted in browser using SSL
2. Traffic routed to VPN server
3. Traffic routed to target web server over public internet*
4. Back to VPN server
5. Back to browser
*I assume at this point the Kazakh government can intercept the traffic and decrypted the HTTPS traffic, but that would itself be garbage because it's been encrypted by the VPN. Is this correct?
Whatever content or data the website included, the MITM can just alter it accordingly. Short of a browser knowing what Certificates are allowed for what websites (and the trusted MITM not modifying THAT content) there just isn't a simple way to know that your connection is being monitored or modified.
Short of quantum encryption, is there any simple way to detect such an attack once the user trusts the MITM's CA?
Mobile apps can do this with certificate pinning. Web apps used to be able to do this with HTTP Public Key Pinning (HPKP) [1], but it was deprecated because it was too much of a footgun. Instead you can monitor for certificates for your domain that aren't expected via Certificate Transparency logs.
[1]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Public_Key...
Probably some low hanging fruit here are 1. Inspect the CA used by a few different websites 2. Try visiting the website from different countries (vpns and proxies) to see if the same cert is used
Theoretically a MITM could tamper with the software download but I think for most cases this would be reasonable
A CA that can issue a certificate to a third-party without the consent of the domain owner is not a trusted CA by definition.
In other words the issue in Kazakhstan should probably not be viewed as a technical issue...authoritarian governments will always get their way if the only recourse against them is a technical solution. In the case of Kazakhstan, they are forcing their citizens to accept the compromised CA, that is not a technical problem to solve.
A set of CAA records describes only current grants of authority to
issue certificates for the corresponding DNS domain name. Since
certificates are valid for a period of time, it is possible that a
certificate that is not conformant with the CAA records currently
published was conformant with the CAA records published at the time
that the certificate was issued. Relying Parties MUST NOT use CAA
records as part of certificate validation.But with DANE TLSA Resource Records you can pin a public key to a website. Alas the implementation of TLSA-RR checking in browsers is dependent on extensions at this time. I wish it was native in browsers with a big red sign when violated. When done in combination with DNSSEC it's very hard to fake certificates. Or more precisely asymmetric cryptography key pairs used by servers. Certificates for TLS would not be needed anymore if TLSA-RR's were standard practice. A company might still use a certificate to attest it's identity beyond internet domain ownership.
Edit: This is for TLSA 3 1 1 and 3 1 2 records. That's what I have experience with. Just read on Wikipedia a lot more is possible with TLSA-RR's including certificate and CA pinning. https://en.wikipedia.org/wiki/DNS-based_Authentication_of_Na...
When a CA can be shown to have misissued a certificate, Google can (and has, as it did in the Symantec case) distrust it, nuking the CA from orbit. It has no such powers with a CA baked into the DNS; Google can't distrust .COM. People should be careful what they wish for.
But not too careful in this case; DNSSEC is moribund, and unlikely to be revived.
If the website uses client certificate authentication, any MITM attempt will fail authentication unless either the website trusts the MITM's CA, or the MITM somehow has access to the private key of the client certificate; the browser trusting the MITM's CA is not enough. Unfortunately, client certificate authentication in websites is rare (unlike for instance ssh, where public key authentication of both the server and the client is common).
Another way to detect MITM attempts would be if TLS channel binding were used for authentication, since any MITM would be using separate connections for the server and the client and therefore the authentication (bound to the TLS connection) would fail. I don't know if newer authentication protocols like WebAuthn support it, and if they do, how common is the support for it in browsers.
Outside of the US, almost no one buys their phones from their carriers. You usually buy an unlocked phone from an electronics store and it's sealed in the box. You're the first person to ever turn it on.
Some critics of DoH, and especially centralized DoH, said that it would not help; see "DoH for oppressive regimes":
* https://blog.powerdns.com/2019/09/25/centralised-doh-is-bad-...
See also Paul Vixie:
* https://blog.apnic.net/2019/11/04/dns-wars/
Personally I prefer DoT: it allows me to control resolution on my network, but if you want to allow 953 and use a third party DNS service because of your ISP, you still can.
Belarus = Sandvine (USA) Kazakhstan = Allot (Israel)
Add your domain name to https://hstspreload.org
Get A+ from https://www.ssllabs.com/ssltest/
Use DNSSEC for your domain name https://dnssec-name-and-shame.com
Enable Encrypted SNI in your web server https://www.cloudflare.com/ssl/encrypted-sni/
'US government is intercepting worldwide internet traffic through Silicon Valley and NSA cooperation (again, everyday)'
* uncivilized meaning both 'shithole' countries and those otherwise not a part of the USA