Method and system for preventing unauthorized access to a...

Data processing: software development – installation – and managem – Software program development tool – Translation of code

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C710S261000

Reexamination Certificate

active

06237137

ABSTRACT:

BACKGROUND
The present disclosure relates generally to computers and computer programs, and, more specifically, to a system and method for preventing programs from being run under a debugger utility program.
A computer program that is stored inside a computer often contains many protectable intellectual properties. Certain ones of these properties are readily protectable through copyright and/or patent laws. However, others of these properties are protectable as trade secrets, and therefore require the utmost level of security to prevent unauthorized use or access.
Preventing unauthorized use or access of a particular program becomes difficult once the program is attained by a user who is not subject to software licenses or other forms of protection. For example, diagnostic programs are often installed on a computer by the computer's manufacturer and contain many trade secrets of the manufacturer. Typically, only the executable (.exe) portion of the program is installed, thereby keeping the source code from the user. Further, the .exe portion of the program is often encrypted. For example, a utility program PKLITE from PKWARE, Inc. of Brown Deer, Wis., compresses the .exe portion of the program, thereby encrypting it in the process. However, this does not prevent a user from running the program through a debugger utility program. The debugger utility program makes the computer's processor operate in a suspended execution mode which causes the processor to stop execution or jump to another routine at certain, predefined intervals. For the sake of example, the processor may be a PENTIUM processor, as produced by Intel, Corp. of Santa Clara, Calif., and examples of suspended execution modes include a debug and a single-step operating mode, all of which are described in greater detail in the INTEL ARCHITECTURE SOFTWARE DEVELOPER'S MANUAL, Vols. 1-3, 1997, provided by Intel Corporation, which is hereby incorporated by reference. By using the debugger program, the user can wrongfully access the program, thereby accessing the trade secrets stored therein.
Therefore, what is needed is a system and method that would prevent unauthorized access of a program, even through a debugger utility program.
SUMMARY
In response thereto, provided is a system and method for preventing a program from being run under a debugger utility program. In one embodiment, a routine and a software program are stored on a hard drive of a computer system. The computer system has a processor for running both the software program and the routine and is capable of operating in a suspended execution mode. The routine prevents unauthorized access to the software program, such as when the processor is running in the suspended execution mode under a debugger utility program. When the processor is running the software program, the program can initiate execution of the routine. Once initiated, the routine checks a certain predetermined memory location to determine if it is operating in the suspended execution mode and if so, stops the processor from continuing to run the software program.
In one embodiment, the memory location is an interrupt register of the processor, which indicates whether any breakpoints, which are commonly used in debug operating modes, are being used. The routine checks the interrupt register to determine if it points to any other program or routine. If so, then the processor is likely running in debug mode and the routine stops the processor from continuing to run the original program. In another embodiment, the memory location is a flag register of the processor, which indicates whether other operating modes of the processor. In this embodiment, the routine checks the flag register to determine if it indicates a single-step mode of operation for the processor. If so, the routine stops the processor from continuing to run the program.


REFERENCES:
patent: 4525780 (1985-06-01), Bratt et al.
patent: 4819234 (1989-04-01), Huber
patent: 5083266 (1992-01-01), Watanabe
patent: 5159688 (1992-10-01), Matsushima et al.
patent: 5432795 (1995-07-01), Robinson
patent: 5446900 (1995-08-01), Kimelman
patent: 5671422 (1997-09-01), Datta
patent: 5765004 (1998-06-01), Foster et al.
patent: 5903766 (1999-05-01), Walker et al.
patent: 0062438A2 (1982-10-01), None
patent: 58-094195 (1983-06-01), None
patent: 62-126448 (1987-06-01), None
patent: WO 82/04356 (1983-12-01), None
patent: WO 97/04394 (1997-02-01), None

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Method and system for preventing unauthorized access to a... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Method and system for preventing unauthorized access to a..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method and system for preventing unauthorized access to a... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2528496

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.