IP Library Granted Patent US 8,321,387
Granted Patent B2
US 8,321,387 · App. 11/191,415 · Granted Nov 27, 2012

Restricting access to sensitive data

Assignee: International Business Machines Corporation
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,321,387
App. No.
11/191,415
Granted
Nov 27, 2012
Kind
B2
Abstract

Techniques are disclosed for managing execution of queries against databases and more particularly for restricting access to sensitive data in underlying databases. One embodiment includes an operation for managing access to sensitive data in a database. The operation includes receiving, from a requesting entity, a query against the data in the database. The query is executed against the database to obtain a result set. The operation further includes determining whether the result set includes sensitive data based on predefined sensitivity attributes associated with data in the result set. If so, a sensitivity rating is determined for the result set, and a predefined security action is performed with respect to the result set on the basis of the determined sensitivity rating.

Claims (56)

1. A computer-implemented method of managing access to sensitive data in a database, comprising:

receiving, from a requesting entity, an abstract query having one or more result fields, each referencing a logical field of a data abstraction model abstractly describing data in a database, wherein the data abstraction model is configured to facilitate transforming the one or more result fields of the abstract query into a form consistent with a physical representation of the data in the database; and

updating an object to reflect the one or more result fields in the abstract query, whereby the object is dynamically maintained to collectively reflect the fields referenced in the abstract query as well as the previously received queries from the requesting entity;

applying a security rule to the updated object, the security rule defining: (i) one or more unauthorized result field combinations for queries from the requesting entity and (ii) a corresponding security action selected from: (i) a first security action comprising auditing the requesting entity; (ii) a second security action comprising notifying an administrative entity; and (iii) a third security action comprising modifying query results to remove at least a portion of sensitive data from the query results, wherein the modified query results are output to the requesting entity; and

upon determining, by operation of one or more computer processors, that the updated object contains a combination of fields that matches an unauthorized result field combination of the applied security rule, performing the corresponding security action by an application configured to selectively perform each of at least two different security actions selected from: (i) the first security action; (ii) the second security action; and (iii) the third security action.

2. The method of claim 1 , wherein the application is further configured to selectively perform a fourth security action comprising:

removing at least one result field which relates to sensitive data from a received query, whereby a modified query is generated;

executing the modified query against the database to obtain a result set; and

outputting the obtained result set to the requesting entity.

3. The method of claim 1 , wherein the application is further configured to selectively perform a fourth security action comprising:

preventing execution of a received query against the database.

4. The method of claim 1 , wherein applying the security rule to the updated object comprises at least one of:

(i) determining whether a received query includes a total number of result fields which does not exceed a predefined value; and

(ii) determining whether the received query includes one or more unauthorized result field combinations.

5. The method of claim 1 , wherein a sensitivity rating is determined for the query results, based on sensitivity attributes associated with data in the query results, wherein a predefined security action is performed with respect to the query results, based on the sensitivity rating, and wherein a predefined security action is performed with respect to the query results on the basis of the determined sensitivity rating.

6. The method of claim 5 , wherein the third security action further comprises:

outputting the modified query results to a requesting entity.

7. The method of claim 5 , wherein the sensitivity rating is determined by at least one of:

(i) determining a number of sensitive data elements in the query results;

(ii) determining a ratio describing a number of sensitive data elements in the query results versus a total number of elements in the query results; and

(iii) determining a type of the sensitive data.

8. The method of claim 5 , wherein the sensitivity rating is determined by:

(i) determining a number of sensitive data elements in the query results;

(ii) determining a ratio describing a number of sensitive data elements in the query results versus a total number of elements in the query results; and

(iii) determining a type of the sensitive data.

9. A computer program product comprising:

a computer-readable storage medium having computer-readable program code embodied therewith to manage access to sensitive data in a database, the computer-readable program code comprising:

computer-readable program code configured to receive, from a requesting entity, an abstract query having one or more result fields, each referencing a logical field of a database abstraction model abstractly describing data in a database, wherein the data abstraction model is configured to facilitate transforming the one or more result fields of the abstract query into form consistent with a physical representation of the data in the database; and

computer-readable program code configured to update an object to reflect the one or more result fields in the abstract query, whereby the object is dynamically maintained to collectively reflect the fields referenced in the abstract query as well as the previously received queries from the requesting entity;

computer-readable program code configured to apply a security rule to the updated object, the security rule defining: (i) one or more unauthorized result field combinations for queries from the requesting entity and (ii) a corresponding security action selected from: (i) a first security action comprising auditing the requesting entity; (ii) a second security action comprising notifying an administrative entity; and (iii) a third security action comprising modifying query results to remove at least a portion of sensitive data from the query results, wherein the modified query results are output to the requesting entity; and

computer-readable program code configured to, upon determining, by operation of one or more computer processors when executing the computer-readable program code, that the updated object contains a combination of fields that matches an unauthorized result field combination of the applied security rule, perform the corresponding security action by an application configured to selectively perform each of at least two different security actions selected from: (i) the first security action; (ii) the second security action; and (iii) the third security action.

10. The computer program product of claim 9 , wherein the application is further configured to selectively perform a fourth security action comprising:

removing at least one result field which relates to sensitive data from a received query, whereby a modified query is generated;

executing the modified query against the database to obtain a result set; and

outputting the obtained result set to the requesting entity.

11. The computer program product of claim 9 , wherein the application is further configured to selectively perform a fourth security action comprising:

preventing execution of a received query against the database.

12. The computer program product of claim 9 , wherein applying the security rule to the updated object comprises at least one of:

(i) determining whether a received query includes a total number of result fields which does not exceed a predefined value; and

(ii) determining whether the received query includes one or more unauthorized result field combinations.

13. A system comprising:

one or more computer processors;

a memory containing a program which, when executed by the one or more computer processors, performs an operation to manage access to sensitive data in a database, the operation comprising:

receiving, from a requesting entity an abstract query having one or more result fields, each referencing a logical field of a database abstraction model abstractly describing data in a database, wherein the data abstraction model is configured to facilitate transforming the one or more result fields of the abstract query into a form consistent with a physical representation of the data in the database; and

updating an object to reflect the one or more result fields in the abstract query, whereby the object is dynamically maintained to collectively reflect the fields referenced in the abstract query as well as the previously received queries from the requesting entity;

applying a security rule to the updated object, the security rule defining: (i) one or more unauthorized result field combinations for queries from the requesting entity and (ii) a corresponding security action selected from: (i) a first security action comprising auditing the requesting entity; (ii) a second security action comprising notifying an administrative entity; and (iii) a third security action comprising modifying query results to remove at least a portion of sensitive data from the query results, wherein the modified query results are output to the requesting entity; and

upon determining that the updated object contains a combination of fields that matches an unauthorized result field combination of the applied security rule, performing the corresponding security action by an application configured to selectively perform each of at least two different security actions selected from: (i) the first security action; (ii) the second security action; and (iii) the third security action.

14. The system of claim 13 , wherein the application is further configured to selectively perform a fourth security action comprising:

removing at least one result field which relates to sensitive data from a received query, whereby a modified query is generated;

executing the modified query against the database to obtain a result set; and

outputting the obtained result set to the requesting entity.

15. The system of claim 13 , wherein the application is further configured to selectively perform a fourth security action comprising:

preventing execution of a received query against the database.

16. The system of claim 13 , wherein applying the security rule to the updated object comprises at least one of:

(i) determining whether a received query includes a total number of result fields which does not exceed a predefined value; and

(ii) determining whether the received query includes one or more unauthorized result field combinations.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 26, 2005
From: DETTINGER, RICHARD D.; GLOWACKI, JANICE R.; KOLZ, DANIEL P.; RAO, PADMA S.; SPERBER, MARCI L.; WENZEL, SHANNON E.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 016943/0179 →
Continuity (1)
Related Publication 20070027880A1 · Feb 1, 2007