IP Library Granted Patent US 9,910,987
Granted Patent B2
US 9,910,987 · App. 12/998,038 · Granted Mar 6, 2018

Malware detection method and apparatus

Inventor: Jarno Niemelä (Espoo, FI)
Assignee: F-Secure Corporation
G06F21/565G06F21/562
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 9,910,987
App. No.
12/998,038
Granted
Mar 6, 2018
Kind
B2
Abstract

According to a first aspect of the present invention there is provided a malware detection method implemented within a computer. The method includes, for a given electronic file, determining if the file is associated with a valid digital signature. If the file is associated with a valid digital signature, then verifying that the signature belongs to a trusted source. If the signature does belong to a trusted source then not performing a malware scan of said file, and if the signature cannot be verified as belonging to a trusted source then performing said scan.

Claims (24)

1. A malware detection method implemented within a computer comprising a processor and comprising:

receiving an electronic file, determining by the computer if the electronic file is associated with a valid digital signature using a trust verification system of an operating system of the computer; and if the electronic file is associated with the valid digital signature, then verifying by the computer that the signature belongs to a trusted source, wherein the trusted source authored or published the file and created the signature, and if so then not performing a malware scan of said electronic file, and if the signature cannot be verified as belonging to a trusted source then performing said scan by the computer, wherein the electronic file is associated with the valid digital signature only if the electronic file has a valid embedded or attached digital signature, or the electronic file is listed in a catalog having a valid embedded or attached digital signature, wherein if the electronic file is verified as being associated with the valid digital signature the trust verification system of an operating system of the computer is used to verify that the signature belongs to the trusted source, and if the electronic file is not verified as belonging to a trusted source then performing said scan by the computer;

if the electronic file is associated with the valid digital signature and the signature belongs to a trusted source, generating a file path hash value and adding the file path hash value to a database of trusted files; and

on subsequent occasions and prior to determining if the file is associated with the valid digital signature, generating a hash value of the file path and determining if the hash value of the file path is contained in the database of trusted files, wherein:

if the hash value of the file path is contained in the database of trusted files then not performing a malware scan of said file, and

if the hash value of the file path is not contained in database of trusted files, then proceeding to determine if the file is associated with the valid digital signature and verify that the signature belongs to a trusted source.

2. The method according to claim 1 , wherein the step of determining if the file is associated with the valid digital signature comprises: determining if the file has a valid embedded or attached signature.

3. The method according to claim 2 and comprising, if the file does not have a valid embedded or attached signature then: generating a hash value of the file; and determining if the hash value is listed in a catalog having a valid embedded or attached digital signature.

4. The method according to claim 1 , wherein said digital signature relies upon a public key infrastructure.

5. The method according to claim 4 , wherein the step of verifying that the signature belongs to a trusted source comprises: maintaining a database of trusted public keys; identifying a public key used to verify the digital signature; and determining if the public key is contained in the database of trusted public keys.

6. The method according to claim 5 , wherein step of maintaining the database of trusted public keys comprises: periodically receiving new trusted public keys and adding these to the database.

7. The method according to claim 1 , wherein said step of determining if the file is associated with the valid digital signature comprises using an Application Programming Interface of an operating system of the computer.

8. The method according to claim 7 , wherein said operating system is a Windows™ based operating system and said Application Programming Interface is the WinVerifyTrustEx Application Programming Interface.

9. A non-transitory recording medium storing computer interpretable instructions for causing a programmable computer to perform a malware detection method implemented within the computer and comprising:

receiving an electronic file, determining by the computer if the electronic file is associated with a valid digital signature using a trust verification system of an operating system of the computer; and if the electronic file is associated with the valid digital signature, then verifying by the computer that the signature belongs to a trusted source, wherein the trusted source authored or published the file and created the signature, and if so then not performing a malware scan of said electronic file, and if the signature cannot be verified as belonging to a trusted source then performing said scan by the computer, wherein the electronic file is associated with the valid digital signature only if the electronic file has a valid embedded or attached digital signature, or the electronic file is listed in a catalog having a valid embedded or attached digital signature, wherein if the electronic file is verified as being associated with the valid digital signature the trust verification system of an operating system of the computer is used to verify that the signature belongs to the trusted source, and if the electronic file is not verified as belonging to a trusted source then performing said scan by the computer;

if the electronic file is associated with the valid digital signature and the signature belongs to a trusted source, generating a file path hash value and adding the file path hash value to a database of trusted files; and

on subsequent occasions and prior to determining if the file is associated with the valid digital signature, generating a hash value of the file path and determining if the hash value of the file path is contained in the database of trusted files; wherein:

if the hash value of the file path is contained in the database of trusted files then not performing a malware scan of said file, and

if the hash value of the file path is not contained in database of trusted files, then proceeding to determine if the file is associated with the valid digital signature and verify that the signature belongs to a trusted source.

10. A computer comprising: a memory storing a database of trusted public keys; and a physical processor for determining if a given electronic file is associated with a valid digital signature using a trust verification system of an operating system of the computer, and, if the electronic file is associated with the valid digital signature, then verifying that the signature belongs to a trusted source, wherein the trusted source authored or published the file and created the signature, and if the signature is verified then not performing a malware scan of said file, and if the signature cannot be verified as belonging to a trusted source then performing said scan, wherein the electronic file is associated with the valid digital signature only if the electronic file has a valid embedded or attached digital signature, or the electronic file is listed in a catalog having a valid embedded or attached digital signature, wherein if the electronic file is verified as being associated with the valid digital signature the trust verification system of an operating system of the computer is used to verify that the signature belongs to the trusted source, and if the electronic file is not verified as belonging to a trusted source then performing said scan by the computer;

if the electronic file is associated with the valid digital signature and the signature belongs to a trusted source, generating a file path hash value and adding the file path hash value to a database of trusted files;

on subsequent occasions and prior to determining if the file is associated with the valid digital signature, generating a hash value of the file path and determining if the hash value of the file path is contained in the database of trusted files, wherein:

if the hash value of the file path is contained in the database of trusted files then not performing a malware scan of said file, and

if the hash value of the file path is not contained in database of trusted files, then proceeding to determine if the file is associated with the valid digital signature and verify that the signature belongs to a trusted source.

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 Mar 11, 2011
From: NIEMELA, JARNO
To: F-SECURE CORPORATION
Reel/Frame 025956/0517 →
Priority Claims (1)
GB 0816572.2 · Sep 11, 2008 · national
Continuity (1)
Related Publication 20110167275A1 · Jul 7, 2011