IP Library Granted Patent US 11,030,313
Granted Patent B2
US 11,030,313 · App. 15/811,950 · Granted Jun 8, 2021

Remote malware scanning capable of static and dynamic file analysis

Inventors: Pekka Rasanen (Oulu, FI); Ville Lindfors (Vantaa, FI)
Assignee: F-Secure Corporation
G06F21/566G06F21/562G06F2221/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,030,313
App. No.
15/811,950
Granted
Jun 8, 2021
Kind
B2
Abstract

Measures for enabling resource-efficient remote malware scanning capable of static and dynamic file analysis including, at a remote entity, obtaining metadata of an electronic file to be scanned for malware, said metadata including at least information for identification of one or more file items contained in the electronic file, identifying whether at least one file item of the electronic file is not pre-known at the remote entity, instructing delivery of any identified at least one file item of the electronic file, reconstructing the electronic file by assembling its file items, including any file item of the electronic file, which is not pre-known at the remote entity, and any remaining file item of the electronic file, which is pre-known at the remote entity, on the basis of the obtained metadata of the electronic file, and executing a dynamic malware analysis on a runtime behavior of the reconstructed electronic file.

Claims (71)

1. A method of remote malware scanning, the method comprising:

obtaining, at a second node, metadata of an electronic file to be scanned for malware from a first node, said metadata including at least information for identification of one or more file items contained in the electronic file;

identifying, at the second node, based on the obtained metadata of the electronic file that at least one file item of the electronic file is pre-known in a knowledge base of the second node and that at least one file item of the electronic file is not pre-known in a knowledge base of the second node;

based on the obtained metadata identifying that the at least one file item of the electronic file is not pre-known in a knowledge base of the second node, delivering an instruction to the first node requesting the at least one file item of the electronic file that is identified as not pre-known be communicated from the first node to the second node;

reconstructing, at the second node, the electronic file by assembling its file items, including the at least one file item of the electronic file requested from the first node based on the obtained metadata of the electronic file identifying the at least one file item of the electronic file is not pre-known in a knowledge base of the second node, and on a prior version of the electronic file which is pre-known in the knowledge base of the second node, wherein the metadata comprises an indication of a path of each of the at least one file item of the electronic file that is not pre-known in a knowledge base, and comprises a secure hash value for each of the path, for each of the electronic file item of each of the at least one file item of the electronic file that is not pre-known in the knowledge base, and for the prior version of the electronic file; and

executing, at the second node, a dynamic malware analysis on a runtime behavior of the reconstructed electronic file, comprising executing a dynamic malware analysis on a runtime behavior of the at least one file item of the reconstructed electronic file that is not pre-known in the knowledge base of the second node based on the metadata.

2. The method according to claim 1 , wherein identifying comprises:

checking the knowledge base for presence of information on the one or more file items contained in the electronic file, for which information for identification is included in the metadata, on the basis of the obtained metadata of the electronic file; and

determining, as the identified at least one file item of the electronic file, all of the one or more file items subject to the knowledge base checking, for which no information is present in the knowledge base.

3. The method according to claim 1 , further comprising:

executing a static malware analysis of any file item of the electronic file, which is obtained from the first node in response to the instruction, and/or

retrieving a result of a static malware analysis of the prior version of the electronic file, which is pre-known in the knowledge base of the second node, from the knowledge base.

4. The method according to claim 1 , wherein

a result of the dynamic malware analysis and/or a result of the static malware is registered in the knowledge base, and/or

an overall malware scanning result of the electronic file is constructed on the basis of the results of the malware analysis of any one of the reconstructed electronic file, any file item of the electronic file, which is obtained from the first node in response to the instruction, and the prior version of the electronic file, which is pre-known in the knowledge base of the second node, and the constructed overall malware scanning result is delivered from the second node to the first node.

5. The method according to claim 1 , wherein

the metadata further include information for identification of the electronic file itself, and/or

the information for identification comprises a secure hash value, and/or

the knowledge base comprises a database of a reputation service, and any information in the knowledge base indicates a reputation of a subject file item and/or a subject electronic file, such as clean, infected or potentially unwanted.

6. The method according to claim 1 , wherein

the electronic file to be scanned comprises a file of at least one of an android application package, a Portable Executable, a soft installer or any other format capable of distributing and/or installing application software or middleware on a computer.

7. The method according to claim 1 , wherein

the first node comprises a malware scanning agent, and

the second node comprises a malware scanning engine or application.

8. A method of remote malware scanning, the method comprising:

delivering metadata of an electronic file to be scanned for malware from a first node to a second node, said metadata including at least information for identification of one or more file items contained in the electronic file;

based on instructions from the second node for at least one file item of the electronic file, wherein the instructions are based on the metadata identifying that the at least one file item of the electronic file is not pre-known in a knowledge base of the second node, extracting, at the first node, the at least one file item of the electronic file on the basis of an instruction from the second node, said instruction indicating the at least one file item of the electronic file as being not pre-known at the second node; and

delivering the extracted at least one file item of the electronic file requested based on the metadata of the electronic file from the first node to the second node and of a prior version of the electronic file that is pre-known in the knowledge base for enabling the second node to reconstruct the electronic file by assembling its file items, including the at least one file item of the electronic file not pre-known in the knowledge base of the second node and the prior version of the electronic file which is pre-known in the knowledge base of the second node, wherein the metadata comprises an indication of a path of each of the at least one file item of the electronic file that is not pre-known in a knowledge base, and comprises a secure hash value for each of the path, for each of the electronic file item of each of the at least one file item of the electronic file that is not pre-known in the knowledge base, and for the prior version of the electronic file; and

perform malware scanning of only the at least one file item of the reconstructed electronic file that is not pre-known in the knowledge base of the second node based on the metadata of the electronic file.

9. The method according to claim 8 , further comprising:

performing a malware property query for the electronic file and the one or more file items contained in the electronic file;

wherein the operations of delivering metadata, extracting at least one file item and delivering the extracted at least one file item are initiated when the malware property query for at least one of the electronic file and the one or more file items contained in the electronic file yields a non-conclusive result.

10. The method according to claim 8 , wherein

the metadata further include information for identification of the electronic file itself, and/or

the information for identification comprises a secure hash value, and/or

an overall malware scanning result of the electronic file is obtained from the second node.

11. The method according to claim 8 , wherein

the electronic file to be scanned comprises a file of at least one of an android application package, a Portable Executable, a soft installer or any other format capable of distributing and/or installing application software or middleware on a computer.

12. The method according to claim 8 , wherein

the first node comprises a malware scanning agent, and

the second node comprises a malware scanning engine or application.

13. An apparatus, comprising

a memory configured to store computer program code, and

a processor configured to read and execute computer program code stored in the memory,

wherein the processor is configured to cause the apparatus to perform:

obtaining, at a second node, metadata of an electronic file to be scanned for malware from a first node, said metadata including at least information for identification of one or more file items contained in the electronic file;

identifying, at the second node, based on the obtained metadata of the electronic file that at least one file item of the electronic file is pre-known in a knowledge base of the second node and that at least one file item of the electronic file is not pre-known in a knowledge base of the second node;

based on the obtained metadata identifying that the at least one file item of the electronic file is not pre-known in a knowledge base of the second node, delivering an instruction to the first node requesting the at least one file item of the electronic file that is identified as not pre-known be communicated from the first node to the second node;

reconstructing, at the second node, the electronic file by assembling its file items, including the at least one file item of the electronic file requested based on the obtained metadata of the electronic file from the first node identifying the at least one file item of the electronic file is not pre-known in a knowledge base of the second node, and a prior version of the electronic file which is pre-known in the knowledge base of the second nod; wherein the metadata comprises an indication of a path of each of the at least one file item of the electronic file that is not pre-known in a knowledge base, and comprises a secure hash value for each of the path, for each of the electronic file item of each of the at least one file item of the electronic file that is not pre-known in the knowledge base, and for the prior version of the electronic file; and

executing, at the second node, a dynamic malware analysis on a runtime behavior of the reconstructed electronic file, comprising executing a dynamic malware analysis on a runtime behavior of the at least one file item of the reconstructed electronic file that is not pre-known in the knowledge base of the second node based on the metadata.

14. The apparatus according to claim 13 , wherein the processor is configured to cause the apparatus to perform:

checking the knowledge base for presence of information on the one or more file items contained in the electronic file, for which information for identification is included in the metadata, on the basis of the obtained metadata of the electronic file; and

determining, as the identified at least one file item of the electronic file, all of the one or more file items subject to the knowledge base checking, for which no information is present in the knowledge base.

15. The apparatus according to claim 13 , wherein the processor is configured to cause the apparatus to perform:

executing a static malware analysis of any file item of the electronic file, which is obtained from the first node in response to the instruction, and/or

retrieving a result of a static malware analysis of the prior version of the electronic file, which is pre-known in the knowledge base of the second node, from the knowledge base.

16. The apparatus according to claim 13 , wherein the processor is configured to cause the apparatus to perform:

registering a result of the dynamic malware analysis and/or a result of the static malware in the knowledge base, and/or

constructing an overall malware scanning result of the electronic file on the basis of the results of the malware analysis of any one of the reconstructed electronic file, any file item of the electronic file, which is obtained from the first node in response to the instruction, and the prior version of the electronic file, which is pre-known in the knowledge base of the second node, and delivering the constructed overall malware scanning result from the second node to the first node.

17. An apparatus, comprising

a memory configured to store computer program code, and

a processor configured to read and execute computer program code stored in the memory,

wherein the processor is configured to cause the apparatus to perform:

delivering metadata of an electronic file to be scanned for malware from a first node to a second node, said metadata including at least information for identification of one or more file items contained in the electronic file;

based on instructions from the second node for at least one file item of the electronic file, wherein the instructions are based on the metadata identifying that the at least one file item of the electronic file is not pre-known in a knowledge base of the second node, extracting, at the first node, the at least one file item of the electronic file on the basis of an instruction from the second node, said instruction indicating the at least one file item of the electronic file as being not pre-known at the second node; and

delivering the extracted at least one file item of the electronic file requested based on the metadata of the electronic file from the first node to the second node and of an earlier version of the electronic file that is pre-known in the knowledge base for enabling the second node to reconstruct the electronic file by assembling its file items, including the at least one file item of the electronic file not pre-known in the knowledge base of the second node and the prior version of the electronic file which is pre-known in the knowledge base of the second node, wherein the metadata comprises an indication of a path of each of the at least one file item of the electronic file that is not pre-known in a knowledge base, and comprises a secure hash value for each of the path, for each of the electronic file item of each of the at least one file item of the electronic file that is not pre-known in the knowledge base, and for the prior version of the electronic file; and

performing malware scanning of the at least one file item of the reconstructed electronic file that is not pre-known in the knowledge base of the second node based on the obtained metadata of the electronic file.

18. The apparatus according to claim 17 , wherein the processor is configured to cause the apparatus to perform:

performing a malware property query for the electronic file and the one or more file items contained in the electronic file,

wherein the operations of delivering metadata, extracting at least one file item and delivering the extracted at least one file item are initiated when the malware property query for at least one of the electronic file and the one or more file items contained in the electronic file yields a non-conclusive result.

19. A non-transitory computer storage medium having stored thereon computer program code for implementing the method of claim 1 .

Assignments (2)
CHANGE OF NAME Recorded Jun 7, 2022
From: WITHSECURE CORPORATION (A/K/A WITHSECURE OYJ)
To: WITHSECURE CORPORATION (A/K/A WITHSECURE OYJ)
Reel/Frame 060302/0554 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 15, 2017
From: RASANEN, PEKKA; LINDFORS, VILLE
To: F-SECURE CORPORATION
Reel/Frame 044128/0241 →
Priority Claims (1)
GB 1619287 · Nov 15, 2016 · national
Continuity (1)
Related Publication 20180137282A1 · May 17, 2018