David Cantrell <d.cantrell@xxxxxxxxxxxxxxxxxxxxxxx> wrote on 17/05/2007 12:47:24: > graham.coles@xxxxxxxxxxxxxxxxxxx wrote: > >> It works for: > >> the same user using ssh as is on the console; > > If someone can remotely log in as you over ssh then they already have your > > password (or worse, certificate!), so why would they try to obtain it from > > a browser? > They can obtain other stuff that I type in the browser, such as > passwords etc that I might use for online banking and which I don't > store in Keychain. Personally, I don't think that the Keychain bit is > particularly important. I'd say it's irrelevant. In this instance it's just being used to remember web passwords much like the 'remember this password' feature offered by a lot of browsers which weakly encrypt them in a file on the hard disk. Personally, I never use this feature in any browser, but the concept is the same. If you are sitting at the machine of a person who has left it logged in and they use this feature, then whatever web browser you are using will believe you are that person and provide access to the website automatically--you don't need to see the password to use it. This is not a vulnerability, it is a feature of convenience over security, which is why I never use it on anything. The only way to 'patch' this is to remove the feature. It is also why I don't leave my machine logged in and accessible to other users, which appears to be the whole basis of this 'vulnerability'. This is user-error, not something that can easily be fixed by a software update. > > They already have total access to all your files, there would appear to be > > nothing more to gain from this. > Perhaps you do (in which case I recommend you stop), but I don't store > all my information in files, and of that which I do, not all those files > are merely protected by my standard login and password. Some, such as > how I authenticate to my bank, are stored in a gpg-encrypted file in > case I ever forget. Others, such as my gpg passphrase, live only in my > head. Trust me, merely logging in as me won't help anyone get at those > data. Maybe not, but logging in as *root* will. Your passphrase does not live only in your head, from time to time you have to type it in for it to be of use. If your machine is rooted, they own your keyboard driver and can see you type it! They also have access to your gpg file, and probably already have a copy of it, along with everything else of interest. Personally, I use encrypted volumes / files for anything private and I *never* store the passwords in the keychain. I also don't allow root access! The whole concept of the keychain, however, is to restrict access to its contents to the owner. If you can happily log in as the owner, then you have everything they can access, INCLUDING the keychain. If they can't do this, you just have some encrypted data. You don't HAVE to store web passwords, of course. > >> the root user using ssh (or someone who can sudo) can inject > >> Javascript into the console user's browser; > > Are you even considering what you are saying? > Yes. Are you? I am. I am also trying hard to see where the threat could emerge. With IE on Windows, users suffering vulnerabilities tend to just find two dozen bits of spyware installed weeks after visiting a website with no idea of how they got there. By comparison, this method would seemingly require you to literally hand over your machine to someone else or for them to have authenticated remote access as you or root. Sounds more like the cure is just to either disable root (and/or remote) login, protect your (strong) passwords/certificates and lock your machine when you leave it. I'd like to know what Apple were supposed to do to fix this? It is, after all, YOUR keychain with YOUR passwords that YOU want applications to recover when YOU are logged in. Why shouldn't YOU be able to access it. If you don't want to use it don't, but if someone has to be logged in as you to read it, that sounds about right. > > Someone has *ROOT* access to your system REMOTELY over ssh and you're > > worried that they might be able to retrieve a password from your keychain. > Yes, it would be annoying if someone rooted my laptop. It would be a > lot more annoying if they not only rooted my laptop but also cleaned out > my bank account via my browser. 'Annoying' is the understatement of the millennium. As far as root access goes, see my comments above regarding key loggers? With root access they will have your gpg file, they will know what processes are running (they will know when you run gpg) and they can capture your keystrokes. Is this then a vulnerability of gpg? So much for keeping your online banking safe. Even if you memorize the passwords, they can still see your keypresses and thereofre empty your bank account. If someone roots your machine, security is non-existant and trust beyond repair. Don't trivialize this by comparing it to a 'might be able to see your web passwords' issue, this is disaster incarnate and game over all rolled into one! > It *is* somewhat disturbing that root can so trivially interfere with > the guts of someone else's processes. Normally, root has to do a lot of > work to do that. With great power comes great responsibility, which is precisely why Macs have the root login disabled and require a user designated as 'Administrator' to authenticate themself whenever system files are modified or installed. Other users are created as non-administrator and remote login is blocked by the firewall. The chances of anyone actually logging in remotely as root on a normal Mac are zero as you, while administrator, would have to specifically enable all of this. This is why Apple warn you not to do it. > >> a different non-root user on the console can do it too > > Which again restricts this vunerability (as previously mentioned) to an > > attacker who happens to be sitting in front of your machine(!) > Did you read the bit where I speculated about setuid applications? Yes, but again if you can get this far you either have the person's identity or root access (bad or hopeless situation respectively). Why worry incessantly about things that you stored in the keychain being accessed when someone can access everything you own. Should the keychain refuse to divulge its contents to a person authenticated as the owner? Is the answer to remove the keychain and watch as people revert to storing their passwords unencrypted in stickies, or text files on their desktop? You normally have to come up with a feasible attack vector for something to be a vulnerability, this seems far too early to be notifying the vendor. Saving passwords on any web browser is a lousy idea from a security perspective. However, people don't like security, they like convenience. The only real fix here is perhaps a disclaimer message advising people not to store important passwords for websites in the browser in the first place. But lets face reality, even if the did would it stop people doing it? > -- > David Cantrell -- Graham Coles The Logic Group Enterprises Limited Logic House, Waterfront Business Park, Fleet Road, Fleet, Hampshire, GU51 3SB, UK Registered in England. Registered No. 2609323