IP Library Granted Patent US 7,631,160
Granted Patent B2
US 7,631,160 · App. 09/825,905 · Granted Dec 8, 2009

Method and apparatus for securing portions of memory

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 7,631,160
App. No.
09/825,905
Granted
Dec 8, 2009
Kind
B2
Abstract

The present invention provides a method and apparatus for securing portions of a memory. The method includes identifying information for protection and indicating at least one physical address of a memory that houses the information as at least one of read and write disabled. The method includes receiving a request from a program to access the information. The method further includes accessing the information in response to determining that the program has the authority to access the information. The apparatus includes a memory comprising a privileged code. The privileged code is capable of receiving a request to protect selected information and indicating at least one physical address of a memory housing the information as at least one of read and write disabled. The privileged code is capable of receiving a request from a program to access the information. The privileged code is further capable of accessing the information in response to determining that the program has the authority to access the information.

Claims (61)

1. A method for providing security in a computer system, comprising:

controlling access to selected information using attributes defined in a first table;

controlling access to the selected information using a second table that associates at least one of a read and write privilege with one or more physical addresses of a memory that houses the selected information;

receiving a request from a program to access the information; and

allowing access to the information in response to determining that the program has the authority to access the information based on at least one of the read and write privilege; and

wherein the selected information is at least one of interrupt descriptor table, global descriptor table, and local descriptor table.

2. The method of claim 1 , wherein controlling access to the selected information based on the privilege comprises:

indicating in the second table that the memory housing the information is at least one of read and write disabled.

3. The method of claim 2 , wherein the second table is a bitmap based on physical addresses of the memory.

4. The method of claim 1 , wherein the program is an operating system.

5. The method of claim 1 , wherein allowing access to the information in response to determining that the program has the authority to access the information includes using a stack in the computer system to verify the identity of the program.

6. A method for providing security, comprising:

writing to at least one register to define a privileged memory region;

defining at least one computer instruction as a privileged instruction, wherein the privileged instruction is resident in the privileged memory region;

identifying information for protection;

indicating at least one physical address of a memory that houses the information as at least one of read and write disabled; and

controlling the access to the information using the privileged instruction; and

wherein the protected information is at least one of interrupt descriptor table, global descriptor table, and local descriptor table.

7. The method of claim 6 , further including writing to a second register, wherein the first and second registers define the privileged memory region.

8. The method of claim 6 , wherein indicating at least one physical address of the memory includes:

generating a table based on the physical addresses of the memory; and

indicating in the table that the memory housing the information is at least one of read and write disabled.

9. A computer readable program storage device encoded with instructions that, when executed by a computer, performs a method of providing security, comprising:

protecting selected information using a first level of security specifying access privileges to the selected information;

protecting the information using a second level of security that associates at least one of a read and write privilege with one or more physical addresses of a memory that houses the selected information;

receiving a request from a program to access the selected information; and

accessing the information in response to determining that the program has the authority to access the selected information based at least on the second security level; and

wherein the selected information is at least one of interrupt descriptor table, global descriptor table, and local descriptor table.

10. The computer readable program storage device of claim 9 , wherein indicating at least one physical address of the memory includes:

generating a table based on the physical addresses of the memory; and

indicating in the table that the memory housing the information is at least one of read and write disabled.

11. The computer readable program storage device of claim 10 , wherein the table includes an entry specifying access rights to the selected information based on one or more programs desiring to access the selected information.

12. An apparatus, comprising:

a memory comprising:

a first level of protection specifying access privileges for selected information; and

a privileged code, the privileged code capable of:

protecting access to the selected information based on a second level of protection in which at least one of a read and write privilege is associated with the physical address of a memory housing the information;

receiving a request from a program to access the information; and

allowing access to the information in response to determining that the program has the authority to access the information based on at least one of the read and write privilege, wherein the selected information is at least one of interrupt descriptor table, global descriptor table, and local descriptor table.

13. The apparatus of claim 12 , wherein the privileged code capable of indicating at least one physical address of the memory includes the privileged code being capable of:

generating a table based on the physical addresses of the memory; and

indicating in the table that the memory housing the information is at least one of read and write disabled.

14. The apparatus of claim 12 , wherein the program is an operating system.

15. A system, comprising:

a processor; and

a memory coupled to the processor, the memory comprising:

a table specifying access privileges for selected information; and

a privileged code capable of:

protecting access to the selected information based a second table specifying association of at least one of a read and write privilege with at least one physical address of a memory housing the information;

receiving a request from a program to access the information; and

allowing access to the information in response to determining that the program has the authority to access the information based on at least one of the read and write privilege, wherein the selected information is at least one of interrupt descriptor table, global descriptor table, and local descriptor table.

16. The system of claim 15 , wherein the privileged code capable of indicating at least one physical address of the memory includes the privileged code being capable of:

generating a table based on the physical addresses of the memory; and

indicating in the table that the memory housing the information is at least one of read and write disabled.

17. The system of claim 15 , wherein the program is an operating system.

18. The system of claim 15 , wherein the processor is an x86 processor.

19. An apparatus for providing security, comprising:

means for providing a first table of at least write protection for selected information;

means for providing a second table of at least one of read and write protection for the selected information associated with one or more physical addresses of a memory that houses the selected information;

means for receiving a request from a program to access the information; and

means for allowing access to the information in response to determining that the program has the authority to access the information based on at least the first and second tables, wherein the selected information is at least one of interrupt descriptor table, global descriptor table, and local descriptor table.

Assignments (5)
RELEASE OF SECURITY INTEREST Recorded May 12, 2021
From: WILMINGTON TRUST, NATIONAL ASSOCIATION
To: GLOBALFOUNDRIES U.S. INC.
Reel/Frame 056987/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 29, 2021
From: GLOBALFOUNDRIES US INC.
To: MEDIATEK INC.
Reel/Frame 055173/0781 →
RELEASE OF SECURITY INTEREST Recorded Nov 20, 2020
From: WILMINGTON TRUST, NATIONAL ASSOCIATION
To: GLOBALFOUNDRIES INC.
Reel/Frame 054636/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 2, 2020
From: GLOBALFOUNDRIES INC.
To: GLOBALFOUNDRIES U.S. INC.
Reel/Frame 054633/0001 →
SECURITY AGREEMENT Recorded Nov 29, 2018
From: GLOBALFOUNDRIES INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION
Reel/Frame 049490/0001 →