IP Library Granted Patent US 7,386,886
Granted Patent B1
US 7,386,886 · App. 09/708,397 · Granted Jun 10, 2008

System and method for prevention of buffer overflow intrusions

Assignee: International Business Machines Corporation
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,386,886
App. No.
09/708,397
Granted
Jun 10, 2008
Kind
B1
Abstract

Disclosed as a system and method for providing enhanced security to processes running on a data processing system. The disclosed system and method selectively revokes execute privileges from memory pages being used for stacks of susceptible processes running on the data processing system. By selectively resetting execute privileges on a per page and per process basis, the system and method maintains system performance and provides enhanced security to processes running on the data processing system.

Claims (23)

1. A method for handling buffer overflow attacks against an application program running on a data processing system, having a CPU and a RAM divided into pages, the method comprising the steps of:

designating an execution flag for each page of RAM allocated to a stack of the application program;

permitting CPU execution of data on pages of RAM according to the execution flag;

determining whether the application program is susceptible to buffer overflow attacks; and

if the application program is susceptible to buffer overflow attacks, setting the execution flag as to the pages of RAM allocated to the stack of the application program to prohibit execution.

2. The method of claim 1 wherein step of permitting CPU execution comprises the steps of:

examining the execution flag on the page of RAM;

if the execution flag is not set, triggering a hardware interrupt; and

otherwise executing the data on the page.

3. The method of claim 1 further comprising the steps of:

establishing a process structure table;

maintaining the process structure table by annotating within the process structure table the susceptibility of the application program to buffer overflow attacks,

wherein the step of determining susceptibility to buffer overflow attacks is made with reference to the process structure table.

4. The method of claim 2 further comprising the steps of:

establishing a process structure table;

maintaining the process structure table by annotating within the process structure table the susceptibility of the application program to buffer overflow attacks,

wherein the step of determining susceptibility to buffer overflow attacks is made with reference to the process structure table.

5. The method according to claim 3 wherein the step of maintaining the process structure table is done once at the beginning of execution of the application program, and

the step of determining susceptibility is performed upon each receipt of a request to allocate an additional page of RAM for the application program code.

6. The method according to claim 4 wherein the step of maintaining the process structure table is done once at the beginning of execution of the application program, and

the step of determining susceptibility is performed upon each receipt of a request to allocate an additional page of RAM for the application program code.

7. The method according to claim 5 wherein request to allocate an additional page of RAM is a request to allocate the additional page of RAM for the stack.

8. The method according to claim 6 wherein request to allocate an additional page of RAM is a request to allocate the additional page of RAM for the stack.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 26, 2010
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: TREND MICRO INCORPORATED
Reel/Frame 024434/0960 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 8, 2000
From: ABRAMS, ROGER KENNETH
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 011289/0700 →