Remix.run Logo
▲ hbcdbff 3 hours ago

Almost certainly noticed and quietly exploited by a state actor

▲saidnooneever a minute ago | parent | next [-]

organized crime is generally as or more capable these days. they have bigger budgets than most nation states.

▲woodruffw 3 hours ago | parent | prev | next [-]

The Web PKI uses certificate transparency, so we’ll have a definitive answer about whether this is/was exploited soon.

(But in any case, CT ensures that it can’t be “quiet.”)

▲agwa 3 hours ago | parent | next [-]

There were no certificates from the compromised intermediates logged to CT prior to remediation by the browsers.

▲hbcdbff 3 hours ago | parent | prev | next [-]

CT is great for browsers. Largely irrelevant for anything being fetched outside of a browser.

▲woodruffw 2 hours ago | parent [-]

That’s why I’m talking about it purely in the context of incident response/forensics.

▲hbcdbff 2 hours ago | parent [-]

You claimed CT would “definitive”ly prove whether it has or has not been exploited, which is false.

The lack of CT entries only proves that (most likely) browsers were not MITM’d.

▲cortesoft 2 hours ago | parent | next [-]

We would still know if certs were issued, though, which is the thing we want to check

▲tsimionescu an hour ago | parent | next [-]

How would you know it? If the CA was compromised, why would the attacker publish the fake certificates in CT?

Basically no one outside the major browsers verifies CT logs, so you can still attack a lot of people even without publishing.

▲hbcdbff an hour ago | parent | prev [-]

No we wouldn’t.

▲tptacek 2 hours ago | parent | prev [-]

I'm not following. Browser or no browser, every cert eMudhra issues has to generate an SCT.

▲eqvinox an hour ago | parent | next [-]

Sure, but a client that doesn't do CT wouldn't care if they don't include a SCT promise. [ed.: this said "break the SCT promise", that doesn't quite make sense] Which you'd only notice if you see the certificate somewhere else afterwards…

It's all rather hypothetical and unlikely, but you could certainly try attacking something like downloads.openwrt.org¹ like that — especially if you can tell apart the TLS client in opkg from a normal browser.

(¹ luckily, OpenWRT and most other package repos don't actually rely on HTTPS for package integrity and authenticity. And OpenWRT would be the most susceptible due to the "exotic" TLS client stack, if any.)

▲hbcdbff an hour ago | parent | prev | next [-]

I’m surprised to see this username above this comment.

No, the cert can be issued with no (or invalid/junk) SCT and will work fine with clients who don’t check SCT, which is most non-browser interaction.

▲tsimionescu an hour ago | parent | prev | next [-]

No, it doesn't. A certificate may or may not include CT info, or include fake CT info. Most TLS clients accept certificates without checking for CT.

▲ an hour ago | parent | prev | next [-]
[deleted]
▲oasisbob an hour ago | parent | prev [-]

SCT enforcement falls to the client though, yeah? What's stopping someone from signing a rogue cert silently which is accepted by CT-lenient clients?

▲tptacek an hour ago | parent [-]

Right, but you don't have to wait for some hapless random browser to check; you can write your own monitor, and people do that.

▲tux3 an hour ago | parent [-]

I hold eMudhra's private key. I generate a cert signed by their intermediate on my box. eMudhra didn't issue the cert, so it is not sent to any CT logs, and I have no SCT to put in the cert.

Am I missing what you mean by monitor?

▲tptacek an hour ago | parent [-]

I think I might just be talking past you. If your point is "anyone with these broken eMudhra keys can attack users without caring about CT", that's totally true --- it's just that browser/no-browser doesn't factor into it. I'm really only on this subthread because of the notion that CT enforcement requires browsers.

▲tux3 31 minutes ago | parent [-]

Right, I think I'm with you that browser/no browser shouldn't be a factor. I think I'd like to hear from Rust and Go webpki people on whether we could help the ecosystem enforce CT.

My point is more that as a user of a high-level library like reqwest, I'd like to talk safer defaults when root CAs are in use

▲ an hour ago | parent | prev | next [-]
[deleted]
▲ 3 hours ago | parent | prev | next [-]
[deleted]
▲0xbadcafebee 3 hours ago | parent | prev [-]

There are plenty of ways you would never be able to tell if a fake cert had been generated and used via this attack vector (let's ignore validation attacks):

1. CT does not do anything if a state actor demands a CA in its borders generate a cert without publishing to the CT logs (or a three-letter-agency doing this illicitly). They can put SCTs in the cert, and still not publish to the logs, nobody is auditing the logs for every cert every browser sees.

2. Browsers won't check for SCTs in certs if they come from a private CA. you can MITM any domain through ZScaler all day long and nobody will notice

3. Wildcard certs make it easy to make/renew a cert that looks normal but hides requests on new/different hosts

4. Non-Browsers do not validate SCTs

▲mxey 2 hours ago | parent | next [-]

“They can put SCTs in the cert, and still not publish to the logs, nobody is auditing the logs for every cert every browser sees”

I don’t think you can get the SCT from a log without the log publishing it? That would defeat the purpose.

“Certificates that support certificate transparency must include one or more signed certificate timestamps (SCTs), which is a promise from a log operator to include the certificate in their log within a maximum merge delay (MMD).[4][3] At some point within the maximum merge delay, the log operator adds the certificate to their log.”

▲woodruffw 2 hours ago | parent | prev [-]

I feel somewhat confident in speculating that a bunch of people at large companies will, in fact, be auditing the logs following this. That’s their main value; they’re not really an online/active prophylactic.

▲rollulus 3 hours ago | parent | prev | next [-]

A grumpy state actor today.

▲kccqzy 3 hours ago | parent | prev [-]

Nope. You can find this from the Chrome Root Program.

> Because no TLS certificates chaining to these six intermediate CAs were logged to CT prior to our CRLSet block on October 17, no fraudulent certificates issued by these CAs could have been trusted by default in Chrome or other CT-enforcing browsers.

▲hbcdbff 2 hours ago | parent [-]

Not all TLS traffic involves a browser.