IP Library Granted Patent US 10,831,750
Granted Patent B2
US 10,831,750 · App. 15/684,325 · Granted Nov 10, 2020

Security monitoring with progressive behavioral query language databases

Inventors: Xusheng Xiao (Cleveland, OH); Zhichun Li (Princeton, NJ); Mu Zhang (Plainsboro, NJ); Guofei Jiang (Princeton, NJ); Jiaping Gui (Los Angeles, CA); Ding Li (West Windsor, NJ)
Assignee: NEC Corporation
G06F16/24532G06F16/245G06F16/24535G06F16/24545G06F21/57G06F21/6227G06F16/22G06F2221/034
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,831,750
App. No.
15/684,325
Granted
Nov 10, 2020
Kind
B2
Abstract

Automated security systems and methods include a set monitored systems, each having one or more corresponding monitors configured to record system state information. A progressive software behavioral query language (PROBEQL) database is configured to store the system state information from the monitored systems. A query optimizing module is configured to optimize a database query for parallel execution using spatial and temporal information relating to elements in the PROBEQL database. The optimized database query is split into sub-queries with sub-queries being divided spatially according to host and temporally according to time window. A parallel execution module is configured to execute the sub-queries on the PROBEQL database in parallel. A results module is configured to output progressive results of the database query. A security control system is configured to perform a security control action in accordance with the progressive results.

Claims (28)

1. An automated security system, comprising:

a plurality of monitored systems, each having one or more corresponding monitors configured to record system state information;

a progressive software behavioral query language (PROBEQL) database configured to store the system state information from the plurality of monitored systems;

a query optimizing module comprising a processor configured to optimize a database query, that includes an update frequency, for parallel execution using spatial and temporal information relating to elements in the PROBEQL database, the optimized database query being split into a plurality of sub-queries that have an expected execution time based on the update frequency, with sub-queries being divided spatially according to host and temporally according to time window;

a parallel execution module configured to execute the sub-queries on the PROBEQL database in parallel and to determine actual execution information for executed sub-queries, wherein the query optimizing module is further configured to adjust an event processing rate for subsequent sub-queries based on the determined actual execution information for the executed sub-queries and the update frequency;

a results module configured to output progressive results of the database query according to the update frequency; and

a security control system configured to perform a security control action in accordance with the progressive results.

2. The automated security system of claim 1 , wherein the database query further comprises a subject, an operation, and an object that the subject operates on.

3. The automated security system of claim 1 , wherein the results module is further configured to output progressive results from executed sub-queries.

4. The automated security system of claim 1 , wherein the query optimizing module is further configured to split the database query into sub-queries in accordance with a sequential workload partitioning with initialization cost strategy.

5. The automated security system of claim 4 , wherein the sequential workload partitioning with initialization cost strategy is online adaptive workload prediction partitioning.

6. The automated security system of claim 4 , wherein the query optimizing module is further configured to compute initialization costs as separate workloads for the purpose of partitioning.

7. The automated security system of claim 1 , wherein the security control system is further configured to automatically issue the database query when a triggering condition is met.

8. An automated security method, comprising:

monitoring system state information from a plurality of monitored systems;

storing the monitored system state information in a progressive software behavioral query language (PROBEQL) database;

optimizing a database query, that includes an update frequency, for parallel execution using spatial and temporal information relating to elements in the PROBEQL database, the optimized database query being split into a plurality of sub-queries that have an expected execution time based on the update frequency, with sub-queries being divided spatially according to host and temporally according to time window;

executing the sub-queries in parallel;

determining actual execution information for executed sub-queries;

adjusting an event processing rate for subsequent sub-queries based on the determined actual execution information for the executed sub-queries and the update frequency;

outputting progressive results of the database query according to the update frequency; and

performing a security control action in accordance with the progressive results.

9. The method of claim 8 , wherein the database query further comprises a subject, an operation, and an object that the subject operates on.

10. The method of claim 8 , wherein outputting progressive results of the database query comprises outputting results from executed sub-queries.

11. The method of claim 8 , wherein optimizing the database query comprises splitting the database query into sub-queries in accordance with a sequential workload partitioning with initialization cost strategy.

12. The method of claim 11 , wherein the sequential workload partitioning with initialization cost strategy is online adaptive workload prediction partitioning.

13. The method of claim 11 , wherein optimizing the database query comprises compute initialization costs as separate workloads for the purpose of partitioning.

14. The method of claim 11 , further comprising automatically issuing the database query when a triggering condition is met.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 24, 2020
From: NEC LABORATORIES AMERICA, INC.
To: NEC CORPORATION
Reel/Frame 053866/0854 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 13, 2018
From: LI, DING
To: NEC LABORATORIES AMERICA, INC.
Reel/Frame 044909/0697 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 23, 2017
From: XIAO, XUSHENG; LI, ZHICHUN; ZHANG, MU; JIANG, GUOFEI; GUI, JIAPING
To: NEC LABORATORIES AMERICA, INC.
Reel/Frame 043373/0482 →
Cited By (1)
US 12,591,578