IP Library Granted Patent US 10,834,130
Granted Patent B2
US 10,834,130 · App. 15/924,156 · Granted Nov 10, 2020

Detection of malicious attempts to access a decoy database object based on connection type

Inventors: Elad Erez (Redwood City, CA); Amichai Shulman (Tel Aviv, IL)
Assignee: Imperva, Inc.
H04L63/1491G06F16/27G06F16/9535G06F21/6218
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 10,834,130
App. No.
15/924,156
Granted
Nov 10, 2020
Kind
B2
Abstract

A method by a security system for detecting malicious attempts to access a decoy database object in a database. The database includes database objects accessible by clients of the database called database clients. The method includes detecting access to a decoy database object of the database is being attempted by a database client over a connection to the database, where the decoy database object is a database object that is created for the purpose of deceiving an attacker as opposed to being a legitimate database object, determining that the connection is of an application connection type, where the application connection type is a type of connection over which queries generated by a database client are submitted, and responsive to the determination that the connection is of the application connection type, causing an alert to be generated.

Claims (48)

1. A method by a security system implemented by one or more electronic devices for detecting malicious attempts to access a decoy database object in a database, wherein the database includes database objects, including the decoy database object, accessible by clients of the database called database clients, the method comprising:

detecting access to a decoy database object of the database is being attempted by a database client over a connection to the database, wherein the decoy database object is a database object that is created for the purpose of deceiving an attacker as opposed to being a legitimate database object;

determining that the connection is of an application connection type as opposed to a user connection type, wherein the application connection type is a type of connection over which queries generated by application code of a database client are submitted, and wherein the user connection type is a type of connection over which ad-hoc queries generated by a user interacting with a database client are submitted;

responsive to the determination that the connection is of the application connection type, causing an alert to be generated;

detecting a second access and a third access to the decoy database object of the database is being attempted by a database client over a second connection to the database;

determining that the second connection is of the user connection type as opposed to the application connection type;

responsive to the determination that the second connection is of the user connection type and that with the second access, a threshold number of accesses to read from the decoy database object will not have been made within a given period of time, allowing the second access; and

responsive to a determination that with the third access, the threshold number of accesses to read from the decoy database object will have been made within the given period of time, causing a second alert to be generated.

2. The method of claim 1 , further comprising:

detecting a fourth access to the decoy database object of the database is being attempted by a database client over the second connection to the database; and

responsive to a determination that the fourth access attempts to modify the decoy database object, causing a third alert to be generated.

3. The method of claim 1 , wherein the database client is a web server.

4. The method of claim 1 , wherein determining that the connection is of the application connection type is based on analyzing one or more of: a name of the database client, a driver being used by the database client to connect to the database, queries submitted over the connection, an amount of data sent over the connection.

5. The method of claim 1 , wherein the security system includes a security gateway.

6. The method of claim 1 , wherein the security system includes a security analysis server and an agent of the database.

7. The method of claim 1 , wherein the database is a production database.

8. The method of claim 1 , wherein the alert causes the attempt by the database client to access the decoy database object to be blocked.

9. A set of one or more non-transitory computer readable storage media storing instructions which, when executed by one or more processors of one or more computing devices, cause the one or more computing devices to perform operations for detecting malicious attempts to access a decoy database object in a database, wherein the database includes database objects, including the decoy database object, accessible by clients of the database called database clients, the operations comprising:

detecting access to a decoy database object of the database is being attempted by a database client over a connection to the database, wherein the decoy database object is a database object that is created for the purpose of deceiving an attacker as opposed to being a legitimate database object;

determining that the connection is of an application connection type as opposed to a user connection type, wherein the application connection type is a type of connection over which queries generated by application code of a database client are submitted, and wherein the user connection type is a type of connection over which ad-hoc queries generated by a user interacting with a database client are submitted;

responsive to the determination that the connection is of the application connection type, causing an alert to be generated;

detecting a second access and a third access to the decoy database object of the database is being attempted by a database client over a second connection to the database;

determining that the second connection is of the user connection type as opposed to the application connection type;

responsive to the determination that the second connection is of the user connection type and that with the second access, a threshold number of accesses to read from the decoy database object will not have been made within a given period of time, allowing the second access; and

responsive to a determination that with the third access, the threshold number of accesses to read from the decoy database object will have been made within the given period of time, causing a second alert to be generated.

10. The set of one or more non-transitory computer readable storage media of claim 9 , wherein the operations further comprise:

detecting a fourth access to the decoy database object of the database is being attempted by a database client over the second connection to the database; and

responsive to a determination that the fourth access attempts to modify the decoy database object, causing a third alert to be generated.

11. The set of one or more non-transitory computer readable storage media of claim 9 , wherein the database client is a web server.

12. The set of one or more non-transitory computer readable storage media of claim 9 , wherein determining that the connection is of the application connection type is based on analyzing one or more of: a name of the database client, a driver being used by the database client to connect to the database, queries submitted over the connection, an amount of data sent over the connection.

13. A computing device configured to detect malicious attempts to access a decoy database object in a database, wherein the database includes database objects, including the decoy database object, accessible by clients of the database called database clients, the computing device comprising:

one or more processors; and

a non-transitory machine-readable storage medium having instructions stored therein,

which when executed by the one or more processors, causes the computing device to:

detect access to a decoy database object of the database is being attempted by a database client over a connection to the database, wherein the decoy database object is a database object that is created for the purpose of deceiving an attacker as opposed to being a legitimate database object,

determine that the connection is of an application connection type as opposed to a user connection type, wherein the application connection type is a type of connection over which queries generated by application code of a database client are submitted, and wherein the user connection type is a type of connection over which ad-hoc queries generated by a user interacting with a database client are submitted,

responsive to the determination that the connection is of the application connection type, cause an alert to be generated,

detect a second access and a third access to the decoy database object of the database is being attempted by a database client over a second connection to the database,

determine that the second connection is of the user connection type as opposed to the application connection type,

responsive to the determination that the second connection is of the user connection type and that with the second access, a threshold number of accesses to read from the decoy database object will not have been made within a given period of time, allow the second access, and

responsive to a determination that with the third access, the threshold number of accesses to read from the decoy database object will have been made within the given period of time, cause a second alert to be generated.

14. The computing device of claim 13 , wherein the instructions, when executed by the one or more processors, further causes the computing device to:

detect a fourth access to the decoy database object of the database is being attempted by a database client over the second connection to the database,

determine that the second connection is of the user connection type as opposed to the application connection type, and

responsive to a determination that the fourth access attempts to modify the decoy database object, cause a third alert to be generated.

15. The computing device of claim 13 , wherein the database client is a web server.

16. The computing device of claim 13 , wherein the determination that the connection is of the application connection type is based on analyzing one or more of: a name of the database client, a driver being used by the database client to connect to the database, queries submitted over the connection, an amount of data sent over the connection.

17. The computing device of claim 13 , wherein the computing device implements a security gateway or a security analysis server.

Assignments (5)
RELEASE OF FIRST LIEN SECURITY INTEREST IN INTELLECTUAL PROPERTY RECORDED AT R/F 048077/0672 Recorded Dec 1, 2023
From: BANK OF AMERICA, N.A., AS AGENT
To: IMPERVA, INC.
Reel/Frame 065743/0832 →
RELEASE OF SECOND LIEN SECURITY INTEREST IN INTELLECTUAL PROPERTY RECORDED AT R/F 049676/0451 Recorded Dec 1, 2023
From: GOLDMAN SACH BANK USA, AS AGENT
To: IMPERVA, INC.
Reel/Frame 065743/0905 →
SECOND LIEN INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Jan 15, 2019
From: IMPERVA, INC.
To: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
Reel/Frame 049676/0451 →
FIRST LIEN INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Jan 15, 2019
From: IMPERVA, INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 048077/0672 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 31, 2018
From: EREZ, ELAD; SHULMAN, AMICHAI
To: IMPERVA, INC.
Reel/Frame 045406/0338 →
Continuity (1)
Related Publication 20190289034A1 · Sep 19, 2019
Cited By (3)
US 12,536,284 US 12,563,017 US 12,609,963