Perimeter
10/4/2010
05:05 PM
Adrian Lane
Adrian Lane
Commentary
Connect Directly
RSS
E-Mail
50%
50%
Repost This

Data Security: You're Doing It Wrong!

Pete Finnegan's recent webinar, "The Right Way to Secure Oracle," was pretty controversial. His message? Database security is not what's important -- data security is.

Pete Finnegan's recent webinar, "The Right Way to Secure Oracle," was pretty controversial. His message? Database security is not what's important -- data security is.

Most companies use the checklist/tip based approach to secure their databases. However, this is a flawed approach. The checklists available for hardening are based around parameters and the core database software" not the data. The goal must be to secure the *data*, not the software; of course we must use the software settings to secure the data, but the focus of any data security project must be the data.

While I agree with what Pete is trying to do, I don't believe the assertion is correct. If the container where you store your data (i.e., a relational database) is insecure, then data security can be bypassed altogether. SQL injection attacks should prove that data security is dependent on the container as well. But the essence of what Finnegan is advocating is dead-on: Data security should be the focus, and it's not. The correct approach is you do both. That means you can't simply go through a list of best practice to secure the container and expect data to be secure by proxy.

Why is that so important? Because data does not know how to protect itself. Security and appropriate use is not an intrinsic characteristic of the data. Data needs to be secured, and not just black-and-white access control settings, but by defining realistic threats and employing countermeasures. That takes more analysis beyond a configuration and vulnerability check list.

Consider that when we move data into a relational database we map data elements into rows and columns and match the data type to the data attributes. In essence we define the meta-data. This helps us keep bad data from being inserted, and it also helps us with reporting and analysis functions (e.g., high value, average, alphabetical ordering, etc). When we design tables we balance normalization for efficient storage with query performance. We rewrite queries to shorten the execution plan. We use primary keys to avoid duplicates. We partition tables to address scalability. We may use integrity constrains, foreign key relationships, or triggers to control how data is inserted and used. All of these items are design considerations.

It should be exactly the same for data security!

When was the last time you architected a database system for data security? I'll bet never. I think that is the thrust of Pete's argument: DBAs are focused on the container, not on the contents. The same care and attention to detail should be -- and can be -- given for data security as it is for database design. Data security measures are just another form of system design. Where is the sensitive information? How is it used? Who should have access to it? What threats should it be protected from? The answers to these questions help us select database internal features, such as labeling, masking, and auditing, that enhance access controls and authorization maps. Database activity monitoring augments database security measures to verify usage. In some cases we simply don't trust the database container, or the security measures are not granular enough, so we encrypt before it is stored -- at the application layer.

Next time you architect a database, include data security as one of your design constraints. Data security is the goal, and database security is just one of the building blocks to meet that goal.

Adrian Lane is an analyst/CTO with Securosis LLC, an independent security consulting practice. Special to Dark Reading. Adrian Lane is a Security Strategist and brings over 25 years of industry experience to the Securosis team, much of it at the executive level. Adrian specializes in database security, data security, and secure software development. With experience at Ingres, Oracle, and ... View Full Bio

Comment  | 
Print  | 
More Insights
Register for Dark Reading Newsletters
White Papers
Cartoon
Current Issue
Video
Slideshows
Twitter Feed
Dark Reading - Bug Report
Bug Report
Enterprise Vulnerabilities
From DHS/US-CERT's National Vulnerability Database
CVE-2012-0360
Published: 2014-04-23
Memory leak in Cisco IOS before 15.1(1)SY, when IKEv2 debugging is enabled, allows remote attackers to cause a denial of service (memory consumption) via crafted packets, aka Bug ID CSCtn22376.

CVE-2012-1317
Published: 2014-04-23
The multicast implementation in Cisco IOS before 15.1(1)SY allows remote attackers to cause a denial of service (Route Processor crash) by sending packets at a high rate, aka Bug ID CSCts37717.

CVE-2012-1366
Published: 2014-04-23
Cisco IOS before 15.1(1)SY on ASR 1000 devices, when Multicast Listener Discovery (MLD) tracking is enabled for IPv6, allows remote attackers to cause a denial of service (device reload) via crafted MLD packets, aka Bug ID CSCtz28544.

CVE-2012-3062
Published: 2014-04-23
Cisco IOS before 15.1(1)SY, when Multicast Listener Discovery (MLD) snooping is enabled, allows remote attackers to cause a denial of service (CPU consumption or device crash) via MLD packets on a network that contains many IPv6 hosts, aka Bug ID CSCtr88193.

CVE-2012-3918
Published: 2014-04-23
Cisco IOS before 15.3(1)T on Cisco 2900 devices, when a VWIC2-2MFT-T1/E1 card is configured for TDM/HDLC mode, allows remote attackers to cause a denial of service (serial-interface outage) via certain Frame Relay traffic, aka Bug ID CSCub13317.

Best of the Web