7 ms·
What's the best way to audit one's own computer for root certs that perhaps should not be trusted?
by grandalf 10y ago
What's the best way to audit one's own computer for root certs that perhaps should not be trusted?
- nowayyeah 10y agoSwitch to debian? You can't audit everything on your OS, you have to trust somebody. I trust debian.
- geofft 10y agoWhy do you trust Debian? (I say this as a happy Debian user/sysadmin/occasional package maintainer). In particular, it's a volunteer-run organization in which it's not unusual at all to volunteer to maintain a package as part of your day job that uses a package, and where a large amount of discretion is given to the individual package maintainer, until they choose to hand maintenance to someone else. This is perfect for an organization who wants to push security configuration weaknesses. Even if you can't get a back door in, you can certainly default to code that you have privately found vulnerabilities in, or compile with or without certain options, add third-party patches that are pretty questionable, or add CAs that are particularly easy to coerce. None of these actions look weird at all, they just look like someone who is putting work into their package and caring about doing Debian-specific work to make it work well. In particular, until relatively recently, the Debian ca-certificates package included the CAcert root cert, which was in very few other root stores, and the SPI one, which was in no other stores. It's also the case that Debian accepts binary packages built on the developer's personal machine (and this used to be required until very recently), so it's very easy to straight-up upload a backdoor that isn't in the source. (This might have changed recently, but I believe this was true at least as recently as the last stable release.)
- mattnewton 10y agoI trust people doing it largely for themselves and the community reputation _more_ than I trust people who are expected to deliver more returns every year in a stagnating market.
- nixos 10y agoThe problem is getting a bad actor into a large community is quite easy if funds aren't an issue. You think the NSA (or FSB, or whatever) can't pay for someone to maintain nginx or apache?
- mattnewton 10y agoThat's totally fair, but I hope that each of those organizations has a vested interest of exposing each other; at the very least it's in the NSA's charter to protect American businesses against attacks, I have no idea if they feel this is an effective way though. So yes, it's risky. But Microsoft has all those disadvantages too, even though it's harder to get moles inside it's easier to have their stuff undetected (and in the case of the NSA it might even be done with full cooperation). Plus, the market share makes them a bigger target. Outside probably hypotheticals, what we know for certain is that microsoft is attempting to monetize their new windows on the back of user's data.
- lallysingh 10y agoThey have more incentive to use the vulnerabilities themselves and send out patch sets to critical systems.
- nixos 10y agoWhile I mentioned the NSA, really the bigger threat is a guy (or hacker group) who wants to pull off a million dollar heist. The NSA can get into (practically) anything and everything. To get a job at MS, you have to have a real life reputation. Once you get in, there will be others analyzing your code, and your bug may not make it to release. To insert a bug into Debian, become a packager and you're done. Access to one of the most popular server (the important stuff is here) OSs (Debian, Ubuntu) on the web. You're busted? Create another account and start over.
- MikeHolman 10y agoIf the NSA were trying to protect American businesses against attacks, they would responsibly disclose vulnerabilities they discover. But for me most part they hoard them.
- eeZi 10y ago> It's also the case that Debian accepts binary packages built on the developer's personal machine Pretty common - many community distros do. Arch Linux too. Worrying for obvious reasons. At least they're putting in an actual effort at making builds reproducible.
- 0x0 10y agoDebian had some fairly dubious CAs included for almost 10 years, so they're not without fault. Looks like they've cleaned up - and at least their processes are fairly transparent. https://lwn.net/Articles/590879/ https://lwn.net/Articles/590879/
- dfc 10y agoAnother nice thing about Debian's certificate package is that debconf will prompt you to accept each new certificate if you have debconf set to show low priority questions. I have not seen anything similar in other distributions or OSX.
- dogma1138 10y agoExport and compare to Mozilla CA list. https://www.mozilla.org/en-US/about/governance/policies/security-group/certs/ https://www.mozilla.org/en-US/about/governance/policies/secu... Google anything that is not on it (and is not MSFT).
- gsnedders 10y agoNote that not all are trusted for the web: some are limited to other environments only. See especially the CKA_TRUST_* attributes.
- oxguy3 10y agoOn OS X, open the app Keychain Access and look at the System Roots keychain -- you can see all the root certs there. For Windows: Have never done this myself, but the link mentions a tool called RCC that lists root certs and highlights potentially suspect ones I guess? No clue if this is legit, use at own risk: https://www.wilderssecurity.com/threads/rcc-check-your-systems-trusted-root-certificate-store.373819/ https://www.wilderssecurity.com/threads/rcc-check-your-syste...
- mey 10y agoControl Panel -> Administrative Tools -> Manage Computer Certificates Search for Manage Computer Certificates (Win 8 and up) This will open an app, look in Trusted Root Certification Authorities If you should trust an authority is a tricky question. Typically you trust your OS and let them decide (which is what's going on here). See https://technet.microsoft.com/en-us/library/cc751157.aspx https://technet.microsoft.com/en-us/library/cc751157.aspx and https://technet.microsoft.com/en-us/library/mt171474.aspx https://technet.microsoft.com/en-us/library/mt171474.aspx for what their process is supposed to be
- mey 10y agoOne additional note, most applications in Windows by proxy follow this OS level list of trusted certificates. Notable exceptions are Java and Firefox which maintain their own CA repositories in their installations.
- friendzis 10y agoThis is the reason I hate JVM from sysadmin/devops perspective. It tries to manage things that should be left to OS (CAs, fonts, time, etc.). It's not too big of a problem for end user applications with package manager maintained JVM, but if you want to use JVM for any kind of daemon (application server, database, messaging system) your sysadmin has to become jvmadmin too. It would not be such a bad thing if you really, really wanted to manage system per application if there was "fallback to OS" option. But then again moderately sized applications have been run in their own virtual machines for quite some time and these days containers are pretty prevalent solution for self containing even small applications.
- sbierwagen 10y agoTrusted Root Certification Authorities and Third-Party Root Certification Authorities only show me a couple dozen roots each, https://snag.gy/pLwe3q.jpg https://snag.gy/pLwe3q.jpg where https://hexatomium.github.io/2016/10/11/unannounced-root-cert-update/ https://hexatomium.github.io/2016/10/11/unannounced-root-cer... says that Microsoft trusts 356 roots total, a list being here: http://social.technet.microsoft.com/wiki/contents/articles/31634.microsoft-trusted-root-certificate-program-participants-v-2016-april.aspx http://social.technet.microsoft.com/wiki/contents/articles/3... Most notably for me, the list doesn't show any of the foreign roots, Agencia Notarial de Certificación, Autoridad Certificadora Raíz Nacional de Uruguay, etc. Are they kept anywhere else? EDIT: According to the author, Manage Computer Certificates will only show you that a trusted root exists after you've used it. Trusted roots that you've never used are invisible: http://hexatomium.github.io/2015/08/29/why-is-windows/ http://hexatomium.github.io/2015/08/29/why-is-windows/ The test he provides still works: "OpenTrust Root CA G3" won't show up in Manage Computer Certificates until you visit https://www.opentrust.com/ https://www.opentrust.com/ So, Manage Computer Certificates is useless for untrusting roots Microsoft trusts for you.