- 10 Hot Big Data Startups to Watch
- 11 Unique Uses for Google Glass, Demonstrated by Celebs
- How to Export Your Google Reader Account
- How to Better Engage Millennials (and Why They Aren't Really so Different)
CSO - There's been an incredible number of records breached this year, including:
All of this begs the question: What can organizations do to better secure their databases? Who better to address that question than noted database security expert David Litchfield?
Litchfield is author of "Oracle Forensics: The Oracle Hacker's Handbook", the "Database Hacker's Handbook" and "SQL Server Security", and co-author of the "Shellcoder's Handbook". He is recognized as one of the world's leading authorities on database security, and has uncovered hundreds of vulnerabilities in software from companies such as IBM, Microsoft, and Oracle.
Litchfield is currently working on V3rity, his database forensic and breach investigation tool. He says this free tool enables more automated investigation of potential database security breaches.
You've seen your share of database deployments. What would you say is one of the most important things organizations can do today to keep their databases secure?Litchfield: The first is to change all default and simple-to-guess passwords. The major database vendors have recently become better at helping with this issue. In the past few years they've stopped shipping database servers with default user IDs and passwords. But for a very, very long time they were shipping all of their databases with default userIDs and passwords. Certainly for older systems, default passwords are still a major issue. Many times, while conducting security assessments, it was -- and still is -- incredibly shocking to see how many organizations run default access credentials. Another simple yet often overlooked area is keeping software patches up to date. While it can be very difficult with production database systems, given that they are in use, there are ways to make sure you keep the software up to date during scheduled maintenance.
Beyond patch updates and good password management, what else can organizations be doing that they're not?Use the principle of least privilege within their applications. This is a very important one. People are pressured into getting their applications running as quickly as they can. However, when they try to manage permissions properly, that good practice can delay deployment slightly. So they say, "Oh look, let's just give users all the permissions. The application seems to work with these settings. Let's shove that into production." Not a great approach. If you don't want a breach, it's really worth spending the extra time to design an application that operates on least privilege.
Give readers an idea of what you mean. An example could be that a customer service representative may be allowed to look at one customer at a time, but not do a search for all customers. And they can only see things relevant to support. What else would be involved?That's part of it, but it's not just that. Consider the registration side of database management. That requires the ability to manage the database. Whereas the other side, where you're just selecting profile information for yourself, that only requires select privileges. There should be two parts of the application: one account for the registrations that has the ability to insert, but for the other stuff, which only requires select permissions, that should be using a distinct account. You should look at the application and say, "What permissions are required where?" Rather than have one account that has the ability to do everything, each part of the application should only be allowed to perform specific functions. By designing an application and using the principle of least privilege, organizations can mitigate their risk.