this post was submitted on 01 Oct 2024
213 points (99.5% liked)

Privacy

31957 readers
255 users here now

A place to discuss privacy and freedom in the digital world.

Privacy has become a very important issue in modern society, with companies and governments constantly abusing their power, more and more people are waking up to the importance of digital privacy.

In this community everyone is welcome to post links and discuss topics related to privacy.

Some Rules

Related communities

Chat rooms

much thanks to @gary_host_laptop for the logo design :)

founded 5 years ago
MODERATORS
top 37 comments
sorted by: hot top controversial new old
[–] [email protected] 30 points 1 month ago (3 children)

Does anyone remember an article/interview a while back where Mark Fuckerberg shamelessly admitted that he chose not to hash passwords in the original Facebook codebase specifically because he wanted to be able to log into his users' other accounts that use the same password? I swear I remember reading something like this but now I can't find it.

[–] [email protected] 8 points 1 month ago

Your memory is not far off. Mark used failed logins to access other people's emails:

https://www.businessinsider.com/how-mark-zuckerberg-hacked-into-the-harvard-crimson-2010-3

I cant say if he intentionally saved passwords unencrypted, but he certainly saved login attempts

[–] [email protected] 3 points 1 month ago* (last edited 1 month ago) (1 children)

Usually these services have god mode where they can see a UI from a given user. They don't need the password.

This sounds like a rumor spread by someone who doesn't understand tech

[–] [email protected] 9 points 1 month ago* (last edited 1 month ago) (1 children)

The OP made the argument that Zuckerberg wanted to know their passwords, such that if the users reused the same passwords elsewhere, then he would be able to log in there and check out their accounts.

For example he could have seen a profile he was interested in, nabbed their password and looked into their email.

Not that he wouldn't have godmode on their Facebook account, and needed their password to access their account, because of course he could have just accessed those accounts without needing the password.

I have not heard this rumor before, though I wouldn't be completely surprised if it was true.

[–] [email protected] 2 points 1 month ago (1 children)

Well, Facebook did have an auth method that involved promoting you for your password so that they could log into your email and get an OTP iirc

It wasn't zuckerberg doing something in secret. It was an explicit protocol that was terrible. They got called out and stopped it. Kinda like early days of open graph.

[–] [email protected] 1 points 1 month ago* (last edited 1 month ago)

Zuckerburg abused to attack journalists

[–] [email protected] 1 points 1 month ago

Yes, he wanted to stop bad press ironically

[–] [email protected] 27 points 1 month ago (2 children)

instead of in an encrypted format on its internal systems.

Riiight, like that's any better. Jokes aside, it's hard to imagine what kind of "mistake" results in storing plain text instead of hashing, unless the mistake was in choosing whoever made the security assessment

[–] [email protected] 18 points 1 month ago (2 children)

There was a previous article on this with more explanation that I'm struggling to find.

The gist was that they do hash all passwords stored, the problem was that there was a mistake made with the internal tool they use to do that hashing which led to the passwords inadvertently going into some log system.

[–] [email protected] 4 points 1 month ago

Makes sense now, thank you

[–] [email protected] -2 points 1 month ago (4 children)

"mistake"

I call BS. The reviews I've gone through for trivial stuff would've exposed this.

This was intentional.

[–] [email protected] 6 points 1 month ago (1 children)

Hanlon's Razor revised: Never attribute to malice what can be attributed to incompetence, except where there is an established pattern of malice.

[–] [email protected] 1 points 1 month ago

Then incompetence at a level that's incomprehensible.

A code review certainly exposed this, and some manager signed off on the risk.

Again, changes I make are trivial in comparison, and our code/risk reviews would've exposed this in no time.

[–] [email protected] 4 points 1 month ago (1 children)

Yeah, cause trivial systems are a lot easier to parse and review. At a base level that's nonsense logic.

[–] [email protected] 0 points 1 month ago (1 children)

My point being the extensiveness of a review process.

The more important a system, the more people it impacts, etc, the more extensive the review process.

Someone chose to ignore this risk. That's intentional.

[–] [email protected] 1 points 1 month ago

You quite frankly, don't know what happened and if you're confident it's intentional, all that says is that you're a grump who likes to complain.

[–] [email protected] 1 points 1 month ago

A mistake doesn't mean it's an accident. A mistake means they made the wrong choice.

[–] [email protected] 1 points 1 month ago (1 children)

Never assume malice when something can be explained by stupidity

[–] [email protected] 1 points 1 month ago

I generally agree.

But any decent code review process would've exposed this, or at least a data surveillance system that checks this stuff. I've received a few notifications about my logs storing inappropriate data, as a result of a scanning system.

Some manager knew about this during a code review, and signed off on the risk because it was only in-house.

[–] [email protected] 7 points 1 month ago

Christ, the hell I would've gotten, in the 90's, if I'd done something like this.

[–] [email protected] 13 points 1 month ago (1 children)

This is not about facebook not hashing credentials, it is that they appeared in internal logs.

Facebook is probing a series of security failures in which employees built applications that logged unencrypted password data for Facebook users and stored it in plain text on internal company servers.

Source: Krebs on Security

[–] [email protected] 3 points 1 month ago (2 children)

that logged unencrypted password data

Why the fuck would you need to log a password ever? This is absolutely malice and not incompetence.

[–] [email protected] 8 points 1 month ago (2 children)

You are acting like someone checked off a "log passwords" box, as if that's a thing that even exists

Someone configured a logger to write HTTP bodies and headers, not realizing they needed to build a custom handler to iterate through every body and header anonymizing any fields that may plausibly contain sensitive information. It's something that literally every dev has done at some point before they knew better.

[–] [email protected] 3 points 1 month ago* (last edited 1 month ago) (1 children)

It’s something that literally every dev has done at some point before they knew better.

If you're working for a multinational tech company handling sensitive user data and still make this mistake, then you are being malicious in your incompetence. This is something that would cause you to lose a significant amount of marks on a first year college programming project, let alone a production system used by literally billions of people.

[–] [email protected] 2 points 1 month ago

I can't tell you how many times I've seen passwords appear in logs. Its always a struggle, everywhere.

Use TOTP

[–] [email protected] -2 points 1 month ago (1 children)

You should never be sending passwords to a server. That is really bad practice. The right answer is to use cryptography to verify the client knows the password.

[–] [email protected] 2 points 1 month ago (1 children)

Client side verification is just security by obscurity, which gains you very little.

If someone is capable of MITM attacking a user and fetching a password mid-transit to the server over HTTPS, they are surely capable of popping open devtools and reverse engineering your cryptographic code to either a) uncover the original password, or b) just using the encrypted credentials directly to authenticate with your server without ever having known the password in the first place

[–] [email protected] 1 points 1 month ago (1 children)

That assumes that an adversary has control of the browser. The big reason you don't want to send passwords over https is that some organizations have custom certs setup. It is better to just not send the password at all.

[–] [email protected] 1 points 1 month ago

That assumes that an adversary has control of the browser

No it doesn't, if they intercept an encrypted password over HTTPS they can resend the request from their own browser to get access to your account

The big reason you don't want to send passwords over https is that some organizations have custom certs setup

What is the problem with that? The password is secure and only shared between you and the site you are intending to communicate with. Even if you sent an encrypted password, they wrote the client side code used to generate it, so they can revert it back to its plaintext state server side anyways

It is better to just not send the password at all.

How would you verify it then?

If not sending plaintext passwords was best practice then why do no sites follow this? You are literally posting to a site (Lemmy) that sends plaintext passwords in its request bodies to log-in

[–] [email protected] 5 points 1 month ago* (last edited 1 month ago)

Just one open source example ... freeradius has an option to log passwords:

log {
    destination = files
    auth = no
    auth_badpass = no
    auth_goodpass = no
}

Or another example: The apache web server has a module that dumps all POST data, with passwords, in plain text:

mod_dumpio allows for the logging of all input received by Apache and/or all output sent by Apache to be logged (dumped) to the error.log file. The data logging is done right after SSL decoding (for input) and right before SSL encoding (for output). As can be expected, this can produce extreme volumes of data, and should only be used when debugging problems.

I don't agree that this is "absolutely malice", it could also be stupidity and forgetfulness.

[–] [email protected] 11 points 1 month ago (3 children)

101 million is too small for such an epic error.

[–] [email protected] 4 points 1 month ago

I think it is just Ireland though (which is why I added Ireland to the title).

[–] [email protected] 3 points 1 month ago

Seriously. Didn't they make billions last year? That number should be much, much higher for Zuck & Co. to actually start giving a fuck.

[–] [email protected] 1 points 1 month ago

I think the PR fall out could be much worse. Time to get them on the news

[–] [email protected] 3 points 1 month ago

Google did it too for a decade

[–] [email protected] -3 points 1 month ago (1 children)

Any kind of encryption requires storing the key in plain text. Still nice to see Meta being fined though.

[–] [email protected] 3 points 1 month ago

The author of the article is clearly just confusing "encryption", "cryptography" and "hashing". Reading the full article makes it clear that the intention was to salt and hash the passwords, not encrypting them.