8

This is a community wiki. I would really like other folk's thoughts on this. I do not want to discuss the ethics of storing plain text passwords either.

For those unfamiliar, libpurple is the library used by Pidgin, and when you choose to save your passwords, it does so as plain text under ~/.purple/accounts.xml.

The reasoning behind this is that if someone can access your user account, you have bigger problems to worry about, among other valid points.

My main worry is that I use my gmail account in Pidgin, and so my gmail password is stored in plain text. Access to someone's email means access to 90% of their other accounts, via password recovery features on most sites. Eeek.

Consider that...

  • My /home is encrypted, if someone gets physical access to the drive
  • I always lock my system when I walk away
  • I'm sensible about installing unofficial packages
  • Any application I run in userland has access to my user files

How safe is this really? Are there any other threats that could potentially access accounts.xml?


Update

Thanks for the replies! So far have:

I'm happy that my data is safe in case of theft. I'm more worried about some process crafted to target these unsecured files. Then again the nature of open source software makes it difficult for malicious apps, as public code review will expose the malicious code.

If you you can think of any other vectors through which these account details could be accessed, I'd like to hear them :)

2
  • 3
    Not that you can reverse it, but I wouldn't have made this community wiki. This question is answerable and now you don't give any incentive as we can not earn reputation with our answers.
    – Peter Smit
    Oct 13, 2010 at 7:35
  • Point taken @Peter, I was worried the question is too subjective and they get closed too easily on the SO and SU exchange sites.
    – invert
    Oct 14, 2010 at 7:46

4 Answers 4

2

For the most part if anyone has physical access to the machine security is null and void. As for "other users" if they are not trying to access the files and might just stumble into it just set the permissions on your home folder so no one else has any access except you.

As far as security over a network I find it hard to believe someone would get into your personal files unless you carelessly leave ports open. If you are concerned use Gufw to manage your firewall. You can also check from this website if you have security holes of some kind: https://www.grc.com/x/ne.dll?bh0bkyd2

Also you can read this security overview on the Ubuntu forums: http://ubuntuforums.org/showthread.php?t=510812

I hope this can be of help to you!

2
  • I use Firestarter to configure iptables. Thanks for the links, very helpful!
    – invert
    Oct 14, 2010 at 7:53
  • regarding physical access, have an encrypted drive means it would be a lot more secure than normal. It prevents most of the obvious attacks from working.
    – cmcginty
    Oct 14, 2010 at 22:38
1

So your concern is application that store sensitive data in clear text. Here are a few suggestions:

  • alternatives: try to find another application that does not store your data in clear text. Empathy can be substitute for Pidgin and store your credentials inside Gnome Keyring, which is a safe store and encrypted,
  • strong password: You can't do much against physical access if the attacker thinks it can find higher values than what will cost him in time and resources cracking by brute force your encrypted hard disk. The stronger your password, the higher the chance the attacker will give up. Check Mozilla article + video about how to make strong password. And for your worry about your Gmail account, you can find Google solution to keep your account access secure.
  • keeping up-to-date: there is always the risk of a security hole in one of your application that could give an attacker access to your disk. E.g. a hole in Flash that leave disk access open could give an attacker free access to plain text files.
4
  • 2
    I agree to use empathy instead pidgin, and yes, pidgin store the information account in 'just plain text'. consider to have strong password, it is useless if the password store in plain text, how strong our password is.
    – squallbayu
    Oct 14, 2010 at 20:17
  • Empathy is the new default IM in Ubuntu, but it's mxit protocol support is buggy (won't connect) so I use Pidgin for that reason. Another alternative is using a separate Jabber account just for IM, instead of my gmail account. Thanks for your response!
    – invert
    Oct 15, 2010 at 11:55
  • @KeyboardMonkey you should try the link I gave above to keep your Google account secure (see 2nd link in the 2nd bullet). At least, even if someone gets hold of your password, you have an added access layer to your Google Account.
    – Huygens
    Oct 19, 2010 at 21:37
  • this is great, perfect timing from Google!
    – invert
    Oct 21, 2010 at 9:55
1

I generally create an encrypted Private directory and move pidgin config and any other more dangerous information (.ssh, etc) into ~/Private. I then create symlinks for the directories in their original locations. To create an encrypted Private directory, use

ecryptfs-setup-private

You may need to install a package as well:

sudo apt-get install ecryptfs-utils 

See the this for more details

4
  • How will this prevent an application from accessing the files on a live system over the network? They can just follow the symlinks.
    – user106132
    Feb 1, 2013 at 3:31
  • My home folder is encrypted already. Is it necessary for me too?
    – user513724
    Mar 21, 2016 at 15:41
  • @user106132, I use a Veracrypt mounted directory with symlinks for this. The volume can be unmounted after use to prevent access. Also, with the volume is on a USB thumb drive clamped to the table, if the computer is taken, or on any device disconnection or reboot, the volume is closed with no data loss, and left behind unless its being targeted. Im not sure if ecryptfs handles device disconnection as gracefully.
    – alchemy
    Jun 28, 2020 at 2:25
  • @Nerdfest, thanks, Id like to start a list here or on another Question about which directories people generally exclude.. .ssh is a good one. Also, Ive read Duplicati stores passwords in plain text (github.com/duplicati/duplicati/issues/2024), although running as root might help this one. Any other directories in Home that might have sensitive information? (I generally exclude .cache in backups and I think this is where Chrome stores active account logins, could be wrong). Technically, any application should be using the root KeyRing for login information. Strange that .ssh does not..
    – alchemy
    Jun 28, 2020 at 2:47
0

If your /home is encrypted, then the only way that the password can be recovered is by unencrypting it, which the only way to do this (unless you have a very large server farm and a lot of time) is to use the password. This could be bruteforced in time, so make sure it is a very strong password.

So, all in all, that is pretty secure. I personally would be happy to keep my gmail password in an encrypted /home directory.

2
  • 1
    I'm pretty happy about the encryption side, I'm more worried about a process running in userland, running under my user privileges, accessing this plain text file, or any other important details in my account. Thanks!
    – invert
    Oct 15, 2010 at 12:00
  • Ahhh ok, I understand what you are meaning now. Well, in that case, i would make sure that all the programs you have are ones from the Ubuntu repository, and are well known. If so, and you don't install any other 3rd party apps, then I would be happy with it. Oct 15, 2010 at 15:54

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.