|
|
Log in / Subscribe / Register

EFF: Lenovo is breaking HTTPS security on its recent laptops

Here is a statement from the Electronic Frontier Foundation on the revelation that Lenovo has been shipping insecure man-in-the-middle malware on its laptops. "Lenovo has not just injected ads in a wildly inappropriate manner, but engineered a massive security catastrophe for its users. The use of a single certificate for all of the MITM attacks means that all HTTPS security for at least Internet Explorer, Chrome, and Safari for Windows, on all of these Lenovo laptops, is now broken." For additional amusement, see Lenovo's statement on the issue.

There are a lot of Lenovo users in LWN's audience. Presumably most of them have long since done away with the original software, but those who might have kept it around would be well advised to look into the issue; this site can evidently indicate whether a machine is vulnerable or not.


to post comments

EFF: Lenovo is breaking HTTPS security on its recent laptops

Posted Feb 19, 2015 17:35 UTC (Thu) by Thue (guest, #14277) [Link] (18 responses)

> Presumably most of them have long since done away with the original software

People have claimed that just running the superfish uninstall program will not remove the malicious root certificate that it installed. So anybody who haven't done a complete wipe of the preinstalled Windows operating system would still be vulnerable.

EFF: Lenovo is breaking HTTPS security on its recent laptops

Posted Feb 19, 2015 18:04 UTC (Thu) by asaz989 (guest, #67798) [Link] (10 responses)

I think the implication is that yes, most of the Lenovo users on LWN have probably blown away Windows and moved to Linux.

EFF: Lenovo is breaking HTTPS security on its recent laptops

Posted Feb 19, 2015 18:26 UTC (Thu) by Thue (guest, #14277) [Link] (9 responses)

Unfortunently, many of of still have to dual-boot for one windows program or the other.

EFF: Lenovo is breaking HTTPS security on its recent laptops

Posted Feb 19, 2015 20:15 UTC (Thu) by yodermk (guest, #3803) [Link] (8 responses)

Yep. I still have the original Windows 8 install on my X230. I rarely use it (Fedora is used nearly all the time) but there are just enough reasons to keep a Windows install around. I doubt it is affected by this (2 1/2 years old) but it is slow as molasses and every time I have to boot into it I end up cursing Bill Gates for the next hour (and I don't normally curse).

Probably should look into a reinstall; just afraid that will be a time-consuming pain in the butt, and you have to deal with Microsoft license key management and all that nonsense. It is not an exaggeration to say that I truly hate, hate, HATE Windows ...

EFF: Lenovo is breaking HTTPS security on its recent laptops

Posted Feb 19, 2015 20:19 UTC (Thu) by asaz989 (guest, #67798) [Link] (7 responses)

On my T431s I did things a little differently - I completely uninstalled Windows, installed Linux, then used the original Windows license key (on the sticker on the bottom of the laptop) to install a copy of Windows in a VM.

EFF: Lenovo is breaking HTTPS security on its recent laptops

Posted Feb 19, 2015 20:35 UTC (Thu) by mat2 (guest, #100235) [Link] (4 responses)

I have heard that it is unfortunately illegal to move Windows OEM to a virtual machine.

EFF: Lenovo is breaking HTTPS security on its recent laptops

Posted Feb 19, 2015 20:40 UTC (Thu) by asaz989 (guest, #67798) [Link] (1 responses)

It is absolutely allowed (see here under "Can I install OEM software on a virtual machine"). What isn't allowed is to use virtual machines to install more than one instance of Windows using a single license key. So, for example, if you uninstall Windows from your laptop, and install Windows on exactly one other machine using the original license key, Microsoft is AFAIU (IANAL) pretty okay with that; what Microsoft doesn't want is for people to reuse a license key.

EFF: Lenovo is breaking HTTPS security on its recent laptops

Posted Feb 22, 2015 11:40 UTC (Sun) by mat2 (guest, #100235) [Link]

I have heard somewhere that You have to install the same version as the OEM shipped and this is not possible on in a VM.
I'd suggest everyone to check at Microsoft, they AFAIK have a free telephone service for license questions.

EFF: Lenovo is breaking HTTPS security on its recent laptops

Posted Feb 19, 2015 20:41 UTC (Thu) by drag (guest, #31333) [Link] (1 responses)

You'd have to look at the EULA.

It's not going to be automatically illegal, but you agreeing to not do it first can make it.

I really wouldn't worry about it, though. This isn't the sort of stuff Microsoft cares about. They are really only interested in going after larger organizations that do things that can cost them revenue.

EFF: Lenovo is breaking HTTPS security on its recent laptops

Posted Feb 19, 2015 20:41 UTC (Thu) by asaz989 (guest, #67798) [Link]

The specific language is:

"3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS.
d. Use with Virtualization Technologies. Instead of using the software directly on the licensed computer, you may install and use the software within only one virtual (or otherwise emulated) hardware system on the licensed computer."

EFF: Lenovo is breaking HTTPS security on its recent laptops

Posted Feb 20, 2015 2:00 UTC (Fri) by dashesy (guest, #74652) [Link] (1 responses)

Yes one has to use `slmgr /dlv` then `slmrg /upk key` to uninstall the key. I have one XP and one Windoes7 on VirtualBox, having shared my home directory it works actually better than original I would say :) It is now few years I do not dualboot. I will not have a Windows8 even in VM it just is not worth it.

EFF: Lenovo is breaking HTTPS security on its recent laptops

Posted Feb 26, 2015 11:20 UTC (Thu) by zyga (subscriber, #81533) [Link]

If, like I did, you've removed your windows before booting it, you can still recover the key if you have a recent UEFI-based machine (like everything now).

Look at /sys/firmware/acpi/MSDM and just get the key from there, it's visible in plain sight.

How to remove the certificate

Posted Feb 19, 2015 21:12 UTC (Thu) by klossner (subscriber, #30046) [Link] (6 responses)

To remove the malicious certificate under Windows, run certmgr.msc. In the left pane of the resulting window, click the + next to Trusted Root Certification Authorities, then click Certificates beneath it. In the right-pane, right-click on Superfish and select Delete.

How to remove the certificate

Posted Feb 19, 2015 21:13 UTC (Thu) by Limdi (guest, #100500) [Link] (1 responses)

Is Superfish running as a service? If yes, does it have
self-healing capability?

How to remove the certificate

Posted Feb 19, 2015 21:16 UTC (Thu) by Thue (guest, #14277) [Link]

As I understand it, it has a standard uninstall utility. Which just happens to not uninstall the malicious certificate.

How to remove the certificate

Posted Feb 20, 2015 11:45 UTC (Fri) by Thue (guest, #14277) [Link] (3 responses)

And you also need to do something similar in the separate certificate stores of Firefox and Chrome.

How to remove the certificate

Posted Feb 20, 2015 22:25 UTC (Fri) by higuita (subscriber, #32245) [Link] (2 responses)

Unlike Firefox, Chrome uses the system store, it doesn't have a private vertificate store. Also, this isn't affecting the firefox... but it never bad to double check ;)

How to remove the certificate

Posted Feb 21, 2015 9:19 UTC (Sat) by jsanders (subscriber, #69784) [Link] (1 responses)

It does affect firefox. I had it installed in my dual boot windows system.

How to remove the certificate

Posted Feb 21, 2015 14:32 UTC (Sat) by Wol (subscriber, #4433) [Link]

I've just removed it from our new win8.1 laptop. And yes, it had infected firefox.

Cheers,
Wol

EFF: Lenovo is breaking HTTPS security on its recent laptops

Posted Feb 19, 2015 18:33 UTC (Thu) by kiko (guest, #69905) [Link] (12 responses)

The statement on the Lenovo website downplays any actual security issue, and the EFF's statement is devoid of any technical details, so I'm including some of the actual technical discussion online:

http://marcrogers.org/2015/02/19/lenovo-installs-adware-o...
http://blog.erratasec.com/2015/02/some-notes-on-superfish...

EFF: Lenovo is breaking HTTPS security on its recent laptops

Posted Feb 19, 2015 20:29 UTC (Thu) by drag (guest, #31333) [Link] (6 responses)

That is so f-ed.

Not only they made it impossible to tell if a website is using a legit certificate or not they made it extremely trivial for attackers to forge their own certificates that will be explicitly trusted by the user's software.

EFF: Lenovo is breaking HTTPS security on its recent laptops

Posted Feb 20, 2015 0:59 UTC (Fri) by brouhaha (guest, #1698) [Link] (5 responses)

And of course it forges site authentication certificates itself, which is a violation of US law, 18 USC 47 § 1028.

Lenovo claims that the end user has accepted a license allowing the "adware" (actually malware) to be installed, but that doesn't excuse them from violating US law for units sold in or to the US.

EFF: Lenovo is breaking HTTPS security on its recent laptops

Posted Feb 20, 2015 8:43 UTC (Fri) by jezuch (subscriber, #52988) [Link] (4 responses)

> Lenovo claims that the end user has accepted a license

I wish relying on that excuse was made illegal. It's a legal fiction that end users read any (usually implied and implicit) licenses, much less agree to them. License? What license? I just want to start to use the stuff I bought, dammit! But this excuse is soooooooooooooooooooooo convenient to idiots (or plain crooks) like those who authorized Superfish.

You can't require unfair terms, regardless of whether anyone signed anything

Posted Feb 20, 2015 10:31 UTC (Fri) by tialaramex (subscriber, #21167) [Link] (3 responses)

It's not even a legal fiction. You won't have any trouble getting a judge to agree that obviously the user hasn't read the EULA. The fiction, to the extent one exists here at all, is that there is a meeting of minds (a prerequisite for a contract to exist) even though one party obviously has no idea what was supposedly agreed.

That fiction is used elsewhere anyway because of implicit contracts, where everybody agrees there isn't a written document, but it's taken as read that there _is_ a contract because two entities behaved in ways that suggest they had a common understanding which amounts to a contract.

But this whole "you agreed to the whole document so we can do what we like" nonsense doesn't even fly with an actual paper document that we know was physically signed by an individual. Courts are not obliged to accept that you really agreed to the terms you signed, the more egregious the term, the harder it is to make out the case that you really agreed to it, regardless of whether you signed or read it.

You can't require unfair terms, regardless of whether anyone signed anything

Posted Feb 20, 2015 12:04 UTC (Fri) by Wol (subscriber, #4433) [Link] (2 responses)

In the UK we have the Unfair Terms and Conditions Act. If I as a private individual object to clauses in a contract, the Judge can just throw them out.

I think here, where it seriously compromises a security mechanism ("I agreed to give them a skeleton key to my house?!?! wtf!?!?"), I think a Judge would throw it out almost without bothering to think about it.

Cheers,
Wol

You can't require unfair terms, regardless of whether anyone signed anything

Posted Feb 20, 2015 13:27 UTC (Fri) by dakas (guest, #88146) [Link]

But the advertisers are our last bulwarks against child terrorist abusers! If you need working https, you have something to hide! From the government! And the other good guys! Like the advertisers! They are beacons of capitalism! Are you a communist?

You can't require unfair terms, regardless of whether anyone signed anything

Posted Feb 22, 2015 17:44 UTC (Sun) by ceplm (subscriber, #41334) [Link]

In U.S. you have whole doctrine of the adhesion contracts (and particularly section 211 of the Restatement of Contracts, 2nd), see https://en.wikipedia.org/wiki/Standard_form_contract for details.

EFF: Lenovo is breaking HTTPS security on its recent laptops

Posted Feb 19, 2015 22:51 UTC (Thu) by nix (subscriber, #2304) [Link] (4 responses)

What makes this really awesomely stupid is the password-protected private key with the password *stored in plaintext*, extractable through strings, and it seems probably the all-lowercase name of the company that made it!

This is like a compendium of the worst security boo-boos ever, all in one piece of really, really bad malware. It's the opposite end of the scale that things like the NSA's 'implants' are one end of.

EFF: Lenovo is breaking HTTPS security on its recent laptops

Posted Feb 19, 2015 23:48 UTC (Thu) by cesarb (subscriber, #6266) [Link]

> What makes this really awesomely stupid is the password-protected private key with the password *stored in plaintext*, extractable through strings,

Was it really stored in plaintext? According to http://blog.erratasec.com/2015/02/extracting-superfish-ce..., it was extracted from a memory dump of the running service, since the executable on the disk is encrypted.

> and it seems probably the all-lowercase name of the company that made it!

Yeah, that to me sounds like the developer didn't know how to make it work with an unencrypted private key, so he encrypted it with a dummy password. Since the executable is encrypted, it's "safe" (*grin*).

EFF: Lenovo is breaking HTTPS security on its recent laptops

Posted Feb 19, 2015 23:56 UTC (Thu) by mjg59 (subscriber, #23239) [Link]

Anything they could have done would just have been further obfuscation. It had to include a private key[1], it was going to have to be decrypted at some point in order to be used to sign the MITMed transactions, so someone was going to pull it out eventually.

[1] A better approach would have been to generate a keypair at first boot, which would at least have avoided *everybody* being compromised by obtaining one copy of it.

EFF: Lenovo is breaking HTTPS security on its recent laptops

Posted Feb 20, 2015 8:08 UTC (Fri) by jeff@uclinux.org (guest, #8024) [Link] (1 responses)

I would not assume that 2 companies, lead by former intelligence connected individuals, making what is effectively a back door kit masquerading as AdWare as a revenue model for themselves and the OEM (gotta have a reason to install it broadly) was incompetence.

Usually the rule is never assume malice where incompetence will do. That appears mitigated here, by the actual evidence. Maybe if it walks like a duck and quacks like a duck... applies instead?

Could be both incompetence and malice.

Posted Feb 23, 2015 9:18 UTC (Mon) by gmatht (subscriber, #58961) [Link]

Even if it is malice, there seems to be a measure of incompetence too. They had a single key, stored in plain text so that it would be trivial for anyone to grab the key and also MITM. Unless this is faux-incompetence to hide their real motive, I don't think it is too much to ask that when the NSA illegally spies on US citizens they use more than one key. What is gained by bugging computers if enemy agencies can also use the NSA toys to trivially spy on the US?

EFF: Lenovo is breaking HTTPS security on its recent laptops

Posted Feb 19, 2015 19:01 UTC (Thu) by cesarb (subscriber, #6266) [Link]

Ars Technica has a list of possibly affected models in an update to http://arstechnica.com/security/2015/02/lenovo-pcs-ship-w... (for completeness, they have another article at http://arstechnica.com/security/2015/02/lenovo-honestly-t...).

EFF: Lenovo is breaking HTTPS security on its recent laptops

Posted Feb 19, 2015 19:02 UTC (Thu) by sjj (guest, #2020) [Link] (38 responses)

I haven't bought anything Sony after their rootkit (10 years ago!). I have bought four Thinkpads with my own money in the last 20 years. Looks like my W530 will be the last. And I haven't even run Windows for all that long on any of them, and certainly not the factory install.

This is a serious breach of trust. And worse, the utter stupidity of it shows lack of diligence and respect for customers, not to mention lack of common sense throughout the organization. And I was about to buy the Moto G.

EFF: Lenovo is breaking HTTPS security on its recent laptops

Posted Feb 19, 2015 19:54 UTC (Thu) by proski (guest, #104) [Link] (35 responses)

Indeed, the similarity with the Sony scandal is clear. The company is denying a security problem that affects its customers. That's a breach of trust. Ironically, I'm typing these words on a Lenovo Thinkpad T440p, but I doubt I would buy another Lenovo PC.

EFF: Lenovo is breaking HTTPS security on its recent laptops

Posted Feb 19, 2015 20:31 UTC (Thu) by job (guest, #670) [Link] (34 responses)

This is not just a breach of trust. Lenovo sold the right to manipulate ther customer's data to a third party. It is most likely criminal.

EFF: Lenovo is breaking HTTPS security on its recent laptops

Posted Feb 19, 2015 21:13 UTC (Thu) by jspaleta (subscriber, #50639) [Link] (33 responses)

The potential liability exposure they face here is probably exactly the reason why their statements are downplaying the security implications. They maybe a very real financial disincentive to acknowledge they understand the problem.

Though I'd like to understand how this was discovered. And as a user, how exactly would we test whether a similar problem exists on other consumer devices like tablets and cellphones? And by similar I don't mean exactly this root key, which we can now look for I guess. But if the same sort of situation was being done with a different set of keys.. how would we know?

-jef

EFF: Lenovo is breaking HTTPS security on its recent laptops

Posted Feb 19, 2015 21:52 UTC (Thu) by cesarb (subscriber, #6266) [Link] (1 responses)

> Though I'd like to understand how this was discovered.

My guess is that the discoverer either noticed the injected Javascript, or looked at a certificate and saw it wasn't what he expected.

> And as a user, how exactly would we test whether a similar problem exists on other consumer devices like tablets and cellphones? And by similar I don't mean exactly this root key, which we can now look for I guess. But if the same sort of situation was being done with a different set of keys.. how would we know?

If you can trust the browser, and it has a way to show the certificate fingerprint, compare it with the certificate fingerprint obtained in a different way (see for instance https://www.grc.com/fingerprints.htm; see also https://www.grc.com/ssl/ev.htm). That should detect all MITM proxies. If you can't trust the browser, you have bigger problems.

EFF: Lenovo is breaking HTTPS security on its recent laptops

Posted Feb 20, 2015 7:10 UTC (Fri) by MKesper (subscriber, #38539) [Link]

My understanding was that http://perspectives-project.org/ does something like this, installable as a Firefox extension.

EFF: Lenovo is breaking HTTPS security on its recent laptops

Posted Feb 19, 2015 21:53 UTC (Thu) by rahvin (guest, #16953) [Link] (2 responses)

In the era of Sarbanes-Oxley downplaying events such as this is a severe risk not only for the corporate body but the CEO and other top executives directly. If they fail to file a 10Q and announce all the possible risks they will have violated S-O requirements and could be held criminally liable.

I will never understand any company downplaying the risks with that sword hanging over their head.

EFF: Lenovo is breaking HTTPS security on its recent laptops

Posted Feb 20, 2015 14:07 UTC (Fri) by ncm (guest, #165) [Link]

The reasoned interpretation is that to see executives not worried demonstrates that SB has no teeth. In fact most of it never went into effect, because the detailed rules still have not been written. The new US Senate is hard at work dismantling what little bite it has.

To repeal protection of investors takes a positively dizzying cynicism.

EFF: Lenovo is breaking HTTPS security on its recent laptops

Posted Feb 20, 2015 23:34 UTC (Fri) by andrel (guest, #5166) [Link]

Lenovo is a Chinese company incorporated in Hong Kong, traded on the Hong Kong exchange, and headquartered in Beijing. Sarbanes-Oxley doesn't apply to them, they don't file 10Q, and they aren't regulated by the SEC.

EFF: Lenovo is breaking HTTPS security on its recent laptops

Posted Feb 19, 2015 22:02 UTC (Thu) by rahvin (guest, #16953) [Link] (6 responses)

Firefox ignores the windows certificate store. It warned me when my company inserted a transparent proxy that was automatically trusted by the built in browser and was man-in-middling SSL connections. All the other browsers the company setup were configured to draw a configuration from a windows server that put this root certificate in the certificate store. By running a portable version of firefox I discovered the issue because they don't auto trust the certificates in windows.

The best way to check for this behavior is use an independently configured firefox so that you can see when it's doing it. Now it won't work if the malware in question overwrites the firefox certificate store.

EFF: Lenovo is breaking HTTPS security on its recent laptops

Posted Feb 20, 2015 3:31 UTC (Fri) by mcatanzaro (subscriber, #93033) [Link] (5 responses)

Your comment is accurate, but note from the article: "We can report that the Decentralized SSL Observatory has seen 44,000 Superfish MITM certificates, all of which have been signed by the same Superfish root cert. The fact that there are significant numbers of Firefox victims somewhat contradicts the speculation that Firefox is safe because it doesn't use the Windows root store. This either indicates that Superfish also injects its certificate into the Firefox root store, or that on a large number of occasions Firefox users have been clicking through certificate warnings caused by Superfish MITM attacks."

EFF: Lenovo is breaking HTTPS security on its recent laptops

Posted Feb 20, 2015 14:49 UTC (Fri) by mkj (subscriber, #85885) [Link] (4 responses)

44,000 users (out of X million(?)) clicking through a warning page seems quite plausible.

EFF: Lenovo is breaking HTTPS security on its recent laptops

Posted Feb 20, 2015 18:03 UTC (Fri) by raven667 (subscriber, #5198) [Link] (3 responses)

It's probably more like dozens or maybe a hundred certs per user per laptop sold (Lenovo probably isn't the only one that bought into this), so you are probably seeing thousands (maybe 10k) of these particular models being sold pre-trojaned.

EFF: Lenovo is breaking HTTPS security on its recent laptops

Posted Feb 20, 2015 19:35 UTC (Fri) by mcatanzaro (subscriber, #93033) [Link] (2 responses)

A later EFF post clarified that Superfish installed its cert in the NSS database as well.

EFF: Lenovo is breaking HTTPS security on its recent laptops

Posted Feb 20, 2015 21:03 UTC (Fri) by raven667 (subscriber, #5198) [Link] (1 responses)

I'm just trying to make some inferences on what that 44k value quoted actually means by guessing and assuming as to how the data was gathered and seeing of those assumptions lead to patently absurd conclusions.

It might be that the 44k figure is only from users of the EFF HTTPS Everywhere plugin which reports certs back to the EFF SSL Observatory as part of a distributed data collection effort and that the actual number of infected users is higher.

EFF: Lenovo is breaking HTTPS security on its recent laptops

Posted Feb 21, 2015 13:24 UTC (Sat) by shmget (guest, #58347) [Link]

From what I understand 44K is the number of distinct 'fake certificate' created by this malware that they were able to see in the wild.
so roughly that is the number of website that have been man-in-the-middled by the malware for at least one victim.

EFF: Lenovo is breaking HTTPS security on its recent laptops

Posted Feb 19, 2015 23:05 UTC (Thu) by drag (guest, #31333) [Link] (3 responses)

> Though I'd like to understand how this was discovered. And as a user, how exactly would we test whether a similar problem exists on other consumer devices like tablets and cellphones?

It was discovered because a Google security researcher noticed something funny when he logged into Bank of America on his new Lenovo laptop. He examined the certificate and saw that it was not what BoA typically uses. He then mentioned it on a security mailing list and other people confirmed what he saw and found the core issues.

It will be very difficult to know for _certain_ since any malicious software on your computer can subvert the kernel itself which all other software depends on. For all practical intents and purposes you have to trust your software vendor to do the right thing for you. If you can't trust them then you can never trust the software they provide to you.

Otherwise to validate you need a process that involves comparing checksums on all files while the system you are examining is offline (say, booted up in a live linux USB system to examine Windows) and comparing it to a known good example. This is extremely difficult to do right even with some of the nicer host-based IDS software out there. OSes are not really setup to be easily validated in this manner. It's technically possible, but I doubt all but a handful of people really try to do it seriously.

But in these sorts of cases when you are not sure about a cert, but you generally trust the OS and your browser, you will need to use the browser's 'view information' feature and compare the finger prints and other cert details with another separate system you trust.

Or if you know how your OS operates really well then you can find all the certs it's configured to trust and examine them individually. On Windows there 400+ certs to check. Typical Linux OS probably has close to the same amount.

In Android and most other browsers you have the little icon left to the https URL that indicates the 'trust' of the https website. If you click/touch/tap that you should be able to examine the details of the certificate. If you compare it with the OS/hardware/etc provided by another vendor it should be pretty reasonable way to do things; provided they are not using the same type of malware.

If you are using SSL 'for serious' for specific services you are able to manage then it's always a good idea to explicitly set which CA you trust. Like if you are setting up a OpenVPN tunnel or whatever you can configure a specific certificate authority. That way it'll prevent any subverted CAs from being used against you in a MITM attack.

Unfortunately for browsing the web it's not really that easy.

EFF: Lenovo is breaking HTTPS security on its recent laptops

Posted Feb 19, 2015 23:56 UTC (Thu) by cesarb (subscriber, #6266) [Link] (1 responses)

> It was discovered because a Google security researcher noticed something funny when he logged into Bank of America on his new Lenovo laptop. He examined the certificate and saw that it was not what BoA typically uses. He then mentioned it on a security mailing list and other people confirmed what he saw and found the core issues.

Do you have a link to that mailing list post? I tried searching for it, but since this news has spread like a forest fire during a lengthy drought (it even got to LWN even though it's not Linux related at all!), I couldn't find where it was originally posted.

EFF: Lenovo is breaking HTTPS security on its recent laptops

Posted Feb 20, 2015 16:15 UTC (Fri) by drag (guest, #31333) [Link]

Got it from a above post

> Who discovered this mess?

> People had noticed the malware before, but it's Chris Palmer (@fugueish) that noticed the implications. He's a security engineer for Google who just bought a new Lenovo laptop, and noticed how it was Man-in-the-Middling his Bank of America connection. He spread the word the rest of the security community, who immediately recognized how bad this is.

http://blog.erratasec.com/2015/02/some-notes-on-superfish...

EFF: Lenovo is breaking HTTPS security on its recent laptops

Posted Feb 20, 2015 22:44 UTC (Fri) by tialaramex (subscriber, #21167) [Link]

"It will be very difficult to know for _certain_"

Yes, I would liken this situation to the case with counterfeit coins.

I cannot be certain that any particular coin is genuine. But there are a series of ways in which counterfeits might fall short of the specification for the genuine article and if I spot one of those differences I can be certain it's a counterfeit.

All the mint can do is try to make it easy enough for me to spot the difference that counterfeiters are likely to give up because the expense of producing a passable fake is too high to permit a good profit on such a criminal endeavour; and of course to insist on heavy penalties for anyone who gets caught.

This is also like counterfeiting in that it's decidedly NOT an impulse crime. Crimes of impulse don't respond to penalties. The average murder or theft is spontaneous, the criminal doesn't research the tariffs or prosecution rates, and so e.g. imposing a death sentence for murder doesn't make much difference to your murder rate. But you'd better believe no-one sets up a successful counterfeiting operation without a great deal of advance planning and consideration, and that means they know exactly what the penalty is if they're caught. Imposing a 10% of revenue fine for Lenovo over the period of the wrong-doing would send the message that this is actively _bad_ for your bottom line and dissuade other executives from considering such shenanigans.

EFF: Lenovo is breaking HTTPS security on its recent laptops

Posted Feb 20, 2015 7:26 UTC (Fri) by jem (subscriber, #24231) [Link] (16 responses)

"Though I'd like to understand how this was discovered."

This is not rocket science. Look at the screenshot on this page:

http://arstechnica.com/security/2015/02/lenovo-honestly-t...

An Extended Validation Certificate (green padlock), "Issued by: Superfish, Inc."

EFF: Lenovo is breaking HTTPS security on its recent laptops

Posted Feb 20, 2015 10:25 UTC (Fri) by epa (subscriber, #39769) [Link] (11 responses)

Why doesn't the browser's navigation bar show the certificate issuer all the time, and more prominently than the URI?

EFF: Lenovo is breaking HTTPS security on its recent laptops

Posted Feb 20, 2015 12:50 UTC (Fri) by ledow (guest, #11753) [Link] (10 responses)

Because nobody knows who Verisign, Comodo, etc. are or why they're popping up on when they're on Google or whatever.

If anything, it would generate a lot more hassle for browser manufacturers.

More sensible would be a colour option - yellow for secure, green for EV, blue (or similar) for "unknown trusted local root". Then you know you're "secure" when in work and they've pushed a local root, but also know whether someone's sniffing your stuff when your "at home".

EFF: Lenovo is breaking HTTPS security on its recent laptops

Posted Feb 20, 2015 15:36 UTC (Fri) by epa (subscriber, #39769) [Link]

...and indeed, there is nothing to stop Superfish generating a fake certificate "issued by" Verisign or whoever.

EFF: Lenovo is breaking HTTPS security on its recent laptops

Posted Feb 20, 2015 19:21 UTC (Fri) by flussence (guest, #85566) [Link] (2 responses)

Better still would be for browsers (and servers) to start using DNSSEC/DANE, and put an end to this stranglehold on SSL/TLS by tangential third parties.

I know the CA certificate sitting on a USB key in front of me is valid for my website, and I have properly signed TLSA records to prove that to anyone else, all that's required is they also trust the signatures of the DNS root servers and domain registrar - and *read* those signatures. With what's there I can even cryptographically assert that nobody else is allowed to present a valid certificate for my site, to prevent exactly the sort of MITM attacks Lenovo committed here.

None of that means a thing under the current CA regime. The browser has decided to trust a hundred corporate entities nobody's heard of, plus whoever wants to drop their malware in a local certificate directory, over the actual owner of a domain name. It's for our own protection, of course.

I don't believe for one second that all of those certificate authorities are trustworthy, impenetrable and immune to coercion by shadowy agencies; HTTPS is quite possibly the biggest farce of security theatre ever. The Let's Encrypt project may be well-intentioned but it's just throwing water over a chip pan fire.

EFF: Lenovo is breaking HTTPS security on its recent laptops

Posted Feb 21, 2015 20:25 UTC (Sat) by epa (subscriber, #39769) [Link] (1 responses)

But if you switch to trusting the signatures of the DNS root servers, people like Superfish will just change the system DNS configuration to their own root server instead, with its own certificate. Or is there some magic that prevents the Superfish installer from changing the DNS config in the same way it currently changes the set of trusted CAs?

EFF: Lenovo is breaking HTTPS security on its recent laptops

Posted Feb 21, 2015 23:55 UTC (Sat) by tialaramex (subscriber, #21167) [Link]

Well, it doesn't quite work how you said, but you are correct that it's still subject to a MitM.

DNSSEC signs the information rather than the transmissions from DNS servers. So when you get a DNS answer for which the root is authoritative it's signed with that key even if you actually received it from some Netgear home router in your basement. Likewise if you're seeing a cached value from the office DNS server at example.com, but the answer that was cached is for the charity example.org, it's signed with the org keys, which are in turn signed by the root.

So a Superfish equivalent for DNSSEC would replace that root signature key and have to conjure its own signed intermediaries for the rest of the tree.

The major upside is that instead of one of dozens or maybe by now hundreds of omni-authoritative CA certs in a web browser, the root is singular. A client machine would have only perhaps two such keys on record, a key in use at the time, and one expected to come into use in the near future (signed by the previous one of course). So it's a lot easier for an inquisitive person to figure out if there's a problem, because those keys should be identical on every single machine over a period of time and their correct value is a widely published fact. I would expect a handful of people to insist on memorising it, like the partial decimal expansion of pi

EFF: Lenovo is breaking HTTPS security on its recent laptops

Posted Feb 25, 2015 14:50 UTC (Wed) by cesarb (subscriber, #6266) [Link] (1 responses)

> More sensible would be a colour option - yellow for secure, green for EV, blue (or similar) for "unknown trusted local root".

This idea sounded interesting, so I submitted it at https://bugzilla.mozilla.org/show_bug.cgi?id=1136710.

EFF: Lenovo is breaking HTTPS security on its recent laptops

Posted Feb 28, 2015 7:36 UTC (Sat) by riking (subscriber, #95706) [Link]

I submitted a suggestion of an "open blue padlock". https://bugzilla.mozilla.org/show_bug.cgi?id=1135776

EFF: Lenovo is breaking HTTPS security on its recent laptops

Posted Feb 25, 2015 21:40 UTC (Wed) by klindsay (guest, #7459) [Link] (3 responses)

More sensible would be a colour option...

As a colorblind person, color coding such as this gets lost on me.
I know my perception of colors is not reliable, so I've been
trained since childhood to not rely on it.

EFF: Lenovo is breaking HTTPS security on its recent laptops

Posted Feb 25, 2015 21:43 UTC (Wed) by jspaleta (subscriber, #50639) [Link] (2 responses)

If only we had a computer interface for smell. Untrusted local root..would smell...fishy...or perhaps superfishy.

-jef

EFF: Lenovo is breaking HTTPS security on its recent laptops

Posted Feb 26, 2015 2:07 UTC (Thu) by creemj (subscriber, #56061) [Link]

I've got a suspicion that one of my friends who is allergic to fish would be rushing off to the loo to vomit if the browser did that!

EFF: Lenovo is breaking HTTPS security on its recent laptops

Posted Feb 26, 2015 3:08 UTC (Thu) by Limdi (guest, #100500) [Link]

What about showing some kind of mini-trickfilm at the left side of the url bar.

A black hole pulling in the whole window.

A thief grabbing mail after mail from thin air.

Or some interesting image with eye color switching between red and orange:
http://media.boingboing.net/wp-content/uploads/2013/06/ea...

One could replace the initials with the ca issuer credentials on the fly.

Underlined with some dark theme..
This could be interesting.

EFF: Lenovo is breaking HTTPS security on its recent laptops

Posted Feb 21, 2015 9:06 UTC (Sat) by osma (guest, #6912) [Link] (3 responses)

How can this MITM work with arbitrary domains? Shouldn't the browser check that the requested hostname matches the CN or subjectAltName fields in the certificate that the server responds with? Does the Superfish software generate new certificates on the fly, with the proper CN?

Of course wildcard certificates are possible, but AFAIK they are restricted to one level. So a hostname such as internetbanken.privat.nordea.se (as shown in the screenshot above) wouldn't match a wildcard such as *.se, even if the certificate contained wildcard subjectAltNames for all top level domains - of which there are a lot nowadays, and increasing all the time.

Am I missing something?

EFF: Lenovo is breaking HTTPS security on its recent laptops

Posted Feb 21, 2015 9:30 UTC (Sat) by matthias (subscriber, #94967) [Link]

Superfish generates certificates on the fly. The software just needs to exchange the CN and compute a new signature.

EFF: Lenovo is breaking HTTPS security on its recent laptops

Posted Feb 21, 2015 11:51 UTC (Sat) by cesarb (subscriber, #6266) [Link] (1 responses)

> Does the Superfish software generate new certificates on the fly, with the proper CN?

It generates certificates on the fly. If it believes the real certificate is valid, it uses the proper CN; if it believes the real certificate is invalid, it uses the proper CN prepended with a bogus subdomain, so it won't match the hostname.

Everything else is copied from the real certificate, so if the real certificate has a subjectAltNames, it will be copied to the generated certificate. Note that this means it's easy to bypass the invalid certificate check above; just add the hostname to the subjectAltNames.

The generated certificates is signed by the hardcoded CA certificate, which had been inserted into the root CA certificates list when it was installed. To be able to sign the generated certificates, it has the private key to this hardcoded CA certificate; this private key has already been leaked, so if you have it installed, anyone can MITM your browser.

EFF: Lenovo is breaking HTTPS security on its recent laptops

Posted Feb 21, 2015 18:14 UTC (Sat) by osma (guest, #6912) [Link]

Thanks for the excellent explanation!

EFF: Lenovo is breaking HTTPS security on its recent laptops

Posted Feb 20, 2015 0:21 UTC (Fri) by bojan (subscriber, #14302) [Link]

> Looks like my W530 will be the last.

Yeah, +1 to this (T510 owner here).

A family member purchased a Lenovo machine recently and has Windows on it. The machine went berserk recently, displaying ads at random, with no programs running. No idea what caused it exactly (virus scans turned up nothing), but I would not be surprised if this little turd that Lenovo shipped for a while was it. The machine was wiped yesterday to a "pristine" state (well, Lenovo factory), so we'll see what's on it today.

In any event, FU Lenovo! You should be ashamed of yourselves!

EFF: Lenovo is breaking HTTPS security on its recent laptops

Posted Feb 20, 2015 7:13 UTC (Fri) by ibukanov (subscriber, #3942) [Link]

Yes, Lenovo is on my blacklist as well. I was considering to get their Chromebook for a family member, but now forget about that. This is from a general principle, not only from my suspicion that they can cripple even Chrome OS.

Lenovo Lenovo, what have you done? Private and Public Key available?

Posted Feb 19, 2015 20:56 UTC (Thu) by mgalgoci (subscriber, #24168) [Link] (2 responses)

So here's why this is so dangerous: The public and private key is present on each affected laptop as well as the root CA that the laptop trusts. Presumably anyone with an affected laptop if they were so inclined could extract the private key and cert and use it to do an arbitrary SSL MITM attack against other affected laptops.

The Lenovo press release pretty much says it all. Lenovo fails to fully grasp what they have done and that really scares me the most.

Lenovo Lenovo, what have you done? Private and Public Key available?

Posted Feb 19, 2015 21:05 UTC (Thu) by mgalgoci (subscriber, #24168) [Link]

Lenovo Lenovo, what have you done? Private and Public Key available?

Posted Feb 20, 2015 9:39 UTC (Fri) by danieldk (subscriber, #27876) [Link]

It's even worse. You can MITM connections without the private key, because of a bug in Superfish' certificate validation:

https://news.ycombinator.com/item?id=9078536
https://news.ycombinator.com/item?id=9078530

Yay for expediency

Posted Feb 23, 2015 8:48 UTC (Mon) by nim-nim (subscriber, #34454) [Link] (60 responses)

You shall note that the Chrome, Firefox & Internet explorer representatives in the IETF HTTP workgroup are quick to condemn in the strongest words such fake certificate HTTPs intecepting proxies. Superfish didn't invent anything, it is a common pattern in proxies to force the browser to talk to them (because https is terminally broken wrt proxies). The only "innovation" was to use the tech to inject ads in the stream.

However when asked to clean up the proxy bits in http/2 so legitimate (school, business, whatever) proxies could use something else than fake ssl certs to talk to browsers there was suddenly a complete lack of will (see also lack of http 511 support in those browsers). But as long as you do not enable legitimate uses safely there is no way to crack down on abuses such as superfish.

Indeed because they can not break business proxies without losing large parts of the browser market Chromium suddenly started to special case locally installed CAs so cert pinning didn't apply to them (of course with a lot less fanfare than its public encryption claims). Enabling superfish.

You will know browsers are serious about preventing ssl abuses when they actually try to redesign https proxying so the user is aware of who the browser is negociating with. Proxy authors are willing. But they can't do anything as long as browsers claim the moral high ground, refuse to think about safe proxying, and enable ugly workarounds for expediency.

Yay for expediency

Posted Feb 23, 2015 9:10 UTC (Mon) by marcH (subscriber, #57642) [Link] (15 responses)

> Superfish didn't invent anything, it is a common pattern in proxies to force the browser to talk to them (because https is terminally broken wrt proxies).

This:
https://en.wikipedia.org/wiki/HTTP_tunnel#HTTP_CONNECT_tu...

does looks neither terminally broken nor insecure. Isn't that the usual?

> However when asked to clean up the proxy bits in http/2 so legitimate (school, business, whatever) proxies could use something else than fake ssl certs to talk to browsers

Again, what's wrong with the above link? Sorry I'm lost.

Yay for expediency

Posted Feb 23, 2015 9:51 UTC (Mon) by nim-nim (subscriber, #34454) [Link] (14 responses)

You will note that connect makes zero provision for proxy<->browser dialog, so in a pure connect world the proxy can not ask the user to authentify (students in school rooms do not have the same level of access as teachers, you can't know who is a teacher without authent), can not send errors to the browsers (you ask me to connect you with www.foobar.com, but it is not responding anymore/its dns is dead/whatever), etc.

The browser will open a tunnel and reject everything else, blaming the proxy when some error it suppressed caused the connexion to fail.

In paranoïd organisations connect does not permit scanning for malware, does not permit recording (highly paid traders must agree to have their connections recorded be able to prove they didn't do any insider trading in case of suspicious gains), etc

Since all those cases exist but browsers pretend they don't it's become common to inject local CAs that hijack all ssl connexion and bypass browser social idiocy. Exactly what superfish did.

The correct I'm-not-here-to-judge-social-agreements-I-don't-understand implementation would be to ask the user "foo wants to proxy you, here are foo terms of conditions, do you agree yes/no". And do what the user tells you not what the browser developer in his silicon valley ivory tower thought he could force on the world.

Of course that would allow the user to use ad-blocking proxies which is not to some internet giants' taste.

Yay for expediency

Posted Feb 23, 2015 16:16 UTC (Mon) by marcH (subscriber, #57642) [Link] (13 responses)

> In paranoïd organisations connect does not permit scanning for malware, does not permit recording (highly paid traders must agree to have their connections recorded be able to prove they didn't do any insider trading in case of suspicious gains), etc

These examples are poor because paranoid organisations have full control on the client anyway and can (and do) scan and record whatever they like on the client *after* browser decryption anyway. Insider trading can use plenty other channels than the company network (and "Insider trading" is a pleonasm anyway - but I digress).

I think these are your worst examples but I can understand the other ones, thanks. I mean I can see a case for "My network, my rules - for your personal banking or shopping go and connect elsewhere some other time".

Yay for expediency

Posted Feb 23, 2015 17:01 UTC (Mon) by nim-nim (subscriber, #34454) [Link] (12 responses)

While paranoïd organisations may have full control of the client it's a lot easier to set up a centralized security gateway than to trudge through thousands of clients (desktops, laptops, smartphones, e-devices, the list goes on). Not to mention that a centralised gateway can be administrated by a small team of highly trusted people while touching clients requires a lot more people.

As for the trader example, I didn't make it up. And I totally understand that after the multiple incidents where a single trader lost billion those past years banks are getting careful. Not to mention that a lot of banks benefited from public help and need to prove to taxpayers they are not squandering money casually.

Yay for expediency

Posted Feb 23, 2015 17:07 UTC (Mon) by Cyberax (✭ supporter ✭, #52523) [Link] (3 responses)

These days most insider traders would just use a 4G-enabled phone.

Besides, there are absolutely no regulations that require companies to filter traders' traffic or monitor what they say to each other in restrooms.

Yay for expediency

Posted Feb 23, 2015 17:13 UTC (Mon) by nim-nim (subscriber, #34454) [Link] (2 responses)

I assume that when you are at this level of paranoïa you know about cellphone scrambling. Or Faraday cages. A lot of buildings are mobile-hostile by construction.

Yay for expediency

Posted Feb 23, 2015 17:20 UTC (Mon) by marcH (subscriber, #57642) [Link]

... and don't let these traders go home or to any public place either. This must be why some banks have fantastic in-house restaurants.

Yay for expediency

Posted Feb 23, 2015 19:18 UTC (Mon) by Cyberax (✭ supporter ✭, #52523) [Link]

And in reality, in most banks trading terminals simply use a restricted network that's simply not connected to the wide Internet. While traders can (and do) use mobile phones and POTS lines for communication.

Yay for expediency

Posted Feb 23, 2015 17:26 UTC (Mon) by marcH (subscriber, #57642) [Link]

> As for the trader example, I didn't make it up.

Well, a lot of banks have demonstrated their banking incompetence and their own "SuperFishes" over the last few years, so what kind of IT [in]competence and naivety can you expect from them?

Maybe this is what happened with http/2 and proxies (just a wild guess): very long list of use cases and requests, most of them completely stupid, a couple of valid ones hidden/buried in the middle. Rejected.

Yay for expediency

Posted Feb 23, 2015 19:01 UTC (Mon) by Wol (subscriber, #4433) [Link] (6 responses)

> it's a lot easier to set up a centralized security gateway than to trudge through thousands of clients

And in these days of BYOD, it's debateable whether it's acceptable, as a requirement of employment, for employers to demand access to their employees' private property.

There are a few cases out there, where an employee has left, the employer has wiped their phone, and the ex-employee's "entire" social life has been wiped - personal photos, contacts, friends, etc etc.

If it's a company phone then the employee should have returned it, but if the employer *expects* the employee to provide their own phone, that sort of behaviour is likely to land them with a very expensive data recovery bill, at an absolute minimum! In Europe, that would be considered completely unacceptable.

(Oh, and as a - I believe real - example, can I refer you to the guest lecturer who's laptop unexpectedly rebooted in the middle of his presentation. The University he was visiting, the network had detected his laptop, installed their own security software, and forced a reboot, all without him knowing anything about it!!!)

Cheers,
Wol

Yay for expediency

Posted Feb 25, 2015 20:11 UTC (Wed) by dlang (guest, #313) [Link] (5 responses)

BYOD is a mess that most companies are just ignoring right now. The ones who are actually addressing it do so by the (relatively) cheap method of providing their employees with devices and ban the users devices. This still has problems (who wants to carry two tablets), but it's about as good as you can do right now.

Yay for expediency

Posted Feb 25, 2015 20:21 UTC (Wed) by raven667 (subscriber, #5198) [Link] (4 responses)

VMware and Citrix were pushing VDI and VMs in general as a way to cut this gordian knot, have a company provided VM with company security controls that runs on the employee-owned device or is accessible via remote desktop, to more clearly separate the employee and corporate policy.

Yay for expediency

Posted Feb 25, 2015 20:25 UTC (Wed) by dlang (guest, #313) [Link] (3 responses)

how well does that work on your phone or tablet? :-)

I haven't heard anyone having employees provide their own laptops or desktops, but phones/tablets are common.

Using a corporate VM on an employee owned laptop also provides you no protection against malware on the laptop (which can see and control the input to the VM), so I would seriously question the value of doing this if the idea is to protect the company and it's data.

Yay for expediency

Posted Feb 25, 2015 21:06 UTC (Wed) by raven667 (subscriber, #5198) [Link] (2 responses)

> how well does that work on your phone or tablet? :-)

Aside from adding more controls in ActiveSync clients to prevent corporate access to personal data there were demos a few years ago on running VMs on phones and tablets. That technology currently doesn't seem to have gone anywhere but it could probably be production ready in a year if the market wants to swing that way. Some of these things are also solved at the policy rather than technical level, in my organization we moved to Office365 for email/calendar and some policies were put in place so that even though IT may have the technical capability to wipe peoples devices they don't have the policy authorization to do so. If they ever screw up that access then there will be a new conversation.

> I haven't heard anyone having employees provide their own laptops or desktops, but phones/tablets are common.

In new organizations which take advantage of the network there may be very little use for company owned computers because all of the actual data is hosted and processed through web applications and there just aren't any local applications which matter. If you do all your work through JIRA, Github and Skype from home, what does having a company laptop get you? From a local security perspective your biggest threat may be a keylogger, what can the company do that you aren't already doing, like run up-to-date anti-malware. You could push the responsibility for a malware-free web-terminal to the employee, in the same way that internet and phone service for work-at-home is considered the responsibility of the employee.

For example it's not as if the Linux Foundation gives you a laptop if you work on Linux full time, they are able to run without ownership of every client device.

Yay for expediency

Posted Feb 25, 2015 21:13 UTC (Wed) by dlang (guest, #313) [Link] (1 responses)

you still have to have a computer to run the browser on, and the company should be responsible for providing one.

The advantage to the employee is that they don't have to pay out of pocket for work essential equipment.

The advantage to the company is that they need to protect their data.

History has shown that employees (and home users for that matter) do not do anything close to a reasonable job at protecting their systems from malware, and expecting them to do so is burying your head in the sand. Yes, there are some people who will do a better job than the corporate minimum, but not very many.

Yay for expediency

Posted Mar 6, 2015 13:15 UTC (Fri) by nix (subscriber, #2304) [Link]

Quite. The people who do a better job will probably be technical anyway (programmers, security people etc) and thus will need a full-blown computer in any case. (Try doing lots of coding work on a tablet. It's *painful*. Well, OK, for me it's unbearable but it's reportedly painful even for people without crippling RSI. Tablets just aren't meant for large amounts of typing, and to be frank neither are Bluetooth keyboards: if they were non-Bluetooth keyboards most of them would be considered extremely flimsy at best.)

Yay for expediency

Posted Feb 23, 2015 11:04 UTC (Mon) by cesarb (subscriber, #6266) [Link] (43 responses)

> refuse to think about safe proxying

The only "safe" HTTPS proxy is one which can't decrypt or modify the content. The whole point of HTTPS is to create a secure tunnel between the browser and the server, such that only the browser and the server have access to the content. Anything else introduces a third point with access to the plaintext, which breaks the whole premise of TLS.

Some will say "but the user agreed to plaintext interception". However, the server he's connecting to didn't agree to anything, and it expects the user's browser to be the only one with access to the plaintext.

A protocol which allowed for interception would have a different design than TLS. Case in point: client certificates. No HTTPS interception proxy is able to insert itself in the connection when the browser authenticates itself to the server with a client certificate; the handshake fails. All proxies I've read about either break the connection or switch to a "transparent" mode where it is unable to decrypt the connection.

The correct way to do plaintext analysis is at the client or the server. Anywhere else, and you're breaking TLS, as shown by Superfish and other cases.

As for the certificate pinning exception, it wouldn't exist in a greenfield deployment. It's a concession to the fact that people already use these sorts of broken proxies. Had cert pinning come into existence early enough, the exception wouldn't have been made, and cert pinning would be stronger as a result. In fact, I wouldn't be surprised if cert pinning is tightened as a direct result of Superfish.

Yay for expediency

Posted Feb 23, 2015 12:47 UTC (Mon) by nim-nim (subscriber, #34454) [Link] (5 responses)

>> refuse to think about safe proxying

> The only "safe" HTTPS proxy is one which can't decrypt or modify the content.

No. The only "safe" proxying is where the user is in control of what he authorizes or not (not Google, not Facebook, not Mozilla, not a random NSA-infiltrated web site). Everything else is trying to force social changes via technical means.

> A protocol which allowed for interception would have a different design than TLS.

TLS as you envision is not the holly grail. Your threat model does not map to real life as shown by Snowden & co. Hell the greatest advance for privacy in the last years was Tor, and Tor relies on the exact kind of proxying TLS advocates have been trying to eradicate (with dismal success since their mental model does not do what people want to achieve).

Besides, last I've seen smtps used TLS. And it permits everything you want to suppress in https.

Yay for expediency

Posted Feb 23, 2015 14:26 UTC (Mon) by cesarb (subscriber, #6266) [Link] (4 responses)

> No. The only "safe" proxying is where the user is in control of what he authorizes or not (not Google, not Facebook, not Mozilla, not a random NSA-infiltrated web site).

I didn't quite understand what you meant here, could you explain? How could Facebook or a random website affect what the user authorizes? (Google and Mozilla I can understand, since they can control the default CA certificates in Chrome and Firefox respectively.)

> Hell the greatest advance for privacy in the last years was Tor, and Tor relies on the exact kind of proxying TLS advocates have been trying to eradicate (with dismal success since their mental model does not do what people want to achieve).

Wait, what? Tor doesn't rely on proxies intercepting and decrypting connections. In fact, it does the opposite: it adds an extra encryption layer for each hop (there are usually three: entry, middle, exit). The entry and middle layers have no access to the plaintext content at all. The exit layer acts as a TCP proxy, so it doesn't rely on access to the true plaintext; if you use HTTPS over Tor (which is the recommended way), not even the exit node will have access to your plaintext.

I don't see how this could possibly be considered similar to a MITM TLS proxy. It's more like a SOCKS proxy, which like the traditional "HTTP CONNECT" proxy doesn't tamper with the content at all.

> Besides, last I've seen smtps used TLS. And it permits everything you want to suppress in https.

STARTTLS when used server-to-server usually doesn't verify the certificate AFAIK, because there are too many mail servers with certificates that are self-signed or invalid in some way.

When used from the MUA to the mail server, however, it does verify the certificate, at least on the mail client I use (Thunderbird). This means I have the same guarantee as in HTTPS: my mail client is talking directly with my mail server, and only my mail client and my mail server have access to the plaintext. Which is important, because said plaintext also contains my email account's password.

Yay for expediency

Posted Feb 23, 2015 15:36 UTC (Mon) by nim-nim (subscriber, #34454) [Link] (3 responses)

>> No. The only "safe" proxying is where the user is in control of what he
>> authorizes or not (not Google, not Facebook, not Mozilla, not a random
>> NSA-infiltrated web site).

> I didn't quite understand what you meant here, could you explain? How could
> Facebook or a random website affect what the user authorizes? (Google and
> Mozilla I can understand, since they can control the default CA certificates in
> Chrome and Firefox respectively.)

One of the arguments for not fixing the proxy situation in browsers is that users are easily misled and therefore:
1. the web site should be in total control of the connexion and
2. the browser should not give users any choice (much like TV advertisers "own" TV viewers brain time and some blue ray players do not let users skip ads).

When proxies are Internet-giant side they are called good CDNs. When they are user side they are called evil MITM to be eradicated at all costs. The days of the symmetric Internet when everyone could plug his software in, and it was given no less precedence than the incumbents' one are long gone.

>> Hell the greatest advance for privacy in the last years was Tor, and Tor >> relies on the exact kind of proxying TLS advocates have been trying to >> eradicate (with dismal success since their mental model does not do what
>> people want to achieve).

> Wait, what? Tor doesn't rely on proxies intercepting and decrypting
> connections.

Tor helps users route connexions through a proxy system. This proxy system provides a service to users (anonymising). There are many other user-friendly services a proxy can provide. Some rely on decryption, others not (mail antispam smtp relay services rely on decryption). Proxying is such a core part of the Internet architecture it is one of REST pillars.

Because proxy services are useful trying to blindly fight proxying (renaming it MITM) instead of putting users in control only results in mass workarounding. With malware like superfish taking advantage of the situation.

Superfish could only happen because adding CAs roots manually is common. It is only common because browsers refused to fix proxy interfacing. They'd rather have users add CA roots manually to override browser security than admit they need to tackle proxy interfacing seriously (admittedly, it's a hard problem, but seriously? how much effort did they extend those past years to please their advertising sugar daddies?).

Yay for expediency

Posted Feb 23, 2015 18:07 UTC (Mon) by cesarb (subscriber, #6266) [Link] (1 responses)

> One of the arguments for not fixing the proxy situation in browsers is that users are easily misled and therefore:

Well, it's true that users are easily misled. It's also true that often the user is not in control of its own computer, even if the user has not been misled.

> 1. the web site should be in total control of the connexion and

Both ends should be in total control of the connection: the browser and the web server.

> 2. the browser should not give users any choice (much like TV advertisers "own" TV viewers brain time and some blue ray players do not let users skip ads).

I don't see many arguments against in-browser ad blockers, in-browser script blockers, or many other things which give users choice.

> When proxies are Internet-giant side they are called good CDNs. When they are user side they are called evil MITM to be eradicated at all costs.

The argument is not against proxies. The argument is against MITM. The CDNs do not do MITM; they terminate the secured TLS connection before the proxy. The client-side equivalent would be a client speaking plaintext HTTP to a proxy which in turn opens a HTTPS connection to the server.

> Because proxy services are useful trying to blindly fight proxying (renaming it MITM) instead of putting users in control only results in mass workarounding. With malware like superfish taking advantage of the situation.

Nobody is renaming anything. "Man-in-the-middle attack" is a technical term. When a normal connection is between endpoints A and B, a MITM attack splits it into two connections, one between endpoints A and M, the other between endpoints M and B, while making A believe it's still talking directly to B and vice-versa.

Against a purely passive attacker, unauthenticated encryption is sufficient. If, however, the attacker can pretend to be one of the endpoints, he can negotiate the encryption as if it was the endpoint, and thus defeat the encryption. To protect against that, the endpoint must be authenticated: that's what the server certificate is for.

SSL was designed to protect a connection against eavesdropping, so the user can send confidential information like a credit card number or a password to the server, secure in the knowledge that only the server will have access to it. To be able to do that even in the presence of active attackers, it has to authenticate the server, as I just explained. Any attempt to work around this authentication breaks the confidentiality which is the whole point of using SSL/TLS in the first place.

There's no "blind fight" against proxying; the fight is against proxies which break the TLS model. You just mentioned proxies that don't break the TLS model, like Tor and CDNs; the fight is not against them.

> Superfish could only happen because adding CAs roots manually is common. It is only common because browsers refused to fix proxy interfacing. They'd rather have users add CA roots manually to override browser security than admit they need to tackle proxy interfacing seriously (admittedly, it's a hard problem, but seriously? how much effort did they extend those past years to please their advertising sugar daddies?).

The problem with "proxy interfacing" is that it still breaks the TLS model: while it doesn't break the protocol (avoiding the kinds of disasters we've seen with Superfish and we'll keep seeing with other MITM proxies), it allows a third party to have access to confidential data. Which is probably why it isn't taken seriously by the browser and protocol developers.

The addition of CA roots is because of a bug in the X.509 model: any CA root can create a certificate for any endpoint. That's a hard problem to solve, but it is being worked on. Unfortunately, some have turned this bug into a feature, which conflicts with attempts to fix the bug.

Yay for expediency

Posted Feb 26, 2015 5:06 UTC (Thu) by draco (subscriber, #1792) [Link]

> The addition of CA roots is because of a bug in the X.509 model: any CA root can create a certificate for any endpoint. That's a hard problem to solve, but it is being worked on. Unfortunately, some have turned this bug into a feature, which conflicts with attempts to fix the bug.

It would be more accurate to call this a bug in the PKIX model.

The "any CA can authenticate any name" rule wasn't part of the original X.509 model: the original model was based on the X.500 Directory, which is why subjects & issuers are identified as DNs (distinguished names). In the original model, the issuers had to have a DN that was a parent to the subject. That model *works*.

DNSSEC+DANE solves the "securely match the presented TLS public key to a hostname" problem properly, but unfortunately has deployment problems in the HTTPS space. It looks like it may get better traction for secure SMTP.

Yay for expediency

Posted Feb 24, 2015 11:30 UTC (Tue) by nim-nim (subscriber, #34454) [Link]

> Tor helps users route connexions through a proxy system. This proxy system
> provides a service to users (anonymising). There are many other
> user-friendly services a proxy can provide. Some rely on decryption, others
> not (mail antispam smtp relay services rely on decryption). Proxying is such a
> core part of the Internet architecture it is one of REST pillars.

And it's just been shown Ad-Aware used the same tech to talk to the browser. Not a malware, something the user explicitely installed and wanted to work.

I rest my case. Browser proxying defficiencies are pushing more and more legitimate uses in ssl-attack-land.

Yay for expediency

Posted Feb 23, 2015 16:45 UTC (Mon) by tialaramex (subscriber, #21167) [Link] (35 responses)

Nim-nim's central thesis is that the users desperately /want/ to make decisions about who can snoop on or interfere with everything they do, and by trying to make snooping on them difficult the browser vendors are undermining that. It's just a weird coincidence that the users in Nim-nim's mind always want to make decisions that benefit a huge corporate entity at their expense.

For example in Nim-nim's world, if you use your bank's web site to securely transfer some money to pay a bill while at work you are being screwed over by the browser vendor. What you, as a good employee, really wanted to do was to forfeit all control over the transaction to a guy you've never met whose job says "IT Security Consultant" and who controls the "safe" proxy. He will enforce company policy, e.g. maybe he'll decide your bank password doesn't have enough uppercase letters in it and email you the improved one - he might notice that you've forgotten to send a 10% service gratuity to the company's bank account for using their office and their computers to do this so he'll do that for you.

Or suppose you're at school. Nim-nim thinks that your parents, no doubt believing they're acting in your interest, should get to authorise the school to snoop on everything you're reading on your phone during break time via a "safe" proxy. They can read through a summary and help you to be everything they, on your behalf, know you want to be. If you are reading a snarry (Snape/Harry) fanfic site you might be entitled to a gold star for your commitment to personal literacy. Or they might send you to "straight camp" to get rid of your deviance.

At home your ISP's lawyers would reason that having not chosen the $50 monthly extra for "premium" service you doubtless agree to their new advertising supported features. So you'll be subject to a "safe" proxy that injects adverts except when it just completely breaks certain websites, whoops. Never mind, you could always choose to buy the premium service if you don't agree.

The pretence that the user "agreed" to such things is already the topic of another entire thread in this conversation. With Nim-nim's much desired "safe proxying" the Superfish would just be a safe proxy, pre-installed and 100% pre-authorised, with everything showing up as A-OK to the user who, Lenovo's lawyers will have assured themselves, has definitely agreed to this.

MitM will keep causing disasters out in the real world, and its proponents like Nim-nim will keep showing up on tech forums to say how they just need a way to let users "agree" to have everything intercepted. We talked about the Unfair Contracts Act further up the thread. One thing lawyers tried after that act was passed was getting people to sign to say that they understood there was an act specifically prohibiting unfair terms, but they agreed to the terms anyway. Judges are not stupid and had those terms struck and those using them censured. Something does not cease to be unfair just because you bullied someone into agreeing to it.

Yay for expediency

Posted Feb 23, 2015 17:09 UTC (Mon) by nim-nim (subscriber, #34454) [Link]

I definitely didn't write that users want to make decisions.

In fact most users definitely do not want to make any decision and just hope for the better.

However, in the real world you have to make some decisions and it's better when you (not some self appointed "benevolent" dictator) makes them for you. At least, *I* believe in democracy. And choices. Even when they are hard to make.

Because make no mistake when you "help" users by preventing them from having any control on their end of the network connexion, you're giving full control to the web site. And as we all know all web sites have the best interests of their visitors at heart.

Yay for expediency

Posted Feb 23, 2015 18:19 UTC (Mon) by marcH (subscriber, #57642) [Link] (13 responses)

> Nim-nim's central thesis is that the users desperately /want/ to make decisions about who can snoop on or interfere with everything they do, and by trying to make snooping on them difficult the browser vendors are undermining that. It's just a weird coincidence that the users in Nim-nim's mind always want to make decisions that benefit a huge corporate entity at their expense.

This is really not what he wrote. Nim-min's central thesis is: since $BIGCORP is going to screw you anyway when you use its network, better have the browser warn you about it rather than trusting random certificates and showing you a completely misleading green box in the address bar = the current and shameful browser situation.

> For example in Nim-nim's world, if you use your bank's web site to securely transfer some money to pay a bill while at work you are being screwed over by the browser vendor.
> Or suppose you're at school. Nim-nim thinks that your parents, no doubt believing they're acting in your interest, should get to authorise the school to snoop on everything you're reading on your phone during break time via a "safe" proxy. They can read through a summary and help you to be everything they, on your behalf, know you want to be.

In Nim-nim's world (I love how this sounds...), your browser warns you about the company/school proxy *repeatedly* and recommends you use a different network to do your banking (or insider trading, or porn downloading, etc.). Unlike now where the browser blindly trusts these certificates and software that your company/school admin asked you to install which raised not even half of one of your eyebrows and *only once*.

The fact that SuperFish could happen clearly demonstrate a severe design flaw in the current system, and Nim-nim just convinced me that browsers share part of the blame.

Yay for expediency

Posted Feb 23, 2015 18:50 UTC (Mon) by nybble41 (subscriber, #55106) [Link] (12 responses)

> The fact that SuperFish could happen clearly demonstrate a severe design flaw in the current system, and Nim-nim just convinced me that browsers share part of the blame.

The thing is, providing a "clean" way to MitM a user's connection wouldn't have changed anything about SuperFish, because the designers of SuperFish *didn't want the user to know* that the connection is being intercepted. Any reasonable implementation of "safe proxies" in the browser would ensure that the user is warned about the proxy, so SuperFish would still be forced to resort to installing its own root certificate and pretending to be the remote site. Providing a mechanism for "safe proxies" does nothing to prevent unsafe proxies.

Should there be a way to have a browser connect through a "safe" proxy, for corporate networks / kids' computers / etc.? Perhaps. It might well be better than the current system; and as for the risks, anyone who could force you to connect through their proxy could just as easily force you to install their CA certificate and MitM your TLS connections that way. But don't presume that it would have prevented this situation.

Yay for expediency

Posted Feb 23, 2015 19:12 UTC (Mon) by marcH (subscriber, #57642) [Link] (3 responses)

> Any reasonable implementation of "safe proxies" in the browser would ensure that the user is warned about the proxy, so SuperFish would still be forced to resort to installing its own root certificate and pretending to be the remote site.

I think you are still missing the point.

If "mutually consented" proxies were implemented, then installing root certificates could be made near impossible. With certificates pinning or whatever else.

Installing root certificates is way too easy because it's the only workaround for the lack of mutually consented proxies. This is the hole SuperFish used.

> But don't presume that it would have prevented this situation.

We do :-)

Yay for expediency

Posted Feb 23, 2015 19:31 UTC (Mon) by cesarb (subscriber, #6266) [Link] (2 responses)

> Installing root certificates is way too easy because it's the only workaround for the lack of mutually consented proxies.

Installing root certificates has been way too easy since the beginning, even before people started playing with MITM proxies. It's always been "click on the link to the .crt file, answer a few dialog boxes, done".

And it's useful for much more than proxies. The main use is to install a root certificate that's missing from your root certificate store. Here in Brazil, it's ICP-Brasil (the government CA) which is still missing; it's used mostly for government websites.

Yay for expediency

Posted Feb 23, 2015 20:54 UTC (Mon) by marcH (subscriber, #57642) [Link]

> Installing root certificates has been way too easy since the beginning, even before people started playing with MITM proxies. It's always been "click on the link to the .crt file, answer a few dialog boxes, done".

Then let's have both operating systems and browsers change this to: "Answer many violently red boxes with loads of utterly scary warnings" on any cert addition. Let's also have antivirus software run regular checks on the certs database and report any unusual certificates". Etc, etc.

Because this clearly deserves it.

Once employees get tired of all these painful warnings, half of them will ask for and switch to a browser which supports mutually consented proxies with a better user interface (the "orange" colour comes to mind), whereas the other half will switch to a quiet but insecure browser which lets anyone quietly steal their private information. Natural Selection at work.

> And it's useful for much more than proxies. The main use is to install a root certificate that's missing from your root certificate store. Here in Brazil, it's ICP-Brasil (the government CA) which is still missing; it's used mostly for government websites.

Same treatment as above.

Yay for expediency

Posted Feb 25, 2015 6:30 UTC (Wed) by paulj (subscriber, #341) [Link]

DANE / publishing certs for hosts via DNS would be a much better way to fix the case where an organisation (e.g. Brasil gov) wants to sign certs but doesn't want to fork out the $X00k+ for a signing cert.

Yay for expediency

Posted Feb 24, 2015 11:58 UTC (Tue) by tialaramex (subscriber, #21167) [Link] (7 responses)

>> The thing is, providing a "clean" way to MitM a user's connection wouldn't have changed anything about SuperFish, because the designers of SuperFish *didn't want the user to know* that the connection is being intercepted. <<

_Nobody_ wants the user to know. That's the dirty secret that Nim-nim probably won't want to talk about.

In newer default Android there is a mandatory reminder on every reboot if you have an extra CA cert that would allow MitM. That's all. Just a reminder prompting the user to check and pay attention if they don't intend to be snooped on. Everything still works, but each time you reboot the reminder is there "Your network access may be snooped".

I get that message because I have my personal root CA installed on one device.

Corporates with MitM proxies were _outraged_. They said Google had just made Android unusable, it was a huge breach of trust with them, they would have to switch to iPhones and ban Android across the corporate network...

Why? Because Android was telling their users the dirty secret, that everything they do is snooped. They don't want users to know that! Their lawyers have assured them that some phrase in a contract like "the company may at its discretion use technological means for intellectual property protection and other purposes" means they're legally entitled to snoop on everybody if they can find a way, and so that's exactly what they do. They stashed a MitM CA on the corporate Android image precisely so that their users would _not_ know they were being snooped.

A "safe" proxy will only be acceptable to these people if in fact all the protections you imagine it would have can be disabled. They will argue that their users _already_ consented and so there definitely shouldn't be any real warning UI, any clear sign that they're being snooped on. So yes, Superfish would just install its "safe" proxy and check the "Yes, I 100% pinkie swear that I obtained full consent from the user so it's just between you and me" box.

Now in practice we have enough UX knowledge at this point for the "hush it up" crowd to be satisfied with some sort of UI change. For example some people in this thread have discussed adding a new colour to the URL bar. That would be fine. Maybe on IE you get a purple diamond, in Firefox it's an orange triangle, in Chrome it's a yellow circle. Users won't know or care what those mean just like they never cared what a broken padlock symbol meant, so that'd be fine. And LWN readers inclined to support this stuff will be able to say "But they were warned, so it's OK" and sleep soundly. But an actual effective warning? Not going to happen.

Yay for expediency

Posted Feb 24, 2015 16:35 UTC (Tue) by marcH (subscriber, #57642) [Link] (4 responses)

> Corporates with MitM proxies were _outraged_. They said Google had just made Android unusable,

Very interesting. Can you provide some pointers/evidence? Not just names but also Android version (or even better, source code location!), pointer to some Android CERTs howto, screenshots,... I think any of these would be highly relevant to this topic.

> For example some people in this thread have discussed adding a new colour to the URL bar.

= a small, sample change from the pure UI perspective but making a MASSIVE difference already + finally drawing everyone's attention on the problem, including the attention of UI design experts capable of innovating with a possibly better UI for this problem, including the attention of w3 experts standardizing http/3 and ignoring company proxies again, etc. You always need to start somewhere first.

> And LWN readers inclined to support this stuff will be able to say "But they were warned, so it's OK" and sleep soundly.

Browsers and operating systems have the biggest software challenge: pleasing the widest user base made of *every* software user. No matter what you do, there'll always be people not caring. As long as these don't get annoyed enough to switch to a different product then yes it's all fine.

Yay for expediency

Posted Feb 24, 2015 20:31 UTC (Tue) by tialaramex (subscriber, #21167) [Link] (3 responses)

You want evidence for the feature? Or evidence that in fact corporates were outraged (my characterisation of how people I've met from that world reacted in person) ? I can't help you with the latter, sorry.

It was introduced in Android 4.4 or so, and is still present in Android 5.0

If you want evidence that it's not a bug you can read this bug report, which a Google person closed on the basis that it works as intended:

https://code.google.com/p/android/issues/detail?id=62076

Yay for expediency

Posted Feb 25, 2015 9:06 UTC (Wed) by nim-nim (subscriber, #34454) [Link] (2 responses)

From the report what users complained about was the indiscriminate character of the warning.

And it was indiscriminate due to web client stupidity. No *one* but malware and web client developpers want custom CAs that can do everything (if I want to do TLS to my proxy I definitely do *not* want the web client to hide my bank cert behind the proxy one. It only happens because of implementation choices I did *not* request).

The user can not scope a CA root. That's akin to offering the possibility to create user accounts, only they're all root because that's easier to do an interface for. And then inondate users with warnings “the root account you created, and which is the only option I provide, is dangerous!”.

Yay for expediency

Posted Feb 25, 2015 11:14 UTC (Wed) by cesarb (subscriber, #6266) [Link] (1 responses)

Indeed, scoping a CA root ("this CA root can only be used for sites matching *.example.com") could be useful.

Of course, it would be useless for all the uses people have for a MITM proxy; these uses all require a custom CA that can do everything.

> if I want to do TLS to my proxy I definitely do *not* want the web client to hide my bank cert behind the proxy one. It only happens because of implementation choices I did *not* request

Let's see if I understand it: you want the MITM proxy to be able to decrypt the contents of the connection, while at the same time presenting the original certificate to the client.

That's not possible in TLS by design; the connection secret is encrypted with the server certificate (RSA handshake) or the temporary key used for key exchange is signed by the server certificate (DHE/ECDHE handshake), so a MITM proxy has to replace the server certificate by one it knows the private key for. The Finished step, which runs just after the connection has gone encrypted (ChangeCipherSpec), validates that the handshake seen by both ends is identical, including the certificate.

If I understood what you want correctly, it would need a new protocol. Said protocol would either (using a side channel) present the client with proof that the proxy has validated the server certificate, or (using a side channel) send the master secret from the client to the proxy at the end of the handshake.

While designing such a protocol is feasible, it would be hard to make browser developers and protocol designers take it seriously. That's because such a protocol would break one security property of the TLS protocol: that after the Finished step, only the client and the server can read or modify the plaintext. Protocols and services designed to run over TLS use TLS as a primitive with a set of security properties, and depend on these security properties being held by it. For instance, my bank's online banking website transfers important data over TLS (including but not limited to values and passwords) without any extra encryption, depending on the security properties of TLS to protect these secrets while in transit.

The way to go for proponents of this design would be to write the protocol, implement a proxy using it, fork popular browsers like Firefox and Chrome to implement it, and demonstrate that their design works and is secure. So far, I haven't seen anyone willing to do this work.

Yay for expediency

Posted Feb 25, 2015 11:48 UTC (Wed) by nim-nim (subscriber, #34454) [Link]

> The way to go for proponents of this design would be to write the protocol,
> implement a proxy using it, fork popular browsers like Firefox and Chrome to
> implement it, and demonstrate that their design works and is secure. So far,
> I haven't seen anyone willing to do this work.

No proxy author will invest an hour on such an implementation without browser buy-in. Browsers dropped the ball too often before. Once bitten, twice shy, the history is public in the ietf http workgroup archives.

Yay for expediency

Posted Feb 24, 2015 23:08 UTC (Tue) by mathstuf (subscriber, #69389) [Link]

> In newer default Android there is a mandatory reminder on every reboot if you have an extra CA cert that would allow MitM.

I like the notification, but I wish it would name the certs. It's basically useless for me since I have my own CA installed for my personal infrastructure, but I'd like to know if *another* one shows up.

Yay for expediency

Posted Feb 25, 2015 22:05 UTC (Wed) by Wol (subscriber, #4433) [Link]

> Corporates with MitM proxies were _outraged_. They said Google had just made Android unusable, it was a huge breach of trust with them, they would have to switch to iPhones and ban Android across the corporate network...

> Why? Because Android was telling their users the dirty secret, that everything they do is snooped.

Surely this then places their staff into breach of contract with their bank, or anybody else they do secure business with? It would mean companies have an obligation to make sure that their employees know that they are *forbidden* to use work computers for private business. Failure would make the company liable for any fraud losses!!!

Cheers,
Wol

Yay for expediency

Posted Feb 25, 2015 20:14 UTC (Wed) by dlang (guest, #313) [Link] (19 responses)

The thing about being fearful of 'a guy you've never met whose job says "IT Security Consultant" and who controls the "safe" proxy.' is that this same guy is the one who is installing and upgrading your OS and providing you with the hardware you are using.

If he is out to get you, he can install a keylogger in the OS or in the hardware.

Yay for expediency

Posted Feb 25, 2015 20:46 UTC (Wed) by raven667 (subscriber, #5198) [Link] (18 responses)

> is that this same guy is the one who is installing and upgrading your OS and providing you with the hardware you are using

He may have worked in different environments, in many places the part of the organization which provides IT value is very separate from the one which is supposed to handle security and there a lack of accountability between the executive team accepting risk highlighted by the security team and the security team accepting business priorities highlighted by the executive team. This leads to the pathology described where some security mook who has no accountability messes up the tools you use to do the job you were hired for because the security practice is more about which executive is louder in meetings than a mutual acceptance of risk and rewards.

Yay for expediency

Posted Feb 25, 2015 20:59 UTC (Wed) by dlang (guest, #313) [Link] (17 responses)

If the security department is preventing you from doing the job that you were hired for (with the implied, the way you think you should be doing it), you have a few options

1. figure out if there is a way for you to do your job that the security department will agree with

2. get your management to convince the security department to relax their restrictions

3. find another job.

note that "find a way to bypass security" is not one of the valid options.

While you may be convinced that you know what you are doing and the security guys are paranoid idiots, you don't have the full picture of everything that's going on and all the requirements that may be in place. Management is paid to make find the balance between the competing desires of the company, and they need to do their job. If they can't do this, the company is not going to do well in the long run and you really do need to be looking for another job so that you have a place to land when it implodes.

Having a security group that runs amok and shuts the business down is bad, but so is letting every employee decide that they know better than the rest of the company what processes and policies they are going to follow.

Now, if you want to talk about specific policies in specific situations and argue that they are wrong, that's a very different discussions. But the idea that the Security people are always wrong and it's perfectly fine to ignore them is no more valid than deciding that the HR people are always wrong, or the Finance people are always wrong, both of which will get you fired _really_ fast.

Yay for expediency

Posted Feb 25, 2015 21:12 UTC (Wed) by raven667 (subscriber, #5198) [Link] (16 responses)

> note that "find a way to bypass security" is not one of the valid options.

Your opinion on whether or not this is a "valid" option or not has no real bearing on whether or not this is actually how people will behave, and be rewarded for, in the real world. Maybe in your organization you have firing authority if someone bypasses your security controls but many organizations don't work that way at all and the only thing you are going to do if you make security controls that the employees don't follow is choke on it, if you push too hard you'll be the one looking or a new job and the person who violated controls will be rewarded.

Yay for expediency

Posted Feb 25, 2015 21:17 UTC (Wed) by dlang (guest, #313) [Link] (15 responses)

on one hand, that's management making a call as to who is right, but the end doesn't justify the means.

just because you don't understand or agree with hazardous material handling and storage policies doesn't give you a free pass to ignore the rules (even if the rules are wrong)

It's just as wrong to be telling people that they should be bypassing the security rules of their employer because it's inconvenient for them as it is to encourage them to bypass hazmat rules, fire safety rules, or physical security rules (propping doors open, etc)

but somehow self appointed "computer experts" seem to think that it's perfectly fine to encourage people to bypass the security rules.

Yay for expediency

Posted Feb 25, 2015 21:43 UTC (Wed) by raven667 (subscriber, #5198) [Link] (6 responses)

> but somehow self appointed "computer experts" seem to think that it's perfectly fine to encourage people to bypass the security rules.

Having a discussion which talks about the pros and cons of an action with a realistic appraisal of how people will behave, not always in ways that you wish, is not "encouraging" disfavored behavior, to say otherwise is to make the issue highly political and is an impediment to learning and reality-based decision-making.

Yay for expediency

Posted Feb 25, 2015 23:00 UTC (Wed) by dlang (guest, #313) [Link] (5 responses)

you should try to work in a security department for a little while and see how fun it is to be evaluated based on maintaining the security of the company when so many people are working to bypass you.

From a very practical point of view, if your default action is to assume that the security people are clueless and should be bypassed, you are going to be reinforcing their viewpoint that users will do anything and they have to try harder to lock things down to prevent the users from breaking things.

Really, security folks like having a discussion about how to get the job done securely. If you go in with a "I have to do it THIS way, and you are idiots for blocking me", you aren't going to get very far, but if you go it with "This is what I'm trying to do, what's the best way to get it done" you will almost always get a much better result.

Remember that the security team has been dealing with the most clueless users on a regular basis, and while they do know that some users are far better, their actions have to deal with the most clueless ones (the ones who will do anything to see the latest kitten videos, or to get a 'nifty' screen-saver).

Yay for expediency

Posted Feb 26, 2015 0:37 UTC (Thu) by cesarb (subscriber, #6266) [Link] (4 responses)

> Really, security folks like having a discussion about how to get the job done securely. If you go in with a "I have to do it THIS way, and you are idiots for blocking me", you aren't going to get very far, but if you go it with "This is what I'm trying to do, what's the best way to get it done" you will almost always get a much better result.

I think this discussion has strayed too far into the abstract, so randomly choosing this point to try to bring it back to the original topic.

Why do people desire TLS? I can see the following "levels", from the most to the least strict:

1. "No interception ever". This includes passwords, password equivalents like session cookies, and the most confidential data like online banking or health information.
2. "Work-related interception only". A random nobody shouldn't be able to intercept, but it would be acceptable for a company to intercept when originated from company-owned equipment. This includes most work-related information, and also things like porn.
3. "Integrity protection". This could be plaintext, but TLS is used to make sure that what the browser receives is what the server sent.
4. "For the lulz". There's no real need to protect this connection, but the server admin hates the NSA.
5. "I had to". The server admin would prefer it to be plaintext, but for some technical reason had to use TLS. This includes for instance most of Mega's servers (all their data is cryptographically verified by Javascript securely delivered on the main website), or other mixed-content situations.

I believe the security department people want to intercept, but not modify, data from levels 2-5 in this list. The anger against them is because by doing so they also intercept data from level 1 in this list, and also that they lose the integrity protection from levels 1-3 in this list.

I don't see an easy way out. Data from level 1 is often mixed together with data from level 2 or 3 (session cookies for instance), server admins from level 4 will often claim that their data (and everyone else's) is actually level 1, and the levels are fuzzy enough that different people could legitimately claim different things. I claim that LWN.net is level 2 except for the passwords and session cookies which are of course level 1; others could claim that since it can be accessed without TLS it's actually level 4.

Yay for expediency

Posted Feb 26, 2015 1:10 UTC (Thu) by dlang (guest, #313) [Link] (3 responses)

This is a good summary.

But I also think that those who are afraid of the Security folks getting at #1 are missing a few things

1. even banks have been known to serve malware, so just because you are connecting to a bank doesn't mean that it's safe

2. the way these tools work is that they are doing automated signature checking of the contents. They aren't recording all the form data, and usually don't offer any way to collect the form data.

Now, this doesn't mean that a malicious security person couldn't get at the data, but they probably have other ways to attack your corporate resources.

Yay for expediency

Posted Feb 26, 2015 8:16 UTC (Thu) by nim-nim (subscriber, #34454) [Link] (2 responses)

> 2. the way these tools work is that they are doing automated signature
> checking of the contents. They aren't recording all the form data, and usually
> don't offer any way to collect the form data.

More accurately, except in very specific cases, no company will pay for the hardware to collect internet data because (aside from the legal and moral aspects) it is so freakingly expensive to store and process.

Just like recording of company phones is only done for very specific cases (call centers, traders) even though it's been technically trivial to do for a long time.

Yay for expediency

Posted Feb 27, 2015 3:38 UTC (Fri) by dlang (guest, #313) [Link] (1 responses)

Yep, I worked at a place where we did have a system recording the Internet feed. We recorded the encrypted feed (but since it was to our website, we had the ability to decrypt it if needed), we had 160 1TB drives and were able to hold about a month's worth of data.

It was extremely useful several times when we could go back and look at the traffic around the time something (like a $$$$$ load balancer) misbehaved. We never did need to decrypt anything to solve the problems we ran into.

Yay for expediency

Posted Feb 27, 2015 10:34 UTC (Fri) by cesarb (subscriber, #6266) [Link]

> We recorded the encrypted feed (but since it was to our website, we had the ability to decrypt it if needed)

That's only true if ephemeral encryption (DHE/ECDHE) is not used. If ephemeral encryption is used, the key used for encryption is generated at the start of the TLS session and discarded when it ends.

The problem with not using ephemeral encryption is that the server key becomes an attractive target: obtaining it allows one to passively decrypt all past and future connections using that key. With ephemeral encryption, obtaining the server key only allows for MITM, making it a less attractive target. Which is why IMO ephemeral encryption should be used as much as possible.

Yay for expediency

Posted Feb 25, 2015 22:14 UTC (Wed) by Wol (subscriber, #4433) [Link] (1 responses)

> on one hand, that's management making a call as to who is right, but the end doesn't justify the means.

So what do you do if it's *your* job on the line, the deadline is tomorrow, and thanks to security's new antivirus, every invocation of "make" takes two days when it should take two minutes.

(I think I've seen at least one example of something like this on lwn.)

Cheers,
Wol

Yay for expediency

Posted Feb 25, 2015 23:03 UTC (Wed) by dlang (guest, #313) [Link]

yep, you can come up with scenarios like this that seem to make it obvious that you should break the rules, and security folks can match you with real-world examples of people who took this approach and caused major problems.

this is the sort of thing that management should be dealing with.

Yay for expediency

Posted Feb 25, 2015 22:25 UTC (Wed) by Cyberax (✭ supporter ✭, #52523) [Link] (5 responses)

There are important differences:
1) Real safety requirements are strictly codified.
2) Hazardous jobs require actual certification from workers and employers.
3) These inspections are actually pretty objective because of 1).
4) Pretty much everybody working with hazmats likes their lives and limbs.
5) Safety regulations in many countries actually __forbid__ excessive safety measures.
6) Real safety requirements are strictly codified.

Yay for expediency

Posted Feb 25, 2015 23:07 UTC (Wed) by dlang (guest, #313) [Link] (4 responses)

do you think the regulations came out of nowhere?

I haven't seen any places that "actually __forbid__ excessive safety measures"

you aren't going to get "good" rules by ignoring any rules that you dislike.

But even if you ignore Hazmat (to get away from "real safety requirements"), think about rules about keeping doors closed and locked. There are no regulations there, but if you are routinely (and remember, this is without management approval) propping doors wide open, you won't last very long.

Yay for expediency

Posted Feb 26, 2015 2:29 UTC (Thu) by zlynx (guest, #2285) [Link] (1 responses)

> I haven't seen any places that "actually __forbid__ excessive safety measures"

Of course they do. Because having to suit up and use the vent hood for ordinary tap water is obviously, patently ridiculous. Which leads people to ignore the rules.

Rules are followed best when they have reasons, explanations, and people can see that they obviously make sense. And in cases where the reasons and explanations aren't immediately provided, people assume they are there anyway because the rule makers have been reasonable and honest.

Arbitrary rules that make no sense will be avoided, leading to real problems when there actually were reasons to follow the rules.

Yay for expediency

Posted Feb 26, 2015 3:30 UTC (Thu) by dlang (guest, #313) [Link]

just because something would be patently ridiculous doesn't mean that there are regulations prohibiting it. If protection beyond what's mandatory was prohibited, there would never be any improvement in the protection (and no track record to show that the increased level of protection actually results in a better safety record)

Yay for expediency

Posted Feb 26, 2015 21:44 UTC (Thu) by Wol (subscriber, #4433) [Link] (1 responses)

> I haven't seen any places that "actually __forbid__ excessive safety measures"

Yup. There are plenty of good metrics that are routinely ignored. And there are plenty of examples in the UK of disasters CAUSED by health and safety measures (often pointed out to the inspector at the time :-(

> you aren't going to get "good" rules by ignoring any rules that you dislike.

Sadly true.

> But even if you ignore Hazmat (to get away from "real safety requirements"), think about rules about keeping doors closed and locked. There are no regulations there, but if you are routinely (and remember, this is without management approval) propping doors wide open, you won't last very long.

No regulations about doors? Leave (some) doors open in the UK, and health and safety will - with reason! - come down on you like a ton of bricks! If you get caught propping a fire door open it's a serious matter. (Yes, I know, someone with clout is unlikely to catch you ...) Or a security perimeter door - it's probably a firing offence. My daughter works in a nursery, and propping a security door open is probably as close as you can get to a "sacked on the spot" offence as is possible in the UK. Given that senior management would be in fear of being sacked if something happened - and it's happened at my daughter's nursery, and my grandkids' school, and and and - any junior staff caught doing it will catch the full brunt of managements' panic.

Cheers,
Wol

Yay for expediency

Posted Feb 27, 2015 3:42 UTC (Fri) by dlang (guest, #313) [Link]

I am not disputing that safety measures can be excessive and cause more problems than they solve. In fact, I think that there are many cases where the _required_ safety measures are in that category.

As far as doors go, I wasn't thinking about doors that are supposed to be kept closed to prevent the spread of fires. I was thinking about back/side exit doors, some of which may be classed as "emergency exit" doors, but many are not, and people are allowed to go through them (either exit-only or with a key/badge for entry). People find it inconvenient to have these doors not allow them in and prop them open. Nothing illegal or against regulations here, simply violating company policy.

Yay for expediency

Posted Feb 23, 2015 18:27 UTC (Mon) by marcH (subscriber, #57642) [Link]

> In fact, I wouldn't be surprised if cert pinning is tightened as a direct result of Superfish.

Let's believe it when we see it.

EFF: Lenovo is breaking HTTPS security on its recent laptops

Posted Feb 23, 2015 17:36 UTC (Mon) by fenncruz (subscriber, #81417) [Link] (7 responses)

Could something like this happen on Linux? Ie could i install software that would insert its own root certificate, that all other programs would then accept? Or would it have to be per app, say one for firefox, one for wget etc. Or maybe would i have to compromise one of the ssl libraries installed?

EFF: Lenovo is breaking HTTPS security on its recent laptops

Posted Feb 23, 2015 18:14 UTC (Mon) by cesarb (subscriber, #6266) [Link] (6 responses)

> Could something like this happen on Linux? Ie could i install software that would insert its own root certificate, that all other programs would then accept?

Yes, it could. In fact, the normal root certificates are already installed by a package in all the distributions I know of. The exception would be Firefox and Thunderbird, which (like in Windows) have their own certificates database (but in Windows Superfish inserted its certificate in them, so the same would be possible in Linux).

EFF: Lenovo is breaking HTTPS security on its recent laptops

Posted Feb 23, 2015 19:00 UTC (Mon) by marcH (subscriber, #57642) [Link] (1 responses)

> The exception would be Firefox and Thunderbird, which (like in Windows) have their own certificates database (but in Windows Superfish inserted its certificate in them, so the same would be possible in Linux).

Does a Firefox de-install+re-install clear the certificates database?

EFF: Lenovo is breaking HTTPS security on its recent laptops

Posted Feb 23, 2015 19:18 UTC (Mon) by mathstuf (subscriber, #69389) [Link]

Only if it touches $HOME (which is where the db is stored). A fresh profile should work though.

EFF: Lenovo is breaking HTTPS security on its recent laptops

Posted Feb 24, 2015 22:48 UTC (Tue) by lsl (subscriber, #86508) [Link] (3 responses)

> The exception would be Firefox and Thunderbird, which (like in Windows) have their own certificates database

Huh? Doesn't Firefox just use the system NSS database? While it's certainly possible to ship Firefox with bundled NSS and certificates I don't think this is what most distributions are doing. Perhaps upstream binary tarballs work like this but they're not widely used in Linux-land.

EFF: Lenovo is breaking HTTPS security on its recent laptops

Posted Feb 24, 2015 23:41 UTC (Tue) by cesarb (subscriber, #6266) [Link] (1 responses)

> Huh? Doesn't Firefox just use the system NSS database?

As far as I know, the system NSS database is separate from the system database used by openssl/gnutls/etc.

EFF: Lenovo is breaking HTTPS security on its recent laptops

Posted Feb 25, 2015 19:43 UTC (Wed) by lsl (subscriber, #86508) [Link]

That's (generally) correct. At least in Fedora there was a push to unify the storage of certificates between programs[1]. This was originally a part of the larger CryptoConsolidation[2] effort which turned out to be more work than expected and stalled. It seems that the shared storage of system certs actually got implemented, though. I'm not sure how much of that work found its way into other distros.

[1] http://fedoraproject.org/wiki/Features/SharedSystemCertif...
[2] http://fedoraproject.org/wiki/FedoraCryptoConsolidation#S...

EFF: Lenovo is breaking HTTPS security on its recent laptops

Posted Feb 26, 2015 21:47 UTC (Thu) by Wol (subscriber, #4433) [Link]

> Huh? Doesn't Firefox just use the system NSS database?

Given that a quick google leads me to believe that NSS is a Mozilla project ...

Cheers,
Wol


Copyright © 2015, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds