Take the 2-minute tour ×
Information Security Stack Exchange is a question and answer site for Information security professionals. It's 100% free, no registration required.

I recently had a conversation with a friend in which I told him that everything written on Facebook can be seen by the Facebook admin staff. As a software engineer and database administrator I know that if one user's data can be displayed to another user on a website, then that data can likewise be displayed to other admin staff. Of course this excludes data that is stored but never displayed - such as hashed passwords. Anyway, as far as I know, Facebook currently uses MySQL to hold their indexes and Apache Cassandra to hold the data for these indexes.

Can someone point me to an article that either shows that Facebook admins can read user's data at will, or that admins of this particular combination of database software can read all data stored within. I would like to be able to demonstrate this to someone who is unfamiliar with databases.

p.s. I realize that Facebook is huge and therefore the chances of any admin having the inclination to read my data are low, nevertheless, this question about about possibility, not probability.

share|improve this question
1  
While Terry Chia did a good job of showing through Facebook's Data Usage Policy that they have the ability to access it. It is worth pointing out that your statement about admin's being able to see information if more than one user can see it is incorrect. While Facebook does not implement it, it is entirely possible for a system to be configured such that administrators can not access the data at rest, even if it is shared with multiple users. The simplest approach is using keyrings where each user has a keyring that holds asymmetrically encrypted data access keys. –  AJ Henderson Feb 26 '13 at 13:59
    
-- Each data element would be stored with a symmetric data encryption key. That key would then be encrypted with the public key of any users that it should be shared with and the encrypted key added to the key rings of the users who should have access. Since the admin lacks the private key of the user, they are unable to get at the data access key and thus cannot read the record. –  AJ Henderson Feb 26 '13 at 14:00
    
hmmm that's interesting, but i am asking about facebook specifically. clearly facebook doesn't do this since users do not have to enter keys or certificates during the login process. –  mulllhausen Feb 27 '13 at 3:31
    
yeah, I realize the question is about facebook specifically, that's why I made it a comment rather than an answer. I just felt it would be worth mentioning that one of the base assumptions was not entirely accurate. Also, users don't have to enter keys or certs in that kind of a system, the keys or certs are simply protected by the login credentials. Normally all the key management is internal. Facebook could use such a system, if they wanted, though password recovery would be more complicated. –  AJ Henderson Feb 27 '13 at 13:56
    
fair enough. i didn't consider a key accessible via a password. if the password were hashed in the db then this would also be ultra-secure. since i have no way of knowing if facebook does indeed do this (although i suspect they don't) then this is a valuable contribution. cheers! –  mulllhausen Feb 28 '13 at 14:19

1 Answer 1

Technically speaking, you are correct. Your Facebook data isn't encrypted and can be read by anyone with direct access to Facebook's database infrastructure.

Facebook's Data Use Policy, emphasis my own.

We use the information we receive about you in connection with the services and features we provide to you and other users like your friends, our partners, the advertisers that purchase ads on the site, and the developers that build the games, applications, and websites you use. For example, in addition to helping people see and find things that you do and share, we may use the information we receive about you: as part of our efforts to keep Facebook products, services and integrations safe and secure; to protect Facebook's or others' rights or property; to provide you with location features and services, like telling you and your friends when something is going on nearby; to measure or understand the effectiveness of ads you and others see, including to deliver relevant ads to you:

to make suggestions to you and other users on Facebook, such as: suggesting that your friend use our contact importer because you found friends using it, suggesting that another user add you as a friend because the user imported the same email address as you did, or suggesting that your friend tag you in a picture they have uploaded with you in it; and for internal operations, including troubleshooting, data analysis, testing, research and service improvement.

IANAL, but the bolded part suggest that by using Facebook, you are giving Facebook permission to analyze your information.

It is very likely though that Facebook has internal policies regarding staff access to such information. Also, given the sheer size of Facebook's data, it is unlikely that a human employee will sit at a desk and read your personal information. Any analysis done by Facebook will most likely be done by computers and algorithms.

share|improve this answer
    
ah yes, the legal aspect is important too. i wrote my question regarding what admins can do technically, but this answers what admins are permitted to do legally. thanks! –  mulllhausen Feb 26 '13 at 5:21
    
i will add the bit about admin inclination into the end of my question. –  mulllhausen Feb 26 '13 at 5:22
    
@mulllhausen If you are to disregard the legal side of it, it is definitely very possible. The Facebook part of the question is irrelevant. Any unencrypted data you send to servers outside your control can be read by admins of said server. Doesn't matter if said server is a $20/month VPS or a multi-billion dollar datacenter. –  Terry Chia Feb 26 '13 at 5:32
    
i know this, but i was after a link that i could use to demonstrate this fact to someone who is unfamiliar with databases –  mulllhausen Feb 26 '13 at 5:37
    
Consider this as a "cover our asses" clause. At some point something is gonna break, and someone's gonna have to do some test queries on the live database which will return some personal data and potentially private messages, wall posts, etc. They're covering themselves against legal issues here by making you agree to that kind of thing beforehand. –  Polynomial Feb 26 '13 at 12:04

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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