IP Library Granted Patent US 9,721,089
Granted Patent B2
US 9,721,089 · App. 14/115,094 · Granted Aug 1, 2017

Methods, systems, and computer readable media for efficient computer forensic analysis and data access control

Inventors: Srinivas Krishnan (Carrboro, NC); Fabian Monrose (Chapel Hill, NC); Kevin Snow (Cary, NC)
Assignee: The University of North Carolina at Chapel Hill
G06F21/50G06F21/53
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,721,089
App. No.
14/115,094
Granted
Aug 1, 2017
Kind
B2
Abstract

According to one aspect, the subject matter described herein includes a method for efficient computer forensic analysis and data access control. The method includes steps occurring from within a virtualization layer separate from a guest operating system. The steps include monitoring disk accesses by the guest operating system to a region of interest on a disk from which data is copied into memory. The steps also include tracking subsequent accesses to the memory resident data where the memory resident data is copied from its initial location to other memory locations or over a network. The steps further include linking operations made by the guest operating system associated with the disk accesses with operations made by the guest operating system associated with the memory accessed.

Claims (34)

1. A method for efficient computer forensic analysis and data access control, the method comprising:

from within a virtualization layer of a first computing system separate from a guest operating system executing on the first computing system:

monitoring disk accesses by the guest operating system to a region of interest on a disk from which data is copied into memory;

tracking subsequent accesses to memory resident data where the memory resident data is copied from its initial location to other memory locations or over a network;

linking operations made by the guest operating system associated with the disk accesses with operations made by the guest operating system associated with the memory accesses, wherein the operations made by the guest operating system associated with the disk accesses include a file read operation and wherein linking the operations made by the guest operating system associated with the disk accesses with the operations associated with the memory accesses includes examining source and destination parameters associated with the file read operation to infer that the operations concern the same data; and

selectively blocking accesses by the guest operating system to memory or disk locations containing data of interest.

2. The method of claim 1 wherein the virtualization layer comprises a hypervisor layer.

3. The method of claim 1 wherein monitoring disk accesses includes maintaining a watch list of virtual machine disk blocks containing data of interest and determining whether a disk access corresponds to any of the virtual machine blocks on the watch list.

4. The method of claim 3 wherein tracking subsequent accesses to the memory resident data includes, in response to determining that the disk access corresponds to a virtual machine disk block on the watch list, triggering a memory monitoring module located within the virtualization layer to monitor a physical page of memory into which blocks of data from the disk access are paged.

5. The method of claim 1 comprising maintaining a watch list of file system objects corresponding to data of interest and determining whether a file system object operation corresponds to any of the file system objects on the watch list.

6. The method of claim 1 wherein tracking subsequent accesses to the memory resident data includes, in response to the memory resident data being copied from its initial location to another memory resident location, adding the new memory resident location to a watch list and monitoring subsequent accesses to the new memory resident location using the watch list.

7. The method of claim 1 comprising identifying a codepage signature of a process making the memory accesses and comparing the codepage signature to stored codepage signatures to identify the process.

8. The method of claim 7 comprising creating the codepage signature for the process by recognizing shared and kernel code pages associated with the process and utilizing the codepage signature to selectively extract codepages that identify the process.

9. The method of claim 1 comprising selectively blocking or dropping packets associated with a network connection without examining the packets' contents.

10. A system for efficient computer forensic analysis and data access control, the system comprising:

a virtualization layer of a first computing system separate from a guest operating system executing on the first computing system for virtualizing resources of the first computing system;

a storage monitoring module located within the virtualization layer and for monitoring disk accesses by the guest operating system to a region of interest on a disk from which data is copied into memory;

a memory monitoring module located within the virtualization layer for tracking subsequent accesses to memory resident data where the memory resident data is copied from its initial location to other memory locations or over a network;

a system call monitoring module for linking operations made by the guest operating system associated with the disk accesses with operations made by the guest operating system associated with the memory accesses, wherein the operations made by the quest operating system associated with the disk accesses include a file read operation and wherein linking the operations made by the guest operating system associated with the disk accesses with the operations associated with the memory accesses includes examining source and destination parameters associated with the file read operation to infer that the operations concern the same data; and

an enforcement module for selectively blocking accesses by the guest operating system to memory or disk locations containing data of interest, wherein each of the storage monitoring module, the memory monitoring module, the system call monitoring module, and the enforcement module is implemented using at least one hardware processor.

11. The system of claim 10 wherein the virtualization layer comprises a hypervisor layer.

12. The system of claim 10 wherein the storage monitoring module is configured to maintain a watch list of virtual machine disk blocks containing data of interest and determine whether a disk access corresponds to any of the virtual machine blocks on the watch list.

13. The system of claim 12 wherein the storage monitoring module is configured to, in response to determining that the disk access corresponds to a virtual machine disk block on the watch list, trigger the memory monitoring module to monitor a physical page of memory into which blocks of data from the disk access are paged.

14. The system of claim 10 wherein the storage monitoring module is configured to maintain a watch list of file system objects corresponding to data of interest and determine whether a file system object operation corresponds to any of the file system objects on the watch list.

15. The system of claim 10 wherein the memory monitoring module is configured to, in response to the memory resident data being copied from its initial location to another memory resident location, add the new memory resident location to a watch list and monitor subsequent accesses to the new memory resident location using the watch list.

16. The system of claim 10 wherein the memory monitoring module is configured to identify a codepage signature of a process making the memory accesses and to compare the codepage signature to stored codepage signatures to identify the process.

17. The system of claim 16 wherein the memory monitoring module is configured to create the codepage signature for the process by recognizing shared and kernel code pages associated with the process and utilize the codepage signature to selectively extract codepages that identify the process.

18. The system of claim 10 comprising a network monitoring module configured to, in response to a trigger from either the memory monitoring module or the system call monitoring module, selectively block or drop packets associated with a network connection.

19. A non-transitory computer readable medium having stored thereon executable instructions that when executed by a processor of a computer control the computer to perform steps comprising:

from within a virtualization layer of a first computing system separate from a guest operating system executing on the first computing system:

monitoring disk accesses by the guest operating system to a region of interest on a disk from which data is copied into memory;

tracking subsequent accesses to the memory resident data where the memory resident data is copied from its initial location to other memory locations or over a network;

linking operations made by the guest operating system associated with the disk accesses with operations made by the guest operating system associated with the memory accesses, wherein the operations made by the quest operating system associated with the disk accesses include a file read operation and wherein linking the operations made by the quest operating system associated with the disk accesses with the operations associated with the memory accesses includes examining source and destination parameters associated with the file read operation to infer that the operations concern the same data; and

selectively blocking accesses by the guest operating system to memory or disk locations containing data of interest.

Assignments (2)
CONFIRMATORY LICENSE Recorded Feb 26, 2018
From: UNIVERSITY OF NORTH CAROLINA, CHAPEL HILL
To: NATIONAL SCIENCE FOUNDATION
Reel/Frame 045440/0706 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 11, 2014
From: KRISHNAN, SRINIVAS; MONROSE, FABIAN; SNOW, KEVIN
To: THE UNIVERSITY OF NORTH CAROLINA AT CHAPEL HILL
Reel/Frame 032196/0308 →
Continuity (2)
Provisional Application 61483612 · May 6, 2011
Related Publication 20140157407A1 · Jun 5, 2014