IP Library Granted Patent US 11,361,077
Granted Patent B2
US 11,361,077 · App. 16/865,665 · Granted Jun 14, 2022

Kernel-based proactive engine for malware detection

Inventors: Or Herman Saffar (Ofakim, IL); Yevgeni Gehtman (Modi'In, IL)
Assignee: Dell Products L.P.
G06F21/566G06F21/52G06F2221/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 11,361,077
App. No.
16/865,665
Granted
Jun 14, 2022
Kind
B2
Abstract

A kernel-based proactive engine can be configured to evaluate system call functions that are invoked when user-mode objects make system calls. As part of evaluating a system call function, the kernel-based proactive engine can generate a feature vector for the system call function. The kernel-based proactive engine can then analyze the feature vector using a multidimensional anomaly detection algorithm that has been trained using feature vectors of system call functions that are known to be safe. When the evaluation indicates that the feature vector is anomalous, the kernel-based proactive engine can block the system call.

Claims (42)

1. A method for detecting malware comprising:

detecting that a system call has been made, wherein the system call comprises a mechanism by which a user mode object requests that a kernel of an operating system provides a service to the user mode object;

in response to detecting that the system call has been made, monitoring execution of a system call function that the system call invokes, wherein the system call function comprises code that the kernel of the operating system executes to provide the service to the user mode object;

in conjunction with monitoring the execution of the system call function, creating a feature vector for the system call function, the feature vector defining a plurality of features of the system call function that are identified while monitoring the execution of the system call function;

evaluating the feature vector for the system call function using a multidimensional anomaly detection algorithm to thereby generate a score indicating whether the feature vector for the system call function is anomalous; and

when the score indicates that the feature vector for the system call function is anomalous, blocking the system call, whereas when the score indicates that the feature vector for the system call function is not anomalous, allowing the system call.

2. The method of claim 1 , wherein the plurality of features of the feature vector includes a number of steps feature.

3. The method of claim 2 , wherein the number of steps feature identifies a number of system call functions that are invoked during execution of the system call function.

4. The method of claim 1 , wherein the plurality of features of the feature vector includes one or more count features.

5. The method of claim 4 , wherein the one or more count features include one or more of:

a delete count feature that identifies a number of delete operations the system call function performs;

an open count feature that identifies a number of open operations the system call function performs; or

a create count feature that identifies a number of create operations the system call function performs.

6. The method of claim 1 , wherein the plurality of features of the feature vector includes a via library feature that identifies whether the system call function uses a library to invoke a known-safe system call function.

7. The method of claim 1 , wherein the feature vector includes a by user feature that identifies whether the system call is made by a user component.

8. The method of claim 1 , wherein the plurality of features of the feature vector includes a new system feature that identifies whether a system on which the system call is made is new.

9. The method of claim 1 , wherein the multidimensional anomaly detection algorithm is trained using feature vectors for known-safe system call functions.

10. The method of claim 1 , wherein the multidimensional anomaly detection algorithm is the Local Outlier Factor (LOF) algorithm.

11. The method of claim 1 , wherein blocking the system call comprises preventing the system call function from returning successfully.

12. The method of claim 1 , wherein detecting that the system call has been made comprises:

registering one or more probes; and

associating a handler with the one or more probes.

13. The method of claim 1 , wherein the plurality of features of the system call function comprise:

a number of steps feature;

a delete count feature;

an open count feature;

a create count feature;

a by user feature;

a new system feature; and

a via library feature.

14. One or more computer storage media storing computer executable instructions which when executed implement a method for detecting malware comprising:

detecting that a system call has been made, wherein the system call comprises a mechanism by which a user mode object requests that a kernel of an operating system provides a service to the user mode object;

in response to detecting that the system call has been made, monitoring execution of a system call function that the system call invokes, wherein the system call function comprises code that the kernel of the operating system executes to provide the service to the user mode object;

in conjunction with monitoring the execution of the system call function, creating a feature vector for the system call function, the feature vector defining a plurality of features of the system call function that are identified while monitoring the execution of the system call function;

evaluating the feature vector for the system call function using a multidimensional anomaly detection algorithm to thereby generate a score indicating whether the feature vector for the system call function is anomalous; and

when the score indicates that the feature vector for the system call function is anomalous, blocking the system call, whereas when the score indicates that the feature vector for the system call function is not anomalous, allowing the system call.

15. The computer storage media of claim 14 , wherein the plurality of features of the feature vector includes a number of steps feature.

16. The computer storage media of claim 15 , wherein the number of steps feature identifies a number of system call functions that are invoked during execution of the system call function.

17. The computer storage media of claim 14 , wherein the plurality of features of the feature vector includes one or more count features.

18. The computer storage media of claim 14 , wherein the plurality of features of the feature vector includes a via library feature that identifies whether the system call function uses a library to invoke a known-safe system call function.

19. The computer storage media of claim 14 , wherein the feature vector includes a by user feature that identifies whether the system call is made by a user component.

20. The computer storage media of claim 14 , wherein the plurality of features of the feature vector includes a new system feature that identifies whether a system on which the system call is made is new.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053578/0183) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 060332/0864 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053574/0221) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 060333/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053573/0535) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 060333/0106 →
RELEASE OF SECURITY INTEREST AT REEL 053531 FRAME 0108 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0371 →
SECURITY INTEREST Recorded Aug 21, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 053578/0183 →
SECURITY INTEREST Recorded Aug 21, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 053573/0535 →
SECURITY INTEREST Recorded Aug 21, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 053574/0221 →
SECURITY AGREEMENT Recorded Aug 18, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 053531/0108 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 4, 2020
From: SAFFAR, OR HERMAN; GEHTMAN, YEVGENI
To: DELL PRODUCTS L.P.
Reel/Frame 052560/0729 →