Much of the sensitive data in any organization is stored in a database system. There is a natural need to manage the security of the sensitive information. Our goal in this project is to develop tools to manage database security.
There are two broad facets of the problem we address.
Fine Grained Authorization
We are working on developing the database system infrastructure for supporting fine grained authorizations. The idea is that there is an authorization policy in place that determines how data can be accessed by users. Unlike the SQL standard that supports only coarse grained authorization our goal is to permit fine-grained access to data. The second and related challenge is efficient query processing. Since the policy is applicable for all data access, every query run in the system has to be made compliant (by potentially rewriting it). Clearly, there is a tradeoff between the expressivity of the policy language and the query performance. On the one hand, if the policy is expressed through arbitrary user defined code, then enforcing it may impose a high overhead on query processing. Our challenge is to design an authorization infrastructure that simultaneously allows us to express rich policies without adversely impacting query performance.
The second facet of data compliance we address is auditing. Database systems have support to monitor various operations performed against the database server. This audit trail is used offline to perform ad-hoc analysis of potential security breaches and threats. In fact, commercial tools are available that help analyze events such as login failures and schema changes. However, the support for data auditing is rather limited. The goal of data auditing is to ask whether any of the queries and updates that were run against the system potentially breached information about sensitive data. The key challenges in data auditing are: 1) semantics: what does it mean for a query to potentially breach sensitive information and 2) performance: we are often analyzing audit trails spanning long periods of time (weeks or even months) during which a large number of queries and updates can be run. Thus it becomes essential to make the auditing as efficient as possible.
- Daniel Fabbri, Ravi Ramamurthy, and Raghav Kaushik, SELECT Triggers For Data Auditing, in IEEE International Conference on Data Engineering (ICDE), International Conference on Data Engineering, 9 April 2013
- Yupeng Fu, Raghav Kaushik, and Ravi Ramamurthy, On Scaling Up Sensitive Data Auditing, Very Large Data Bases Endowment Inc., 1 January 2013
- Raghav Kaushik and Ravi Ramamurthy, Efficient Auditing For Complex SQL queries, in SIGMOD, ACM, June 2011
- Surajit Chaudhuri, Raghav Kaushik, and Ravi Ramamurthy, Database Access Control & Privacy: Is There A Common Ground?, in Conference on Innovative Database Research, January 2011
- Surajit Chaudhuri, Tanmoy Dutta, and S Sudarshan, Fine Grained Authorization Through Predicated Grants, in IEEE International Conference on Data Engineering, IEEE, 5 April 2007
- Govind Kabra, Ravishankar Ramamurthy, and S.Sudarshan, Redundancy and Information Leakage in Fine Grained Access Control, in ACM SIGMOD Conference, 2006