I recently wrote a post detailing the recent #LastPass breach from a #password cracker's perspective, and for the most part it was well-received and widely boosted. However, a good number of people questioned why I recommend ditching LastPass and expressed concern with me recommending people jump ship simply because they suffered a breach. Even more are questioning why I recommend #Bitwarden and #1Password, what advantages they hold over LastPass, and why would I dare recommend yet another cloud-based password manager (because obviously the problem is the entire #cloud, not a particular company.)

So, here are my responses to all of these concerns!

Let me start by saying I used to support LastPass. I recommended it for years and defended it publicly in the media. If you search Google for "jeremi gosney" + "lastpass" you'll find hundreds of articles where I've defended and/or pimped LastPass (including in Consumer Reports magazine). I defended it even in the face of vulnerabilities and breaches, because it had superior UX and still seemed like the best option for the masses despite its glaring flaws. And it still has a somewhat special place in my heart, being the password manager that actually turned me on to password managers. It set the bar for what I required from a password manager, and for a while it was unrivaled.

But things change, and in recent years I found myself unable to defend LastPass. I can't recall if there was a particular straw that broke the camel's back, but I do know that I stopped recommending it in 2017 and fully migrated away from it in 2019. Below is an unordered list of the reasons why I lost all faith in LastPass:

- LastPass's claim of "zero knowledge" is a bald-faced lie. They have about as much knowledge as a password manager can possibly get away with. Every time you login to a site, an event is generated and sent to LastPass for the sole purpose of tracking what sites you are logging into. You can disable telemetry, except disabling it doesn't do anything - it still phones home to LastPass every time you authenticate somewhere. Moreover, nearly everything in your LastPass vault is unencrypted. I think most people envision their vault as a sort of encrypted database where the entire file is protected, but no -- with LastPass, your vault is a plaintext file and only a few select fields are encrypted. The only thing that would be worse is if...

- LastPass uses shit #encryption (or "encraption", as @sc00bz calls it). Padding oracle vulnerabilities, use of ECB mode (leaks information about password length and which passwords in the vault are similar/the same. recently switched to unauthenticated CBC, which isn't much better, plus old entries will still be encrypted with ECB mode), vault key uses AES256 but key is derived from only 128 bits of entropy, encryption key leaked through webui, silent KDF downgrade, KDF hash leaked in log files, they even roll their own version of AES - they essentially commit every "crypto 101" sin. All of these are trivial to identify (and fix!) by anyone with even basic familiarity with cryptography, and it's frankly appalling that an alleged security company whose product hinges on cryptography would have such glaring errors. The only thing that would be worse is if...

- LastPass has terrible secrets management. Your vault encryption key always resident in memory and never wiped, and not only that, but the entire vault is decrypted once and stored entirely in memory. If that wasn't enough, the vault recovery key and dOTP are stored on each device in plain text and can be read without root/admin access, rendering the master password rather useless. The only thing that would be worse is if...

- LastPass's browser extensions are garbage. Just pure, unadulterated garbage. Tavis Ormandy went on a hunting spree a few years back and found just about every possible bug -- including credential theft and RCE -- present in LastPass's browser extensions. They also render your browser's sandbox mostly ineffective. Again, for an alleged security company, the sheer amount of high and critical severity bugs was beyond unconscionable. All easy to identify, all easy to fix. Their presence can only be explained by apathy and negligence. The only thing that would be worse is if...

- LastPass's API is also garbage. Server-can-attack-client vulns (server can request encryption key from the client, server can instruct client to inject any javascript it wants on every web page, including code to steal plaintext credentials), JWT issues, HTTP verb confusion, account recovery links can be easily forged, the list goes on. Most of these are possibly low-risk, except in the event that LastPass loses control of its servers. The only thing that would be worse is if...

- LastPass has suffered 7 major #security breaches (malicious actors active on the internal network) in the last 10 years. I don't know what the threshold of "number of major breaches users should tolerate before they lose all faith in the service" is, but surely it's less than 7. So all those "this is only an issue if LastPass loses control of its servers" vulns are actually pretty damn plausible. The only thing that would be worse is if...

- LastPass has a history of ignoring security researchers and vuln reports, and does not participate in the infosec community nor the password cracking community. Vuln reports go unacknowledged and unresolved for months, if not years, if not ever. For a while, they even had an incorrect contact listed for their security team. Bugcrowd fields vulns for them now, and most if not all vuln reports are handled directly by Bugcrowd and not by LastPass. If you try to report a vulnerability to LastPass support, they will pretend they do not understand and will not escalate your ticket to the security team. Now, Tavis Ormandy has praised LastPass for their rapid response to vuln reports, but I have a feeling this is simply because it's Tavis / Project Zero reporting them as this is not the experience that most researchers have had.

You see, I'm not simply recommending that users bail on LastPass because of this latest breach. I'm recommending you run as far way as possible from LastPass due to its long history of incompetence, apathy, and negligence. It's abundantly clear that they do not care about their own security, and much less about your security.

So, why do I recommend Bitwarden and 1Password? It's quite simple:

- I personally know the people who architect 1Password and I can attest that not only are they extremely competent and very talented, but they also actively engage with the password cracking community and have a deep, *deep* desire to do everything in the most correct manner possible. Do they still get some things wrong? Sure. But they strive for continuous improvement and sincerely care about security. Also, their secret key feature ensures that if anyone does obtain a copy of your vault, they simply cannot access it with the master password alone, making it uncrackable.

- Bitwarden is 100% open source. I have not done a thorough code review, but I have taken a fairly long glance at the code and I am mostly pleased with what I've seen. I'm less thrilled about it being written in a garbage collected language and there are some tradeoffs that are made there, but overall Bitwarden is a solid product. I also prefer Bitwarden's UX. I've also considered crowdfunding a formal audit of Bitwarden, much in the way the Open Crypto Audit Project raised the funds to properly audit TrueCrypt. The community would greatly benefit from this.

Is the cloud the problem? No. The vast majority of issues LastPass has had have nothing to do with the fact that it is a cloud-based solution. Further, consider the fact that the threat model for a cloud-based password management solution should *start* with the vault being compromised. In fact, if password management is done correctly, I should be able to host my vault anywhere, even openly downloadable (open S3 bucket, unauthenticated HTTPS, etc.) without concern. I wouldn't do that, of course, but the point is the vault should be just that -- a vault, not a lockbox.

I hope this clarifies things! As always, if you found this useful, please boost for reach and give me a follow for more password insights!

Tagging those who had asked why ditch LastPass / why Bitwarden or 1Password / why another cloud-based password manager - please see above post for my answer!

@Casper042 @squelch41 @Goutham @bgeerdes @Jerry @abhivm @SOOKIE @jally @eclectic_citizen @sherridavidoff @jstangroome @BenAveling @NilsRenaud @thor @arpcomics @cambraca @pkellner @Nastypouch @Nazo @davelee212 @CivilDev @edbro @yeleek

@epixoip
Jeremi, what would you say to a KeePass store on an own WebDAV Server?
@MichaelZ @epixoip I came to ask about KeePass as well.
@MichaelZ
check out syncthing, no Server needed.
@epixoip
I am aware of Bitwarden; after compating it to KeepassX, decided to go that route. Do you have an opinion on Keepass products?

@epixoip @squelch41 @Goutham @bgeerdes @Jerry @abhivm @SOOKIE @[email protected] @eclectic_citizen @sherridavidoff @jstangroome @BenAveling @NilsRenaud @thor @[email protected] @cambraca @pkellner @Nastypouch @[email protected] @davelee212 @CivilDev @edbro @yeleek

Thanks Dr J. That seals it for me.

BTW, Do HW Keys and QR "Authenticators" work against an offline crack or only help with online attacks against login (stuffing, etc)

Ordering more HW Keys anyway for my kids to teach them good practices.

@epixoip

You're right that the security of your password manager shouldn't ever depend on whether or not the vault is available to others, but my criticism has never been about that. Any solution that injects custom JavaScript into your browser to fill passwords is a bad one and has a host of security concerns that probably can't be fully addressed.

@epixoip

Regardless of the competence of the people working on it, I don't think cloud-hosted passwords are a good idea because of the relative value in compromising one of the providers or finding vulnerabilities in the code.

The core functionality of a password safe is simple and easier to get right, and I think where we're tending to run into trouble is when we see third parties start to try to provide all-in-one syncing/autofill/hosted password management solutions.

@epixoip @Casper042 @squelch41 @Goutham @bgeerdes @Jerry @abhivm @SOOKIE @jally @eclectic_citizen @sherridavidoff @jstangroome @BenAveling @NilsRenaud @thor @arpcomics @cambraca @pkellner @Nazo @davelee212 @CivilDev @edbro @yeleek

Since you mention Tavis, it's worth noting that he found an "astonishingly bad" vulnerability in 1Password and actually *recommended* LastPass (if one was determined to use a cloud-based solution) because they had a competent security team: https://twitter.com/taviso/status/1167404993260818434?s=20&t=y6PdkfVHC81v1Gglfe6-kA

Tavis Ormandy on Twitter

“@WPalant @EggcellenceLLC @anthonypants Astonishingly bad, and strongly disagree.”

Twitter

@epixoip

It's entirely possible his perspective has changed since then of course, but I don't think "I know the 1Password engineers know what they're doing" addresses the more fundamental problems of providing this sort of software. The question isn't *if* vulnerabilities are found, it's how the team will respond when they inevitably are.

In that tweet he said his experience reporting a vulnerability was “astonishingly bad.” Not the software itself.

@Nastypouch @Casper042 @squelch41 @Goutham @bgeerdes @Jerry @abhivm @SOOKIE @jally @eclectic_citizen @sherridavidoff @jstangroome @BenAveling @NilsRenaud @thor @arpcomics @cambraca @pkellner @Nazo @davelee212 @CivilDev @edbro @yeleek

Sorry for the delay in response, my mentions have been a tad inundated.

Yup, 1Password has had a few vulns. As I said above, they haven't gotten everything right.

I remember when Tavis tweeted that. I also remember when he wrote an entire page on his website condemning *all* password managers, recommending people just use the saved passwords feature in Chrome instead (which you should definitely never do.) So while Tavis is brilliant in many ways, I'm not inclined to follow his advice when it comes to passwords.

But it's exactly as you said: "The question isn't *if* vulnerabilities are found, it's how the team will respond when they inevitably are." I wholeheartedly agree, so let's examine that.

What Tavis probably didn't realize is his experience with LastPass is far from the usual treatment others receive. You know, when Tavis found his first LastPass vuln, he initially couldn't even get ahold of anyone to report it. All the published contact information for the security team was invalid and support was no help. It wasn't until someone on Twitter pointed a developer his direction that he finally received some attention. And then yeah, sure, I bet they were incredibly quick to fix since Google was involved.

It's too bad not everyone gets the Tavis treatment at LastPass. Most all of the vulns I listed above have existed in LastPass for a decade now. Some have been resolved, some have had half-assed fixes implemented, but most all remain present and unresolved because LastPass simply ignores the reports.

Now let's look at AgileBits. Actively works with the password cracking community to continuously improve their product. Active on Hashcat Forums and Hashcat Discord. Has attended and/or presented at PasswordsCon annually for the past 9 years. Responds to all bug reports and pushes fixes out rapidly. And they've had far less vulnerabilities because they actually care. Has an actual SDLC and vuln management program, rock solid crypto and key derivation, plus the Secret Key.

You're totally right, I absolutely would go with the company that has a better response -- and proactive approach -- to vulnerabilities.

Soatok Dreamseeker (@[email protected])

Let's talk about LastPass. Earlier this year, I reported a cryptographic weakness to LastPass on BugCrowd. (No, I'm not going to disclose what it is here.) As you may know from my blog, reporting cryptographic issues in BugCrowd was a path fraught with peril. https://soatok.blog/2022/06/14/when-soatok-used-bugcrowd/

Furry.Engineer - Duct tape, hotfixes, and poor soldering!
@epixoip wow, that’s horrible. I have to start adding a disclaimer about lastpass to my use a password manager recommendation. #passwordmanager
@epixoip
How do you feel about simple password managers like pa?
https://github.com/biox/pa
GitHub - biox/pa: a simple password manager. encryption via age, written in portable posix shell

a simple password manager. encryption via age, written in portable posix shell - GitHub - biox/pa: a simple password manager. encryption via age, written in portable posix shell

GitHub
@tom22 lol, well, there is not much to hate on here. It's a POSIX shell front-end for age, which is pretty solid. If cli password managers are your thing and you're a fan of copying and pasting, then this is probably a fine solution. No phishing protection or clipboard clearing or other such mitigations though, so keep that in mind.
@epixoip @sc00bz Thanks for sharing your reasoning. I understand only the non-technical aspects of what you said but that was enough for me to be actionable.

@epixoip @sc00bz

Great, well explained writeup thanks..

@epixoip @sc00bz Yeah, been paying for lastpass premium for years but finally switched. Felt pretty good to finally uncheck the automatic renewal checkbox tbh, esp after noticing how slick the competitor's integrations feel. They're way behind in that regard as well.

@rymdkraft @epixoip @sc00bz Unchecked auto-renewal and on next login got a popup asking if I'd be interested to fill out a survey as to why I canceled auto-renewal.

So there _is_ the ability to respond quickly... /s

@tbeijen @epixoip @sc00bz Haha, yeah suddenly they're on their toes
@epixoip
Thanks a lot for this detailed explanation :)

@epixoip thanks for tagging me. I've also become more and more concerned about lastpass. Having sat on the fence about it for some time, this is the straw that broke the camels back for me.

Off to 1Password I think. I've heard nothing but good things about the product and how responsive they are.

I guess I had better change all my passwords at the same time. Not what I had in mind for the Christmas break😂

Now, I wonder if LastPass will refund my sun that only just auto-renewed!

@davelee212 @epixoip

I'm no security expert, just a user. I thus can't comment on its security but I've been a user of 1Password for at least a decade (longer?) and so far it's been solid. I can't imagine being without it, although I've very loosely pondered a move to Bitwarden if for no real reason other than to give it a proper whirl. I don't understand security tech enough - and, of course, everyone is fallible in the end - but 1P genuinely seem to know what they're doing?

@davelee212 @epixoip Same here, though I’m moving to iOS keychain and i look at this as a great opportunity to refresh my passwords and delete sites that I no longer use (or have gone offline)
@yannis @epixoip good point, I'll bet there are loads of old defunct accounts in my LastPasa vault. By the sounds if it, lastpass will be able to tell me when I last used them with all the telemetry tneh capture!

@epixoip

LOL. As soon as I boost, you catch the typo!

@epixoip why using @bitwarden instead of #lastpass? Because Bitwarden actually works. LastPass never worked for me on Android with a paid account. The Android app is a complete mess and a typical "iOS-first" half baked thing. Offline access never worked, usability is terrible etc..
@epixoip Thank you very much for this. I've been using KeePass for ever but running a Lastpass family account for my parents. Now I need to show them a new system 😒 just signed up for a #Bitwarden family account and will see how to broach the subject of changing systems. Maybe I can sweeten the deal with a #yubikey to simplify the login process!

@epixoip @sc00bz

Thanks for that.

I used to use LastPass until I started #selfhosting stuff using @cloudron and now I #selfhost an instance of #vaultwarden (an unofficial #Bitwarden compatible server written in Rust, formerly known as bitwarden_rs)

@sc00bz @epixoip
how come you can toot so long? 🤫
@Schweizera because I'm a hacker, duh 😆 nah, this server runs a modified version of Mastodon that enables 11,000 character toots among other cool stuff.
@epixoip @sc00bz thanks for an amazing write up! Explains a lot. I missed that your recommendation to leave #lastpass was not just based on the most recent incident.
@epixoip @sc00bz And I agree fully with your assessment of #1password, I have only heard positive things about them and how they protect passwords.

@epixoip Absolutely. In my latest blog post I take apart their public statement and show how many issues have been known and ignored for a long time. And #LastPass continues to ignore and downplay them even now, when they’ve put people at risk. It isn’t only the breach, it’s also the long standing and continuing negligence.

https://palant.info/2022/12/26/whats-in-a-pr-statement-lastpass-breach-explained/

What’s in a PR statement: LastPass breach explained

The LastPass statement on their latest breach is full of omissions, half-truths and outright lies. I’m providing the necessary context for some of their claims.

Almost Secure

@WPalant
@epixoip

What I'm not seeing noted much: in calculations of cracking time, assuming the threat actor obtained this data with the intent of cracking encrypted vaults, the clock doesn't start now.

It started about four months ago.

That's fairly sobering for anyone who might be a high-value target, and looking at cracking times for a nation state actor measured in months.

@Jwilliams Definitely. LastPass still won’t tell us when that data leaked. Whether it was August or November makes one hell of a difference. For a state-level actor, a few months are sufficient time to decrypt the data for at least some of their targets and to start operating under the radar.

That’s why I wrote: “if you are an activist, dissident or someone else who might get targeted by a state-level adversary, the best time to change all your passwords was a month ago. The second best time is right now.”

@epixoip

@epixoip @Jwilliams @WPalant, it is not millions of years.

We, 1Password, ran a cracking completions with serious payouts to get a sense of how much it costs to crack 100K rounds of PBKDF2-H256. We came up with 6 USD for 2^32 guesses.

https://blog.1password.com/cracking-challenge-update/

I can only guess that LastPass is confused about the crackability of human created passwords.

How strong should your account password be? Here's what we learned | 1Password

How much effort would a hacker need to put in to crack a 1Password account password? Here’s what we learned after running some community challenges.

1Password Blog
@jpgoldberg have you considered bumping to 310,000 based on OWASP’s 2021 guidance in 1Password?
@epixoip @sc00bz How's my Dropbox+KeePass strategy measure up?
@epixoip @sc00bz Q: Why did yu not recommend solutions.that let the user control where the data is stored (i.e. https://enpass.io / #Enpass ) or that are FLOSS (i.e. #KeePasssXC / #KeePassDX)?
Enpass: Secure Passkey & Password Manager That Keeps Your Data On Your Cloud Storage

With Enpass, choose where your passwords and passkeys are secured and synced – on your personal or business clouds (or even offline). Not on our servers

Enpass
@epixoip @sc00bz @kkarhan He did. BitWarden is FLOSS and you can store data on your own server. He even mentioned one of the available servers.
@epixoip @sc00bz I just use Samsung Pass 😅👍
@epixoip @sc00bz that crowd funded audit is an awesome idea. Not that i don't trust them (well trust them to a point; there's no such thing as complete and uttermost trust on the wild wild Net). Such audit would be beneficent two whole password managers idea. Possibly all PM would get better (or at least had a chance to). I, for one, would be more than happy to toss a coin to such cause
Also very good and on point text. Thank you
@epixoip @sc00bz I guess one of the most used password managers is iCloud keychain. Apple has tipped the balance towards security and away from easy UX with every OS update for a few years, to the point my parents don‘t really understand it anymore. Apple strongly encourages but doesn’t enforce long and strong passwords. What are your thoughts about it?

@epixoip @sc00bz Your point about cloud-based password managers is a 100% correct. But the thing is I can't have peace of mind when my passwords (in encrypted form of course) are stored in the cloud. I therefore use an offline password manager, it is called "pass". Pass is essentially a shell script wrapped around GNUPG.

Note that this solution is not for everybody and it does require managing your own cryptographic key pair.

@murtaza @epixoip @sc00bz Another users of #pass, but:

1. It is really not for normals,

2. People rarely use just one computer now, so you have to make some synchronization with your smartphone, other computer, tablet, etc. I use Syncthing and the Android client (https://f-droid.org/en/packages/dev.msfjarvis.aps and https://addons.mozilla.org/en-US/firefox/addon/passff … I don’t use FF extension on the desktop, but on phone it is just too much bother to fiddle with the clipboard), which makes everything even more complicated.

#passwordManager

F-Droid - Dépôt d'applications pour Android libres et open source

F-Droid est l'écosystème de distribution d'applications libres et open source (FOSS) pour Android, où votre liberté d'utilisateur est primordiale. Découvrez notre boutique d'applications pour explorer l'univers des applications libres et open source et [learn](https://f-droid.org/about/) sur nos autres outils de distribution d'applications open source.

@epixoip @sc00bz Maybe I’m too demanding, but details like this are what make me change my mind. I’m moving my family from LastPass to 1Password now. Thank you for taking the time to share this.
@epixoip @sc00bz
Well... Dangit. Now, I know what I'm doing this break.
@epixoip @sc00bz what's your view on Google password manager?
@Scornflakegrrrl @epixoip @sc00bz I’m also interested in this. I’m in the Apple ecosystem & use many Google services. How do their password managers compare with 1password & other recommended solutions?
@epixoip @sc00bz incredibly interesting. Thank you for sharing.