IP Library Granted Patent US 10,169,577
Granted Patent B1
US 10,169,577 · App. 15/471,489 · Granted Jan 1, 2019

Systems and methods for detecting modification attacks on shared physical memory

Inventors: William E. Sobel (Jamul, CA); Bruce McCorkendale (Manhattan Beach, CA)
Assignee: Symantec Corporation
G06F21/552G06F3/0623G06F3/0644G06F3/0652G06F3/0673G06F9/45533G06F21/53G06F2221/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 10,169,577
App. No.
15/471,489
Granted
Jan 1, 2019
Kind
B1
Abstract

The disclosed computer-implemented method for detecting modification attacks on shared physical memory may include (i) identifying a page frame of physical memory that is shared by a plurality of virtual machines, (ii) calculating a first checksum for the page frame, (iii) calculating, while the page frame is shared by the plurality of virtual machines and before any of the plurality of virtual machines writes to a page of virtual memory that is mapped to the page frame, a second checksum for the page frame, (iv) detecting a modification attack (such as a rowhammer attack) on the page frame by one of the plurality of virtual machines by detecting that the first checksum does not equal the second checksum, and (v) performing a security action in response to detecting the modification attack. Various other methods, systems, and computer-readable media are also disclosed.

Claims (46)

1. A computer-implemented method for detecting modification attacks on shared physical memory, at least a portion of the method being performed by a computing device comprising at least one processor, the method comprising:

identifying a page frame of physical memory that physically stores data and is shared by a plurality of virtual machines, wherein:

a page of virtual memory of each of the plurality of virtual machines contains the data and is mapped to the page frame;

the plurality of virtual machines have simultaneous read-only access to the page frame; and

a copy-on-write mechanism remaps, when one of the plurality of virtual machine attempts to write additional data to the page of virtual memory of the one of the plurality of virtual machines, the page of virtual memory of the one of the plurality of virtual machines to an additional page frame of the physical memory before writing the additional data to the additional page frame;

calculating, while the plurality of virtual machines still have simultaneous read-only access to the page frame, a first checksum for the page frame;

calculating, while the plurality of virtual machines still have simultaneous read-only access to the page frame and before any of the plurality of virtual machines writes to a page of virtual memory that is mapped to the page frame, a second checksum for the page frame;

detecting a modification attack on the page frame by one of the plurality of virtual machines by detecting that the first checksum does not equal the second checksum; and

performing a security action in response to detecting the modification attack.

2. The computer-implemented method of claim 1 , wherein performing the security action comprises flagging each of the plurality of virtual machines as a possible perpetrator of the modification attack.

3. The computer-implemented method of claim 1 , wherein performing the security action comprises flagging each of the plurality of virtual machines for forensic examination.

4. The computer-implemented method of claim 1 , wherein performing the security action comprises shutting down each of the plurality of virtual machines.

5. The computer-implemented method of claim 1 , wherein performing the security action comprises unsharring the page frame.

6. The computer-implemented method of claim 1 , wherein performing the security action comprises preventing each of the plurality of virtual machines from sharing physical memory with any other virtual machine.

7. The computer-implemented method of claim 1 , wherein performing the security action comprises assigning each of the plurality of virtual machines to a group of untrusted virtual machines that cannot share physical memory with trusted virtual machines.

8. The computer-implemented method of claim 1 , wherein performing the security action comprises monitoring each of the plurality of virtual machines for rowhammer-attack behaviors.

9. The computer-implemented method of claim 1 , wherein the step of calculating the first checksum is performed as part of de-duplicating the page frame.

10. The computer-implemented method of claim 1 , wherein the page frame is subject to copy-on-write divergence while the page frame is shared by the plurality of virtual machines.

11. A system for detecting modification attacks on shared physical memory, the system comprising:

an identifying module, stored in memory, that identifies a page frame of physical memory that physically stores data and is shared by a plurality of virtual machines, wherein:

a page of virtual memory of each of the plurality of virtual machines contains the data and is mapped to the page frame;

the plurality of virtual machines have simultaneous read-only access to the page frame; and

a copy-on-write mechanism remaps, when one of the plurality of virtual machine attempts to write additional data to the page of virtual memory of the one of the plurality of virtual machines, the page of virtual memory of the one of the plurality of virtual machines to an additional page frame of the physical memory before writing the additional data to the additional page frame;

a calculating module, stored in memory, that:

calculates, while the plurality of virtual machines still have simultaneous read-only access to the page frame, a first checksum for the page frame; and

calculates, while the plurality of virtual machines still have simultaneous read-only access to the page frame and before any of the plurality of virtual machines writes to a page of virtual memory that is mapped to the page frame, a second checksum for the page frame;

a detecting module, stored in memory, that detects a modification attack on the page frame by one of the plurality of virtual machines by detecting that the first checksum does not equal the second checksum;

a security module, stored in memory, that performs a security action in response to detecting the modification attack; and

at least one physical processor that executes the identifying module, the calculating module, the detecting module, and the security module.

12. The system of claim 11 , wherein the security module performs the security action by flagging each of the plurality of virtual machines as a possible perpetrator of the modification attack.

13. The system of claim 11 , wherein the security module performs the security action by flagging each of the plurality of virtual machines for forensic examination.

14. The system of claim 11 , wherein the security module performs the security action by shutting down each of the plurality of virtual machines.

15. The system of claim 11 , wherein the security module performs the security action by unsharring the page frame.

16. The system of claim 11 , wherein the security module performs the security action by preventing each of the plurality of virtual machines from sharing physical memory with any other virtual machine.

17. The system of claim 11 , wherein the security module performs the security action by assigning each of the plurality of virtual machines to a group of untrusted virtual machines that cannot share physical memory with trusted virtual machines.

18. The system of claim 11 , wherein the security module performs the security action by monitoring each of the plurality of virtual machines for rowhammer-attack behaviors.

19. The system of claim 11 , wherein the calculating module calculates the first checksum as part of de-duplicating the page frame.

20. A non-transitory computer-readable medium comprising one or more computer-executable instructions that, when executed by at least one processor of a computing device, cause the computing device to:

identify a page frame of physical memory that physically stores data and is shared by a plurality of virtual machines, wherein:

a page of virtual memory of each of the plurality of virtual machines contains the data and is mapped to the page frame;

the plurality of virtual machines have simultaneous read-only access to the page frame; and

a copy-on-write mechanism remaps, when one of the plurality of virtual machine attempts to write additional data to the page of virtual memory of the one of the plurality of virtual machines, the page of virtual memory of the one of the plurality of virtual machines to an additional page frame of the physical memory before writing the additional data to the additional page frame;

calculate, while the plurality of virtual machines still have simultaneous read-only access to the page frame, a first checksum for the page frame;

calculate, while the plurality of virtual machines still have simultaneous read-only access to the page frame and before any of the plurality of virtual machines writes to a page of virtual memory that is mapped to the page frame, a second checksum for the page frame;

detect a modification attack on the page frame by one of the plurality of virtual machines by detecting that the first checksum does not equal the second checksum; and

perform a security action in response to detecting the modification attack.

Assignments (6)
CHANGE OF NAME Recorded Feb 6, 2023
From: NORTONLIFELOCK INC.
To: GEN DIGITAL INC.
Reel/Frame 062714/0605 →
NOTICE OF SUCCESSION OF AGENCY (REEL 050926 / FRAME 0560) Recorded Sep 13, 2022
From: JPMORGAN CHASE BANK, N.A.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 061422/0371 →
SECURITY AGREEMENT Recorded Sep 13, 2022
From: NORTONLIFELOCK INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 062220/0001 →
CHANGE OF NAME Recorded Feb 14, 2020
From: SYMANTEC CORPORATION
To: NORTONLIFELOCK INC.
Reel/Frame 051935/0228 →
SECURITY AGREEMENT Recorded Nov 4, 2019
From: SYMANTEC CORPORATION; BLUE COAT LLC; LIFELOCK, INC,; SYMANTEC OPERATING CORPORATION
To: JPMORGAN, N.A.
Reel/Frame 050926/0560 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 28, 2017
From: SOBEL, WILLIAM E.; MCCORKENDALE, BRUCE
To: SYMANTEC CORPORATION
Reel/Frame 041767/0084 →
Cited By (2)
US 12,475,216 US 12,592,962