Kaspersky: SSL interception differentiates certificates with a 32bit hash
bugs.chromium.org
bugs.chromium.org
Pre-bundled and even purchased AV is so dramatically deleterious to PC performance that MS should kill it as public service. It gives the entire ecosystem a bad reputation and nowadays is completely unnecessary.
Bam.
I started my Surface 4 running Windows 10 up last night. The batter applet in the task tray reported, once I started up Chrome:
____________________
"Chrome is is draining your battery faster
Switch to Microsoft Edge for up to %%% more browsing time"
____________________
(Evidently, this was first reported in July 2016 http://www.nextpowerup.com/news/29282/windows-10-warns-about... )
I think Microsoft did that for them by being so terrible at security for so long. Windows Defender came out 5 years after XP shipped and several years after average XP systems were riddled with malware.
Even if you have the most secure kernel and no threat might ever escape user space, you'll still have pissed off users when they find out their stuff is all up for ransom or deletion.
"AV" is a component of a secure operating system, not an "add on" you only need for a "bad operating system".
Android easily outnumbers windows, by some counts 5 to 1, yet it has a smaller percentage and absolute level of malware installation.
The old truism of computer security arms race is bullshit. Computers that are secure from general mass spreading infections it not even all that hard (securing from governments is much harder). Simply ignore all incoming connections and don't execute downloaded data (or give to untrusted executables. The only hard part about this is making sure that network card drivers can be trusted, this isn't hard on most operating systems, but most windows users are totally at the mercy of some low budget buggy vendor.
Windows is well positioned to fail at computer security and they have done a great job at leveraging their position.
I don't buy this at all. Unless you are comparing Android with Windows XP?
First of all, you'd have to go out of your way to disable the firewall on a modern Windows install.
Secondly, there have been tons of Android infections: http://arstechnica.com/security/2016/07/virulent-auto-rootin...
I'm sure the percentage is lower than "all infected Windows machines" but I very much doubt it's lower than "all Windows 10 installations" or even "all Windows XP SP2 + Windows 7 + Windows 10 installations with updates enabled".
Nonetheless, it's definitely the case that an app sandboxing model provides some defence in depth, at the cost of reduced flexibility w.r.t. e.g. a real generic filesystem, ability to distribute/install without an app store, etc.
The Windows Security Development Lifecycle material is worth reading: https://en.wikipedia.org/wiki/Microsoft_Security_Development... https://www.microsoft.com/en-us/sdl/
Ultimately, if you were to allow Android devices to by default, open and run arbitrary native code that users download from the internet, you'd see the same host of problems (probably much worse for the average Android device given the fragmented OS patching nightmare).
There is a screen that pops up everytime you plug in a network cable or connect to a wifi network for the first time. It asks what kind of network you are on, personal, work, public. Depending on what you answer here it does stuff to the firewall.
Then there are the multitude of AV products that disable the firewall with their own suboptimal garbage. These wouldn't have been made if they weren't once necessary. Windows should have had a firewall when it got its own networking stack, but it went a couple of decades without one, so people got used to needing to add one.
Even if that article is correct it is Android off of windows by an order of magnitude.
> Ultimately, if you were to allow Android devices to by default, open and run arbitrary native code that users download from the internet
But they aren't setup that way. That is part of why they are more secure.
I think you'll find nearly everyone in IT and certainly many public bodies, banks, utility companies and $deity knows who else, does that - recommend AV to all users.
It's pretty much a mantra for IT "cognoscenti".
Not to mention the pitiful detection rate (<50%~ for nearly any antivirus software) makes them nearly useless: once you're pwned, you're pwned.
[1] https://www.microsoftstore.com/store/msusa/en_US/cat/categor...
Ah, so Microsoft would then take the responsibility for preventing malware, and by virtue of preventing the use of third-party solutions make it more likely that they'd be assigned responsibility if sued over losses?
It would probably be even more practical to kill Windows Defender on Windows 10 considering Microsoft makes updates mandatory now - if only it wasn't for the fact that Microsoft gutted its Q&A team and now Windows 10 updates often break your computer, forcing you to wait on the updates before you're sure your notebook can't be bricked or something.
It's also annoys me that Microsoft is tying its App Guard sandboxing technique to Windows Defender, when it's completely unnecessary, and it will only make it harder to separate the two in the future, if nothing else for branding's sake.
> The cache is a binary tree, and as new leaf certificates and keys are generated, they're inserted using the first 32 bits of MD5(serialNumber||issuer) as the key.
You know. That's not a mistake. That's what a consciously designed-in vulnerability to enable taking over the system looks like.
There is no room for Hanlon's razor here. This was malice, not stupidity.
I'm not saying this is the case, but given the current climate, it's hard to say it isn't.
So, no, it's easy to say that it isn't.
It's worth noting the "goto fail" bug was likely exploited, so it had value to someone. As has been shown through various leaks, the NSA and other entities like it have a war-chest of these toys. Things that used to be "you're just being paranoid" type concerns are now "we may never know" ones.
Regardless of the origin or intent, it still paints Kapersky in a very, very bad light. There's no escaping that.
I don't really care about the difference between their "collecting" (= processed by a human) and regular human's collecting (getting it on gov't controlled storage media), fact is they have built the infrastructure to do just what that theory claims, have incentives to do it and no disincentives to not do it.
You call it a conspiracy theory, I call it a "very likely to be true" theory.
It is also a likely target of media manipulation. It's not quite the same as saying "evolution is just a theory", but maybe that's just because secularism is so popular now.
But anyone with a basic understanding of information security would know that keying by truncated MD5 is certainly a bad idea. This is not just stupidity. This is not accidental. This design not only flies in the face of everything you want from a cert store, but is so blatantly bad that surely more than one person at Kaspersky was in on it.
If you'll take a second to look at the "goto fail" threads on HN, by the way, you'll see people every bit as committed to the idea that "goto fail was an inside job" as you are to this bug being enemy action.
Have you taken a second to even think about how this precise bug even makes sense as an implant? Hint: it does not make sense as an implant.
I don't know why you're operating from the presumption I'm talking about security people in general. I'm talking about the people at Kaspersky who were tasked with writing a SSL certificate store. I will also quote the bug report: "You don't have to be a cryptographer to understand a 32bit key is not enough to prevent brute-forcing a collision in seconds. In fact, producing a collision with any other certificate is trivial."
> Have you taken a second to even think about how this precise bug even makes sense as an implant? Hint: it does not make sense as an implant.
Hint: Pair this with a DNS spoof and you can pretend to be whatever website you want.
Particularly when they have a history of remote access "bugs"[1], insecure broadcasting of user-agent info[2], and a cozy relationship with the Kremlin[3].
[1] http://www.zdnet.com/article/flaw-found-in-kaspersky-antivir...
[2] https://theintercept.com/2015/06/22/nsa-gchq-targeted-kasper...
Specifically:
You are whatever entity (I assume the FSB?) that can demand Kaspersky implant backdoors into its desktop antivirus software.
You decide to target that backdoor at the component of Kaspersky's software that gets, by design, unrestricted access to the plaintext of all TLS sessions on the machine, in addition to practically unrestricted access to every file on machine itself, and to the machine's memory in cpl0 and cpl3.
From that vantage point, you decide to...
... collide certificates?
Remember, your evil backdoor only impacts machines running your software already. From this thread, I'm wondering if that's maybe unclear to people.
I feel like the people claiming this is a smoking gun backdoor don't really understand what it means that Kaspersky's software is designed to proxy TLS. Yes: it is batshit that they proxy TLS. It's so batshit that this particular bug makes absolutely no sense as a backdoor. That idea is Xzibit-level crazy.
But even in the bizarro world --- which I do not concede that we live in but will briefly stipulate to --- where you would backdoor kernel AV software that looks at TLS plaintext solely to give people the ability to get access to TLS plaintext, this still doesn't make sense. They terminate TLS locally. They are the client to every TLS session originating from the machine. They don't need to create a noisy 32 bit certificate collision, so noticeable to the Internet it shows up in CT logs, to accomplish this task. They can backdoor TLS itself in a zillion plausibly deniable ways that would give network observers access to plaintext.
Which is all the more reason not to believe that it's enemy action.
So instead you consider ways to introduce vulnerabilities that leave plausible deniability.
Indeed, from that vantage point, you decide to...
... collide certificates.
Not only are there better plausibly deniable backdoors they could use from this vantage point, but there are NOBUS backdoors they could use from this vantage point. You propose an attacker so clever that they've carefully calibrated the sophistication of their backdoors, but not clever enough to know how to backdoor a TLS MITM (a TLS MITM installed by design) without leaving the absurd tracks this one does.
No. It's not a conspiracy. As usual: it's just a bug.
Sure. Kaspersky creates security software. The FSB benefits from vulnerabilities in antivirus software. Kaspersky knows this and puts company resources into particular areas. ie how to spot the next stuxnet, rather than fix bugs like this.
The FSB does not need to write the source code (for Kaspersky Anti-virus) to benefit from vulnerabilities. In fact NSA, GCHQ, and FSB all benefit from subversion of https.
I agree that cert collisions is a strange way to backdoor, but to dismiss any questions as to possible malice as "conspiracy theories" seems to ignore many recent events (such as Juniper Networks)
And this makes way more sense than that one did. Not that I'm convinced that it is one. But if it is, it's a pretty good one IMO.
"keys are generated, they're inserted using the first 32 bits of MD5(serialNumber||issuer) as the key. If a match is found for a key, they just pull the previously generated certificate and key out of the binary tree"
doesn't
It is easy to say whatever you want, but impossible to prove either way.
Kaspersky comes from Russia, and has high level connections within the Russian government. Past actions (eg their analysis of Stuxnet) have been in line with Russian foreign policy goals.
Everything that they do is easily explained by their being a normal company. But multiple things that they have done fit very well with their working for Russian policy goals in a smart way. Which theory you find more plausible depends on your level of paranoia about Russia, and how much pressure you think that Putin would bring to bear behind the scenes to force cooperation. And even if they are subject to state backdoors, any particular one might or might not be one.
I personally am inclined towards paranoia. Russia using Kaspersky would be perfectly in line with standard fare in lots of countries. For example here in the USA look at how the NSA created the FREAK attack. Or look at Lenovo's use of Superfish in their BIOS. Why would we expect Russia to be more restrained than other state actors with as tempting a channel as Kaspersky? I see no reason to expect that. No reason at all.
But I would still bet money that there is at least one intentional hole, somewhere.
So, they taking too much time to fix that? In every case one more reason to stay far far far away from their products.
> This issue was fixed on the 28th, there was some delay unrestricting this bug due to the holidays.
And it's been less than 90 days since the issue was reported, so they wouldn't have disclosed yet if it wasn't.
I'm no fan of pitchforks, and I don't doubt plenty of people might make this mistake. But lots of malicious actors hide behind this response.
That's ridiculous on it's face - all software has vulnerabilities, and not all malicious actors produce vulnerabilities. Heck, the vast majority of malicious actors don't even discover vulnerabilities, they simply exploit them.
Incorrect cache hits are fine, as long as there is some checking following the cache hit
hash(A) == hash(B) && A == B
> I wasn't aware they were checking the commonName sent with SNI.If I'm not mistaken, it does sound like they were doing some checking after they pulled the generated cert from cache, but it obviously wasn't enough checking
Exactly. That’s why hashmaps don’t have objects in each bucket, but an actual linked list (or partitioned linked list) with all elements hashing into that bucket.
This is CS101. If you build a hashmap yourself, at least get this right.
Time and time again we see these ridiculous vulnerabilities but nothing changes. AV insists on massively increasing system attack surface under the guise of security.
If anything, it seems to go nuts a bit less often than the Windows 10 AV, which will quite often sit there occupying 100% of 1 core for a while... though Kaspersky is so invasive that (even ignoring issues like the one the link...) I'm still happier without it.
For security as a whole, I would suggest a good adblocker, keeping your system up to date, keeping your browser and plugins up to date, and I'd suggest Chrome although maybe that's controversial.
I think Windows 10 tries REALLY hard to make sure that doesn't happen.
Discussion on HN: https://news.ycombinator.com/item?id=12929230
https://bugs.chromium.org/p/project-zero/issues/detail?id=98...
Do you have any thoughts on the validity of the speculation?
The firewall/software generates a root certificate so that it can sign and serve 'fake' leaf (site) certificates on the fly. Because the root certificate is self-signed, however, most browsers/whatever won't automatically trust it, which is why the user/admin has to add the root certificate to each affected machine's browser or OS certificate trust store.
Many things that would take advantage of those would need to be written to disk and the AV could presumably catch them then, but how about JavaScript exploits? And how does the browser respond to writing things to disk (presumably having exclusive write access) then losing access to them?
There's a juggling act going on there, and I suspect it's a lot easier for an AV vendor to capture and review the network traffic as a single point of contact rather than trying to work with multiple browser and other software vendors to make sure that their software interoperates correctly with the AV.