Even the LastPass Will Be Stolen
martinvigo.com
martinvigo.com
But now realizing that they're handling URLs in this way... I just can't use it anymore or recommend it in good faith.
So what do I do?
- KeePass looks nice, has multiplatform support and browser extensions but the crpytography in it is sketchy, custom KDF and stuff going on... mobile support might also not be so great though I'm not positive.
- PasswordSafe has better looking cryptography, though still not up to where I'd like it to be as well as a worse UI, worse browser support, etc. And last I checked I think Linux support was sketchy.
- There are an infinite number of questionable proprietary solutions that have similar problems to LastPass, usually far worse actually...
- and a few open source solutions that look good but completely lack in the UI and integration departments.
So I'm about to take KeePass, gut the crypto, replace it with simple scrypt and AES-OCB or chacha20-poly1305 and hope I can wind up with something I'm comfortable using - anyone have a better suggestion?
That is why I use LastPass. Because they aren't perfect, but they realize that their reputation for taking any vulnerability very seriously is the most important asset they have.
I have heard great things about KeePass so if you make that switch good on you.
Edit: Added "very seriously" above.
LastPass does exactly the thing I use it for, does it well, and does it mostly transparently. Allow me to easily use different passwords per site. While my LastPass might be hacked one day, if I reuse passwords, then my accounts will be hacked eventually. Not a question of if, but when.
Whenever news comes around that a particular site got hacked, I don't even pay attention. Who cares if one of my hundreds of passwords gets hacked?
LastPass is somewhat vulnerable, but the architecture of LastPass plus the professionalism of the team means that any threat will be seen coming by anyone paying attention, as reports of an exploit out in the wild. A few people will be caught flat-footed but not everyone.
When that happens, we can take steps to mitigate. If worse comes to worst, I can download a copy of the database, change the most important passwords so they're not in the online database, Gmail, banking and such, manage those manually, and hope my database doesn't get hacked.
If it looks like it's just getting worse and worse, I can spend an evening changing passwords and migrating to a self-hosted solution.
My data is safe in that an adversary would have to break through my personal defenses to get at it. They're not sitting in plaintext on some corporate server somewhere waiting to get hacked.
PasswordSafe is, I think, the current best-of-breed with respect to its crypto. Like you, I have some concerns with it (notably the use of Twofish rather than AES, and a too-low PBKDF2 default), but it's the best you can get without writing your own.
It seemed to run ok in WINE last I tried it, and there're one or two native Linux programmes which can read & write its files.
These days I just use an org-mode file encrypted with gpg: emacs automatically prompts me for my password and decrypts it when I open it up.
> So I'm about to take KeePass, gut the crypto, replace it with simple scrypt and AES-OCB or chacha20-poly1305 and hope I can wind up with something I'm comfortable using - anyone have a better suggestion?
Replace the crypto and data model with a PasswordSafe 'v4' format: scrypt plus AES-GCM plus chacha20-poly1305.
* password gorilla https://github.com/zdia/gorilla
* pasaffe https://launchpad.net/pasaffe
* passwdsafe (android) https://play.google.com/store/apps/details?id=com.jefftharris.passwdsafe
I like a password db format which is portable to different manager implementations on different platforms, and think that passwordsafe v3 is probably a bit better than the keepass format.(EDIT: and I don't care for integrations with browsers or anything else, they're a bad idea...)
I suppose this is a problem if someone breaks into your home and gets into wherever you keep your notebook and steals it but frankly that's hardly the only problem you have in that scenario.
I think this is bad advice - it encourages password re-use, and gives insider threats a perfectly simple vector for credential theft (because you need passwords at work as well as at home).
Also that advice is from 2005, I wonder if he'd agree with what I said above or disagree.
Not true, as it turns out. I created passwords for my users and put them on a laminated card as a courtesy, with instructions to keep it in their wallet, purse, etc. They were turning up stuck to keyboards, shelves next to desks, etc. Some people are really crap at securing small pieces of paper.
Even if you assume many of those sites I don't use anymore, we're still talking a shitload of passwords I'm supposed to have written down somewhere.
Is there browser integration or a better UI for it?
GPG is maintained, and well. Even as it supports different ciphers, that attack doesn't apply here. And very little functionality is accessed through this script.
If that's not a tiny attack surface, I don't know what is.
Maintained, yes, well... I'd question that. I don't think it's very heavily reviewed or anything, and vulnerabilities pop up in it quite frequently, enough that I'm uncomfortable using it for serious purposes.
https://www.cvedetails.com/vulnerability-list/vendor_id-4711...
Many of these vulnerabilities have to do with very important cryptographic code... If you're comfortable with it, that's fine, it's not a bad solution. But personally I'd honestly be more comfortable with plain text files and TrueCrypt, which has no real cryptographic problems even after quite heavy review, the best we've found is a privesc bug in the Windows driver.
Privesc is bigger than all of these combined, especially in a kernel driver.
If Snowden can use GPG, so can you.
Arbitrary code execution that say, a cloud storage provider could modify would be a far bigger problem. Some of the cryptographic issues are also arguably bigger problems for practical usage. As such, to me, GPG is not nearly as worthy of trust as other, far simpler platforms.
> Snowden can use GPG so can you
This just doesn't make sense as an argument to me - one guy who needed strong encryption used it once therefore you should use it forever and ignore or don't try to develop simpler alternatives?
1 vulnerability that's "worth talking about" per year is enough to make me want to run the other direction, especially on something as sensitive as a password manager.
It handles changing a password by keeping a file of the salts, which is theoretically safe to post to a public github (mine's in my dotfiles repo, though it's a private bitbucket repo)
edit: although, what happens if the dictionary is changed? It's the same on all Macs, but what about trying the same script on Linux?
@burrows: I think there's modulo bias here: https://github.com/burrows-labs/pz/blob/master/pz-master#L11 It probably doesn't matter much, but the displayed entropy estimate won't be exact.
Looks like KeePass guys are going to add Argon2 and have already added authenticated encryption.
Keep an eye on it. Might be worth moving to.
http://ehc.ac/p/keepass/discussion/329220/thread/a48066c0/?l...
Applied cryptography is easy to fuck up, as we see time and time again.
I'm seriously hoping someone gives me a better solution though, it'd be very nice if somebody had just done this right from the ground up.
Specifically: https://github.com/myplaceonline/myplaceonline_rails/blob/af...
I've considered storing text files containing passwords inside of a VeraCrypt or TrueCrypt volume. Or storing the KeePass database file similarly.
Any feedback on if this is a bad approach and why?
[1] http://keepass.info/help/base/security.html#secdesktop This said, both secure desktops and auto-type obfuscation are turned off by default...
Additionally a quick patch or in memory modification of KeePass.exe would easily bypass any protection like this, lookup the KeeFarce tool to see an example. I'd hardly call this an "edge" over plain text files in an encrypted container, considering it does nothing to actually prevent exploitation but simply provides a form of security through obscurity.
Ultimately once a system is infected, all you can do are half-measures and will wind up worthless against even a mildly sophisticated attacker. Unless you run the software in a separate machine, you're dead in the water and it's pointless to discuss what happens post-infection when anything is really possible.
I guess if the malware get's admin access I'm hosed, but that's pretty much game over anyway.
Windows doesn't require executable to be signed, strip the signature from the PE file and unless the user verifies it they're still dead in the water. Not good enough? Okay, install a new certificate for code signing the patched PE file and sign it yourself.
As for user isolation, it's a great idea but you could take advantage of this isolation with the filesystem method too simply by making the files only readable by an administrator and running a text editor or search tool as an admin so I'd still say this is not an advantage over the encrypted disk image method.
EDIT: Cleaned up.
It's another magical proprietary solution though so I can't help but feel like switching from LastPass to 1Password wouldn't be worth the hassle. I'm looking for something more in the open source and dead simple direction.
There are scripts out there that will take your lastpass dump and convert it into a 1password import file. The process to convert over takes about 30m-1hr.
As to the auth'd encryption: they do that above version 2.2 http://keepass.info/help/kb/sec_issues.html
Authenticated encryption seems to get popular just these last couple years. Besides injecting unwanted data into the encrypted data, what other attacks can be done with it? For encrypted code, injecting unwanted code in the middle of it would be a big problem when decrypted and run. For pure data file like the the password database, would it be just adding extra garbage?
That's the only way we ensure it's economically more viable for hackers to resell their security leaks to LastPass than to pirates. An economic approach would claim that the total available bug bounty scheme must be worth the same as the potential stolen value of the contents, otherwise it's still valuable to exploit the leak rather than publish them. The only savings that LastPass can make is over the gap between insured value and their ability to not have leaks.
What security issues? This blog post isn't really new information (or surprising), and I cannot think of anything else.
The biggest problem LastPass has had is that LogMeIn purchase them who a lot of people hate/distrust (myself included).
The rest of your post is predicated on LastPass being of "low quality" because of supposed "security issues" so I invite you to point them out.
I recall one interesting method involving no third-party services is a concatenation of a random string combined with some of the letters of the service I'm using. E.g. the first and last letters of the website I'm on. So if the random string is xPv4rz and I'm on HackerNews, the string becomes hsxPv4rz.
I tried the combination scheme for a bit over a year. I was in denial about how poorly it was working until I started getting politely teased by casual acquaintances about being the guy who could never remember his passwords. There are accounts I'm still permanently locked out of. It was bad.
By comparison, LastPass has been great. More secure passwords, less forgetting them. Eventually I want to move to a password archive that's physically separate from the computer, but for now I'm happy with no longer dreading login screens.
Just because it's not feasible to lug a moleskine with that long long list of passwords to everywhere as a "password manager" solution, doesn't mean that you shouldn't write them in that notebook, which you store in a safe place. Not for quick & easy access, but for backups.
You don't have to do it on paper, but it's a good choice because it's low-tech, easy for anyone to use (bus-factor, next-of-kin) and exactly as secure as your common sense, making it exactly as secure as anything else you can use.
Being unable to access accounts, because you forgot the passwords, that you didn't write down anywhere is equivalent to losing data because you didn't make backups. Which we also tease people about, right?
Have you written down your LastPass master-password anywhere?
E.g, let 's say you use your algorithm for your passwords : Amazon get AnxPv4rz, HN get hsxPv4rz, etc... Now, someone get your password for Amazon one way or another (social engineering, poorly protected website, etc...). You have two choices :
* Change your algorithm for all your passwords. Depending on the number of different websites you use, it will probably be a very heavy process, and you might forget some websites.
* Use a different algorithm for Amazon. If you start going this way, you'll quickly find yourself with 5-6 different algorithm, each more or less complicated. That's pretty much why people use Password managers : they want secure passwords, without having to remember each and every one of them because it gets complicated after the 5th. And if you use a password manager, you might as well use completely random passwords.
The challenge being to implement a hash app everywhere you might be that will generate the correct hash. Maybe a very simple mental hash function would be enough; mass attacks would probably be foiled, and individual attackers may be too lazy to bother figuring out the hash.
There remains the problem of changing the password due to some necessity, like policy or compromise.
EDIT: If this was app-based, then each time you change a password, the app would record that fact, and incorporate it into the hashing data, so that a different hash is generated. The problem then being synchronizing that fact among all your installations of the app. And if you were using a mental hash, I don't know how you'd remember this across all your logins; possibly some central piece of data that you could easily look up, to see that you've changed your password one or two or N times, that is easy to incorporate into the mental hash.
Regarding other comments in this thread about managing exceptions to the scheme over time, I have a simple solution: I let my browser save my passwords. I think this is a reasonable trade-off; the dominant threat online today is not somebody gaining physical access to your devices, but random script kiddies brute-forcing passwords using stolen hashes.
Tl;dr - use my script to generate passwords, use your browser to remember passwords, and the complexity is quite manageable.
Edit - sorry, I forgot that that 5-line script calls another 5-line script: http://akkartik.name/bcrypt_digest.
One potential gotcha I realized recently is that it uses the bcrypt encryption scheme rather than the well-known digesting algorithm. The two share a common kernel, from what I can tell, though there are significant differences. There might by cryptographic implications to using an encryption scheme for digesting; I'm not an expert. Hopefully the fact that this is a bespoke arrangement being used by a tiny population will keep anyone from hacking me :)
Your point is well-taken that I'm just replacing one external service with another, so the difference isn't large enough to convince anyone to switch. My original response in this thread was just to point out prior work relevant to the brainstorming above.
I don't see this as really that useful -- if someone gets your password from two leaks they can probably figure the pattern out as well as you can.
http://www.pcworld.com/article/2845072/ubuntu-owncloud-and-a...
Part of the value of a service like LastPass (not a fan personally, but for argument sake I think ths still holds for this issue) is that someone is (should be) always on duty to monitor the service for suspicious activity and be ready to respond to security issues in the code base. While you're in class or a meeting or a movie or asleep, they can already be locking ish down and implementing patches / fixes.
These are always a bit of a balancing act on what's good use of third-party services and what's worth handling yourself. Services hopefully have a competent team behind it monitoring it (not guaranteed though!), but at the same time provide a much more lucrative attack target. And in my case at least, in a completely different jurisdiction. Monthly feels, service continuity, learning aspect... There are lots of different points influencing the choices.
Instead of Dropbox you can also use https://spideroak.com/ They have a really handy program which let you control a lot of things and they are a "zero knowledge" cloud provider, all your data is encrypted. Snowden recommends them: http://www.theguardian.com/technology/2014/jul/17/edward-sno... For $12 dollar a month you get 1 TB, which you can use as a safe off-site backup location.
Which itself _is_ open source: https://github.com/SpiderOak/Encryptr
When are exporting and offline access coming?
Also, for the database file encryption I'm using AES256 with 10 million encryption rounds (configurable in the application), which hopefully slows down any brute force attempts even in case of a data breach.
Of course, all bets are off if your device itself is compromised, but that would be the case with any solution.
Applying AES multiple times/rounds doesn't yield anything. AES is not adaptive (like BCrypt) so the cost of brute-forcing doesn't increase incrementally with the number of rounds.
Anyway, the slowdown is noticeable on my devices with these applications (it's about one second on my laptop), but then again these obviously are not custom-built AES decrypters. This will have to do now.
I have tried KeePass, but it's just too painful to keep running..especially as a Mac user.
1Password + Dropbox with 2FA makes me sleep a lot better than when I used LastPass.
The browser integration looks near-native and performs all interactions inside its dropdown menu. LastPass opens separate tabs to accept your master password or your 2FA token (at least in Safari), and things like editing a site or copying a password frequently takes you away from the tab of the site itself.
Another huge advantage is that unlike LastPass, form field autofill actually works. It will even submit the login form by default, if there are no other fields that need to be filled out.
When it was bought by Twitter they open-sourced it with bits missing. Some have added the missing bits to run it in Docker, but there may be dragons:
https://github.com/servomac/mitro
(comes with browser extensions, server, etc etc)
My home server keeps a copy available via SFTP, which is accessible using the KeePass2Android app. That saves me the manual process of updating on my phone, allowing me to avoid using Syncthing, there, which would crush the battery.
Just keep the passwords on your phone (in a password manager) and type them by hand on your computer. It works well enough since you always keep your phone with you (at least I do).
Looks like there is an option to disable store dOTP on each machines? Kind of a pain to change on every device, but OK. Sounds like a good idea. What else is there?
Individually those small simple tools are well optimized and pretty safe. Yet monolithic top to bottom windows style all in one solutions always fail miserably such that it smells impossible to actually implement. Which it might be, for practical, and possibly legal, reasons.
This is interesting because its a real world example of what happens if you let the general public be unix sysadmins.
It is possible, that just like some knowledge is only for the cognitive elite, some computer automations and features are inherently by the complexity of what they do, only for the computational elite. If this isn't a specific example of something on that borderland, its an interesting topic to think about in general.
-country restriction enabled - CHECK -2fa enabled - CHECK -TOR disabled - CHECK
Given your MyPasswordSpace account has been compromised, will that help the attacker compromise the other services?
Ouch ouch ouch. How did they think that was a good idea anyway?
"To finish, we want to point out that the security team at LastPass responded very quickly to all our reports and lot of the issues were fixed in just a couple days. It was very easy to communicate and work with them.
We have seen media and tweets mentioning that we “hacked LastPass”. We did not hack LastPass. We also don’t feel comfortable with those claims. What we did is find a number of bugs, bad practices and design issues which we used to obtain the vault key and decrypt all passwords in different scenarios. There is no bug-free software and any future research on other password managers would likely have similar results."
... which is doubly worrying if you do not control the data you believe to be securely encrypted.
Although, I'm not sure they met their kickstarter goal.
https://www.kickstarter.com/projects/339603800/blooky-wirele...
Thanks.
fastmail --- 31&84$KsATbUIOPalrwdklwdfjljklwdfljk31&84$KsATbUIOPal$*KsATbUIOPalrwdklwdfjljklw
apple --- CNK7wt5a2QcJ2T/qm9J+oc3JUvg/cR/uIrJ2qPgAePk
Then I mess with things. Say Rot5 for the last five characters of my Apple password and ROT8 for fastmail. Not exactly what I do but you get the idea.
However, setting up the ATV4 took a few hours.
def ceasar_permutations(ciphertext):
alpabets = [ascii_lowercase, ascii_uppercase,'0123456789',' ~!@#$%^&*()_+``-=[]{}:";\\\<>?,./]']
for perm in permutations(alpabets):
alphabet = ""
for p in perm:
alphabet+=p
for i in range(0, alphabet.__len__()):
shifted_alphabet = alphabet[i:] + alphabet[:i]
table = str.maketrans(alphabet, shifted_alphabet)
print( ciphertext.translate(table))I have never had a password stolen and I can retrieve them if I forget my phone and have to borrow someones to visit my password page. This happens a lot since I find my phone to be a anchor and my life is better when I leave it at home.
A few weeks ago I had to return something to Target I ordered online. I didn't have my phone with me but my sister had hers and they wanted a order number that was only emailed to me. So with a pencil and some paper I was able to visit the page with my email password and convert it and login to my email on her phone. It saved a few hours of driving back to my apartment and back to the store.