I'm the Chrome browser security tech lead, so it might help if I explain our reasoning here. The only strong permission boundary for your password storage is the OS user account. So, Chrome uses whatever encrypted storage the system provides to keep your passwords safe for a locked account. Beyond that, however, we've found that boundaries within the OS user account just aren't reliable, and are mostly just theater.
Consider the case of someone malicious getting access to your account. Said bad guy can dump all your session cookies, grab your history, install malicious extension to intercept all your browsing activity, or install OS user account level monitoring software. My point is that once the bad guy got access to your account the game was lost, because there are just too many vectors for him to get what he wants.
We've also been repeatedly asked why we don't just support a master password or something similar, even if we don't believe it works. We've debated it over and over again, but the conclusion we always come to is that we don't want to provide users with a false sense of security, and encourage risky behavior. We want to be very clear that when you grant someone access to your OS user account, that they can get at everything. Because in effect, that's really what they get.
Nobody doubts that adding a master password will stop nobody who knows what they are doing. If someone has access to your computer and wants to do damage, they have full access to do it.
However, keep in mind 'open door' syndrome. A crime of opportunity is very different than one of bad intentions. Leave a car unlocked with a $20 bill on the seat and you might find that $20 gone when you return. Now, if you lock the doors the odds are it will still be there when you return. The fact is that when you increase the barrier to doing evil, many give it up. A potentially honest person might open a door and take something but if they must now break a window to accomplish the same task many will not pursue it.
Having to potentially download a third party program to decrypt the password DB and/or run additional commands is very different that just navigating to the chrome settings page. Its almost akin to why so many coworkers always jacked each others wallpaper when they forgot to lock their computer. They could have still done it even though the computer was locked, but they did not because it was too much work.
Also, going off what you have said, the "locking" process in windows is pointless since it offers a false sense of security. It can be broken just by rebooting the computer with a boot disk, right? So why include it? Because its useful.
If chrome ever removes that setting, I will make chromereveal.com with one-click idiot-proof password dumping tool, and step-by step instructions. So hiding that button will not make it harder for your friends.
For the sake of argument, I'll answer this with s/wife/friends/
Yes, if I'm not besides it, I will switch user accounts. And if I walk away from my computer for a bit, I lock it (except when there are no untrusted people around, like at home). I have "Lock Screen" bound to Ctrl-Alt-L, so it's trivial to do.
Sure, but the number of people who would take it is greater than the number of people who will actively take it from your pocket, or from your locked house. A lot of people are honest does not exclude the fact that people can be opportunistic.
I wholeheartedly disagree with several of the points you make here, and I think you're more or less ‘passing the buck’ on something which is most definitely your responsibility to take good care with.
On OS X, once you save a password using Safari, it is added to your login keychain. In order to then see that password* you must enter your login password again, be that via Safari's preferences dialog or the Keychain Access application. What Chrome does is it uses the same mechanism of storage as Safari (and indeed, requests access to the same encrypted keychain item) but never prompts the user for the login password to authenticate. This sets up a situation where Chrome actually circumvents and makes passwords originally stored in Safari less secure than they were initially. This is your responsibility, and no amount of theoretical grandstanding about physical access to a computer changes that.
You also talk about installing malicious browser extensions as another potential vector. I agree, and I think browser makers ought to take steps to require the current user to authenticate in order to install browser extensions. When you consider that a browser extension can act as man-in-the-middle to all your browser activity, it's astonishing that this isn't already the case. You have to prove you are the logged-in user when you change your password by providing the current password, so how is this any different?
When talking about security, there will always be holes, but they will be of differing practical value or risk depending on how they are exploited. Grabbing session cookies or internet history requires a certain level of technical proficiency, as does developing a malicious browser extension; installing said extension or typing chrome://settings/password into the address bar, on other hand, are easy enough that any kid who wants to get hold of his big sister's Facebook password can give it a go. Reducing the surface area of attack is every bit as important as ‘real’ security, here, and the stance you've set out above is that you aren't interested in that if it doesn't also provide real security. I think that's the wrong thing to do, and I urge you to reconsider.
*As people have pointed out, you can inspect the password via web inspector etc. This is another, serious security flaw and one that I think the HTML WG ought to look into.
True, chrome circumvents safari's password security by merely querying the keychain without prompting for a password. What stops anything(or anyone) else from doing it? Absolutely nothing.
You've fallen into exactly the trap they wanted to avoid. You assumed Safari's password security mechanism was more secure than it is. If chrome can access it without a password prompt, I can too. In fact, there's probably some nice apple script one liner to do it.
It requires a stronger level of intent for someone to dump my Keychain passwords than it does for someone to browse my Chrome passwords.
This concerns me. I have friends that I would not trust around my computer now because I know that going to chrome://settings/passwords is too tempting for them. But I trust them not to maliciously or actively attempt to subvert the security on my computer.
And you missed the point also. Lock your computer when you're not at it. Like any responsible user. Problem solved.
It's not hard to understand where the boundaries are. Also, it's actually up to Apple to fix the broken thing, not Chrome. There should be a settings in the preferences of the keychain to require a password even if it's been unlocked before (or however that works. I don't Mac)
1. I do not lock my computer when my friend comes along to debug code on it. I do not lock my computer when I pass it to a friend at home so he can look something up. With Safari's password storage, I have a reasonable expectation that my passwords will not be viewed in the 30 seconds or so that I let people use my computer.
2. Keychain is not broken. Safari requires your Keychain password every time you wish to unmask a password. Chrome could easily do this too.
3. Chrome lowers the barrier-to-access for passwords. It reduces the amount of intent required. I would feel less bad going up to a friend's computer and browsing their Chrome passwords than, say, allowing Chrome to auto-fill a password on their computer and running a script to modify the DOM elements to reveal it. The latter is a more serious breach of trust, implies stronger malicious intent, and is more traceable.
Chrome would be better if it implemented this. I have yet to hear how this will make Chrome worse in any way. Why do you not want Chrome to be better?
We also know bullet proof vests are not absolute protection, but you don't see the police/military throwing up their hands and not issuing and wearing them because 'someone determined could kill you anyway'.
The point is that it would prevent a certain number of attacks (such as non technical mischievous people) from unpremeditated attacks.
Your comment about 'false sense of security' is completely out of place as well. Chrome currently isn't doing anything to prevent the false sense of security (obviously from all the surprised people out there - can you see it now?). Why does it have to be a mutually exclusive choice? You could have your 'master password' and still have your false sense of security disclaimer displayed prominently next to it as well.
I understand that a master password would just lead the user into a false sense of security. However, I feel that it should be make as hard as possible to find the user's password.
A good safe is judged by the time required to break it. There is no safe that is unbreakable, you just need to put enough time, effort and noise to open it. Same thing could be applied here. Installing software, dump the cookies and so on requires time. Right now with this security a person could get my password in a couple of clicks with almost no technical knowledge. I'm not talking about a clever hacker, but rather a random person in a cafe with wifi asking someone if she could check her emails and steal the password while staying in Chrome. Again, it's not about making it impossible to retrieve, it's about making it a bit harder than just clicking the "show me the password" button.
Of course I would never give physical access to my machine to anyone I don't trust. I always lock my computer when leaving it unattended... but I really doubt that anyone acts like that. It's a pretty geeky thing to do and the mainstream crowd isn't as worried by security.
Let's say the master password solution isn't good because of the feeling of security it brings. Instead why not never show the password? Just say to the users it's stored on your system, but don't show it in plain text in Chrome.
My point here is that there is little to no value (unless I'm missing something) to display the password in plain text, but there are some drawbacks (easy to see for semi-technical people). So why have this feature in the first place?
"My point here is that there is little to no value"
Personally speaking I've had plenty of occasions where I've logged into a site and saved the password then later Chrome doesn't recognise where to put the credentials on another page on the site (e.g. a header login vs a separate login page) - In those cases I'd rather just look to see what the password is and re-enter it than go through a password reset process.
Someone who can access your computer, unlocked, can login to your Facebook account (the password is saved), change the password, verify the email, re-save the new password, and it's just as easily "game over". You would never know what happened. Justin is absolutely right. His group is doing users a service by making these things more transparent. Folks who make exceptions based on this "security through obscurity" model should not be security tech leads.
Surely you see the difference between someone copying all of your passwords without your knowledge, and someone resetting your password for a single website that you would immediately notice when you check your email? They are two completely different types of attacks.
I think that most people on here haven't considered this. In fact, I arrived at your comment by searching the page for "reset". The majority of folks seem too focused on trying to outclass Justin and/or getting in the last word. They're not thinking. Just for fun, I went to see how many licks it actually does take to get to the center of a tootsie roll pop i.e., clicks to reveal a password using the passwords dialog box in Chrome? There are about 27 keyboard button presses for the URL, then a mouse click for the Show button. Fair enough. Too bad I can get to the password reset field in Facebook in 3 mouse clicks, using my bookmarks bar. I'm pretty sure that I won't need 25 more clicks for the verification email. So if we're all just gauging security by how difficult you can make getting at a password, then I beat Justin. And my "exploit" is platform independent.
I'm not trying to outclass anyone, I'm simply not sure that this is the right solution and so far I'm fully convinced by what he said. I'm sure he's way smarter than I and I'm probably missing something. Take everything I say as it is: a comment on the internet.
This being said, security through obscurity is never an optimal solution, but again going back to my "safe" analogy (not unbreakable, just hard to break). If a hacker wants to change the password, it takes a few clicks to locate a site where the user could be logged in. Then the clicks required to get a new password. Add the delay of email reception and so on... It takes more time and effort to do that than just click "show me all the passwords" and take a photo with a smartphone. Plus doing so will give you 1 password only.
About the keyboard presses count, let's say I use both mouse and keyboard.
ctrl+, (shortcut to settings)
click to advanced
click to manage
It's 4 operations. In my opinion, it's way shorter to do that and get ALL the passwords of a given user than try to change the Facebook password. Again, and I'm really stressing this out, it's not about making an unbreakable system. It's just making it a bit harder to break.
You say you do not wish to lull users into a false sense of security. So why not clearly tell people each time Chrome saves a password that the saved password will be visible in plaintext by visiting chrome://settings/passwords ?
Otherwise you are lulling people into a false sense of security.
E.g., to view passwords in my coworker's Keychain, I have to at least enter their account password to show the plaintext. To view their web passwords (which probably overlap significantly with their Keychain) all I have to do is open Chrome. I often use my coworkers computers for minutes at a time, and they use mine.
This flaw actually makes it possible to read their passwords — something not possible using other methods within seconds or minutes as they step out of the room.
So Chrome should not allow passwords to be read without the system Keychain password.
There is no technical reason it can't do this. Safari does this if you want to view passwords.
Chrome makes passwords casually available, this is unlike Safari and unlike the Keychain. So either Chrome informs the user of that behaviour or it stops doing it.
What it is doing now is very poorly designed behaviour. I am surprised that you are arguing for Chrome's current implementation.
I fail to see how it is beneficial to the user. As you say, most non-technical users don't know about chrome://settings/passwords, these are also the group of users who most likely need to be reminded of their passwords. So what Chrome is doing is essentially allowing slightly technically competent users to easily peek at the passwords of the "vast majority of the population." Bad design that is easily fixed.
- It's not as fast or inconspicuous as navigating to chrome://settings/passwords
- It does not present all passwords in a single list with the ability to show the one I'm interested in
- I would have to go to each site, allow Chrome to auto-fill, and then inspect the DOM and change the input type for each password I'm interested in. Far slower.
- It feels far more malicious to do what you suggest. Feeling is important. If I feel like I'm doing something bad, I'm less likely to do it. If I feel like I'm innocently navigating the Chrome settings page then I'm more likely to take a peek at your passwords.
- Far fewer people will be comfortable or familiar, or capable of using the DOM modification method. If a novice practices they are likely to get good at it. But that goes back to malicious intent.
If the attacker is at the keyboard of your logged-in, not-screen-locked computer, you have definitely already lost. Regardless of the skill level of the attacker.
If this attacker is your friend, co-worker, spouse, room-mate or the like, your problem is social and not technical.
Those two points really should be obvious to everyone here. (This is a forum for software engineers, right?)
It is safer (and more honest) to provide no security mechanism where none can work, than to provide a fake mechanism and then claim that it can work. Perhaps people are so mentally abused by decades of security snake-oil (e.g. anti-virus products) that they have come to accept snake-oil as the pinnacle of security engineering. I don't know how else to explain what is going on in this thread...
Please tell me why everything needs to be taken so seriously. You wrote:
"...bad guy can dump all your session cookies, grab your history, install malicious extension to intercept all your browsing activity, or install OS user account level monitoring software..."
It sounds like that computer owns nuclear bomb instructions.
Take a breath and one step back:
How about if the kids likes to play with their friend and likes to stole his/her facebook passwords when the friend is in the toilet (others are playing games at the same time with their friend's computer).
Most of the kids do not think about dumping cookies, installing malicious extensions etc. They just like to look the password and use it later.
We do not ask from you to provide any master password. Why not only ask user's credentials (the pure end user, not administrator credentials)?
If I go to your computer while you are in toilet, can I come and change your password? Or can you agree that your following comment was not actually 100% correct:
"...when you grant someone access to your OS user account, that they can get at everything..."
At least mine OS:
1. Ask me the old password before I can change it.
2. I'm running normal end user credentials, so by default I do not have admin credentials. And by this way, I have very limited credentials to do what ever I like...
From my office workstation, in this list I can read password of my personal NAS that I only access from home.
Does it means that all these passwords are stored in my Google Account ?
Does it means that applying steps below is possible ?
1. Steal Google credentials : By using phishing or simply access the password Chrome page of an unmonitored screen (it only requires 10 seconds),
2. On a other system, use the stolen Google credentials to connect on an blank Chrome installation,
3. Open the password list page, and get access to all the passwords registered in the Google Account.
If it works, it provides a long term remote access to all the passwords stored on the targeted Google Account.
Even if the targeted user changes the stored passwords (Facebook, ...), as long as it stores them on Chrome and does not change its Google password, I can get all the password changes.
Please, tell me that I missed something, and that I am wrong ...
That's fair enough but then why put in a giant 'SHOW PASSWORD' button. Why not just remove that button.
I expect a hacker using my computer with admin rights to get everything. I don't expect my GF to get my passwords simply by pressing the 'show passwords' button.
And it's not very realistic for me to tell my GF she can't use my computer or to log out every time I give it to her. She's going to be kind of insulted if I do that. I just expect you guys to understand that in this day an age people DO actually share their computer with people without expecting them to have a giant 'SHOW PASSWORD' button in their favorite app.
I mean, he's absolutely right in that if you have physical access, or if you have OS account access to a computer, it really doesn't matter what you do, your shit isn't safe any more.
The argument of a 'crime of opportunity' doesn't play out in the digital world. Everything in the malware world is so automated and the scenario of 'If there are exposed passwords on this particular machine, I'll take them' just doesn't ever play out.
To that end, while it certainly seems awkward from a 3rd party perspective, I'm kind of agree with Google on this one.
I would like to ask to think twice until agree Google's reply. And not only because they have so much power on the Internet.
Think about most simplest case: childs John and Jack do their homework on Jack's computer. Jack goes to the toilet and John continue the writing/drawing. Then John gets "brilliand" idea: "Hmmm, why not stole his passwords all around and sell/play them later..."
Is this something which you think never happen?
There is two simple solution to avoid this:
1) Jack is having two accounts: admin and JackTheUser
2) There are no passwords in clear text format unless someone add JackTheUser's credentials. And this must happen everytime you look the passwords.
#1 makes impossible to install any bad software
#2 avoid simple friends to see your passwords
Maybe Justin and Google just doesn't know how to verify user on the OS? Very same way than UAC behaved earlier on Windows.
Some professionals call it layer security: if your front door is open, your safety box is still locked. May I ask, is that something which we do not want?
This is so typical that the software designer looks at things only from the engineer perspective. Now I can see all the passwords my girlfriends saved in her chrome browser without me knowing any hacking knowledge. All I need is once in a while she didn't log out her browser account when she goes to restroom. God knows if any of those passwords is duplicate to the one she uses in online banking. You might argue that she doesn't log out the account exactly because she didn't know the threat of exposing her password by not logging out. But things like this happen, it just happen, everyday everywhere. Carelessness is in human nature. Now I get to know this issue because I check out Engadget from time to time. But I am sure my girlfriend doesn't. I am so sure that I can restrain my temptation of looking at her password when I love her. Hopefully we won't break up in the near future.
If you're not going to protect people by implementing a simple master password mechinism (Google Account, on by default if you are logged in), you should at least warn people that saving their passwords is risky.
The Chrome user interface doesn't let average users know their passwords are stored in such an easily accessible way. "Do you want to save your password?"... If they knew, it would 100% of the time be "Hell no!"... but Chrome asks by default, which puts millions of average users at risk... what a shame.
By your argument users should not be prompted for their current password to change their password as that would provide them with a false sense of security. Or I guess now that they can just go and look up your password and then login and change it on the site they would not even need to do that. Security fail. You've set the bar way way way to low for easy compromise in seconds with no technical knowledge of computers needed.
Have to say Justin - your' doing an excellent impression of that Don Mattrick chap at M$. In case your memory is as bad as your ability to listen to what your products users are telling you; Don was the chap who when prompted on the new xbox DRM answered
"if people want to play a games console thats not connected to the internet we already have a product for them - it's called the xbox360"
I use a master password with Firefox; part of the reason I don't use Chrome is because it doesn't have a similar feature.
But this shows it's even worse than I thought. Security in depth. Encrypt the hard drive, encrypt the home directory, encrypt the browser password storage. You're basically advocating shallow security.
Justin, I don' t understand why you have to think only from a hacker' s point of view. Now this thing has got so much publicity that one of my colleagues in the office can simply come to my desk whilst I' m away to grab a coffee and steal my Facebook password? How simple is that and what are the implications?
If Chrome uses "whatever encrypted storage the system provides" why aren't the credentials stored in the OSX keychain or the Windows Credential Manager, where the user has to re-enter their login password to see them...
Consider a case of some average user(who doesn't have the skills of your said bad guy) got on your computer while you are away, he can easily view your password to all your online account that's accessed on your browser.
hmm.... i have a hard time agreeing with you justin. It's like saying once a thief is in your house, your game is lost anyways, so let's not put a lock on the door.
You might be right on the point about the bad guy taking over the whole account and can do anything they want. But would it be a good thing for users if at least Chrome has strong password protection that makes the bad guy think twice about cracking them?
I would like to suggest another solution to this problem that can make everyone happy.
The goals are clear:
GOAL 1. avoid giving the user a "false sense of security"
GOAL 2. give the user the best security/convenience tradeoff for her particular needs
The current Chrome behavior fails to achieve GOAL 1 because the user is not informed about the lenient "Show Passwords" behavior (as many posters here noted), nor is she informed about how vulnerable she is when someone has access to her local login account (as Justin described). Avoiding a "false sense of security" really means helping to educate the user, and Chrome has failed to educate the user. Only the user knows what threats she needs to defend against (is it just a naughty little sister at home or a tech-savvy corporate spy breaking into her work computer?). Chrome should inform the user so she can make a choice that is in her interest.
Nearly everyone in this thread is assuming that Chrome has to make the security/convenience tradeoff choice for the user. But Chrome can satisfy GOAL 2 by offering a few options.
My proposal is that Chrome should present the user with a few clear choices in plain English with realistic explanations of the advantages and disadvantages of each, and the user can then pick her own security/convenience tradeoff.
Let me give some suggested text to get the discussion going.
I will suggest three specific behaviors to choose from, but these are just examples. Chrome engineers may decide on a different set of behaviors to offer (perhaps even still only one choice).
The point is that the user MUST be presented with choices in plain English that give her enough information to avoid any "false sense of security." Even if Chrome offers no choices, Chrome MUST still inform the user about what she is getting when she chooses to save passwords.
I suggest that after the user has just installed Chrome and she clicks to save her first password, she should be presented with the following choice (the choice will then persist until and unless she changes it Chrome settings):
-------- BEGIN SUGGESTED TEXT -------------
Saved Passwords Security
Please choose how you would like Chrome to restrict access to your saved passwords:
CHOICE 1: No security: You or anyone sitting at your computer can view saved passwords at any time in the "Managed Saved Passwords" screen of Chrome settings. This option is the most convenient, but the least secure. If you use this option, consider locking your computer every time you leave it so that others cannot view your passwords.
CHOICE 2: Master Password to view passwords only: Chrome will ask you to create a Master Password. You must type the Master Password whenever you want to view your saved passwords in the "Managed Saved Passwords" screen of Chrome settings. But you do not need to type your Master Password in order for Chrome to fill passwords into websites you visit. This option can prevent casual, non-technical users from seeing your passwords (e.g. practical jokes from siblings or coworkers), but it does not offer any meaningful security barrier to an even mildly technical user who has gotten access to your account on your computer.
CHOICE 3: Master Password to view or use passwords: Chrome will ask you to create a Master Password. You must type the Master Password whenever you want to view your saved passwords in the "Managed Saved Passwords" screen of Chrome settings, AND you must type the Master Password every time Chrome is about to fill a password into a website that you visit. This option is the least convenient, but it offers a significantly higher barrier to a malicious, technical user who has gotten access to your account on your computer.
Please be aware that none of these options offer complete protection in the event that a malicious user (or malware) has gotten access to your account on your computer. For example, such a user can always examine your history or install malicious plugins to track your browsing activity, even if you never save any passwords. These Saved Password Security options simply let you choose from amongst practically available tradeoffs of security and convenience.
-------- END SUGGESTED TEXT -------------
In this suggestion, I have provided a #3 option which assumes that, under the hood, Chrome would NEVER store the Master Password in core or on disk, except during the short interval between when the user is prompted for it and when it is used to decrypt the website password. There is NOTHING magical about option #3 that offers 100% security. It is simply a higher barrier for bad guys to jump over (they have to hack into the binary's core at a particular moment to get the Master Password, or use other attacks not related to saved passwords). Option #3 may possibly be too inconvenient for anyone to choose: maybe a "sudo" timeout option is better, with different security/convenience tradeoffs. We can discuss all that....
But the main point is that Chrome must do a better job of informing the user about whatever behaviors it offers, and only then can Chrome truly avoid a "false sense of security."
As you know, a system is only as secure as its weakest component. (Yes, everything is fundamentally broken and insecure, but that's no excuse for writing more crap software.) As a browser, it's impossible to secure all parts of the system (and that's not your job), but it's not okay to be the weakest component and not care about this. By virtue of providing a clear listing of all passwords and neither warning about this nor giving the user a choice, Chrome clearly is the weakest part in this.
Passwords added that way require confirmation for access, do not require entering the keychain password, and the application adding the password is auto-whitelisted (which overrides confirmation for access) -- which matches what I see on Chrome passwords.
This means that the default way of creating internet passwords in the Keychain provides only weak security (sigh, Apple), because the creating application can always access the password. (Same applies to Safari, only it doesn't provide a nice list of passwords as far as I can tell.)
I agree that trying to add access control inside Chrome is nonsense – Chrome can access the passwords and you'll (probably) always be able to trick it into revealing things. But that's not the only thing you can do – it's relatively easy to fix the bad default behavior and disallow access for Chrome unless the user (via Keychain prompt) explicitly allows it.
When storing a new password, offer to always require the keychain password for access.
If the user chooses this option, use the lower-level API to create the entry (or use the default function and modify / add modified / delete old – there's code for that in the chrome repo) and use an ACL that has (1) an empty (but not NULL!) trusted application list, (2) the $blah_REQUIRE_PASSPHRASE bit in the prompt selector set. As a result, Chrome will not be able to access the password without the user explicitly allowing it.
If the user always chooses the secure option when saving passwords, no one can access them without entering the keychain password or significantly mucking with the system. If that breaks, it's not your fault.
That's a fundamentally different situation – it's hard to fail to protect passwords that you cannot access(^1)!
(^1) at least not without other parts failing first
Joe User doesn't know a thing about how this magical box of tricks called a computer works. He just assumes that his data is safe on it, and won't get into the wrong hands, and that his passwords will always be protected by asterisks or what-not.
Sure, you may encrypt them using keychain, which is good, and yes, if someone has physical access to their machine and user account then it's compromised, fundamentally - but you're missing the far more likely scenario that this could be used, by, say, an unscrupulous employer, or a mistrustful spouse, or a child to get at daddy's porn passwords. People re-use passwords. Yes, it's bad behaviour, but what do you expect from a shaved ape? By making it possible to view these, you could grant the keys to the kingdom to any would-be eavesdropper.
It's not good. I understand your reasoning, but it's not connected to how people actually use their computers in reality.
I appreciate how this appears to a novice, but we've literally spent years evaluating it and have quite a bit of data to inform our position. And while you're certainly well intentioned, what you're proposing is that that we make users less safe than they are today by providing them a false sense of security and encouraging dangerous behavior. That's just not how we approach security on Chrome.
Novice? I'm sorry, but whether I'm a novice has absolutely nothing to do with this.
What I'm proposing is that you just don't show our passwords, all in one window, in plain text. I agree that this won't solve the problem, but would be a good first step. And I don't see how that would be dangerous.
Alternatively, Chrome should make this more obvious so that users don't make assumptions about its security.
How on earth can I convince you that many, many, many people are surprised and concerned about this? Can I direct them to you on Twitter?
It matters that you don't seem to understand the threat model here. You think your passwords are protected somehow in other applications, but they're simply not. The fact is that they're still trivially recoverable, and if the bad guy can read them at all than he already has access to fully compromise your entire OS user account. So, you're arguing that we take measures to make users think they're safe when they've already surrendered any pretense of security. Effectively, you're asking that we lull our users into a false sense of security.
I've enumerated this multiple times now, so I'm not sure how else to explain it. The simple fact is that you need to lock your user account if you want to protect your information. If you don't do that, nothing else really matters because it's all just theater and won't actually stop anyone willing to invest minimal effort.
I am a tad shocked by your reply, and this for several reasons. Let's not even talk about how you inferred Eliott's credentials, or lack thereof, based on his disagreeing with your approach.
You write about "lulling your users into a false sense of security." If that is true, then how do you explain that the 'show' button only appears when clicking a password? In the name of full disclosure, shouldn't you make that option immediately visible?
Furthermore, contrary to what was posted here, I believe that you encrypt passwords when storing them. On Windows, you would use the user's password as a "master password" in fact. So, kudos for that. But, wait, isn't this a case of using a master password to lull the user... etc? (because, you know, things such as Ophcrak do not exist?)
I am not going to re-iterate what was already written about the cable guy being able to lift your password in 10 seconds, it's simply a scenario you cannot dismiss and it seems strange to me as I would expect you guys to do some persona-based design rather than deal in hypotheticals (cf. "trivially recoverable")
So, yes, Chrome is an excellent product. And yes, from an absolute standpoint, you make valid points. I simply do not believe that you are the only one here doing so, and if you are willing to post comment on HN, then hopefully you are also ready to acknowledge that things are not as clearcut as you make them to be.
You're right, locking the operating system will secure it. But people aren't doing that. And people lend their computers to friends sometimes. It happens. I think the actual situation is that you don't understand how people are using computers, and how people expect them to behave - which is very important.
Your software allows me to open up one application and see all passwords. It's likely the single most-used application, and the easiest attack vector on the machine. If I wanted your password, I'd try Chrome first. It's very widely-used, and therefore a huge vector. That is the problem here.
Either change it, or better communicate the need to lock your system. Because to an average user on the street, this is a scary thing to be able to do so easily.
Is there a public point of contact that I can speak to about this?
Elliottkmember is right here. Chrome's approach to this is absurd. What if you simply don't want friends, coworkers, significant others browsing your passwords? At least tell users that if they choose to save passwords in Chrome, that everyone who uses their computer, even pretty non-technical people, will be able to access those passwords. Tell them that storing their passwords in Chrome is unsafe.
Justin, can you tell us the real reason Chrome does it this way? Because the reasons you list so far don't make sense.
Please don't invent motivations for the statements people make when you don't like what they've stated so far.
If you don't want people browsing your passwords, you can't ever give them access to your user account or your unlocked desktop. That's it, that is the entire solution. Any other method of protecting the passwords is vulnerable as long as the potential attacker has physical access to the unlocked desktop.
Now, perhaps some of this is mitigated by the fact that most of those friends, coworkers, significant others won't know how to install a keylogger or install extensions - but some small percentage will anyway, and those users who were lulled into a false sense of security will have been just as exploited anyway.
I'm not a novice, but I would prefer that it wasn't trivial for a novice to access my passwords if I'm away from the keyboard for 30 seconds. A novice is going to have not a single clue of what to do with a console, but they can get at passwords in plaintext with four clicks with Chrome. No other browser makes it this easy to get at passwords in plaintext.
> No other browser makes it this easy to get at passwords in plaintext.
In Firefox you can go to preferences, security, and saved passwords. And News Flash: If you leave your wallet unattended for 30 seconds, someone could take your money. I guess wallet makers should include a warning too?
That's not the point. The point is that Chrome lacks this option, which, again, is why nobody's heckling Firefox right now. This isn't a thread about people failing to configure their software, it's a thread about a popular piece of software that's bungling some trivial security features.
Right, I'm not arguing against any of that. The point is if it's going to be that insecure, Chrome should make more of an effort to make it clear. They could do this by displaying a warning alongside the prompt to save a password.
Also, just because some people will be able to access the passwords with physical access doesn't mean it's not worth doing basic/unsecure locking. I'd rather use a system where people need to have the know how to use keyloggers in order to break, over one where Joe Schmoe can walk in and take everything.
In the end I have always known the security issues with saving passwords so I don't save any banking passwords or email account passwords in any browser.
What about the situation where I drop my computer off for service. While I may remember to delete all the passwords, I doubt my dad will...Now we have the possibility that a service tech who I will never meet can harvest credentials and sell them on the black market.
1) Chrome doesn't show "all passwords". It only shows passwords that Chrome knows about. The two categories might overlap, but they're not actually the same.
2) Either the browser demands an unlock password every single time it queries the password store--which is probably not an acceptable experience for most users--or the browser can arbitrarily read the password store when left unattended. There's no meaningful middle ground here. An option to demand a credential before unlocking the store might be nice for nerds, but nerds don't need it anyway, because they can use 1Password (or similar) to do this for them. It's simply not tenable for normals. Good grief, just look at the wailing and moaning that the UAC prompts in Windows Vista generated. Those prompts by default didn't even demand credentials, just a click through.
Hm, I agree with the author of the article on this. I think, the default should be, that the user will be prompted to define a master password, which unlocks the password store. User might choose not wanting to set this password, but then he should be warned that all his stored passwords will be accessible by anyone using his computer with his credentials.
"his stored passwords will be accessible by anyone using his computer with his credentials."
But this is EXACTLY Justin's point: EVEN with a master password, they'd be accessible in other ways by anyone using his computer, because it's just stored in the keychain - and if they add a master password, people will think that makes it more secure.
The solution here is to remove the show button - don't add any kind of master password - because that's just snake oil.
>EVEN with a master password, they'd be accessible in other ways by anyone using his computer
Maybe (there are simple but very effective prevention methods against keyloggers etc.), but the main point is: it's not all black and white.
There are varying levels of security (and varying levels of "hacker skills"). Passwords encrypted with a master password are at least a couple of levels safer than those displayed in plain text.
But only after the password store was decrypted after providing the master password, or not? And that is good enough for me. If I let someone to use my computer, of course I will close the browser before. So he can use my computer, launch the browser, but will not be able to access my passwords, since he doesn't know the master password.
If you actually _want_ someone's password and you have access to their account, there are many things you can do, all equally easy.
The more interesting argument here is the "crime of convenience" - where someone didn't want the passwords, but just saw them laying around in plain sight. But that isn't actually the case in Chrome: it's like four clicks. You have to actually be trying to find them.
Isn't a more likely crime of convenience that you hand your friend your computer, he types "gmail.com" to login to his mail, but he automatically logs in to your gmail, and then he realizes he can do pretty much anything on your computer as you now (including changing all passwords linked to your gmail account)?
Why are you more concerned about something he has to go digging through settings purposely to find, than something he is almost guaranteed to stumble across?
Wrong. Who cares if chrome shows the password? If someone has access to the browser with saved passwords they can easily just go to a site that's been saved and login and change said password so having chrome not show the PW would do ABSOLUTELY NOTHING
The use case people are talking about such as a jealous partner/spouse, or coworker, or only has access to a computer for about 30 seconds while your in the bathroom, does not have enough time to search through all of your gmail or accounts, nor would they want to change your password since then clearly you would know. What they would want to do is see your password, and then later on when there alone they could login to your account on their own computer and casually browse your accounts without your knowledge. Yes Gmail in tiny letters in the footer says if your logged in at two locations but once again this is in regards to non technical users like your parents.
The threat model hiding the passwords wants to address is not about thieves, criminals, 'bad guys' etc.. Instead it's about protecting your password from jealous boy/girlfriends, friends who want to prank you, curious kids, etc., while you leave the room for a couple of minutes.
In many situations its cumbersome or not socially acceptable to log out if someone just wants to use your browser for a second, because that implies you mistrust the other person. On the other hand, you wouldn't necessarily give the other person your passwords, of course.
I guess what many people expect is that passwords you save in the browser should be really hard to get out. There should be a function to recover them, because it can really be a life saver, and because it would give a false sense of security otherwise. But this function should be in a separate tool, and it could be really cumbersome to use (only runs in safe mode, is a command line tool, displays a full screen warning in red on black, plays a loud fanfare :-), etc.). It should be the equivalent of taking a bolt cutter to your bicycle lock, when you lost the key.
What people want here is not more security in a strict technical sense. Most people understand that you should log out, and if necessary enable disc encryption and/or physically secure your computer, to be safe against "bad guys". What people want in addition to this is a layer of obscurity, a social speed bump. Something that makes it inconvenient for nosey people to see your passwords, that adds friction and shows them they are doing something wrong.
(Oh, and having a master password (that is forgotten after a few minutes) does offer perfect protection against anybody who doesn't know how to install a keylogger etc.. I guess I and many other people are mainly worried about "foes" that are not so technically adept.)
I take it that you are unaware of the concept of defense in-depth, because your argument is essentially: well if they can come in the front door, then they can open the garage & steal my car too easy, so putting lock on the doors would make people think their car was secure. To enable a person to lock the car door would be silly because once a person has access to your house, they own everything in it. While no security measure is perfect, and with enough motivation & resources anything can be cracked, making things a bit more difficult with master password locking, etc. will stop casual security breaches: I.e. a boyfriend/girlfriend finds out their SO uses Chrome, so he/she steals their SO’s passwords from Chrome in seconds to later use against them after a break up, or to monitor them, etc. This happened (to a friend of mine BTW) and had Chrome had a master password, the SO would never have been able to do it because most people do not have the resources available to do it, an those people are the most irresponsible with having access.
This thought that by making something less secure, you are in fact helping the user from having a false belief—that they are secure—is an ignorant decision at best because nothing is secure, but things can be more secure. & from I have learned balancing convenience & security usually falls somewhere between. a 5 second to breach to breach security policy (Chrome) is no where near (the standard) 5 seconds to unlock by typing in a master pass with a default 10 minute idle lock.
Basically, you are fighting ignorance with even greater ignorant decisions.
I'm a professional programmer with more than 20 years of experience and I think noivad makes an excellent point here. If you apply Justin Schuh's argument to door locks, the conclusion would be that door locks are insecure so don't even bother having them in the first place. How are they insecure ? Take an axe and break the door down. That should probably bypass almost any kind of residential door. Alternatively, break a window.
The reason to have a master password to protect Chrome passwords, for most people and in 99.9% of cases, is that not that we fear we'll get hacked by some random jerk. It's to prevent a casual acquaintance from discovering our passwords easily.
At this point, I think what may have happened is that, at some point, the Google Chrome Security made a decision based on logic that had numerous merits, but doesn't work too well in practice. Now that they've committed themselves over and over by defending this practice, they're so vested in this decision, that they'll defend it, even to their professional demise.
Again, I think their original decision not to have a master password was a smart decision, but not a wise one. As an analogy to door locks again, the smart decision is not to have door locks because they're very insecure (think breaking down a door or window with an axe).
It sounds like this Google Chrome security policy will most likely not change until some significant leadership changes are made over there..
Whoa, whoa, whoa. Let's all take a step back and try to see the forest for the trees. I read Mr. Kember's article (as well as numerous others linking to it around the web today) and what I read made me concerned enough to delete all of my passwords from Chrome until I understand a little more about the issue.
justinschuh seems to have a deep technical understanding of programming and program security so I will defer to his greater understanding and make sure that I secure access to my computer when I am not physically present.
With all of that, my concern is that justinschuh seems to believe that anyone who has physical access to my computer and wants to do something malicious will have a deep understanding of programming, and that is silly. What about my druggie cousin who comes to my birthday party. He has no programming skills, but if he knew one simple URL he now has passwords to my bank account, my Amazon account and a ton of other accounts that he can use to transfer money or otherwise feed his habit at my expense. Or how about my ex-wife who gains access to my laptop because my daughter needed it for a school project. Now my ex, who has zero programming knowledge, nor does she understand what "threat model" even means, has passwords to all of my accounts including Facebook and Twitter that she can use to seriously harm my social/professional life.
So, you see, I get that you understand the programmatic "threat model," my problem is that you seem to be too smart to see that not all threats come from tech savvy "hackers." Some threats just come from opportunistic malfeasors, and I don't need to add any new opportunities to the seemingly unending list of ways people can screw up my life.
This is exactly my feeling too. Justin seems too smart by half.
His attitude is very much like an ivory tower academic who is befuddled that people don't follow best practices.
I also get the feeling he's not used to having to admit he's wrong. I guess you don't make it to 'head of security' at Google by having a little humility but his responses are really not very encouraging.
You should probably direct your anger to the author of the article for exposing this to people like your druggie cousin who comes over for your birthday party if that's your main concern.
As long as your password keychain is unsecured, EVERY browser does this -- it's just a matter of knowing where the passwords are stored in the browser as plaintext. If you don't want people to access your accounts, then secure them. You can't have your cake and eat it too. Either your passwords are conveniently stored in plaintext so you can login easier, or you take actions to secure your account and add a step to the login process.
You're thinking of security in the sense of some hacker or someone who has technical abilities.
What about the jealous ex-bf? He asked to use the gf's computer when they were dating, easily grabbed ALL of her password info and now she has to change everything when they break up. You're giving complete technophiles the ability to nab passwords. The question is WHY - what utility is there to make these show up in plain text over just prompting for a master password? What's the use case that you NEED to make these visible so easily?
It's also a terrible, terrible excuse to say 'well, there are other ways to get that info so our security flaw isn't an issue since it's already trivial'.
The fact of the matter is that you should at the very least require the master password to make these other passwords visible. There should be SOME authentication being done here.
What would this conversation be like if we were talking about gmail.com? You think it'd be OK to show in plan text a person's gmail password in the Settings page. I mean, if you logged in then of course you are the only person who should be looking at it.
Let us use Google's web approach to various services to better explain this. When I login to my gmail, and open up google docs, or youtube on a different tab, I am logged in by default. However, when I go to edit my Google Account Settings, I am again prompted for a password, right?
If what you said about studying threat models and securing your computers and users accounts before handing over the system to friends or family is true and valid, why am I being asked a password to edit my Google Account settings. By extension of your claim, I should never have been handing over my system with a logged in user to anybody else. And definitely, the other claim that providing an extra layer of security is a false pretense must be valid in that Google is just providing us a false pretense of security when we want to edit our Google Account Settings which it does not require when we try to edit settings of the individual services?
Why is this distinction between Google's web services and your browser security?
I don't think that saying if someone has access to your computer then you're screwed anyway is really an excuse.
You talk about lulling users into a false sense of security but do you have any idea how many Chrome users assume that their saved passwords can't just be viewed in plain text with a couple of clicks? I had no idea until I read Elliott's article and I immediately turned the feature off and deleted all my saved passwords.
If a technical person with a bit of knowledge and a few minutes has access to your computer then yes, you're a bit screwed.
If the broadband engineer comes round to investigate your connectivity issues and you (sensibly) watch over their shoulder while they fiddle with your browser settings, looking away for 10 seconds shouldn't result in them having ALL your passwords.
It's about ease & simplicity of breaching the "security" for non-technical people as well as techies.
Forgive me for not looking at Chrome's source code on this, but I'm going to go ahead and assume that Chrome doesn't encrypt the passwords on the disk. You can easily do better than this while maintaining all of your current functionality.
On my system, I have installed scrypt and use it as a password management tool. When I need a password, I simply run a shell script I created, type my master password, and the password I'm searching for is placed in my clipboard.
Sure, I could write an extension to do this and I really should be concerned with the security of the clipboard implementation... but, those are fairly trivial (I do flush my clipboard buffer when I'm done).
This would be a simple solution for Chrome, actually. You already have all of the works for managing passwords implemented. All you need to do is add in the decryption process and simply not log the master password.
In this way, even the root user wouldn't have access to a user's passwords (as is currently the case with Chrome).
I would worry that after the copy and paste into the browser, copies of the password are found decrypted all over the place in RAM, and then if you don't have whole disc encryption it may creep in plain-text into swap.
justin: other applications offer an added layer of security through a master password, which chrome does not, are you saying that this has 0 affect of the level of security surrounding the stored passwords?
Or are you saying chrome(ium?) uses the same technique but hidden to the user?
Not just other applications - MacOS's own Keychain application requires the user to re-enter their login password in order to see passwords that were saved in their user keychain. This is to ensure that while you might be able to make use of those passwords if you have physical access, you won't be able to easily copy them off somewhere else.
Please Justin, explain the real reason that Chrome does this, or admit that it's a bug and get it fixed. The reasons you mention are just stupid.
There is a simple fix for this and FireFox uses it. Simply, allow users to create a master password to view stored passwords. They don't need to be asked to enter it every time they log into sites so the ease of use remains. But, if a stranger gets a hold of their machine, they will be one giant step farther from retrieving their passcodes.
PS. This was always an issue with Chrome, and it is why I don't use Chrome on my mobile machine. Safari has a similar problem. So I recommend 1Password for mobile computing if those are your browsers of choice.
As far as I know, Safari uses OS X’s keychain which means you practically have a master password (very likely your user account password, although you could use a different keychain). If I try to retrieve a password (either through Keychain Access or Safari’s Preferences) I get asked for my “master password”.
>> it's all just theater and won't actually stop anyone willing to invest minimal effort. <<
So are all the policies and procedures of the TSA, if not the entire agency itself, but nobody is suggesting that making it a tiny bit harder to get weapons onto planes isn't a worthwhile goal. We argue over implementation details.
I read in a Tom Peters book years ago that if a flyer sees a coffee-stained tray table, they assume the airline doesn't maintain its aircraft. That's an utterly irrational conclusion -- and a typically human one. The solution is trivial: clean the tray tables! SO back to software.
Make it a tiny bit harder for ANY user to view the plain-text versions of the passwords stored in a web browser.
>> it's all just theater and won't actually stop anyone willing to invest minimal effort.
> So are all the policies and procedures of the TSA, if not the entire agency itself, but nobody is suggesting that making it a tiny bit harder to get weapons onto planes isn't a worthwhile goal.
Very large number of people have been, in fact, suggesting since day one of the TSA that the restrictions imposed on travel in the name of advancing security theater are not worth the costs that come with them, in some cases in some states (particularly Texas, but I think other states had started the process) going so far as moving to criminalize some of the TSA actions, until the TSA escalated by threatening to retaliate against Texas (who was the State where this had progressed farthest in the legislature) by shutting down all commercial air travel in/to/from the State if the bill was passed.
So, the basic premise of the analogy you are trying to use here is rather critically flawed.
> It matters that you don't seem to understand the threat model here.
Respectfully, a fairly common real world circumstance under which this is exactly the wrong choice was described, then ignored.
In response we got "you don't get it, we're staying where we are."
Is it possible that the reason people think you're doing the wrong thing is that you have made literally no attempt whatsoever to explain why you're flying against the best practices everyone else uses?
Saying "we have data" doesn't count, because we didn't see it, and everyone says that while justifying obviously incorrect stuff. I've had people mail my password back to me plaintext then insist that because they're (random important sounding thing) I should just trust their judgment.
And yes, this includes directors of security at first class software organizations with backgrounds in research security and the CIA.
Even if it turned out that you were correct, your current standoffish non-explanation is directly and severely undermining our trust in you. Do you just not care?
Sometimes you're a lot better off explaining than saying "you're too naive to understand."
> I've enumerated this multiple times now
> so I'm not sure how else to explain it
You give the very strong impression that you believe that saying "you're an amateur and we have data" is a kind of an explanation.
> The simple fact is that you need to lock your user account
"The simple fact is that you need to secure your server, and if you don't do that it doesn't matter that you salt and hash your passwords, and if you do do that then you don't need to salt and hash your passwords."
Yes, that's cute, LinkedIn. Back here in the real world, multiple layers of redundant, superficially weak, superficially unnecessary security have actual productive results.
> nothing else really matters because it's all just theater
The only theater I see here is "I've enumerated this and I don't know how else to explain it."
Unless you're talking about some other site, you haven't explained it at all, and what you're really saying is "I don't know how to explain it."
Maybe hire a communications person. You're making what appear to be by all basic security books and protocols dire security errors, then saying "I have data to support this decision and you're too dumb to understand what's going on."
Try us, sir. Closing the door in our faces is not a form of doing a good job here. If you're going to take liberties with our data, please be willing to give at least one good faith attempt to explain yourself. It's not a lot to ask.
> won't actually stop anyone willing to invest minimal effort.
I think you've confused wanting to stop blackhats with wanting to stop real world situations.
An angry significant other can pull this off. You're not just opening the door; you're opening it ridiculously wide, to the point that the average non-technical user can figure out how to penetrate your "security."
And then you're justifying it in terms of not wanting, through an unknown mechanism, to justify bad behavior, by leaving a vulnerability few technical people know about in place.
I just don't know how to respond to this.
Please share the data you keep talking about. The reason you don't know how to explain this better is that you haven't even begun to try.
Saying "I'm right and you're an outsider" isn't an explanation. It's a dodge.
You're assuming your users will go to that place, see their passwords are showing and say to themselves, 'ok, this stuff isn't secure, I better be careful'. But that doesn't happen. People don't generally go there. They don't know about it. But someone else, using their computer, might know about it, or might stumble upon it. If you stop this happening, people aren't going to be lulled into a false sense of security, as you suggest. They aren't even going to know it happened. But their passwords will be more secure against casual discovery.
Give a knowledgeable person physical access to a computer, and all of the clear text views in the browser do not matter. Just crack the user's password and you have access to any stored passwords. The password paradigm is not perfect. There is no perfect solution. Personally I like being able to check passwords easily, while being intelligent enough to put barriers in the path of the 'general snooper.'
> Give a knowledgeable person physical access to a computer
Or in this case, give anyone physical access to your computer, and they have all of your passwords.
Security through obscurity is not security, but it still has practical uses. You could say that hiding the passwords behind the few clicks it takes is not real security, but it's still more useful than having the passwords displayed plaintext on a sidebar at all times.
You sound like an angry OS X / iOS developer trying to make a name for himself. This is old news, and I find it odd how you've decided to focus all of the attention on Chrome even though other browsers operate in a similar way. And frankly, if you’re dumb enough to let someone use your computer, after you've knowingly saved your passwords on it, you deserved to get hacked. Operating system profiles should be common knowledge by now.
If you don't want to lull your users into a false sense of security, then why doesn't the "save password?" dialog have a disclaimer reading, "All saved passwords can be viewed at chrome://settings/passwords". This simple notification would go a long way towards raising the level of awareness you seem to assume the average person already has.
Then they might chose to use IE instead, which doesn't show that disclaimer yet is no different. The teaching that needs to be done is that letting a bad guy access your computer unlocked is game over.
So,the Google response is - "a) You're stupid and don't understand. b) If a techie had access to your PC for half an hour he can get your passwords anyway, so letting an amateur get it in 5 seconds is OK, c) We're Google. We don't do evil. And you're stupid.
So why store passwords then? Doesn't that also lull users into a false sense of security?
It seems to me you won't make token efforts to protect a user's password because that protection would be an illusion. So you would rather tell them the truth, so to speak, by letting them discover that their passwords are all easily visible by anyone who sits down at their machine. But if that's really the best you can do (I'm accepting this claim for the sake of argument), why store the passwords at all? Just by offering to store the passwords you are lying to the user, and lulling them into dangerous behavior.
Do you have data that users expect the passwords to be shown, or that storing them and making them so easy to see has any positive effect on users' password hygiene or security behavior? As for me, I know never to ever allow Chrome to store any password. Has that made me more secure? And is that representative at all of the standard user? I highly doubt it, but don't have any evidence either way.
I realized this several years ago and was pretty dumbfounded, and quite surprised I've never read about this until now. Can you explain how the Chrome passphrase works in more detail and why it isn't used in this situation. If I sync my google account to another computer I need to enter a passphrase to sync passwords. Why isn't this asked for when clicking 'Show'? It seems like a perfect additional place. Even if its still 'trivial' to recover passwords you're still going to 'fool' a significant amount of people that it is secure and with Chrome's userbase that is a significant amount of people saved from themselves. And if you're still stubborn and arrogant enough to still make an argument against this then why not just put a damn 'Print my passwords' button on the main toolbar?
Before I start my reponse proper, I should point out that I know most other browsers, and most add-ons for them that perform the task of storing credentials, do much the same thing and are therefor no less insecure. This is why I recommend everyone avoid most credential storing products and turn off their browser's built-in facility (whichever browser they use).
> I appreciate how this appears to a novice
As you are in the process of defending storing passwords in plain form (or at least in a manner that allows them to be accessed in plain form so easily), without any warning that this is happening, I am of the opinion that you have no right to be so condescending as to publicly call someone else a novice.
> but we've literally spent years evaluating it
Some creationists have spent decades evaluating their position too. That does not make my any more inclined to agree with their assessment of the way the universe works, nor does it make me feel inclined to recommend that position to others.
> and have quite a bit of data to inform our position.
Please provide said data so that we can evaluate it, otherwise what you are saying here is simply "I'm right because I know that I'm right".
> what you're proposing is that that we make users less safe than they are today by providing them a false sense of security and encouraging dangerous behavior. That's just not how we approach security on Chrome.
That is EXACTLY how you are approaching security in Chrome it would seem.
If the criticism of the way Chrome currently does these things is wrong for this reason then Chrome's behaviour is wrong for the same reason. Users will assume that the passwords are stored securely, or will be blissfully unaware that they even need to be, and will think they are safe when they are not. This argument may not make the alternate suggestion being made correct, you certainly believe that it is not, but your argument doesn't make Chrome's current position any less incorrect either.
While here we all know that locking out workstations provides much better security (as mentioned in your earlier post) than a master password on the browser's credentials store would, the general public do not tend to have much concept of that in my experience (while it very much should be, it is not something most people give any thought to unless explicitly prompted). Letting them take their ignorance of the matter one step further is lulling them further into a false sense of security.
You are not wrong in stating that users should lock their workstations when leaving them, and should have them set to auto-lock after a time in case they forget. Likewise we are not wrong in stating that any key store should be locked after use, and automatically locked after a period of inactivity (requireing the master password to be requested again).
Essentially you are silently opting in (on the user's behalf) to exchanging security for convenience. This brings us full circle, back to the word "novice".
With regard to my earlier acknowledgement that other vendors do the same thing, while I'm taking cheap shots like the "novice" thing above: "other people are doing it" is no more a valid excuse for irresponsable behaviour here than it was in the school playgound when we were five.
We (by "we" I'm including developers, DBAs, technical managers, security experts, and other members of the technical "community") should be trying to teach users to take better care of their credentials and their information security more generally, making it inconvenient for them not to if neccessary rather than making it easy for them to continue to be blissfully ignorant of the situation.
That fact that you tell him he is wrong and never really explain the "why" makes me not believe you. What little explanation you do give is the abstinence argument. It sounds great but it is not what people are doing.
Also, I think someone like a thief, jealous spouse, unscrupulous roommate or coworker or the like is much more likely to try and get someone's password to do evil with. The way Chrome is now, all a person needs is 4 or 5 minutes alone with the computer to get the user's passwords.
I think the data in question is more likely to be feature usage statistics of the sort that show that when a browser does has a master password option, something less than 2% of users set it, and half of those unset it after they realize they're going to be prompted for it over and over and over all day.
(Edit: said "yahoo to reissue passwords" instead of "email addresses" initially, because I'm a derp.)
"I appreciate how this appears to a novice"
Respectfully, I don't think this is a valid answer. This is the same sort of "I know better than you because I'm in the industry" thing that has led Yahoo! to believe that it's okay to re-issue email addresses: "we've done a study that we won't show you, we decline to address your criticisms, and we're right. We wanted to talk to you in public to create the illusion of interactivity and contact, but in reality we're ignoring your statements, refusing to explain ourselves, and declining to adjust."
LinkedIn said literally exactly the same thing about their password strategy right before their plaintext password database got owned.
It turns out that working at Google and saying nuh-uh isn't actually a valid form of explaining the security choices you're making in a way that almost nobody else is aware of. Having worked at IBM Security and the CIA doesn't change that. Whereas you may call the people pointing out the obvious problems in your approach amateurs, your ability to actually interpret what they say seems to be very, very limited.
I would note that your own past employers agree. What you're doing is a violation of FIPS 140-3, which your former employers helped the NIST craft.
No other browser does this. There's a good reason that everyone else does something different.
"[we] have quite a bit of data to inform our position"
You have quite a bit of data to support that it is not a critical security defect to allow people to pull passwords out of a little known browser dialog?
I find this unlikely, on grounds that I can't even imagine what sort of data would be used to support this.
Am I correct in suspecting that you will absolutely refuse to explain this claim, yet still expect it to be taken seriously?
"what you're proposing is that that we make users less safe than they are today by providing them a false sense of security"
No, eliminating a hidden attack vector does not create a false sense of security: nobody will know. In the meantime, an extant vulnerability will go away. This is the exact opposite of correct, and honestly fairly transparently so.
"And while you're certainly well intentioned, what you're proposing is that that we make users less safe"
And while you're certainly well intentioned to suggest that a car should have seatbelts, what you're proposing is that we make users less safe by encouraging them to drive over fifteen miles an hour.
The disconnect between your theory of how people use browsers and how people actually use browsers, as the head of security, making choices like these, is genuinely alarming.
But you have data. Which, conveniently, nobody can see, or point out your misunderstandings within.
Because that's how science works, or something, probably.
"encouraging dangerous behavior."
Taking away a little known mechanism for people to extract saved passwords from the browser does not in any way encourage dangerous behavior.
"That's just not how we approach security on Chrome."
It appears that how you do approach security on Chrome is with transparently false anecdotal claims backed up by no measurements, unprovided claims of difficult to guess about data, and no willingness to look at other peoples' points of view.
In the whole of human security history, this has never gone well.
Unfortunately, you have the provenance, and in unweildly large security organizations, that's often quite a bit more highly valued than actually hearing what other people say.
It is absolutely fascinating that Google's browser's head of security thinks it's a good idea, backed by mystery data, to be able to pull saved passwords out.
Of curiosity, do you honestly expect to be taken seriously when you fly in the face of every best practiced, based on data you won't provide, while just calling other people amateurs?
You realize how this sounds, right? Like denial?
Good lord. "We make your passwords recoverable from a dialog you don't know about because if we didn't you'd be encouraged into unsafe behavior."
What unsafe behavior is that? Saving passwords?
Seriously, you're intentionally leaving it weak so that nobody will use it for important things, but then not actually making them aware of that?
Just take it out, then.
Truly, these are the situations over which we abuse the phrase "stockholming."
Sometimes you get glimpses into the inner sanctums of Google that make it seem like it's a culture of robots.
Their first responses to outrage over the Google Maps cars they'd sent out to hoover people's wi-fi information were similarly obtuse about the mysterious ways of the non-machines: It's all information that was freely available to anyone who happened to have a fleet of packet-sniffing vehicles anyway, so what's the big deal?
With Google Glass they seem clueless on both sides of the equation: Never mind the role that facial symmetry plays in beauty or the billion-dollars industries that have sprung up to relieve people of their despised eyeglasses, more data is always better, affirmative? And why would even silly water-machines mind being always photographed everywhere? In many senses they already are! Jeepers can extermination day not come quickly enough.
And now this, here. Yes a given all-knowing cyborg entity could steal a "novice's" passwords with or without Chrome's help. But the easier you make it, the more it will happen. Meanwhile Google doesn't help its case with the clearly deceptive wording within the menus that make this possible. But mainly, our being from Google here seems genuinely baffled as to why this skeeves humans out so much. It just. Does. Not. Compute!
It is their seeming contempt for their customers coupled with a bizarre tin-eared bafflement about aspects of human nature the rest of the world seemingly grasps intuitively that often make for... well, entertainment at any rate; this story is presently top-of-fold on Techmeme. But it also is a window into a massive blind spot that could hobble the company.
The reality is that you're using the browser under a certain user profile. If you want to really separate your data from other users using your computer i would suggest icognito sessions or creating different user profiles. If you share your user profile (active user) you expose all this data (bookmarks, extensions, passwords).
Average people do not have the time, knowledge, or interest to do what you and Justin propose. Chrome is exposing what is arguably the very (very!) large majority of users who will never have the wherewithal to individually concoct an infosec strategy for their machines.
Agreed. Normal non-technical people let friends have a look at their computer, and it is often a surprise for both that passwords can so easily be seen. Theory is one thing, but there is IMHO also a practical "don't make it too easy" factor that should be considered. As the saying goes, sometimes "opportunity makes a thief".
According to his logic, something like a post it note stuck to my monitor, containing all my passwords, is just as easy to read as Google chromes password file, so there's no benefit in trying to hide the post it note.
If I have access to your browser, I can get your credentials for Amazon by just going to Amazon.com. Either you already have a session open, and then I can do what I want (including changing your password), or the browser (or your password manager) is going to fill in the password automatically, and with a trivial knowledge of how the browser works I can copy the password.
I use LastPass, and it is possible to set it so that a master password is required before any password is automatically entered, but in practice no ordinary user can suffer the loss of usability there.
Passwords are not actually the thing we are trying to protect. We're trying to protect against a user being able to use your credentials. If they have access to your browser, they have that already.
Maybe requiring you to re-enter your login session password, as a pseudo master password, would slow down a really naive attacker. But it will probably also annoy people who just need to get their passwords for some other reason. I would like to hear more from the Chrome team here on their reasoning but I would not be surprised if a 'master' password just leads to more users storing passwords on post-it notes.
My house has a front door which can be locked. I often leave it unlocked when I am out in the yard (and thus need access through the door on a minute-by-minute basis) or when I have guests over.
I side my house I have safes, medicine cabinets and a gun rack. Those things are locked all the time, and I only unlock the cabinet when I need to use the items inside the secure container.
So, too, I have a use account login. Sometimes I will hand my computer to a friend (or they sit at the computer, same thing) so they can do stuff. At no point does my friend's physical access to the computer imply that they need access to my bank account details. So those credentials are locked up in 1password to prevent casual theft.
Keychain Access and 1password both require a master password to unlock the ability to see stored passwords.
The argument about "having physical access negates security" is missing the point: there are different forms of physical access. I won't let visitors plug in random USB, FireWire or Thunderbolt devices for example. They have use of the machine, they have physical access. But if any of them made moves to dunk my computer in liquid nitrogen before removing the RAM, I would shoot them.
If the computer is locked, my password safe is locked. If someone steals the computer (or an NSA agent inades my house to freeze and steal the RAM), the key material is encrypted and thus still not accessible to casual inspection.
The attitude of "the NSA can break the encryption so it is not even worth hiding things from the visitor casually using your computer" is defeatist.
Rethink your assumptions. What are you protecting against? Do I need to switch to a guest account to prevent casual guests from seeing my credentials? How does that aid convenience?
Yes, thank you for explaining this so clearly. Of course I wouldn't knowingly give physical access of my computer to a malicious hacker, but if my friend asks to use it for 60 seconds while I take care of something else, I'd like to be able to do that without logging out and back in as a guest user. Convenience does matter in these kinds of situations, and deleting these "Show" buttons will make it more difficult for the untrained user to pull a prank or worse.
Your browser fills in the "current password" when you try to change your password on amazon.com? How'd you manage that? I have my password saved for amazon, and I don't have to type it to log in, but it doesn't get filled in automatically on the "change password" form (because that'd be stupid).
"locking" the passwords would require intermittent master-pass entry like `sudo`, this would come off as an inconvenience to many users.
I think people here miss the fact that many users, even if they say they want more security, are unwilling to give up convenience and will switch platforms (i.e. browsers) if that's what it takes to get a smoother experience. In many ways (in this particular instance) security vs. convenience is more or less 0 sum- chrome team has decided users would prefer more convenience which means less security. Chrome team is giving users what they want: ease of use.
Keychain is accessible through standard system API calls.
Apple does not require any sort of approval or valid developer certificate to use the Keychain. Any app that attempts to access the Keychain will trigger a system-level notification to the user informing them of what the app wants to access, and allowing the user to "Allow", "Deny" or "Always Allow" the request.
I was floored that they let such an ignorant comment into the first paragraph:
> This is somewhat controversial in Windows, due to its weak file protections, but that's the way things are.
I read this as: we haven't bothered to look into the APIs for this... The Windows file permission model is a lot more granular than the "uid/gid/other" that most people are familiar with from Unix. Maybe this is a problem if you install to FAT32, which Windows disallowed since 2006.
Apparently the text used to be:
> This is somewhat controversial in Windows, especially Windows 98 due to its weak file protections, but that's the way things are.
A user MarkDoliner then wrote:
> We no longer support Windows 98, so don't mention it.
But somehow in his editing neglected to make it a true statement.
Something for consideration, Chrome...it's not JUST security against badguys, it's also security against family members (aka, 13 year old son or daughter) who want to know what your password is so that they can do things online that you don't want them to do. You just can't make it EASY for people to SEE passwords. Sure, hacker badguys and even 13 year olds may get access to this information, but why make it easier for them to access? Or make it impossible for users NOT to import their passwords?
I'm glad I have never clicked "save my password" on any browser.
Technically passwords that should be retrieved at a later date are stored using two-way encryption. So the thing is, the passwords are always "visible", as they're retrievable. Removing the "Show" button is not really making things more secure as it is retrievable using other means. This is same with all browsers that save passwords.
You could lock it away with a one-way encrypted password but the problem with that is it's just "theatrics", giving a false sense of security... the stored passwords are still two-way encrypted either way, or else they can't be retrieved for later use. That means it is just as breakable as if they weren't. Once the hacker finds the password database on your computer it should be considered compromised.
If you don't trust your browser or your computer then you should use a service like LastPass or 1Password, i.e. if you consider them trustworthy to handle your passwords and if you're not on an insecure WIFI network. There is really no other way around it.
I do agree though that all browsers should be more clear about it... unfortunately it's not particularly easy to explain computer security to a user who is not a computer science nerd.
I have been waiting for so long to bash you on this point. And now when it comes, I'm at an utter loss for words.
What would it take to open your eyes to the severity of the matter? Are you really intending to let this slide away? Putting a master-password or some other level of security over the stored passwords is not such a big deal either that you would want to so actively evade them.
Are you counting on insecure stored passwords as a "differentiating feature" from Firefox?
I had stayed off Chrome for a long time due to the same reason: "No security for my stored passwords". But then I switched because Chrome became very fast and I used LastPass for storing passwords.
I'm telling you this because I'll not shy away from recommending Firefox or even IE10 to other people when they are looking for a browser, because hey, Chrome lets other people see your passwords, just like that.
As an IT professional and tech trainer I do agree with Justin. There is a lot of general education that does need to go on with the public to make them understand this. If Chrome artificially lulled users into a false sense of security it would be just as bad. It's like places that put up fake video cameras and then when someone gets mugged they want to see the footage. The reality for end users is that they should not be storing important passwords to things like banking and most of the other ones can be recovered so easily that weather they are in plain text really makes little difference. Generally everyone has to get better about security and sites with a single layer of authentication like a password are really not all that secure to begin with.
No idea how does it look like in other operating systems - especially under Linux which doesn't have THE keychain, it has keychains (ie. there's no common api to access a particular KDE/Gnome/etc implementation of it).
With keychain locked, Chrome asks for its password every time it needs to fetch a password - be it showing a list of them or pulling a password for particular site. It's done in a proper manner, and if you hand the keys to your house to that guy... well, you better trust them :)
The clear-text storage of Chrome passwords and the Google devs stubborn refusal to admit that this is a problem is VERY old news.
It has been discussed ad nauseum for years. As is the frequent suggestion to store all passwords via third party utilities or services (keepass, lastpass, etc).
The password protected password manager is the main reason why Firefox remains my primary browser. If my laptop is stolen, I'm confident that my passwords will be safe (although I still do not store banking related passwords.) More info at raidersec.blogspot.com/2013/06/how-browsers-store-your-passwords-and.html
Encrypted passwords are only unlocked in FF during a single browser session after one has entered the master password. Do people not understand this??
Way too easy. My little brother screwed me over twice with this. This has been an issue for me every since switching from firefox to chrome. If you're going to offer a saved password option at least give me a master password option too. or at least give me a warning that this is a dumb idea.We're not all security experts. By not enabling a thin layer of falls security you just turned my grandmother into a computer hacker.
And being the head of security at chrome I'd think you would be able to secure chrome at a browser level even if it is vulnerable in the OS. Unacceptable, but then again I'm just a novice.
who the hell uses the saved password feature? Seriously, its a password, everyone knows you should never write down you passwords. why would saving it be any different? Chrome still has to provide the feature to compete with other browsers, but just because a feature exists doesn't mean you should use it. Think about it, he was able to import passwords from another browser. What does that say about how other browsers store their passwords? It is a stupid assumption that a saved password is secure.
Actually, I think it may just be a better idea to prompt for a master password if someone click's show password. Since chrome can be tied to your google account I think using your google account password plus the second verification step before you can show any of the passwords would be a good solution. That way, your passwords are saved, and if you want to see them you need to verify that it's you.
While Pidgin had this ridiculous approach too, what is preventing these schmucks from at least warning the user about storing it in clear ? I was shocked when I realized how it was being stored. Firefox at least requires a password before showing (I think). Just use LastPass already!
There is a saying in hindi
- "Taala sharifon ke liye hota hai.". Loosely translated as "locks are for decent people". We put the locks for decent people not thieves. For a thief its nothing but an inconvinience. And we still put the locks, don't we?
Does Justin have a Post-It stuck to his monitor labeled "Secret - Please Don't peek" with all of his passwords written on the back? Pretty tempting to anyone that may be somewhat ethically challenged.
Yeah, I don't leave my wallet on my desk either.
before the "show passwords" button, there is a "use a master password" option that is unticked by default.
Generaly tho, i don't have any passwords there (all of them are in lastpass), except a few email account ones. Why do i have ANY passwords there? Well, they are being used by an extension that sort of needs them to push notifications about emails. I do have them protected by a master password, but the extension can still acess them. However, the extension has an option to ask for the password if i click one of the mailboxes in its menu. But then again i can still bypass that if i type the adress of one webmail provider, because i will get credentials for it. A good way around it would be if that extension developer would integrate with lastpass somehow, but does lastpass allow that? Now or in the future forevermore?
There is a serious problem with your logic here. The only way to protect you OS user account is by encrypting it. I would bet a LOT of money that the majority of Chrome users have never even heard of encryption let alone implemented it. To even have Chrome remember passwords when it runs on systems that doesn't require a user to configure a password is a mess. There should at least be a warning to users that if they choose to have Chrome remember a password there is a very high risk of that password being compromised.
Yes, but by your reasoning, surely obfuscating passwords when inputted into websites is also pointless, yet you do do this in Chrome, which is inconsistent with your reasoning.
I know, and you know, that locking one's account is the Thing To Do when not at one's terminal, but Joe User is still learning this, and in practice, most people do not lock their terminals when AFK, leaving them open to others in the household/dorm/school/office/whatever.
Yes, locking the account is the user's responsibility, but it wouldn't hurt to help them out, by not making it possible to view all a user's passwords in their chrome preferences.
Again, I'm aware that you could simply hop into keychain and check "show password", but this prompts for the user account password. At the very least, you should be doing the same.
> Yes, but by your reasoning, surely obfuscating passwords when inputted into websites is also pointless, yet you do do this in Chrome, which is inconsistent with your reasoning.
Passwords are normally masked to prevent shoulder surfing, but the presumption is that the correct person is still at the keyboard. When you explicitly chose to show a password, the presumption is that you attempt to be aware of who is around you. If the bad guy is at the keyboard for your unlocked account, the fact is you've already lost.
> Yes, locking the account is the user's responsibility, but it wouldn't hurt to help them out, by not making it possible to view all a user's passwords in their chrome preferences.
This isn't about pushing responsibility off on the user. It's about not tricking users into believing they're safer than they actually are.
> Again, I'm aware that you could simply hop into keychain and check "show password", but this prompts for the user account password. At the very least, you should be doing the same.
If I'm an attacker, why would I use the keychain app to get Safari passwords? Just navigate to the site and change the auto-filled password field to text, or use an extension, or one of the many system-level approaches you have at your disposal. Many of these things are even available as tools that any novice can trivially acquire and use.
You're still missing the point, and you're scarily out of touch. A novice (I use my mother as my reference novice) has NO IDEA how to go about changing a form field type, but does know how to drill into preferences and look at passwords-on-a-silver-platter.
If you honestly think that the average user knows how to crack, hack and phreak, you're on another planet.
I cannot comprehend what useful purpose showing the passwords achieves. This falls into the same bucket as eCommerce sites which email the user their password after they sign up. In fact, again, by your measure, why do other google products not display passwords in plaintext? For instance, gmail?
I also note you sidestepped the suggestion of enforcing access control before allowing a user to view these passwords - it wouldn't be painful to implement, and would to a large degree obviate the issue.
I'm sorry, but I really do understand your argument. You're claiming that the same novice who can't install a simple application or or follow three steps to reveal a password on the page will be capable of drilling down through the Chrome settings menus and displaying passwords. The corollary to your claim is that the threat of this novice outweighs the damage of encouraging people to leave their computers unlocked in a potentially hostile environment.
Drawing equivalence to sites that email your password is also misguided. The issue with those sites is that, contrary to a password manager, they have no reason to ever retain the cleartext password. And more fundamentally, there's no excuse to ever transmit credentials in the clear over a network. Whereas in this case, we're talking about showing the user passwords that must be retained in a recoverable form, displaying only on user request, and within a security context that can trivially access them anyway.
At this point I think I've repeatedly conveyed the reasons for Chrome's design decisions on this front. Since there's no new information, and the discussion seems to be going around in circles, I don't really see a value in continuing this thread.
The value, I think, is in challenging your own beliefs.
To be honest this reminds me a lot of how Microsoft used to treat issues in their code/software 'Oh, that's a user error. That's not a bug, that's a feature!'. And then when you get pushback you go 'I've discussed this enough, no more talking with the plebes'.
Your axiom seems to be that anyone with access to your computer should be 'trusted'.
In other words, if I hand my laptop to my spouse I am essentially granting her root privileges.
A lot of us are making the point that this isn't true. I may have a wife, children or a roommate who I trust to use my laptop but don't want to make my passwords easily visible.
When I hand my laptop to my wife I have an expectation that without resorting to some special tools she should not be able to find out what my Amazon password is or what my hotmail password is.
Your position seems to be that by making these passwords visible you are encouraging more secure behavior - ie. I will now log my computer into a 'guest' account every time I give it to my wife.
It just seems like you don't get how people ACTUALLY use your product. For many reasons I'm not going to lock my computer every time I give my laptop to my wife or a roommate. I have an expectation that there is SOME obscurity that protects my passwords even if it's just obscurity by not explicitly showing the password. You're not going to change my behavior and frankly most of us are pretty shocked that a) you are so resistant to challenging your own axioms b) you think this is somehow our fault for expecting Chrome to not have a giant 'show passwords' button.
You need to challenge your assumption that the 'attacker' is some malicious agent. Widen the scope to also include the suspicious spouse or the prankster roommate and you'll understand why we think this is a bigger deal than you seem to consider it. Even if it just presents a small barrier I think most of us feel that small 'annoyance' is enough to prevent pranks and snooping spouses.
I can see you don't, which is why I'm trying to pose it variously.
It's a simple one: why make it easier for a user to be compromised than is necessary? Why is it such a problem to ask the user to enter their account password before viewing this prefpane? You've not provided a valid argument against this.
As to lulling users - they already are. All of your marketing screams about how secure chrome is, how you don't need to worry about security, and all the rest, so showing their plaintext passwords just seems... silly.
> Why is it such a problem to ask the user to enter their account password before viewing this prefpane?
You're trying to prevent my friends from fetching my email password to look secretly at my self-nude pictures.
Justin is trying to prevent my enemies from fetching my email password to gain access to my bank account and rob me of all my money.
His point is Chrome preventing the former threat, while useful by itself, can lead me to believe that I'm also protected against enemies with physical access. This belief, as we know, makes preventing the latter threat impossible. As he cares way more about the latter threat, he thinks it's counterproductive to defend against the former.
> All of your marketing screams about how secure chrome is
To be fair, that refers to being secure against remote attackers, which is the primary concern of a browser since there's not much the user can do about it by himself.
Yeah but his point is really silly. He's trying to make the argument that by making it impossible to lock the car we won't leave valuables in it.
His argument is that since a person could just smash the windows and open the car that way there's no point in putting locks on the door.
It's just a very myopic and weirdly out of touch position. He seems to think that he's 'training' users to have more secure practices? This isn't the business world. You don't get to blame the user for not being security experts. He should be doing everything in his power to make it inconvenient and difficult to access a user's passwords.
> Why is it such a problem to ask the user to enter their account password before viewing this prefpane? You've not provided a valid argument against this.
Most users do not have to enter their password when their OS boots, and thus won't know what it is. So offering it in Chrome is an inconvenience for most users, but adds no extra security. Once an attacker has physical access and can run Chrome browser it's game over and they can get everything, even if Chrome asks for a password before showing you the password pane.
Users should be setting up "guest" accounts for their OS and "Guest" user profiles for their web browsers.
what makes you think that people that hate to remember passwords will want to remember a password that locks them out of their password? This is stupid. Users that care about security will LEARN about more secure solutions one way or another. Don't treat humans as dumb fucks.