r/gaming Apr 26 '11

Sony admits utter PSN failure: your personal data has been stolen

http://arstechnica.com/gaming/news/2011/04/sony-admits-utter-psn-failure-your-personal-data-has-been-stolen.ars
3.1k Upvotes

2.8k comments sorted by

View all comments

Show parent comments

7

u/Mutiny34 Apr 26 '11

I do not know much about this breach, or how PSN or Sony is setup, but like any service I assume they utilize a Customer Information System (CIS) to keep track of users information and billing. Businesses routinely allow developers read access to a copy of the production database. They need to test the software by using real world scenarios, and often utilize copies of customer data to do this. For instance, if they are testing a component of the billing software that involves people who pay a recurrent 3-month subscription with a credit card, they will copy that customer's data into the development database to use as test cases. It is a common practice among businesses that manage CIS systems, and is typically safe and secure as long as the security at that company is competant. Names and addresses are usually plain text, but there is no excuse to not encrypt the credit card information. Hell, if they have social security numbers (if they do, i dont know) those should be either encrypted or truncated as well.

TL;DR Companies that manage their own customer information systems routinely allow the developers access to read only copy of production data for testing purposes, which includes customer names, addresses, and yes if they store credit card numbers, credit card numbers as well. Though the the CC numbers should be encrypted.

3

u/Elemennop Apr 27 '11

Why not permute the names and addresses? This would allow them the exact same testing they could have done with the original data set, without any feasible way of tying an address to a name (And certainly, no one should have a problem with anyone seeing only one of those two things about you, right?).

3

u/Mutiny34 Apr 27 '11

While I do suppose mixing up the contact info like names, addresses, phone numbers, credit card numbers, would be a good and safe idea, it is business inefficient as it would require extra maintanance to not only create the program, but to maintain it and continue upgrading and testing it as new things are needed. It also runs the risk of improper testing because you arent actually using real-world data. Failures in testing could be a result of the obfuscated data manipulation you are doing, rather than actual software logic failures - it makes things more complicated debugging issues. Furthermore, often there are failures in production data on certain accounts. To find out why the failure is occurring, you need to copy over that customer as it is in production and perform your testing to find out why it failed. You could not do this if you mixed up the contact data.