6 ms·
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
by yborg 9y ago
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.
- delroth 9y agoWhat 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.
- staticassertion 9y agoA 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.
- joveian 9y agoFor 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.
- staticassertion 9y ago> 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.
- 9y ago
- yborg 9y agoThe 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.
- deleted 9y ago[deleted]
- staticassertion 9y ago> 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.
- palant 9y agoYes, 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.
- spondyl 9y agoAs 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.
- bhhaskin 9y agoShould check on password-store. Uses gpg encryption and git for syncing. Can't recommend it enough!
- eadmund 9y agoBear 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.
- scrollaway 9y agoSeconding KeepassXC recommendation. Here's an intro to it, and to password managers in general: https://leclan.ch/password-managers/ 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 https://github.com/keepassxreboot/keepassxc/issues/1403 !
- muxator 9y agoI fear to know the answer already, but let me ask anyway: does exist any strong password manager that is integrated with Firefox sync?
- scrollaway 9y ago
- deleted 9y ago[deleted]
- papayawhip 9y agoAh yes, they should re-assign all their generic swiss-army engineers from VR to Security.
- marcinzm 9y agoPresumably they purposefully hired those VR engineers in the first place in which case they should have just hired more Security engineers.
- joveian 9y agoIt 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.
- kerkeslager 9y agoI 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 http://world.std.com/%7Ereinhold/diceware.html
- kerkeslager 9y agoAt 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.
- bradknowles 9y agoSorry, 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?
- kerkeslager 9y ago> 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.