Dark Reading is part of the Informa Tech Division of Informa PLC

This site is operated by a business or businesses owned by Informa PLC and all copyright resides with them.Informa PLC's registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 8860726.

Perimeter

10/14/2009
01:20 PM
Adrian Lane
Adrian Lane
Commentary
50%
50%

Getting Around Vertical Database Security

A few database administrators told me they wanted to know why database security is vertical and how they can fix it. True, database access controls are vertical. The basic construct of a database is a table, and access controls grant access to tables or columns. This means you can see all of the entries from top to bottom, or none at all. Access is vertical and it lacks granularity.

A few database administrators told me they wanted to know why database security is vertical and how they can fix it. True, database access controls are vertical. The basic construct of a database is a table, and access controls grant access to tables or columns. This means you can see all of the entries from top to bottom, or none at all. Access is vertical and it lacks granularity.Say you want to restrict access to some of the rows, but not all of them. For example, you may not want all human resources personnel to see all employee records in the database, or you may want to restrict call center employees to a subset of all customer records. You then need to divide tables horizontally, safeguarding segments of the table, or even individual rows. There are several ways to do this, but here are a few tricks:

Queries: The most common method to segment horizontally is through queries. You add a 'where' clause to the query to perform additional comparisons, selecting just those rows appropriate to the application or job function.

This is the preferred method, but if you must restrict access of the user who is writing the query, or are worried about Web applications that alter the query dynamically, adding a 'where' clause to the query is insufficient.

Views: A view is nothing more than a virtual copy of a table. This virtual table is defined by a query where we only retrieve a select number of columns and rows, thereby presenting the subset of data you want the user to see. You provide the user access to the view, but not to the underlying table. Views are in essence a mask, revealing some of the information but concealing the rest.

Table Partitioning: Partitioning is where you create one logical table, but disperse physical portions of the table across different databases/partitions. You direct the database to store data in different partitions based upon the key value of the record. For example, data may be keyed 'top secret' and stored in one location, and 'informational' data stored in another. Resetting privileges within each of the databases can shield data within the same table.

Labels. Labeling is a way to tag individual rows with some form of identifier that denotes how the data is handled. Rather than use a key field, a new column is added to the table and labels are applied to each row. Databases with native labeling technology will automatically screen rows from users who do not have access to specified tags. Labels are not available with all databases as a native function, but can be simulated manually adding columns and using views as discussed above.

These solutions are applicable in cases where rewriting or re-architecting the application is not possible, but finer-grained data access controls are needed. In all cases you are adding structure or altering a subset of queries, with each option requiring different management and code change burdens. Use only if access controls cannot provide what you need.

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
Comments
Newest First  |  Oldest First  |  Threaded View
Why Cyber-Risk Is a C-Suite Issue
Marc Wilczek, Digital Strategist & CIO Advisor,  11/12/2019
Unreasonable Security Best Practices vs. Good Risk Management
Jack Freund, Director, Risk Science at RiskLens,  11/13/2019
6 Small-Business Password Managers
Curtis Franklin Jr., Senior Editor at Dark Reading,  11/8/2019
Register for Dark Reading Newsletters
White Papers
Video
Cartoon Contest
Write a Caption, Win a Starbucks Card! Click Here
Latest Comment: This comment is waiting for review by our moderators.
Current Issue
Navigating the Deluge of Security Data
In this Tech Digest, Dark Reading shares the experiences of some top security practitioners as they navigate volumes of security data. We examine some examples of how enterprises can cull this data to find the clues they need.
Flash Poll
Rethinking Enterprise Data Defense
Rethinking Enterprise Data Defense
Frustrated with recurring intrusions and breaches, cybersecurity professionals are questioning some of the industrys conventional wisdom. Heres a look at what theyre thinking about.
Twitter Feed
Dark Reading - Bug Report
Bug Report
Enterprise Vulnerabilities
From DHS/US-CERT's National Vulnerability Database
CVE-2019-11931
PUBLISHED: 2019-11-14
A stack-based buffer overflow could be triggered in WhatsApp by sending a specially crafted MP4 file to a WhatsApp user. The issue was present in parsing the elementary stream metadata of an MP4 file and could result in a DoS or RCE. This affects Android versions prior to 2.19.274, iOS versions prio...
CVE-2019-18980
PUBLISHED: 2019-11-14
On Signify Philips Taolight Smart Wi-Fi Wiz Connected LED Bulb 9290022656 devices, an unprotected API lets remote users control the bulb's operation. Anyone can turn the bulb on or off, or change its color or brightness remotely. There is no authentication or encryption to use the control API. The o...
CVE-2019-17391
PUBLISHED: 2019-11-14
An issue was discovered in the Espressif ESP32 mask ROM code 2016-06-08 0 through 2. Lack of anti-glitch mitigations in the first stage bootloader of the ESP32 chip allows an attacker (with physical access to the device) to read the contents of read-protected eFuses, such as flash encryption and sec...
CVE-2019-18651
PUBLISHED: 2019-11-14
A cross-site request forgery (CSRF) vulnerability in 3xLogic Infinias Access Control through 6.6.9586.0 allows remote attackers to execute malicious and unauthorized actions (e.g., delete application users) by sending a crafted HTML document to a user that the website trusts. The user needs to have ...
CVE-2019-18978
PUBLISHED: 2019-11-14
An issue was discovered in the rack-cors (aka Rack CORS Middleware) gem before 1.0.4 for Ruby. It allows ../ directory traversal to access private resources because resource matching does not ensure that pathnames are in a canonical format.