News for hackers. Stuff that matters.
Re:Robinhood Stored Passwords in Plaintext by dunham on Wednesday July 24, 2019 @07:11PM (#20521037)
This happened to Apple too, while logging API errors (CVE-2014-1317 - in this case it was hex-encoded).

Given the frequency that this occurs, I wonder if it'd be a good practice to use a sentinel value for a password during testing and grep logs for it.

Re:Robinhood Stored Passwords in Plaintext by _jal on Wednesday July 24, 2019 @08:33PM (#20521568)
> good practice to use a sentinel value for a password during testing and grep logs

Yes. I thought that was pretty common practice. We catch PII (not just password) log-leaks this way that verifying this way often enough that our developers have even learned[1] to check the searches before we yell at them when they try to take something leaky to prod.

If you don't automate detection of things like this you will make the same mistake again.

[1] Not being down on developers, I used to be one and still write a lot of code. Just noting a somewhat less than universal interest in compliance issues.

Re:Robinhood Stored Passwords in Plaintext by buro9 on Thursday July 25, 2019 @07:44AM (#20524528)
> Just noting a somewhat less than universal interest in compliance issues.

Is there a compliance document that requires this approach?

Or is it that the compliance states reasonable safety whilst handling PII and security credentials, and that it is down to the interpretation by each individual company as to what that means.

Re:Robinhood Stored Passwords in Plaintext by mijoharas on Thursday July 25, 2019 @09:53AM (#20525339)
GDPR covers fines for logging sensitive things like passwords. There is additional separate certification needed if you're handling any payment details (i.e. Card numbers) yourself
Re:Robinhood Stored Passwords in Plaintext by raverbashing on Thursday July 25, 2019 @05:30AM (#20523916)
Any recommendations of tools/libraries that help with this sort of testing/analysis?
Re:Robinhood Stored Passwords in Plaintext by httpsterio on Thursday July 25, 2019 @05:03AM (#20523810)
So, if I understood correctly is that having a test info like username password etc and then grepping the logs for those known test info values and if it returns anything, then throw an error?
Re:Robinhood Stored Passwords in Plaintext by meowface on Thursday July 25, 2019 @06:14AM (#20524126)
Yes. Ideally this would be an automated process, since it'd be tedious to grep every time you're messing around with logging, and you may sometimes forget to do it. If you're forwarding logs to something like ELK or Splunk, you can set up an alert / scheduled search to continuously check for those canary credentials every few minutes.
Re:Robinhood Stored Passwords in Plaintext by mikeash on Wednesday July 24, 2019 @08:26PM (#20521526)
Maybe we should avoid sending passwords altogether. With some client-aide code, you could build a challenge-response system that eliminates this risk entirely.
Re:Robinhood Stored Passwords in Plaintext by Someone1234 on Wednesday July 24, 2019 @08:37PM (#20521585)
It is possible. But much easier to get wrong than to get right.

Specifically if you hash the password client side then the hash fundamentally becomes the password, and having that sit plaintext in logs is identical to the pre-hash password since both can re-played to authenticate.

I believe this is still a respected/secure version of what you describe:

https://en.wikipedia.org/wiki/Secure_Remote_Password_protoco...

Re:Robinhood Stored Passwords in Plaintext by gpm on Wednesday July 24, 2019 @09:49PM (#20521930)
No, having a client side hashed password sit in your logs is way better because it only introduces risk for your own service, instead of risk for every user who reuses their password on multiple services. It changes a compromise log from a widespread identify theft risk to a contained privilege escalation risk.

(Provided either you, or all the other services using this scheme, are sensible enough to salt with a string unique to their website such as a domain name)

Re:Robinhood Stored Passwords in Plaintext by Hello71 on Wednesday July 24, 2019 @09:49PM (#20521934)
just "hashing the password" is not a "challenge-response" protocol.
Re:Robinhood Stored Passwords in Plaintext by cyc115 on Thursday July 25, 2019 @01:24AM (#20522782)
Thank you
Re:Robinhood Stored Passwords in Plaintext by snazz on Wednesday July 24, 2019 @08:33PM (#20521565)
Has there been any research into this or any companies that use it yet?
Re:Robinhood Stored Passwords in Plaintext by tsukikage on Thursday July 25, 2019 @03:25AM (#20523387)
There's this thing: https://trykno.com/

As they're incredibly opaque about what they're doing, it's hard to tell whether they're part of the "get it wrong" crowd, but being incredibly opaque about what they're doing doesn't bode well.

Re:Robinhood Stored Passwords in Plaintext by ifdefdebug on Thursday July 25, 2019 @05:30AM (#20523915)
I used this when I was doing web apps for small enterprises in early 2000's - I sent a random string in a hidden input in the login form and had some javascript concatenate the password and the random string and send me back the username, the random string and the hash of the concatenated string. I hope I got that right (not doing web apps any more since a long time ...).
Re:Robinhood Stored Passwords in Plaintext by MrStonedOne on Thursday July 25, 2019 @06:44AM (#20524250)
You would want to use a token and the string and only accept the token to look up the string that you would only accept once and for a limited time.

Otherwise its vulnerable to replay attacks

Re:Robinhood Stored Passwords in Plaintext by ifdefdebug on Thursday July 25, 2019 @10:02AM (#20525410)
Yes I think I was cashing the generated string server side for a while and checking if the string I received back had a matching entry in the cache, otherwise reject it.

Anyway, it's been a long time ago, and if I had to do it again today, i would rather not roll my own.

Re:Robinhood Stored Passwords in Plaintext by cyc115 on Thursday July 25, 2019 @01:25AM (#20522790)
Fido (and now w3c)'s WebAuthn come to mind
Re:Robinhood Stored Passwords in Plaintext by lonelappde on Thursday July 25, 2019 @12:12AM (#20522492)
Chip-and-pin credit cards use it. 2FA/Fido/Yubikey use it.
Re:Robinhood Stored Passwords in Plaintext by willsr on Wednesday July 24, 2019 @09:02PM (#20521715)
Amazon use it in their Cognito offering.
Re:Robinhood Stored Passwords in Plaintext by bilekas on Thursday July 25, 2019 @06:20AM (#20524156)
if you can encrypt from the client side, you're always going to be able to reverse it too, its like storing the md5 of my plaintext password, just because it doesnt LOOK like my password in plaintext, it pretty much still is
Re:Robinhood Stored Passwords in Plaintext by patrickthebold on Wednesday July 24, 2019 @07:26PM (#20521145)
And the hex encoded version of it.
Re:Robinhood Stored Passwords in Plaintext by naniwaduni on Wednesday July 24, 2019 @08:00PM (#20521370)
base64, too, in all four alignments.
Re:Robinhood Stored Passwords in Plaintext by madeofpalk on Thursday July 25, 2019 @04:22AM (#20523601)
I guess the struggle is a) what format its being logged in and b) knowing exactly where things are being logged/stored.
Re:Robinhood Stored Passwords in Plaintext by danpalmer on Thursday July 25, 2019 @04:49AM (#20523731)
It would be even better practice to use type systems that don't allow the printing of values deemed to be sensitive.
Re:Robinhood Stored Passwords in Plaintext by stestagg on Thursday July 25, 2019 @05:00AM (#20523794)
Perhaps users could be asked to use their password-typed keyboard when entering passwords, and their address-typed keyboard for their addresses too?
Re:Robinhood Stored Passwords in Plaintext by danpalmer on Thursday July 25, 2019 @08:52AM (#20524913)
Not sure if this is a joke, but iOS does distinguish between these.

"Secure" text inputs get the system keyboard, regardless of the user's custom installed keyboard.