News for hackers. Stuff that matters.
Re:Master password in Firefox or Thunderbird? Do not bother by yborg on Saturday March 10, 2018 @05:17PM (#16560452)
Fixing issues like this is clearly less important than implementing browser-side VR support, I don't see what Palant is on about. As a Firefox user, trading the security of any and all accounts I store passwords for in the browser is something I'd gladly exchange for ... anyway, VR is cool, right?

Guess I should dump the password store and go all-in on the 1Password extension.

Re:Master password in Firefox or Thunderbird? Do not bother by delroth on Saturday March 10, 2018 @05:36PM (#16560526)
What attack vector would be mitigated by switching to a stronger hashing scheme for this specific use case? And are there other mitigations that exist for this attack vector that would be more appropriate?

To me is seems that this feature of browsers is really only meant as a protection against non-advanced attackers accessing an unlocked computer. For this scenario, having a stronger hash would do nothing.

Having a stronger hash would mitigate against exfiltration off the device by malware, but if malware can exfiltrate files off your device it's very likely they can e.g. read your passwords from memory, or keylog until the next time you input the password. It would also mitigate against someone being able to dump your password db off your filesystem if they get physical access to your computer, but full disk encryption does that better, and also protects all the rest of your personal data that's stored on the device.

Historically this is why Chrom{e,ium} has been resisting introducing this feature. Its uses are very limited against "real" attackers.

Mozilla spending time on cool tech rather than dumb migrations between password schemes that provide no value seems like a good tradeoff.

Re:Master password in Firefox or Thunderbird? Do not bother by staticassertion on Saturday March 10, 2018 @06:06PM (#16560622)
A lot of people have problems modeling threats. For example, in the article:

> Anybody who ever designed a login function on a website will likely see the red flag here

A login function on a website and a master password for your local system have very different threat models. Applying one to the other is a helpful heuristic but ultimately leads you in the wrong direction.

If we ask 'who is the attacker in the situation' the answer for both is very different.

The attacker we worry about in web logins is generally remote. The attacks we are primarily concerned with are:

a) They can dump hashes, often through SQL injection

b) They can attempt to bruteforce passwords remotely

With a local attacker for a local password db we have to assume that the attacker is executing locally on the system. Our threat model generally does not include the ability to exfiltrate the db in an encrypted state - at least, that isn't where you start.

Threat modeling is critical to security - there are a billion things like this that Could Be Better but we use threat modeling to prioritize. At some point someone asked "who are we protecting against?" and the answer was "a very, very specific type of attacker that we do not see often". And so yes, they focused elsewhere.

edit: To be clear, I don't work for Mozilla and actually have no idea if my "at some point" comment is accurate! I'm just saying that's generally how it goes. It could easily be the case that this just slipped through the cracks or some such thing. I do not know Mozilla's internal threat model, I can only guess.

Re:Master password in Firefox or Thunderbird? Do not bother by joveian on Saturday March 10, 2018 @09:41PM (#16561446)
For someone without disk encryption (many people, maybe most?), the encrypted database can be acquired if the machine is stolen while off. I would very much expect setting a master password to protect against that (at least unless other unencrypted personal information is used to take over accounts). With remote compromise of the system it is presumably possible to access the key if the browser is running via debuggers, it is at least a bit more work.
Re:Master password in Firefox or Thunderbird? Do not bother by staticassertion on Saturday March 10, 2018 @11:40PM (#16561725)
> For someone without disk encryption (many people, maybe most?),

I would say they should really use FDE. An attacker with that level of control can do a lot - FDE is designed for this type of attacker.

But yes, that is one attacker that this would protect against.

> With remote compromise of the system it is presumably possible to access the key if the browser is running via debuggers, it is at least a bit more work.

No need for debuggers, though that would certainly be one way to do it. This is not hard at all for an attacker, we see attackers hijacking processes all the time. Forcing the attacker to do 'a little more work' is not really the best place to spend time.

Firefox's threat is, in my opinion, malicious web pages, malicious extensions, or malicious use of/ abuse of their services etc (can't even imagine what abuse they see for their recent file sharing system). These probably take a significant amount of time and resources - these are the attackers they are probably dealing most days, if I had to guess. An attacker with unlimited offline access to an unencrypted hard drive seems pretty out of scope and better solved by the OS (I believe modern Windows and OSX systems actually FDE by default now). An attacker with full execution on the system also seems out of scope.

They could probably fix this master password thing pretty easily, it sounds simple enough and they might just because it's been called out, but my expectation is that this would probably not be a high priority otherwise.

I would also be concerned about users making the assumption that if they use a master password that they are safer from attackers - that it 'raises the bar', when it is unlikely to meaningfully for almost any attacker. A false sense of security is not a good thing.

I'm not a browser developer so I could be totally off and this could all be stuff they're super concerned about.

Re:Master password in Firefox or Thunderbird? Do not bother by joveian on Sunday March 11, 2018 @12:14AM (#16561793)
I did a quick search for "firefox master password" and the first result from mozilla.org mentioned that they recommend using a master password if you share your computer with someone else. So it sounds like you are right and they only consider it useful for preventing accidental wrong profile use.

Edit: Looking through some mozilla bugs starting with the one citrin_ru mentions reminded me that unless they fixed it recently (which I don't think is the case) the master password doesn't encrypt cookies, so it is even less useful for most people than it might seem (and it doesn't normally meet my expectation of helping with a stolen disk).

Re:Master password in Firefox or Thunderbird? Do not bother by yborg on Saturday March 10, 2018 @06:17PM (#16560658)
The argument that "security is pointless unless it can prevent <nation-state> from obtaining the data" is a really tiresome strawman. If you force an adversary to have to keylog for data of interest you already have substantially increased the complexity of bulk attacks, which is the real threat for most users - mass password farming sweeps that can provide easy access to people's entire digital presence in one go.
Re:Master password in Firefox or Thunderbird? Do not bother by staticassertion on Saturday March 10, 2018 @08:16PM (#16561136)
> The argument that "security is pointless unless it can prevent <nation-state> from obtaining the data" is a really tiresome strawman.

This sentence is a strawman as you've invented the opponent's argument (literally no one has mentioned the NSA), just for what it's worth.

Your assertions that:

a) An attacker would have to rely on keylogging

b) Keylogging is a substantial barrier for attacker

are unfounded.

Re:Master password in Firefox or Thunderbird? Do not bother by palant on Sunday March 11, 2018 @01:52PM (#16563983)
Yes, it is stupid to leave your computer unlocked but it happens all the time in every workplace. If spending a minute pulling two files from an unlocked system is all it takes to get access to all of person's passwords - that's scary. And this would be trivial to mitigate, NSS already has everything necessary.

Note that full disk encryption offers exactly no protection if you forgot to lock your computer. Not that full disk encryption is common, almost nobody does that.

Re:Master password in Firefox or Thunderbird? Do not bother by papayawhip on Saturday March 10, 2018 @06:11PM (#16560637)
Ah yes, they should re-assign all their generic swiss-army engineers from VR to Security.
Re:Master password in Firefox or Thunderbird? Do not bother by marcinzm on Saturday March 10, 2018 @08:31PM (#16561192)
Presumably they purposefully hired those VR engineers in the first place in which case they should have just hired more Security engineers.
Re:Master password in Firefox or Thunderbird? Do not bother by joveian on Saturday March 10, 2018 @09:20PM (#16561384)
It is unfortunate that Mozilla does this without telling the user that you need a good password (or better, generating one for you), but you can just use a good password. 21 random base 64 characters is almost the strength of the 128-bit encryption. You can memorize it easily by writing it down (divide into three groups of seven) and entering it from the paper for two or three weeks. The trick is to try never to get it wrong (you will occasionally anyway, but try not to guess - the right answer eventually come to mind effortlessly before you look at the paper, which should be turned to not normally be visible). On linux, you can use `base64 < /dev/urandom` (or `tr -dc "[:graph:]" < /dev/urandom` which picks from a few more characters) to get the password.
Re:Master password in Firefox or Thunderbird? Do not bother by kerkeslager on Saturday March 10, 2018 @10:35PM (#16561573)
I prefer to use Diceware[1] as I find these passwords easier to memorize. But for a master password it doesn't matter as much since you only have to memorize it once.

If you're generating passwords from urandom, you can do this slightly nicer with:

    head /dev/urandom | LC_ALL=C tr -dc "[:graph:]" | head -c 21
A few things about this:

1. In case it's not obvious, 21 is the number of characters this will generate. Change that to generate more or fewer characters.

2. LC_ALL=C isn't necessary on some systems, but it's necessary on Mac OS and some others where `tr` expects UTF-8 encoded input on Mac OS unless that is overridden by the environment variable.

3. If you are generating a password for one of those dumb systems that restricts which characters you can use, you can change `"[:graph:]"` to something like `'A-Za-z0-9~!@#$%^&*_='` depending on which characters are allowed.

[1] http://world.std.com/%7Ereinhold/diceware.html

Re:Master password in Firefox or Thunderbird? Do not bother by kerkeslager on Saturday March 10, 2018 @10:12PM (#16561522)
At least Firefox is open source and probably doesn't broadcast your passwords back to the server.

1Password is closed source and stores your passwords on a server which, should it ever be hacked, could easily cause all sorts of issues. If they received a secret order to compromise your accounts Lavabit-style, they wouldn't even have to be hacked--they might willingly backdoor their own product.

I use KeePass or KeePassX (depending on platform) which never require me to store my password database on someone else's computer.

Re:Master password in Firefox or Thunderbird? Do not bother by bradknowles on Saturday March 10, 2018 @11:21PM (#16561678)
Sorry, you’ve got some things wrong about 1Password.

Yes, they provide a cloud option where you can store your passwords on their server for synchronization purposes. But you don’t have to use it. You could just not use synchronization at all, or use a file stored on Dropbox, or iCloud, or other cloud provider of your choice. And if you use only a local file, you can still choose to sync that over the local network with approved clients of your choice with their built in network sync server.

The 1Password authors have been pretty open about how distributed their team is, and how no one single government would be able to convince them to do those kinds of things — the other developers would find out and then the game would be over.

They are also open about the crypto algorithms they use.

As for KeePass or KeePassX, which version do you use? Which of the dozens and dozens of different implementations do you use? Which database format do they support? Do you build the binaries yourself with trusted compilers? Where do you get those trusted compilers and how can you be sure that they haven’t been compromised?

Re:Master password in Firefox or Thunderbird? Do not bother by kerkeslager on Sunday March 11, 2018 @11:33AM (#16563331)
> The 1Password authors have been pretty open about how distributed their team is, and how no one single government would be able to convince them to do those kinds of things — the other developers would find out and then the game would be over.

Your options are:

A. Go to jail for contempt of court, which is a crime for which you receive no due process or appeals.

B. Give the control over to the government. Yes, your coworkers will find out about it, but you can always get another job.

Are you actually confident that all of the 1Password devs would choose A? Only one of them has to choose B.

I admire Ladar Levison for shutting down Lavabit rather than running a compromised business, because his bravery is the exception, not the rule. There are far more companies out there who have simply handed over the keys to the government when placed under minor duress, and I'm not sure on what basis you're assuming 1Password is going to be one of the exceptions.

> They are also open about the crypto algorithms they use.

Look, I'm sure the 1Password guys are nice, upstanding people, but implementing crypto correctly is hard, really hard. Sure, they are probably telling the truth about what algorithms they use. But did they implement them correctly? Would they tell you if they hadn't, given it would hurt their business?

> As for KeePass or KeePassX, which version do you use? Which of the dozens and dozens of different implementations do you use? Which database format do they support? Do you build the binaries yourself with trusted compilers? Where do you get those trusted compilers and how can you be sure that they haven’t been compromised?

Obviously security is relative, and you can point out ways in which my process is insecure. Indeed, you missed some (my computer could have a virus that keylogs my passwords--my password DB is on two drives which I connect via USB). But literally all of these apply to 1Password as well, so I don't think any of this proves that KeePass is just as insecure as 1Password.

And very notably, these are all security tradeoffs. I get something for every decrease in security I've accepted. The only thing you get for storing your passwords on someone else's computer is that they store them for you and let you access them from multiple devices, which is not something I want or need. I'm not sure you get anything at all in exchange for your password manager being closed-source--that's entirely for 1Password's benefit, not yours.

Re:Master password in Firefox or Thunderbird? Do not bother by palant on Sunday March 11, 2018 @02:46PM (#16564212)
> Look, I'm sure the 1Password guys are nice, upstanding people, but implementing crypto correctly is hard, really hard. Sure, they are probably telling the truth about what algorithms they use. But did they implement them correctly? Would they tell you if they hadn't, given it would hurt their business?

I looked into a number of password managers already. So far, 1Password is the only one where I can believe that they got the crypto right (other than my own, obviously). But I'll certainly try to find flaws in their implementation. There is a nice bug bounty on those.

Re:Master password in Firefox or Thunderbird? Do not bother by palant on Sunday March 11, 2018 @02:42PM (#16564196)
Yes, 1Password is closed source. But as far as their security design goes, they are as open as possible. In fact, I recently started looking into https://1password.com/files/1Password%20for%20Teams%20White%... to understand what choices they've made. While I don't have an overview yet, one thing for sure: their key derivation algorithm isn't built for hardware from the past century.

Storing your password database on someone else's computer might not be a bad thing if it is securely encrypted. In the end, most people have more than one device these days. If your solution is doing manual "synchronization" then the result will often turn out less secure.

Re:Master password in Firefox or Thunderbird? Do not bother by spondyl on Saturday March 10, 2018 @05:37PM (#16560531)
As someone who has been through probably every popular password manager at this point, make sure to decide what you might need in the future.

Honestly, it really boils down to "Do you want to use Linux and not have a half broken client running in Wine".

Either way, 1Password is nice :) I use KeepassXC myself which I can recommend.

Re:Master password in Firefox or Thunderbird? Do not bother by scrollaway on Saturday March 10, 2018 @06:11PM (#16560640)
Seconding KeepassXC recommendation. Here's an intro to it, and to password managers in general: https://leclan.ch/password-managers/

PS: KeepassXC has an open issue to work on integrating itself as the system keyring (eg. providing the system keyring). If anyone is interested in working on it, check out https://github.com/keepassxreboot/keepassxc/issues/1403 !

Re:Master password in Firefox or Thunderbird? Do not bother by muxator on Saturday March 10, 2018 @06:19PM (#16560668)
I fear to know the answer already, but let me ask anyway: does exist any strong password manager that is integrated with Firefox sync?
Re:Master password in Firefox or Thunderbird? Do not bother by eadmund on Saturday March 10, 2018 @07:14PM (#16560878)
Firefox Sync is insecure and should not be used. This didn't used to be the case — it used to be world-class — but the engineers decided to utterly destroy its security. All of your remote data is protected by whatever password you use, rather than by a high-entropy key (which means if you choose a poor password you might as well leave your data in plaintext). Worse, they use dynamically-downloaded JavaScript to handle your password, which means even if you use a high-entropy passphrase Mozilla can at any time send you malicious JavaScript and snarf your passphrase.

This means that any government Mozilla must obey can do the same thing.

Mozilla Accounts are thus fundamentally insecure and must not be used. It breaks my heart: they went from having the world's best password-sync security to having its worst. Even Google's system is quite so blatantly security-hostile. When your concern for your users is less than Google's, you really are doing something wrong.

Re:Master password in Firefox or Thunderbird? Do not bother by staticassertion on Saturday March 10, 2018 @08:05PM (#16561092)
> All of your remote data is protected by whatever password you use, rather than by a high-entropy key (which means if you choose a poor password you might as well leave your data in plaintext).

Can you elaborate on this? What do you mean by 'protected' and 'high entropy key'? It makes it sound like they aren't key stretching, which seems unlikely. Can you provide a source here?

> Worse, they use dynamically-downloaded JavaScript to handle your password, which means even if you use a high-entropy passphrase Mozilla can at any time send you malicious JavaScript and snarf your passphrase.

I'm unsure why you think Mozilla would do this, or why you would be using Firefox at all if you expect them to push malware to your system.

> This means that any government Mozilla must obey can do the same thing.

I'm not sure this is true, mostly because it lacks any sort of precedent.

Re:Master password in Firefox or Thunderbird? Do not bother by bscphil on Saturday March 10, 2018 @09:15PM (#16561361)
>Can you elaborate on this? What do you mean by 'protected' and 'high entropy key'?

I can't be sure, but I believe GP is referring to how Firefox Sync originally encrypted all the data locally with a long key before uploading it to Mozilla servers. To sync your data onto a new device you would have to transfer the key, which was done by generating a 16 char temporary password at one end, and then typing it at the other. Your private key data would then be sent, encrypted, to the new device.

At some point, if memory serves, Mozilla decided this was too complicated for ordinary users, and now only stores your sync data protected by whatever password you type in - which is going to be potentially brute-forceable.

Re:Master password in Firefox or Thunderbird? Do not bother by staticassertion on Saturday March 10, 2018 @09:35PM (#16561432)
Got it - thanks, that's interesting. I'll probably check out how that worked.
Re:Master password in Firefox or Thunderbird? Do not bother by eadmund on Saturday March 10, 2018 @11:54PM (#16561760)
> Can you elaborate on this?

bscphil did a good job of it. They stretch the password into a key, but a 24-bits-of-entropy key still has only 24 bits of entropy, no matter how much you stretch it.

Their previous system actually used properly-secure encryption keys.

> I'm unsure why you think Mozilla would do this, or why you would be using Firefox at all if you expect them to push malware to your system.

There's a difference between trusting them to provide a bit-for-bit identical binary to everyone, and trusting them to never send malicious JavaScript to one person. Downloads are public & could at least in theory be verified by the community at large, while a single JavaScript download could be subverted once and the world would never notice.

As for the why — I explained why afterwards. Not just Mozilla has the ability to steal your passwords: any government which can force it to comply can also snarf your passwords. As for precedent, court orders require third parties to do things all the time.

The only way to build a secure system is to build a system one couldn't subvert even if one wanted to, or were forced to. Mozilla completely, totally and utterly failed at that.

Re:Master password in Firefox or Thunderbird? Do not bother by omnifischer on Sunday March 11, 2018 @06:05AM (#16562407)
>As for the why — I explained why afterwards. Not just Mozilla has the ability to steal your passwords: any government which can force it to comply can also snarf your passwords. As for precedent, court orders require third parties to do things all the time.

I would love to see if you can prove this. Please see their latest audit:

https://blog.mozilla.org/security/2017/07/18/web-service-aud...

https://medium.com/mozilla-tech/how-firefox-sync-keeps-your-...

When you enter your Firefox Account password, we first strengthen it by applying some cryptographic hashing, and then derive two separate keys: an authentication key, and an encryption key. The authentication key is transmitted to the server to prove that you own the account. A bug in TLS might cause this key to be leaked, and someone who intercepts this key could use it to authenticate to your account. But they cannot use it to access your sync data, because: The encryption key is used to encrypt your sync data before it leaves your machine. Since this key is never transmitted to the server, it cannot be leaked by a bug in TLS like the one that affected Cloudflare.

Re:Master password in Firefox or Thunderbird? Do not bother by eadmund on Sunday March 11, 2018 @07:57PM (#16565382)
> I would love to see if you can prove this.

Go to https://accounts.firefox.com/signin and view source. Note that it loads https://accounts-static.cdn.mozilla.net/bundle-75dd38d5a7f98... and https://accounts-static.cdn.mozilla.net/bundle-75dd38d5a7f98....

The signin page itself may be edited at any time to point to different files, or to additional files, which load JavaScript which steals your password and sends it to Mozilla's servers. Game, set, match for your security.

Re:Master password in Firefox or Thunderbird? Do not bother by omnifischer on Sunday March 11, 2018 @06:04AM (#16562405)
'This means that any government Mozilla must obey can do the same thing.'

Please do not spread FUD. This is hn. Mozilla cannot see your passwords.

See the latest security audit: https://blog.mozilla.org/security/2017/07/18/web-service-aud...

https://medium.com/mozilla-tech/how-firefox-sync-keeps-your-...

Re:Master password in Firefox or Thunderbird? Do not bother by eadmund on Sunday March 11, 2018 @07:50PM (#16565365)
> Please do not spread FUD. This is hn. Mozilla cannot see your passwords.

They process your password with JavaScript they deliver to your browser; they can at any time choose to deliver different, malicious JavaScript which sends them the raw password instead.

It's not FUD; it's the honest truth. For details, see my note https://news.ycombinator.com/item?id=16565382

Re:Master password in Firefox or Thunderbird? Do not bother by scrollaway on Saturday March 10, 2018 @06:25PM (#16560683)
KeepassXC has a browser integration, so it integrates with Firefox, but not with Firefox Sync which only cares about the stuff it stores itself.
Re:Master password in Firefox or Thunderbird? Do not bother by bhhaskin on Saturday March 10, 2018 @06:07PM (#16560623)
Should check on password-store. Uses gpg encryption and git for syncing. Can't recommend it enough!
Re:Master password in Firefox or Thunderbird? Do not bother by eadmund on Saturday March 10, 2018 @07:16PM (#16560885)
Bear in mind, though, that password-store doesn't encrypt its filenames, so you should only use it with git-remote-gcrypt or similar (which isn't currently supported by any password-store mobile app, so you can't use it on your phone).

Leaving filenames unencrypted means that anyone who can view your encrypted data (e.g. GitHub, GitLab, your local admin — whomever) knows which sites you frequent & care to protect.