IP Library Granted Patent US 9,058,504
Granted Patent B1
US 9,058,504 · App. 13/899,565 · Granted Jun 16, 2015

Anti-malware digital-signature verification

Inventors: Douglas Stuart Swanson (Providence, RI); Richard Allan Winter (Longmont, CO)
Assignee: Malwarebytes Corporation
G06F21/6218
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,058,504
App. No.
13/899,565
Granted
Jun 16, 2015
Kind
B1
Abstract

A self-protection application executes in kernel mode and manages access to processes and files related to an associated anti-malware application. The self-protection application monitors executing processes on the client device and detects the processes that are attempting to access files/processes related to the anti-malware software. These processes and files are verified by the self-protection application using digital signature authentication. Trusted processes such as those originating from the anti-malware software or other authorized programs are allowed access while other processes are restricted access.

Claims (64)

1. A computer-implemented method for managing access to files and processes associated with an anti-malware application, comprising:

initializing a self-protection application, the self-protection application comprising instructions executed by a processor of a client device, the self protection application executing in kernel mode of an operating system of the client device;

monitoring one or more processes executing on the client device;

detecting, by the self-protection application executing in kernel mode, a process that is attempting to access a file or process associated with the anti-malware application;

verifying a digital certificate contained within a digital signature associated with the detected process by comparing the digital certificate with a digital certificate copy obtained from a certificate authority;

verifying a timestamp of a program associated with the detected process by comparing the timestamp of the program to a period of validity associated with the digital certificate;

determining, by the self-protection application executing in kernel mode, whether the detected process is a trusted process based in part on verifying that the digital certificate matches the digital certificate copy and verifying that the timestamp of the program associated with the detected process is within the period of validity associated with the digital certificate, wherein the trusted process originates from applications authorized to access a file or process associated with the anti-malware application;

determining whether to allow the detected process based at least in part on whether the process is a trusted; and

allowing the detected process access to the file or process associated with the anti-malware application subject to the determining.

2. The method of claim 1 , further comprising:

requesting one or more updated signature files associated with the self-protection application from a trusted server, the signature files comprising data associated with digital signatures;

downloading the one or more updated signature files from the trusted server; and

installing the one or more updated signature files into the self-protection application.

3. The method of claim 1 , wherein the self-protection application is initialized on the client device prior to the installation of the anti-malware application.

4. The method of claim 1 , wherein the digital signature identifies the publisher of an application associated with the detected process and the integrity of the application associated with the detected process.

5. The method of claim 1 , wherein determining whether the detected process is a trusted process further comprises:

receiving a public key complementing a private key associated with the detected process;

extracting a first hash value from the digital signature using the public key;

determining a second hash value by using a cryptographic hash algorithm on the data associated with the detected process; and

comparing the first hash value and the second hash value.

6. The method of claim 1 , further comprising denying the detected process access to the file or process associated with the anti-malware application under one or more of the following: no digital signature is associated with the detected process, the associated digital signature is invalid, the first hash value and the second hash value do not match, the associated digital signature indicates an unauthorized publisher, the origin of the process is not trusted or the timestamp associated with the digital signature is invalid.

7. A non-transitory computer-readable storage medium encoded with executable computer program code for managing access to files and processes associated with anti-malware application, the computer program code comprising program code for:

initializing a self-protection application executing in kernel mode of a client device;

monitoring one or more processes executing on the client device;

detecting, by the self-protection application executing in kernel mode, a process that is attempting to access a file or process associated with the anti-malware application;

verifying a digital certificate contained within a digital signature associated with the detected process by comparing the digital certificate with a digital certificate copy obtained from a certificate authority;

verifying a timestamp of a program associated with the detected process by comparing the timestamp of the program to a period of validity associated with the digital certificate;

determining, by the self-protection application executing in kernel mode, whether the detected process is a trusted process based in part on verifying that the digital certificate matches the digital certificate copy and verifying that the timestamp of the program associated with the detected process is within the period of validity associated with the digital certificate, wherein the trusted process originates from applications authorized to access a file or process associated with the anti-malware application;

determining whether to allow the detected process based at least in part on whether the process is a trusted process; and

allowing the detected process access to the file or process associated with the anti-malware application subject to the determining.

8. The non-transitory computer-readable storage medium of claim 7 , further comprising:

requesting one or more updated signature files associated with the self-protection application from a trusted server, the signature files comprising data associated with digital signatures;

downloading the one or more updated signature files from the trusted server; and

installing the one or more updated signature files into the self-protection application.

9. The non-transitory computer-readable storage medium of claim 7 , wherein the self-protection application is initialized on the client device prior to the installation of the anti-malware application.

10. The non-transitory computer-readable storage medium of claim 7 , wherein determining whether the detected process is a trusted process further comprises:

receiving a public key complementing a private key associated with the detected process;

extracting a first hash value from the digital signature using the public key;

determining a second hash value by using a cryptographic hash algorithm on the data associated with the detected process; and

comparing the first hash value and the second hash value.

11. The non-transitory computer-readable storage medium of claim 7 , further comprising denying the detected process access to the file or process associated with the anti-malware application under one or more of the following: no digital signature is associated with the detected process, the associated digital signature is invalid, the first hash value and the second hash value do not match, the associated digital signature indicates an unauthorized publisher, the origin of the process is not trusted or the timestamp associated with the digital signature is invalid.

12. A system for managing access to files and processes associated with an anti-malware application, the system comprising:

a processor;

a computer-readable storage medium storing executable instructions that when executed cause the process to perform steps including:

initializing the self-protection application executing in kernel mode of a client device;

monitoring one or more processes executing on the client device;

detecting, by the self-protection application executing in kernel mode, a process that is attempting to access a file or process associated with the anti-malware application;

verifying a digital certificate contained within a digital signature associated with the detected process by comparing the digital certificate with a digital certificate copy obtained from a certificate authority;

verifying a timestamp of a program associated with the detected process by comparing the timestamp of the program to a period of validity associated with the digital certificate;

determining, by the self-protection application executing in kernel mode, whether the detected process is a trusted process based in part on verifying that the digital certificate matches the digital certificate copy and verifying that the timestamp of the program associated with the detected process is within the period of validity associated with the digital certificate, wherein the trusted process originates from applications authorized to access a file or process associated with the anti-malware application;

determining whether to allow the detected process based at least in part on whether the process is a trusted process; and

allowing the detected process access to the file or process associated with the anti-malware application subject to the determining.

13. The system of claim 12 , further comprising:

requesting one or more updated signature files associated with the self-protection application from a trusted server, the signature files comprising data associated with digital signatures;

downloading the one or more updated signature files from the trusted server; and

installing the one or more updated signature files into the self-protection application.

14. The system of claim 12 , wherein the self-protection program is initialized on the client device prior to the installation of the anti-malware application.

15. The system of claim 12 , wherein the digital signature identifies the publisher of an application associated with the detected process and the integrity of the application associated with the detected process.

16. The system of claim 12 , wherein determining whether the detected process is a trusted process further comprises:

receiving a public key complementing a private key associated with the detected process;

extracting a first hash value from the digital signature using the public key;

determining a second hash value by using a cryptographic hash algorithm on the data associated with the detected process; and

comparing the first hash value and the second hash value.

17. The system of claim 12 , further comprising denying the detected process access to the file or process associated with the anti-malware application under one or more of the following: no digital signature is associated with the detected process, the associated digital signature is invalid, the first hash value and the second hash value do not match, the associated digital signature indicates an unauthorized publisher, the origin of the process is not trusted or the timestamp associated with the digital signature is invalid.

Assignments (10)
TERMINATION AND RELEASE OF SECURITY INTEREST IN INTELLECTUAL PROPERTY Recorded Oct 21, 2024
From: COMPUTERSHARE TRUST COMPANY, N.A.
To: MALWAREBYTES INC.
Reel/Frame 069193/0505 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN INTELLECTUAL PROPERTY Recorded Oct 21, 2024
From: COMPUTERSHARE TRUST COMPANY, N.A.
To: MALWAREBYTES CORPORATE HOLDCO INC.
Reel/Frame 069193/0563 →
SECURITY INTEREST Recorded Oct 18, 2024
From: MALWAREBYTES INC.; MALWAREBYTES CORPORATE HOLDCO INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION
Reel/Frame 068943/0937 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 26, 2024
From: MALWAREBYTES INC.
To: MALWAREBYTES CORPORATE HOLDCO INC.
Reel/Frame 066900/0386 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Jan 26, 2024
From: MALWAREBYTES CORPORATE HOLDCO INC.
To: COMPUTERSHARE TRUST COMPANY, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 066373/0912 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Feb 1, 2023
From: MALWAREBYTES INC.
To: COMPUTERSHARE TRUST COMPANY, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 062599/0069 →
CHANGE OF NAME Recorded Apr 1, 2021
From: MALWAREBYTES CORPORATION
To: MALWAREBYTES INC.
Reel/Frame 055795/0542 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 30, 2021
From: GEZALOV, ARIF
To: MALWAREBYTES INC.
Reel/Frame 055774/0689 →
SECURITY INTEREST Recorded Aug 9, 2017
From: MALWAREBYTES INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 043248/0690 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 29, 2013
From: SWANSON, DOUGLAS STUART; WINTER, RICHARD ALLAN
To: MALWAREBYTES CORPORATION
Reel/Frame 030508/0020 →