5 ms·
Gentle reminder: You can still generate valid TLS certificates for arbitrary domains with BGP hijack. Hide yo logins, hide yo passwords, and hide yo persistent
by throwaway984393 5y ago
Gentle reminder: You can still generate valid TLS certificates for arbitrary domains with BGP hijack. Hide yo logins, hide yo passwords, and hide yo persistent sessions too, they hijackin' errrbudy up in here
- advisedwang 5y agoI assume the mechanism here is to hijack the DNS servers? Does DNSSEC protect against this?
- fulafel 5y agoDNSSEC could be used to protect against it, if TLS cert issuing policies were tightened by folks who mandate the minimum verification requirements for CAs, but this is not currently done. (eg Let's Encrypt supports DNS verification as one mechanism currently, but it also supports plaintext HTTP which is vulnerable to BGP hijack)
- throwaway984393 5y agoE-mail, DNS, and HTTP validation are all vulnerable (so, all the methods besides ACME). As for DNS validation, DNSSEC is opt-in; if one of the 350 different Certificate Authorities doesn't do mandatory stub validation, then the hijack still works on them. There's actually multiple attacks using BGP. You can either hijack the DNS or E-mail server's IP and spoof records, or you can hijack the IP of the target host and spoof an HTTP response. Or you could try all 3 to maximize your chances.
- bawolff 5y agoThere are non dns mechanisms as well - you can directly hijack the websites ip address instead of their dns server. In theory i think https://en.m.wikipedia.org/wiki/Resource_Public_Key_Infrastructure https://en.m.wikipedia.org/wiki/Resource_Public_Key_Infrastr... is the thing that's meant to stop this attack if everyone adopted it.
- jart 5y agoChrome doesn't support DNSSEC sadly. https://bugs.chromium.org/p/chromium/issues/detail?id=50874 https://bugs.chromium.org/p/chromium/issues/detail?id=50874
- astrange 5y agoDoesn't seem to matter: https://twitter.com/colmmacc/status/1494047770428149761 https://twitter.com/colmmacc/status/1494047770428149761
- jart 5y agoThat's like saying the lock on the front door did not prevent intrusion because the burglar went in through the window.
- astrange 5y agoAs tptacek will tell you, there's never any situation where DNSSEC would help. For instance, it doesn't mean your own DNS lookups to 1.1.1.1 are secure, but it does mean Libya is a CA for bit.ly. Although trying to turn it on did take Slack and HBO down in the past, so someone out there cares.
- jart 5y agoNever helps. Causes outages. Route all your DNS through 1.1.1.1 or 8.8.8.8 instead. Sheesh. In Ancient Rome, weren't dictators expected to vacate office once their task had been accomplished and decentralized solutions were ready to once again take hold? Why is it that I always feel the heat whenever I voice words of support for DNSSEC?
- tptacek 5y agoBecause DNSSEC is a bad protocol that nobody serious uses, with an inexplicably committed cheering section.
- 5y ago
- randomhodler84 5y agoCheck the CT logs for bandits!
- jart 5y agoHow exactly would one do that? CT logs don't have traceroutes. They don't even have IP addresses. https://crt.sh/?q=ycombinator.com https://crt.sh/?q=ycombinator.com
- randomhodler84 5y agocheck CT logs vs your own issuance records, and look for discrepancies. Look for issuance during the hijack period. Etc
- trooop 5y agowait how? CA workflows should still work and be able to break this?
- midasuni 5y agoIf you can hijack the traffic you can respond to http challenges from CAs and they will give you a valid certificate. In theory the certificate owner should spot this via CT, but it’s not automatic.
- obert 5y agoaren't root CAs installed inside browsers and OSes so that they can't be hijacked without physical access to the target victim device?
- mindwok 5y agoThe attack (I think) would work like this: - You own the domain trust.org pointing to IP address 2.3.4.5. - Someone performs a BGP hijack on 2.3.4.5 and now hosts their own server on 2.3.4.5. - They then ask Letsencrypt for a certificate to prove they are trust.org. Letsencrypt provides them a token to host on their website to prove they control it. - Letsencrypt does a DNS lookup, sees trust.org resolves to 2.3.4.5, and performs a http request to that website to check for a token which the hijacker has duly placed on their server at 2.3.4.5. - Letsencrypt issues a certificate for trust.org, which is now valid and controlled by the hijacker. None of this requires access to CAs installed on anyones machine, because Letsencrypt is widely trusted and they are the ones issuing the cert.
- kadoban 5y agoWhen the CA is giving you, supposedly the owner of someguy.example, a new certificate, how do they verify that you're you first? One common way is they tell you a magic, unique string and you serve it under someguy.example/.well-known/whatever and they connect to you and verify it's there and matches. But if BGP is being hijacked, when they connect to you, they could really be connecting to some scammer. How would they know? So now some scammer has proved they're you and they'll be given a valid cert for someguy.example. The other common verification methods have similar holes.
- ushakov 5y agolove the hide yo kids, hide yo wife, and hide yo husband reference!