IP Library Granted Patent US 11,514,166
Granted Patent B2
US 11,514,166 · App. 17/075,381 · Granted Nov 29, 2022

Systems and methods to protect unified extensible firmware interface protocol serviceability

Inventors: Yu-Cheng Sheng (Taoyuan, TW); PoYu Cheng (Tainan, TW); Yu-Hsuan Yang (Taoyuan, TW)
Assignee: Dell Products L.P.
G06F21/572G06F8/62G06F21/575G06F2221/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 11,514,166
App. No.
17/075,381
Granted
Nov 29, 2022
Kind
B2
Abstract

A method may include, in an information handling system comprising a basic input/output system (BIOS) embodied in non-transitory computer-readable media and configured to be the first code executed by a processor when the information handling system is booted and configured to initialize components of the information handling system into a known state: receiving an indication of installation of a protocol by a producer driver of a plurality of protocol drivers integral to the BIOS, storing metadata regarding the protocol in a protocol database of the BIOS, receiving a request to consume the protocol by a consumer driver of the plurality of protocol drivers, and obfuscating the metadata stored in the protocol database from the consumer driver to prevent the consumer driver from uninstalling the protocol.

Claims (65)

1. An information handling system comprising:

a processor; and

a basic input/output system (BIOS) embodied in non-transitory computer-readable media and configured to be the first code executed by the processor when the information handling system is booted and configured to initialize components of the information handling system into a known state, the BIOS comprising:

a plurality of protocol drivers; and

a core configured to:

receive an indication of installation of a protocol by a producer driver of the plurality of protocol drivers;

store metadata regarding the protocol in a protocol database of the BIOS:

receive a request to consume the protocol by a consumer driver of the plurality of protocol drivers;

obfuscate the metadata stored in the protocol database from the consumer driver to prevent the consumer driver from uninstalling the protocol;

in connection with receipt of the indication of installation, receive a special protocol global unique identifier and a secret memory address for the protocol from the producer driver; and

in response to receipt of the special protocol global unique identifier and the secret memory address, hide an actual memory pointer within the protocol database and associated with the protocol from the consumer driver.

2. The information handling system of claim 1 , wherein the core is further configured to prevent access to the consumer driver of a memory pointer to an instance of the protocol stored in memory by the producer driver.

3. The information handling system of claim 1 , wherein the BIOS comprises a Unified Extensible Firmware Interface.

4. An information handling system comprising:

a processor; and

a basic input/output system (BIOS) embodied in non-transitory computer-readable media and configured to be the first code executed by the processor when the information handling system is booted and configured to initialize components of the information handling system into a known state, the BIOS comprising:

a plurality of protocol drivers; and

a core configured to:

receive an indication of installation of a protocol by a producer driver of the plurality of protocol drivers;

store metadata regarding the protocol in a protocol database of the BIOS:

receive a request to consume the protocol by a consumer driver of the plurality of protocol drivers;

obfuscate the metadata stored in the protocol database from the consumer driver to prevent the consumer driver from uninstalling the protocol;

responsive to the indication of installation, create within the protocol database a read-only shadow of the protocol; and

responsive to the request to consume the protocol by the consumer driver, provide to the consumer driver a pointer to the read-only shadow of the protocol as stored in a memory accessible to the BIOS.

5. The information handling system of claim 4 , wherein the core is further configured to prevent access to the consumer driver of a memory pointer to an instance of the protocol stored in memory by the producer driver.

6. The information handling system of claim 4 , wherein the BIOS comprises a Unified Extensible Firmware Interface.

7. A method comprising, in an information handling system comprising a basic input/output system (BIOS) embodied in non-transitory computer-readable media and configured to be the first code executed by a processor when the information handling system is booted and configured to initialize components of the information handling system into a known state:

receiving an indication of installation of a protocol by a producer driver of a plurality of protocol drivers integral to the BIOS;

storing metadata regarding the protocol in a protocol database of the BIOS; receiving a request to consume the protocol by a consumer driver of the plurality of protocol drivers; and

obfuscating the metadata stored in the protocol database from the consumer driver to prevent the consumer driver from uninstalling the protocol;

in connection with receipt of the indication of installation, receiving a special protocol global unique identifier and a secret memory address for the protocol from the producer driver; and

in response to receipt of the special protocol global unique identifier and the secret memory address, hiding an actual memory pointer within the protocol database and associated with the protocol from the consumer driver.

8. The method of claim 7 , further comprising preventing access to the consumer driver of a memory pointer to an instance of the protocol stored in memory by the producer driver.

9. The method of claim 7 , wherein the BIOS comprises a Unified Extensible Firmware Interface.

10. A method comprising, in an information handling system comprising a basic input/output system (BIOS) embodied in non-transitory computer-readable media and configured to be the first code executed by a processor when the information handling system is booted and configured to initialize components of the information handling system into a known state:

receiving an indication of installation of a protocol by a producer driver of a plurality of protocol drivers integral to the BIOS;

storing metadata regarding the protocol in a protocol database of the BIOS;

receiving a request to consume the protocol by a consumer driver of the plurality of protocol drivers; and

obfuscating the metadata stored in the protocol database from the consumer driver to prevent the consumer driver from uninstalling the protocol;

responsive to the indication of installation, creating within the protocol database a read-only shadow of the protocol; and

responsive to the request to consume the protocol by the consumer driver, providing to the consumer driver a pointer to the read-only shadow of the protocol as stored in a memory accessible to the BIOS.

11. The method of claim 10 , further comprising preventing access to the consumer driver of a memory pointer to an instance of the protocol stored in memory by the producer driver.

12. The method of claim 10 , wherein the BIOS comprises a Unified Extensible Firmware Interface.

13. An article of comprising:

a non-transitory computer readable medium; and

computer-executable instructions carried on the computer readable medium, the instructions readable by a processor, the instructions, when read and executed, for causing the processor to, in an information handling system comprising a basic input/output system (BIOS) embodied in non-transitory computer-readable media and configured to be the first code executed by the processor when the information handling system is booted and configured to initialize components of the information handling system into a known state:

receive an indication of installation of a protocol by a producer driver of a plurality of protocol drivers integral to the BIOS;

store metadata regarding the protocol in a protocol database of the BIOS;

receive a request to consume the protocol by a consumer driver of the plurality of protocol drivers;

obfuscate the metadata stored in the protocol database from the consumer driver to prevent the consumer driver from uninstalling the protocol;

in connection with receipt of the indication of installation, receive a special protocol global unique identifier and a secret memory address for the protocol from the producer driver; and

in response to receipt of the special protocol global unique identifier and the secret memory address, hide an actual memory pointer within the protocol database and associated with the protocol from the consumer driver.

14. The article of claim 13 , the instructions for further causing the processor to prevent access to the consumer driver of a memory pointer to an instance of the protocol stored in memory by the producer driver.

15. The article of claim 13 , wherein the BIOS comprises a Unified Extensible Firmware Interface.

16. An article of comprising:

a non-transitory computer readable medium; and

computer-executable instructions carried on the computer readable medium, the instructions readable by a processor, the instructions, when read and executed, for causing the processor to, in an information handling system comprising a basic input/output system (BIOS) embodied in non-transitory computer-readable media and configured to be the first code executed by the processor when the information handling system is booted and configured to initialize components of the information handling system into a known state:

receive an indication of installation of a protocol by a producer driver of a plurality of protocol drivers integral to the BIOS;

store metadata regarding the protocol in a protocol database of the BIOS;

receive a request to consume the protocol by a consumer driver of the plurality of protocol drivers;

obfuscate the metadata stored in the protocol database from the consumer driver to prevent the consumer driver from uninstalling the protocol;

responsive to the indication of installation, create within the protocol database a read-only shadow of the protocol; and

responsive to the request to consume the protocol by the consumer driver, provide to the consumer driver a pointer to the read-only shadow of the protocol as stored in a memory accessible to the BIOS.

17. The article of claim 16 , the instructions for further causing the processor to prevent access to the consumer driver of a memory pointer to an instance of the protocol stored in memory by the producer driver.

18. The article of claim 16 , wherein the BIOS comprises a Unified Extensible Firmware Interface.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (054475/0523) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 060332/0664 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (054475/0434) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 060332/0740 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (054475/0609) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 062021/0570 →
RELEASE OF SECURITY INTEREST AT REEL 054591 FRAME 0471 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0463 →
SECURITY INTEREST Recorded Nov 18, 2020
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 054475/0609 →
SECURITY INTEREST Recorded Nov 18, 2020
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 054475/0434 →
SECURITY INTEREST Recorded Nov 18, 2020
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 054475/0523 →
SECURITY AGREEMENT Recorded Nov 13, 2020
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 054591/0471 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 20, 2020
From: SHENG, YU-CHENG; CHENG, POYU; YANG, YU-HSUAN
To: DELL PRODUCTS L.P.
Reel/Frame 054113/0578 →