IP Library Granted Patent US 11,436,326
Granted Patent B2
US 11,436,326 · App. 16/899,132 · Granted Sep 6, 2022

False alarm detection for malware scanning

Inventor: Jarno Niemelä (Helsinki, FI)
Assignee: WithSecure Corporation
G06F21/562G06F21/566G06F21/57G06F21/64G06F2221/2147
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,436,326
App. No.
16/899,132
Granted
Sep 6, 2022
Kind
B2
Abstract

A method of scanning files for malware on a computer system. The method comprises detecting a file to be scanned for malware in the computer system, determining the file being a partial file that comprises only a part of the file content, searching for an original clean file associated with the partial file, wherein the original clean file is a full copy of the partial file, based on finding a candidate original clean file associated with the partial file, calculating a partial hash of the same length as the partial file for the candidate original clean file, and based on determining that partial hashes of the candidate original clean file and the partial file match, signalling a false alarm.

Claims (42)

1. A method of scanning files for malware and reducing false alarms on a computer system, the method comprising:

detecting, by a processor, a file to be scanned for malware in the computer system;

determining, by the processor, the file being a partial file that comprises only a part of the file content;

searching, by the processor, for an original clean file associated with the determined partial file, wherein the original clean file is a full copy of the partial file;

based on finding a candidate original clean file associated with the partial file, calculating, by the processor, a partial hash of the same length as the partial file for the candidate original clean file; and

based on determining that partial hashes of the candidate original clean file and the partial file match, signalling, by the processor, a false alarm.

2. The method according to claim 1 , wherein said computer system comprises a server or set of servers.

3. The method according to claim 1 , wherein said computer system comprises a client computer.

4. The method according to claim 1 , wherein said step of determining the file being a partial file comprises determining whether or not the file possesses properties that are indicative of the file being a partial file.

5. The method according to claim 1 , wherein said step of determining the file being a partial file comprises one or more of:

determining whether or not the file contains a .part file extension;

determining whether or not the file is written by a web browser or other component that is used to download files; and

determining whether or not a file format header indicates that the size of the file should be larger than what is currently on a disk.

6. The method according to claim 1 , further comprising partially blocking the file after determining the file being a partial file, wherein partially blocking the file comprises allowing writing to the file and preventing execution of the file.

7. The method according to claim 6 , further comprising waiting for a predetermined time period whether more file content is written to the partial file, then rechecking the file and removing the partial block based on not detecting the partial file any more.

8. The method according to claim 1 , further comprising transmitting data relating to the partial file from a client computer to a server for searching the original clean file associated with the partial file.

9. The method according to claim 1 , wherein the step of searching for the original clean file associated with the partial file is based on at least one or more of: checking all matches by file name without .part or other partial file indicator, having precalculated database of partial hashes, having precalculated index by PE checksum or other file header checksum field.

10. A computer system comprising:

one or more processors; and

a memory having instructions stored thereon, wherein executed by the one or more processors causes the one or more processor to:

detect a file to be scanned for malware in the computer system;

determine the file being a partial file that comprises only a part of the file content;

search for an original clean file associated with the partial file, wherein the original clean file is a full copy of the partial file;

based on finding a candidate original clean file associated with the partial file, calculate a partial hash of the same length as the partial file for the candidate original clean file; and

based on determining that partial hashes of the candidate original clean file and the partial file match, signal a false alarm to reduce false alarms.

11. The computer system according to claim 10 , wherein said computer system comprises a server or set of servers.

12. The computer system according to claim 10 , wherein said computer system comprises a client computer.

13. The computer system according to claim 10 , wherein the one or more processors are configured to determine the file being a partial file by determining whether or not the file possesses properties that are indicative of the file being a partial file.

14. The computer system according to claim 10 , wherein the one or more processors are configured to determine the file being a partial file by one or more of:

determining whether or not the file contains a .part file extension;

determining whether or not the file is written by a web browser or other component that is used to download files;

determining whether or not a file format header indicates that the size of the file should be larger than what is currently on a disk.

15. The computer system according to claim 10 , wherein the one or more processors are further configured to partially block the file after determining the file being a partial file, wherein partially blocking the file comprises allowing writing to the file and preventing execution of the file.

16. The computer system according to claim 15 , wherein the one or more processors are further configured to wait for a predetermined time period whether more file content is written to the partial file, then recheck the file and remove the partial block based on not detecting the partial file any more.

17. The computer system according to claim 10 , wherein the one or more processors are further configured to transmit data relating to the partial file from a client computer to a server for searching the original clean file associated with the partial file.

18. The computer system according to claim 10 , wherein the one or more processors are configured to search for the original clean file associated with the partial file based on at least one or more of: checking all matches by file name without .part or other partial file indicator, having precalculated database of partial hashes, having precalculated index by PE checksum or other file header checksum field.

19. A non-transitory computer readable medium having a computer program stored thereon, the computer program comprising computer readable code which, when run on a computer system or server, causes the computer system or server to act as a computer system or server configured to:

detect a file to be scanned for malware in the computer system;

determine the file being a partial file that comprises only a part of the file content;

search for an original clean file associated with the partial file, wherein the original clean file is a full copy of the partial file;

based on finding a candidate original clean file associated with the partial file, calculate a partial hash of the same length as the partial file for the candidate original clean file; and

based on determining that partial hashes of the candidate original clean file and the partial file match, signal a false alarm to reduce false alarms.

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 Aug 31, 2020
From: NIEMELÄ, JARNO
To: F-SECURE CORPORATION
Reel/Frame 053641/0715 →
Priority Claims (1)
GB 1908462 · Jun 13, 2019 · national
Continuity (1)
Related Publication 20200394298A1 · Dec 17, 2020