IP Library Granted Patent US 11,811,803
Granted Patent B2
US 11,811,803 · App. 17/094,414 · Granted Nov 7, 2023

Method of threat detection

Inventors: Paolo Palumbo (Helsinki, FI); Dmitriy Komashinskiy (Helsinki, FI)
Assignee: WITHSECURE CORPORATION
H04L63/1425H04L63/0218H04L63/0254H04L63/145
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,811,803
App. No.
17/094,414
Granted
Nov 7, 2023
Kind
B2
Abstract

There is provided a method comprising: detecting a new process start at a network node of a computer network; determining that said process requires external code modules; observing the times at which one or more external code modules required by the new process are loaded relative to the process starting time; determining that the usage of an external code module required by the new process is anomalous when the time elapsed between the start of the process and loading of said external code module lies outside predetermined expected boundaries; and taking further action to protect the network node and/or the computer network based on determining that the usage of the external code module required by the detected new process is anomalous.

Claims (41)

1. A method of threat detection, the method comprising:

detecting a new process that starts at a network node of a computer network;

determining that said new process requires external code modules by processing file contents of an executable image associated with said new process to retrieve a list of expected external code modules for the new process, wherein the list includes all external code modules that are used by the new process;

observing the times at which one or more of the external code modules in the list of expected external code modules for the new process are loaded relative to a start of the new process;

determining whether one or more external code modules that are not in the list of expected code modules for the new process are loaded;

determining that usage of an external code module is anomalous when the time elapsed between the start of the new process and loading of said external code module lies outside predetermined expected boundaries or said external code module was determined to be not in the list of expected code modules for the new process; and

taking further action to protect the network node and/or the computer network based on the determining that the usage of the external code module is anomalous.

2. The method according to claim 1 , wherein the new process comprises execution of one or more of: a code module, a dynamic load library, a shared object.

3. The method according to claim 1 , further comprising determining whether a related executable image for the new process is known clean, wherein the determining whether the related executable image for the new process is known clean comprises determining whether the executable image satisfies one or more predetermined whitelisting criteria.

4. The method according to claim 1 , wherein the processing the file contents of the executable image comprises one or more of: processing import tables, processing code, extracting various artefacts.

5. The method according to claim 1 , wherein the determining whether the usage of an external code module is anomalous is further based on determining that the external code module belongs to a group of known processes having sufficiently similar properties on the basis of comparing file names of executable images for new processes and/or comparing portions of the file contents of the executable images for the new processes.

6. The method according to claim 1 , wherein the taking further action to protect the computer network and/or network node comprises one or more of:

preventing one or more of network nodes from being switched off;

switching on a firewall at the one or more of network nodes;

warning a user of the one or more of network nodes that signs of a security breach have been detected; and/or

sending a software update to the one or more of network nodes.

7. A computer apparatus comprising:

a memory comprising computer-executable instructions; and

one or more processors configured to execute the computer-executable instructions and cause the computer apparatus to perform a method of threat detection that causes the computer apparatus to:

detect a new process that starts at a network node of a computer network;

determine that said new process requires external code modules by processing the file contents of an executable image associated with said new process to retrieve a list of expected external code modules for the new process, wherein the list includes all external code modules that are used by the new process;

observe the times at which one or more of the external code modules in the list of expected external code modules for the new process are loaded relative to a start of the new process;

determine whether one or more external code modules that are not in the list of expected code modules are loaded for the new process;

determine that usage of an external code module required by the new process is anomalous when the time elapsed between the start of the new process and loading of said external code module lies outside predetermined expected boundaries or said external code module was determined to be not in the list of expected code modules for the new process; and

take further action to protect the network node and/or the computer network based on the determining that the usage of the external code module is anomalous.

8. The computer apparatus according to claim 7 , wherein the new process comprises execution of one or more of: a code module, a dynamic load library, a shared object.

9. The computer apparatus according to claim 7 , the one or more processors being further configured to determine whether a related executable image for the new process is known clean, wherein the determining whether the related executable image for the new process is known clean comprises determining whether the executable image satisfies one or more predetermined whitelisting criteria.

10. The computer apparatus according to claim 7 , wherein the processing of the file contents of the executable image comprises one or more of: processing import tables, processing code, extracting various artefacts.

11. The computer apparatus according to claim 7 , the one or more processors being further configured to determine whether the usage of an external code module is anomalous based on determining that the external code module belongs to a group of known processes having sufficiently similar properties on the basis of comparing file names of executable images for new processes and/or comparing portions of the file contents of the executable images for the new processes.

12. The computer apparatus according to claim 7 , wherein the taking further action to protect the computer network and/or network node comprises one or more of:

preventing one or more of network nodes from being switched off;

switching on a firewall at the one or more of network nodes;

warning a user of the one or more of network nodes that signs of a security breach have been detected; and/or

sending a software update to the one or more of network nodes.

13. A non-transitory computer readable medium comprising instructions which, when run on a computer apparatus or server, causes the computer apparatus to perform a method of threat detection, the non-transitory computer readable medium comprising instructions to:

detect a new process start at a network node of a computer network;

determine that said process requires external code modules by processing the file contents of an executable image associated with said new process to retrieve a list of expected external code modules for the new process, wherein the list includes all external code modules that are used by the new process;

observe the times at which one or more external code modules in the list of expected external code modules for the new process are loaded relative to a start of the new process;

determine whether one or more external code modules that are not in the list of expected code modules for the new process are loaded;

determine that the usage of an external code module required by the new process is anomalous when the time elapsed between the start of the process and loading of said external code module lies outside predetermined expected boundaries or said external code module was determined to be not in the list of expected code modules for the new process; and

take further action to protect the network node and/or the computer network based on determining that the usage of the external code module is anomalous.

Assignments (2)
CHANGE OF NAME Recorded Jun 7, 2022
From: F-SECURE CORPORATION (A/K/A F-SECURE CORPORATION OYJ)
To: WITHSECURE CORPORATION (A/K/A WITHSECURE OYJ)
Reel/Frame 060302/0690 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 10, 2021
From: PALUMBO, PAOLO; KOMASHINSKIY, DMITRIY
To: F-SECURE CORPORATION
Reel/Frame 055209/0344 →