IP Library Granted Patent US 10,514,972
Granted Patent B2
US 10,514,972 · App. 15/964,265 · Granted Dec 24, 2019

Embedding forensic and triage data in memory dumps

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,514,972
App. No.
15/964,265
Granted
Dec 24, 2019
Kind
B2
Abstract

Disclosed herein are methods, systems, and processes to embed forensic and triage data in memory dumps. Memory dump data being written to kernel memory of a computing system by a firmware interface is detected. An operating mode of an operating system executing on the computing system is activated. Hardware forensic data is generated by reading local computer bus data, firmware event log data, and memory mapped input/output (I/O) data associated with the computing system. The hardware forensic data is then stored in a memory location of the kernel memory, causing the hardware forensic data to be included in the memory dump data being written to kernel memory.

Claims (88)

1. A computer-implemented method, comprising:

detecting that a firmware interface is writing memory dump data to kernel memory of a computing system;

based on the detecting, activating an operating mode of an operating system executing on the computing system;

generating hardware forensic data by reading local computer bus data, firmware event log data, and memory mapped input/output (I/O) data associated with the computing system; and

storing the hardware forensic data in a memory location of the kernel memory causing the hardware forensic data to be included in the memory dump data.

2. The computer-implemented method of claim 1 , wherein

the firmware interface is a Unified Extensible Firmware Interface (UEFI),

the operating mode is a System Management Mode (SMM),

the local computer bus data is associated with a Peripheral Component Interconnect (PCI) of the computing system, and

the firmware event log is a Basic Input/Output System (BIOS) log.

3. The computer-implemented method of claim 2 , further comprising:

generating thermal data comprising a current temperature of one or more thermistors in the computing system; and

generating Non-Volatile Random Access Memory (NVRAM) data comprising a last configuration created by a memory reference code.

4. The computer-implemented method of claim 3 , wherein

the local computer bus data comprises one or more Peripheral Component Interconnect Express (PCIE) registers for one or more PCIE bridges of the computing system and indicates whether one or more PCI devices have gone offline, and

the memory mapped I/O data comprises information associated with one or more storage controllers and one or more Universal Serial Bus (USB) devices of the computing system and indicates whether the one or more storage controllers or the one or more USB devices have gone offline or into an error state.

5. The computer-implemented method of claim 4 , further comprising:

parsing the hardware forensic data prior to causing the inclusion of the hardware forensic data in the memory dump data, wherein the parsing comprises:

determining whether a machine check is active,

determining whether a boot device went offline,

determining whether a PCIE bridge of the one or more PCIE bridges has an error or has gone offline,

determining whether a storage controller of the one or more storage controllers or a USB device of the one or more USB devices is in an errant state, and

determining whether a thermal sensor is at or within a threshold of a critical level.

6. The computer-implemented method of claim 5 , further comprising:

based on the parsing, generating hardware triage data; and

storing the hardware triage data in the memory location along with the hardware forensic data for inclusion in the memory dump data.

7. The computer-implemented method of claim 6 , wherein

detecting that the firmware interface is writing the memory dump data to the kernel memory comprises determining whether an NVRAM variable associated with a kernel debugger is being written to, and

calling a software System Management Interrupt (SMI) associated with the SMM to write the hardware triage data and the hardware forensic data to an Advanced Configuration and Power Interface (ACPI) memory structure in the kernel memory.

8. A non-transitory computer readable storage medium comprising program instructions executable to:

detect that a firmware interface is writing memory dump data to kernel memory of a computing system;

based on the detecting, activate an operating mode of an operating system executing on the computing system;

generate hardware forensic data by reading local computer bus data, firmware event log data, and memory mapped input/output (I/O) data associated with the computing system; and

store the hardware forensic data in a memory location of the kernel memory causing the hardware forensic data to be included in the memory dump data.

9. The non-transitory computer readable storage medium of claim 8 , wherein

the firmware interface is a Unified Extensible Firmware Interface (UEFI),

the operating mode is a System Management Mode (SMM),

the local computer bus data is associated with a Peripheral Component Interconnect (PCI) of the computing system, and

the firmware event log is a Basic Input/Output System (BIOS) log.

10. The non-transitory computer readable storage medium of claim 9 , further comprising:

generating thermal data comprising a current temperature of one or more thermistors in the computing system; and

generating Non-Volatile Random Access Memory (NVRAM) data comprising a last configuration created by a memory reference code.

11. The non-transitory computer readable storage medium of claim 10 , wherein

the local computer bus data comprises one or more Peripheral Component Interconnect Express (PCIE) registers for one or more PCIE bridges of the computing system and indicates whether one or more PCI devices have gone offline, and

the memory mapped I/O data comprises information associated with one or more storage controllers and one or more Universal Serial Bus (USB) devices of the computing system and indicates whether the one or more storage controllers or the one or more USB devices have gone offline or into an error state.

12. The non-transitory computer readable storage medium of claim 11 , further comprising:

parsing the hardware forensic data prior to causing the inclusion of the hardware forensic data in the memory dump data, wherein the parsing comprises:

determining whether a machine check is active,

determining whether a boot device went offline,

determining whether a PCIE bridge of the one or more PCIE bridges has an error or has gone offline,

determining whether a storage controller of the one or more storage controllers or a USB device of the one or more USB devices is in an errant state, and

determining whether a thermal sensor is at or within a threshold of a critical level.

13. The non-transitory computer readable storage medium of claim 12 , further comprising:

based on the parsing, generating hardware triage data; and

storing the hardware triage data in the memory location along with the hardware forensic data for inclusion in the memory dump data.

14. The non-transitory computer readable storage medium of claim 13 , wherein

detecting that the firmware interface is writing the memory dump data to the kernel memory comprises determining whether an NVRAM variable associated with a kernel debugger is being written to, and

calling a software System Management Interrupt (SMI) associated with the SMM to write the hardware triage data and the hardware forensic data to an Advanced Configuration and Power Interface (ACPI) memory structure in the kernel memory.

15. A system comprising:

one or more processors; and

a memory coupled to the one or more processors, wherein the memory stores program instructions executable by the one or more processors to:

detect that a firmware interface is writing memory dump data to kernel memory of a computing system;

based on the detecting, activate an operating mode of an operating system executing on the computing system;

generate hardware forensic data by reading local computer bus data, firmware event log data, and memory mapped input/output (I/O) data associated with the computing system; and

store the hardware forensic data in a memory location of the kernel memory causing the hardware forensic data to be included in the memory dump data.

16. The system of claim 15 , wherein

the firmware interface is a Unified Extensible Firmware Interface (UEFI),

the operating mode is a System Management Mode (SMM),

the local computer bus data is associated with a Peripheral Component Interconnect (PCI) of the computing system, and

the firmware event log is a Basic Input/Output System (BIOS) log.

17. The system of claim 16 , further comprising:

generating thermal data comprising a current temperature of one or more thermistors in the computing system; and

generating Non-Volatile Random Access Memory (NVRAM) data comprising a last configuration created by a memory reference code.

18. The system of claim 17 , wherein

the local computer bus data comprises one or more Peripheral Component Interconnect Express (PCIE) registers for one or more PCIE bridges of the computing system and indicates whether one or more PCI devices have gone offline, and

the memory mapped I/O data comprises information associated with one or more storage controllers and one or more Universal Serial Bus (USB) devices of the computing system and indicates whether the one or more storage controllers or the one or more USB devices have gone offline or into an error state.

19. The system of claim 18 , further comprising:

parsing the hardware forensic data prior to causing the inclusion of the hardware forensic data in the memory dump data, wherein the parsing comprises:

determining whether a machine check is active,

determining whether a boot device went offline,

determining whether a PCIE bridge of the one or more PCIE bridges has an error or has gone offline,

determining whether a storage controller of the one or more storage controllers or a USB device of the one or more USB devices is in an errant state, and

determining whether a thermal sensor is at or within a threshold of a critical level;

based on the parsing, generating hardware triage data; and

storing the hardware triage data in the memory location along with the hardware forensic data for inclusion in the memory dump data.

20. The system of claim 19 , wherein

detecting that the firmware interface is writing the memory dump data to the kernel memory comprises determining whether an NVRAM variable associated with a kernel debugger is being written to, and

calling a software System Management Interrupt (SMI) associated with the SMM to write the hardware triage data and the hardware forensic data to an Advanced Configuration and Power Interface (ACPI) memory structure in the kernel memory.

Assignments (8)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (046366/0014) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 060450/0306 →
RELEASE OF SECURITY INTEREST AT REEL 046286 FRAME 0653 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 058298/0093 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
PATENT SECURITY AGREEMENT (CREDIT) Recorded Jun 1, 2018
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 046286/0653 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Jun 1, 2018
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 046366/0014 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 30, 2018
From: CHAIKEN, CRAIG LAWRENCE; ARMS, MICHAEL WAYNE
To: DELL PRODUCTS L.P.
Reel/Frame 045669/0599 →