News for hackers. Stuff that matters.
Re:I worked at LastPass as an engineer. My 2 cents on the si... by bawolff on Sunday December 25, 2022 @07:16AM (#34126584)
> If you had a legacy 5000 rounds or 10000 rounds, the # of rounds can't just be increased server side. Changing that would mean a new key is derived. So older users likely still have a pretty low number of pbkdf2 rounds which makes them more vulnerable to brute forcing

Kind of unclear but i think this implies that lastpass doesn't do some and reencrypt on login. Are they saying its just people who havent unlocked there vault in a decade, or are they saying all old users have this? If the latter this is really poor design.

> Lots of vault entries may be encrypted with ECB mode AES-256.

Wtf wtf wtf. This would be considered wildly insecure even by the standards of the 80s

Re:I worked at LastPass as an engineer. My 2 cents on the si... by Philip-J-Fry on Sunday December 25, 2022 @07:21AM (#34126612)
I just checked my old account and it was configured to be 5000. I changed it and re-encrypts the data and uploads it, and then forces you to login again, presumably to do server side part.

Seems weird that they would have the number of rounds fixed from the time of account creation though. Surely it would be possible to increase the number of rounds over time.

Edit: I should add that I have logged into this account within the past year or two. So if they're supposed to increase over time, it ain't worked.

Re:I worked at LastPass as an engineer. My 2 cents on the si... by bawolff on Sunday December 25, 2022 @07:28AM (#34126661)
It's also not really an obscure issue. For example, the owasp password cheatsheet talks about the need to increase the work factor over time - https://cheatsheetseries.owasp.org/cheatsheets/Password_Stor... . I would hope that password manager software would at least know the things that end up on "cheatsheets"
Re:I worked at LastPass as an engineer. My 2 cents on the si... by IgorPartola on Sunday December 25, 2022 @07:55AM (#34126835)
Why is this even a setting exposed to users? Shouldn’t this be entirely up to them to manage the correct work factor?
Re:I worked at LastPass as an engineer. My 2 cents on the si... by crazygringo on Sunday December 25, 2022 @08:13AM (#34126955)
100% agreed. Paying for a major brand password manager, you should assume that you are paying for them to always keep the security totally up-to-date with best practices. The idea that you are somehow responsible for finding an obscure setting not just in "Account settings" but in a separate "Advanced settings" that defaults to hidden, and knowing the appropriate number to set it to, boggles the mind.
Re:I worked at LastPass as an engineer. My 2 cents on the si... by SyzygistSix on Sunday December 25, 2022 @08:40AM (#34127139)
Paying? What is this "paying" you are talking about?
Re:I worked at LastPass as an engineer. My 2 cents on the si... by brookst on Sunday December 25, 2022 @10:51AM (#34128210)
“But look, you found the notice, didn’t you?”

“Yes,” said Arthur, “yes I did. It was on display in the bottom of a locked filing cabinet stuck in a disused lavatory with a sign on the door saying ‘Beware of the Leopard.’”

Re:I worked at LastPass as an engineer. My 2 cents on the si... by thechao on Sunday December 25, 2022 @12:27PM (#34129057)
There’s an entire novella of Arthur just finding this notice, right? It could be serialized into three one hour episodes of Dent, queuing & requeuing and just talking to others inqueue.
Re:I worked at LastPass as an engineer. My 2 cents on the si... by roflyear on Sunday December 25, 2022 @08:31AM (#34127077)
Bc product people are hilarious!
Re:I worked at LastPass as an engineer. My 2 cents on the si... by Someone1234 on Sunday December 25, 2022 @09:10AM (#34127346)
Why not both?

Keep in mind that this is a trade-off, it requires more computational power AND battery, so giving users access to the leavers makes sense (e.g. power users with nice equipment can pump up the number).

That being said I do agree that it is up to the vendor to set AND enforce a new higher minimum. If someone logs in with 5K rounds, it should be changed to the new default (100k).

On a related note Bitwarden also allows users to configure this. I recently increased mine to 150K rounds.

Re:I worked at LastPass as an engineer. My 2 cents on the si... by IgorPartola on Sunday December 25, 2022 @10:11AM (#34127860)
I think it should allow you to change the schedule on which it increases the rounds, not set the actual number. It should tell you how many rounds it currently is at and how it will increase but the setting most people will want is High Security, Very High Security, Ludicrous Security.
Re:I worked at LastPass as an engineer. My 2 cents on the si... by mfer on Sunday December 25, 2022 @11:22AM (#34128463)
Having the controls is great if you’re a technical person who knows what to do with them.

99.9%+ of people aren’t that technical person. Safe defaults need to be used and kept up to date for them.

Re:I worked at LastPass as an engineer. My 2 cents on the si... by kodah on Sunday December 25, 2022 @09:11AM (#34127349)
Because changing the number of rounds requires reencryption and it doesn't sound like they had a workflow for prompting batch reencryption other than through the setting.

Ideally they'd manage that number and prompt the user to change it over time.

Re:I worked at LastPass as an engineer. My 2 cents on the si... by Gasp0de on Sunday December 25, 2022 @12:15PM (#34128915)
It's not that difficult to do though? Just implement a mechanism that re-encrypts when the user enters their password.
Re:I worked at LastPass as an engineer. My 2 cents on the si... by kodah on Sunday December 25, 2022 @12:36PM (#34129171)
I agree, there's workflows they could've built to solve this problem. I wasn't defending them in the slightest.
Re:I worked at LastPass as an engineer. My 2 cents on the si... by babyshake on Sunday December 25, 2022 @11:33AM (#34128554)
It's because bikeshedding emphasizes customization and easy to demo features over the type of design that actually helps most users.
Re:I worked at LastPass as an engineer. My 2 cents on the si... by insanitybit on Monday December 26, 2022 @12:46AM (#34134967)
Because different hardware will have significant impact on this number. You need to figure out your tolerance. Maybe your tolerance is higher than they expect - cool, bump it up. I did that many many years ago, thankfully.
Re:I worked at LastPass as an engineer. My 2 cents on the si... by cshimmin on Sunday December 25, 2022 @07:56AM (#34126844)
Yeah I was a daily user until about a month or two ago. Didn't even know about this setting, and I still haven't figured out how to change it in the mobile app. But mine is definitely set to 5k. Still in the process of changing all my passwords...
Re:I worked at LastPass as an engineer. My 2 cents on the si... by brianshaler on Sunday December 25, 2022 @08:00AM (#34126872)
This is pretty wild. When you rotate your master password and it re-encrypts everything, that's a perfect opportunity to use a new iteration count. If they didn't want change the value for user's who were at an old default value, they at least could have nagged "your account is using an old/low value for an encryption setting, click here to use the latest recommended default"

Of course, changing it now won't do any good with regard to previous leaks.

Re:I worked at LastPass as an engineer. My 2 cents on the si... by insanitybit on Monday December 26, 2022 @12:45AM (#34134963)
They could have changed the setting any time the user logged in. I pointed out that they used too few rounds over a decade ago, I believe. To their credit, they increased the limit to 256K in response (it was much lower before).
Re:I worked at LastPass as an engineer. My 2 cents on the si... by crazygringo on Sunday December 25, 2022 @08:10AM (#34126937)
Yup mine was 5000 too. I'm baffled as to why they don't force an upgrade on everyone the next time they log in.

Old accounts that haven't been touched in years, sure. But active accounts being used daily? This is really unfathomable.

Re:I worked at LastPass as an engineer. My 2 cents on the si... by arka2147483647 on Sunday December 25, 2022 @09:50AM (#34127680)
> Seems weird that they would have the number of rounds fixed from the time of account creation though. Surely it would be possible to increase the number of rounds over time.

Well, No. In metacode, pbkdf2 works something like:

  derived_password = pbkdf2(real_password, salt, 5000, ...);
  Encrypt(vault, derived_password);
(See Wikipedia for more details https://en.wikipedia.org/wiki/PBKDF2)

Point being, you can only change the number of rounds if you re-encrypt the vault, and you can only do that, if the users participates by giving their password to first un-encrypt it during that process. So it cannot be done silently in the background.

Re:I worked at LastPass as an engineer. My 2 cents on the si... by Philip-J-Fry on Sunday December 25, 2022 @10:39AM (#34128117)
I'm aware you can't do it silently in the background. But they can prompt the user to input their password. And you're already prompted when signing in on different devices or at regular intervals when the vault locks. Seems fairly easy to me from a UX point of view.
Re:I worked at LastPass as an engineer. My 2 cents on the si... by jchw on Sunday December 25, 2022 @10:26AM (#34127993)
You don't need to re-encrypt the entire vault, just whatever you're using the PBKDF2-derived key to hide. In most situations, you'd use it to encrypt another, separate key. In that case, it can be readily upgraded at any time, including during login.

Conceptually, it's not very different from how password hashes are updated, just that you need to re-wrap some other key as well simultaneously. Since the rest of the vault is unaffected, it's OK if the transaction fails: the old parameters will work with the old wrapped key, so all you need to do is ensure that the transaction is atomic. (Usually don't even have to do anything to ensure that if you just use the same database table/object.)

Re:I worked at LastPass as an engineer. My 2 cents on the si... by unscaled on Sunday December 25, 2022 @09:51PM (#34134031)
The original vault format seems pretty badly designed (unencrypted URLs, low-ish number of rounds even for the time, and of course ECB). With this shoddy design, it's hard to expect the developer to be smart enough to add an intermediate random key.

And it's probably a good thing the original design didn't have that — I'm pretty sure Crypto.getRandomValues() wasn't available on all browsers yet when LastPass was first release it's JavaScript version (not sure when that was — I've never been a LastPass user).

Of course, the format itself can also be (and should have been!) transparently upgraded. Interrupting legacy users just once for a 20-30 second upgrade of their entire vault is a no-brainer. The fact that LastPass hasn't proactively upgraded old vaults on login during all these years reflects very badly on their security.

Re:I worked at LastPass as an engineer. My 2 cents on the si... by gregmac on Sunday December 25, 2022 @10:16AM (#34127912)
It's possible to silently do this as part of logging in.

I've done this with normal login for several (legacy) systems I've worked on, migrating users from md5 or sha1 to better algorithms.

Re:I worked at LastPass as an engineer. My 2 cents on the si... by d1str0 on Sunday December 25, 2022 @02:08PM (#34130104)
Theres a big difference. If you’re hashing a password for storage you end up getting the password first.

LastPass NEVER gets your master key server side. All encryption is done locally.

Also, hashing a password is extremely quick. To unencrypt the full vault and re-encrypt it does take an amount of focused time.

Might not be able to be done “silently” in the background, but obviously LP should have been forcing an upgrade on login.

Re:I worked at LastPass as an engineer. My 2 cents on the si... by coder543 on Sunday December 25, 2022 @02:44PM (#34130475)
> To unencrypt the full vault and re-encrypt it does take an amount of focused time.

The entire vault should not be encrypted directly with the user's password. That would go against standard best practices.

See this comment written hours before yours, right under the comment you replied to: https://news.ycombinator.com/item?id=34127993

There is no "big difference" here, and it could be done trivially during login. The fact that it would be done client side instead of server side is a very minor implementation detail.

Re:I worked at LastPass as an engineer. My 2 cents on the si... by mvonballmo on Sunday December 25, 2022 @10:03AM (#34127786)
Agreed, it requires user-participation. However, LastPass could be proactive about this, perhaps including the number of rounds in its security check. It could tell you that your legacy account should be updated and guide you through it. That would be helpful. I have the standard 100,100 iterations, but had no idea that this was a feature I had to keep track of.
Re:I worked at LastPass as an engineer. My 2 cents on the si... by tzs on Sunday December 25, 2022 @03:19PM (#34130829)
> Point being, you can only change the number of rounds if you re-encrypt the vault, and you can only do that, if the users participates by giving their password to first un-encrypt it during that process. So it cannot be done silently in the background.

I think there might be a way to update it without having to wait for the user to supply the master password, at least if their web login works like most, although it would require some additions to the database and their server side vault storage.

According to the documentation I found the master password you create when you make your account is the master for both logging in to your account and for encrypting your vault.

To handle its use as a login password they probably have a table somewhere that contains:

  email, salt1, hash1(master_password,salt1)
I'll assume that they want to update both the login password hashing difficulty and the vault decryption difficulty.

To handle updating login hashing they could change that table to contain for accounts that have logged in or been created after the difficulty change:

  email, salt2, hash2(master_password, salt2), NULL
and for accounts created before the change that have not yet logged in:

  email, salt2, hash2(hash1(master_password, salt1), salt2), salt1
For the vault storage, they'd have to change it so that instead of just singly encrypted vaults, Encrypt(vault, derived_pass), it can also store doubly encrypted vaults, Encrypt(Encrypt(vault, derived_pass), derived_pass2).

When they do the change, they would change existing vaults to double encrypted, with derived_pass2 = hash1(master_password, salt1).

When someone logs in for the first time after the change, they supply master_password. The server would see from the login hash table that salt1 is not NULL meaning they are an un-upgraded account. It could then compute

  temp = hash1(master_password, salt1)
  pwhash = hash2(temp, salt2)
and see if that matches the hash in the login hash table. If it does the login is successful, and it can (a) generate a new salt and update the login hash table to contain:

  email, new_salt, hash2(master_password, new_salt), NULL
and (b) use hash1(master_password, salt1) to remove the double encryption from the vault, use master_password to decrypt the vault, and then re-encrypt with a new derived password with the new upgraded work factor.

NOTE: the above is based on documentation of theirs that says you use the master password for logging in to your account. However other documentation of theirs says that the master password is never sent to their servers.

Re:I worked at LastPass as an engineer. My 2 cents on the si... by vegardlarsen on Sunday December 25, 2022 @10:30AM (#34128034)
Mine seem to be set to 1 iteration, screenshot here: https://snabelen.no/@vegardlarsen/109575002998425618

My account is very old, but this was hidden behind advanced settings. And I have used this account daily since I created it. Not having this increase from their end seems very unprofessional.

Re:I worked at LastPass as an engineer. My 2 cents on the si... by mattm on Sunday December 25, 2022 @10:58AM (#34128272)
Mine was also set to 5000
Re:I worked at LastPass as an engineer. My 2 cents on the si... by fluidcruft on Sunday December 25, 2022 @02:19PM (#34130228)
I have a really old account (pretty sure I started using it ~2010) and I use lastpass essentially daily. I've never looked at that setting and I see that mine is set to 100,100. So it's migrated sometime. But I do also have some vague memory of a lastpass incident years ago where there was a prompt that they wanted to re-encrypt everything preemptively.
Re:I worked at LastPass as an engineer. My 2 cents on the si... by FreakLegion on Sunday December 25, 2022 @07:52AM (#34126815)
> Wtf wtf wtf. This would be considered wildly insecure even by the standards of the 80s

You aren't wrong, if true that's certainly a mistake on their part. Practically speaking though as long as the passwords are randomly generated it probably doesn't matter, i.e. if you think about what the IV and chaining are doing in CBC. ECB is just as good for encrypting a random stream of bits; CBC just makes sure the bits are random before passing them into the cipher. Of course the optics are still terrible.

Re:I worked at LastPass as an engineer. My 2 cents on the si... by cmeacham98 on Sunday December 25, 2022 @08:06AM (#34126912)
While you're correct:

1. In real life, passwords aren't random. Password manager users are probably less likely than average to make this blunder, but I'd still be willing to bet _the majority_ of lastpass's customers do.

2. Even if you personally have all random passwords, would you really want to use a product made by people who made this level of a noob mistake? I used to pay for LastPass premium, now my account is deleted, my passwords are changed, and my money goes to Bitwarden instead - and every time I hear about Lastpass I don't regret this decision.

Re:I worked at LastPass as an engineer. My 2 cents on the si... by FreakLegion on Sunday December 25, 2022 @08:20AM (#34127003)
I suspect that even non-random passwords here are fine, again practically speaking (edit: and given certain assumptions, to be clear, like no reuse), but haven't sat down and proved it.

Obviously this isn't an endorsement of LastPass. Everything about their protocols is disappointing. Even if the encryption issues turn out to be of the well-that-was-a-dumb-choice-but-you-don't-need-to-panic variety, it's because they got lucky, not because they were good.

Re:I worked at LastPass as an engineer. My 2 cents on the si... by cmeacham98 on Sunday December 25, 2022 @08:43AM (#34127159)
> and given certain assumptions, to be clear, like no reuse

Maybe I wasn't obvious enough, but this is the problematic assumption. When I say "non-random password", that's what I mean: a reused password.

Almost everyone I know reuses passwords (sometimes with a slight variation, but 90% of the password the same), and my day job is a software engineer. I'd be willing to be at least half of Lastpass's users have at least 1 reused password.

Re:I worked at LastPass as an engineer. My 2 cents on the si... by bbbbb5 on Sunday December 25, 2022 @10:06AM (#34127809)
Given that any login form can be used to rapidly confirm password reuse it's hard to see how ECB introduces new issues here.
Re:I worked at LastPass as an engineer. My 2 cents on the si... by cmeacham98 on Sunday December 25, 2022 @10:36AM (#34128080)
Knowing you reused the same password between your Amazon and $CompromisedWebsite accounts (but nowhere else, maybe you set them up the same day) gives attackers a significant advantage over having to try every password they have on every website.
Re:I worked at LastPass as an engineer. My 2 cents on the si... by bbbbb5 on Sunday December 25, 2022 @10:39AM (#34128114)
I don't think this is a significant advantage, the cost of an incorrect password attempt is essentially zero. Trying "every password they have on every website" for an individual will still be a very small set of passwords to try.
Re:I worked at LastPass as an engineer. My 2 cents on the si... by Shaanie on Sunday December 25, 2022 @10:45AM (#34128159)
I could see password reuse being used as a reason for trying brute force/dictionary attacks. E.g. You see that a user has used the same password on Coinbase as X, which could indicate that the user isn't using randomly generated passwords and therefore be potentially vulnerable to such attacks.

Kind of a long shot though.

Re:I worked at LastPass as an engineer. My 2 cents on the si... by cmeacham98 on Sunday December 25, 2022 @11:33AM (#34128558)
Attackers generally aren't targeting a specific individual, they got a dump of X million passwords from some compromised website. Being able to connect those directly to working accounts rather than having to burn IPs and get them rate limited and/or banned trying duds _is_ valuable information.

If you have some attacker after specifically you, yes this information is of less use to them, because they will have tried every password of yours they have on every website already hoping you reuse passwords.

Re:I worked at LastPass as an engineer. My 2 cents on the si... by tptacek on Sunday December 25, 2022 @10:32AM (#34128049)
Attackers don't generally control the login forms, but they do have the LastPass vaults, so this response doesn't make much sense.
Re:I worked at LastPass as an engineer. My 2 cents on the si... by bbbbb5 on Sunday December 25, 2022 @10:35AM (#34128070)
Attacker doesn't need to control the login form to use it as an oracle to confirm password reuse.
Re:I worked at LastPass as an engineer. My 2 cents on the si... by tptacek on Sunday December 25, 2022 @10:38AM (#34128100)
Reuse of what? If you're assuming the attacker already has a valid password, the list of URLs they use it also irrelevant, as is the password vault. Just do what real attackers do and hit every single known login page on the Internet with it.
Re:I worked at LastPass as an engineer. My 2 cents on the si... by bbbbb5 on Sunday December 25, 2022 @10:40AM (#34128124)
That's exactly what I'm saying :)

If the attacker doesn't have the valid password, the knowledge that two different sites share the same password isn't exactly game-changing.

Re:I worked at LastPass as an engineer. My 2 cents on the si... by tptacek on Sunday December 25, 2022 @10:47AM (#34128177)
It's not nothing, and it's weird to be strident about it, but the obvious problem here is the offline cracking of the vault passwords; this isn't worth arguing about.
Re:I worked at LastPass as an engineer. My 2 cents on the si... by bbbbb5 on Sunday December 25, 2022 @10:54AM (#34128229)
> It's not nothing, and it's weird to be strident about it

To an outsider, hearing people talk about how LastPass used Very Bad ECB mode makes it sound like a fuckup with immediate and dramatic effect on the security of their passwords, that isn't exactly true.

Nobody should have been using LastPass, but we can still be realistic about the threats facing those who did.

> but the obvious problem here is the offline cracking of the vault passwords; this isn't worth arguing about.

Of course not, but that's a completely separate issue from their choice of AES mode.

Re:I worked at LastPass as an engineer. My 2 cents on the si... by FreakLegion on Sunday December 25, 2022 @03:49PM (#34131085)
That was a hasty edit on my way out the door this morning. Reusing a password doesn't make it easier to decrypt here, it just helps with some secondary tasks, like validating decryption output (since ECB isn't authenticated). This is rather indirect, though -- not a great example. A better example would've been the password fitting in a single block (<= 16 characters).

The reason I suspect even non-random passwords might be mostly fine[1] is because there's no oracle and passwords are generally short. There's not much there for someone to hang their hat on. It's only a hunch, though; if tptacek for example says something different, I'd believe him.

1. Meaning: No need to cancel Christmas. You can deal with it later. Not meaning: ECB is as strong as CBC or whatever.

Re:I worked at LastPass as an engineer. My 2 cents on the si... by DennisP on Sunday December 25, 2022 @09:03AM (#34127303)
The whole point of a password manager is so you don't have to remember passwords. Why wouldn't you use unique random passwords? It even generates them for you.
Re:I worked at LastPass as an engineer. My 2 cents on the si... by minusf on Sunday December 25, 2022 @09:38AM (#34127568)
this would bite me in the worst possible moment when i need to login to somewhere and i lost my phone/battery dead/ company hacked/etc.

i have been using keepass(xc) since it's been around and i dont use random passwords. every year i create a formula that creates all my passwords and i put these in the vault. it also enforces password rotation. losing the vault i can still come up with any of my psswords just by remembering the formula.

for company server services it's a different story, i generate wholly random strong passwords and story them in the offline vault.

Re:I worked at LastPass as an engineer. My 2 cents on the si... by ilyt on Sunday December 25, 2022 @10:12AM (#34127861)
That looks like a lot of work. I just backup the password list separately from time to time
Re:I worked at LastPass as an engineer. My 2 cents on the si... by wpietri on Sunday December 25, 2022 @10:58AM (#34128262)
At least in my case, the first time I used a password manager it learned my existing ones from my browser, and many of those were non-random. From that point forward I used generated passwords, but I'm sure I still have hundreds of legacy ones that I didn't bother to go and change because the sites didn't matter that much to me.
Re:I worked at LastPass as an engineer. My 2 cents on the si... by thechao on Sunday December 25, 2022 @12:31PM (#34129098)
It’d be nice if, when I logged in to a site, my browser would casually mention if the pw is reused, or not. Now-a-days, I just habitually check my pw on login to make sure it’s random. For the SO & kiddos, I manually reset all the financial & identity defining pws (Google, Amazon, FB).
Re:I worked at LastPass as an engineer. My 2 cents on the si... by taikahessu on Sunday December 25, 2022 @01:01PM (#34129442)
If you create some new account on mobile, the workflow is messy. If you are on schedule like ordering a ticket, you just quickly try to get the job done.

You need to know the specific order how to create the password for a new site. Otherwise it was just easier to plow through with your favourite memorised combination.

At least I found it hard to do with Lastpass on mobile. Now I’ve tested it with Bitwarden and 1Password 8, they seem to do a better job with it.

Re:I worked at LastPass as an engineer. My 2 cents on the si... by rzimmerman on Sunday December 25, 2022 @05:04PM (#34131907)
Also it’s not clear that the same AES key is used for all secrets. If it’s URL- or tag-derived using the master password then it’s only bad for long secrets (more than 32 bytes) that aren’t random data.
Re:I worked at LastPass as an engineer. My 2 cents on the si... by bawolff on Sunday December 25, 2022 @09:34PM (#34133923)
I think the main thing is there are no benefits to ecb here (other than laziness), it would be trivial to do it properly, and is suggestive of thei general practises.
Re:I worked at LastPass as an engineer. My 2 cents on the si... by fulafel on Monday December 26, 2022 @05:02AM (#34136278)
Besides the obvious (that pw's generally aren't randomly generated), LastPass is used for other secrets besides passwords.
Re:I worked at LastPass as an engineer. My 2 cents on the si... by Leo_Verto on Sunday December 25, 2022 @07:55AM (#34126832)
To add onto this, the reason ECB mode is so horribly bad, is that it produces the same cyphertext for blocks with the same plaintext.

This allows an attacker to detect repeating plain text segments, e.g. reused passwords.

The Wikipedia article on block cypher modes illustrates this problem rather well [1].

[1]: https://en.wikipedia.org/wiki/Block_cipher_mode_of_operation...

Re:I worked at LastPass as an engineer. My 2 cents on the si... by zinekeller on Sunday December 25, 2022 @08:13AM (#34126956)
ECB Penguin! (https://words.filippo.io/the-ecb-penguin/)

Also, I've just learned that the quintessential file has been recently replaced. I understand the need for a higher resolution file, but I'm still a bit sad.

Re:I worked at LastPass as an engineer. My 2 cents on the si... by evandale on Sunday December 25, 2022 @03:43PM (#34131029)
Hah, that first tweet is classic https://xkcd.com/1053/ and I'm one of the 10000 today :) Today is the first time I've seen the penguin!
Re:I worked at LastPass as an engineer. My 2 cents on the si... by bbbbb5 on Sunday December 25, 2022 @10:04AM (#34127789)
>This allows an attacker to detect repeating plain text segments, e.g. reused passwords.

This is hardly a problem, any login form will also allow an attacker to do this.

Re:I worked at LastPass as an engineer. My 2 cents on the si... by ilyt on Sunday December 25, 2022 @10:08AM (#34127834)
... actually that might be a "feature" for them, they do have duplicate password report, I had assumed that's just based off decrypted ones on client side but they might be just using ECB for that
Re:I worked at LastPass as an engineer. My 2 cents on the si... by insanitybit on Monday December 26, 2022 @12:48AM (#34134977)
That report requires you enter your master password, so I doubt it.
Re:I worked at LastPass as an engineer. My 2 cents on the si... by t0mas88 on Sunday December 25, 2022 @07:56AM (#34126848)
ECB mode somehow still gets used, Zoom also did it. I think this is a result of many developers not knowing much about encryption and then selecting the simplest option from their language's standard library.
Re:I worked at LastPass as an engineer. My 2 cents on the si... by owenmarshall on Sunday December 25, 2022 @08:30AM (#34127069)
Because I always want to identify the solution when we point to the problem:

https://doc.libsodium.org/

http://noiseprotocol.org/

Re:I worked at LastPass as an engineer. My 2 cents on the si... by eternityforest on Sunday December 25, 2022 @08:36AM (#34127114)
Also TLS and SSH for data in transport.
Re:I worked at LastPass as an engineer. My 2 cents on the si... by bawolff on Sunday December 25, 2022 @02:56PM (#34130627)
Zoom at least has the excuse that its more convinent if you are possibly dropping frames and need random access decryption (still really not acceptable). LastPass does not even have that.
Re:I worked at LastPass as an engineer. My 2 cents on the si... by robryk on Sunday December 25, 2022 @03:25PM (#34130892)
CTR with no authentication is strictly better than EBC with no authentication in that case. Similarly, CTR-then-MAC (with MACs being e.g. per packet) is strictly better than EBC-then-MAC.
Re:I worked at LastPass as an engineer. My 2 cents on the si... by upofadown on Sunday December 25, 2022 @03:58PM (#34131173)
Missing (or duplicating) a block in the CTR (counter) block cipher mode messes up the alignment of the count. Then everything after that comes out as random garbage.

CTR is not a very robust block cipher mode...

Re:I worked at LastPass as an engineer. My 2 cents on the si... by robryk on Sunday December 25, 2022 @05:45PM (#34132287)
As long as you simply transmit the count in the packet this is not an issue. You mostly have to do that anyway, because packets can be reordered and you want to stitch them together in order (with holes).
Re:I worked at LastPass as an engineer. My 2 cents on the si... by tptacek on Wednesday December 28, 2022 @04:01PM (#34165903)
Missing or duplicating a block anywhere in a ciphertext should completely prevent decryption; that's how authenticated encryption works. The idea that some cipher modes are more or less resilient to corruption is, for the most part, a discredited 1990s idea.
Re:I worked at LastPass as an engineer. My 2 cents on the si... by robryk on Thursday December 29, 2022 @09:18AM (#34172774)
In this setup we want to be able to decode a cipherstream with holes into a plainstream with holes. This is very much possible with CTR-MAC, as long as MAC is done on some finitely-sized segments.
Re:I worked at LastPass as an engineer. My 2 cents on the si... by tptacek on Thursday December 29, 2022 @01:33PM (#34176068)
That is a problem that is generally handled at a higher level than the block cipher mode.
Re:I worked at LastPass as an engineer. My 2 cents on the si... by eternityforest on Sunday December 25, 2022 @08:34AM (#34127102)
How is AES ECB even possible? You would have to actively choose to do that. It's more effort than something like libsodium.

Have they not heard of the first rule of crypto being "You probably aren't qualified to do it, use libsodium or TLS or SSH" yet? Why are they messing with cipher modes themselves?

Re:I worked at LastPass as an engineer. My 2 cents on the si... by tptacek on Sunday December 25, 2022 @10:32AM (#34128057)
Their encryption code predates libsodium, and ECB was (on many platforms still is) the default mode --- also, the only mode that doesn't require confusing extra parameters.
Re:I worked at LastPass as an engineer. My 2 cents on the si... by eternityforest on Sunday December 25, 2022 @12:31PM (#34129101)
It's an utterly useless mode though unless you add your own confusing extra stuff. It was probably a bad plan to make that the default.
Re:I worked at LastPass as an engineer. My 2 cents on the si... by insanitybit on Monday December 26, 2022 @12:51AM (#34134999)
People forget that:

a) LastPass is extremely old

b) Browser extensions used to be completely different. You needed to call out to native code to do tons of stuff because the JS apis were extremely limited and slow. So it was either "roll crypto in JS" or "make users install a binary", the latter stopped being possible over something like a decade ago.

Re:I worked at LastPass as an engineer. My 2 cents on the si... by SyzygistSix on Sunday December 25, 2022 @08:38AM (#34127131)
Old(er) users. This is the kick in the ass I needed to switch to something else.
Re:I worked at LastPass as an engineer. My 2 cents on the si... by kodah on Sunday December 25, 2022 @09:13AM (#34127371)
That's correct. That means they didn't have a workflow for batch reencryption on login, must less a workflow for annually increasing rounds.
Re:I worked at LastPass as an engineer. My 2 cents on the si... by bbbbb5 on Sunday December 25, 2022 @10:01AM (#34127766)
>Wtf wtf wtf. This would be considered wildly insecure even by the standards of the 80s

For this particular use-case? Hardly.

Since an attacker can easily use any login form of their choice as an oracle for password reuse, ECB mode can't really introduce significant issues here.

Re:I worked at LastPass as an engineer. My 2 cents on the si... by nequo on Sunday December 25, 2022 @10:19AM (#34127933)
What do you mean by “use any login form?” I don’t understand this phrase.

If the attacker has an encrypted vault, what is the login form there for them to use and detect password reuse?

Re:I worked at LastPass as an engineer. My 2 cents on the si... by bbbbb5 on Sunday December 25, 2022 @10:22AM (#34127955)
These vaults conveniently come with unencrypted URLs of the login forms associated with each password. An attacker who discovers the plaintext of one password can trivially attempt to reuse that against all of the forms.

Incorrect password attempts are essentially free, so ECB revealing reuse does not meaningfully help the attacker.

Re:I worked at LastPass as an engineer. My 2 cents on the si... by nequo on Sunday December 25, 2022 @10:31AM (#34128039)
Oh I see. That makes sense.

But for the attacker to try one of my passwords in a login form, they do need to have that password cracked already, which means that they already have my master password. But if they have that, they can decrypt all of my passwords, and the login forms are of no use.

Am I misunderstanding something here?

Re:I worked at LastPass as an engineer. My 2 cents on the si... by bbbbb5 on Sunday December 25, 2022 @10:37AM (#34128094)
>Am I misunderstanding something here?

No, not at all. The point is that while ECB is a silly choice, it does not make it easier for the attacker to crack your vault. It does allow the attacker to see if you're reusing passwords, but does not reveal to the attacker what those passwords are.

On the other hand, If the attacker were to discover one of your passwords from another source, they'd be able to confirm reuse anyway by simply attempting to use that password on other websites.

Re:I worked at LastPass as an engineer. My 2 cents on the si... by ilyt on Sunday December 25, 2022 @10:06AM (#34127800)
Yeah it also struck me as bizzare. When client-side app has master key entered it it could just opportunistically upgrade that
Re:I worked at LastPass as an engineer. My 2 cents on the si... by wernerb on Sunday December 25, 2022 @02:26PM (#34130305)
This is such a non-issue. You build in flags in the clients that are server activated "needs-reencrypt". After login (local client) flag is read from server and logic begins. You notify the user their vault needs stronger encryption. They can choose to continue and enter password, skip for now or ignore for 1 month (or something more reasonable).

The point is you explain why you do this. Start the message with "We care about your encryption" and go from there to explain that they need you to upgrade because the don't know your master key, they need your help to do it.

Adding this kind of behavior should be their core business. Apparently it's not.

Re:I worked at LastPass as an engineer. My 2 cents on the si... by batter on Sunday December 25, 2022 @06:39PM (#34132734)
You can, I was working on solution to have hashing 2 times - new, and later old algo. Salt can be either reused or you'll have to use 2 salts for each algo.