To protect computer programs against security attacks that attempt to corrupt pointers within the address space of the program, the value of a pointer is encrypted each time the pointer is initialized or modified, and then the value is decrypted before use, i.e., each time the pointer is read. Preferably, the encrypting and decrypting steps are effected by instructions generated by a compiler during compilation of the program. One convenient method of implementing the encrypting and decrypting steps is by XOR'ing the pointer with a predetermined encryption key value, which could be specially selected or selected at random.

 
Web www.patentalert.com

< Dynamic selection of memory virtualization techniques

< Splash tables: an efficient hash scheme for processors

> Automatically filling a drive table

> Administration of locks for critical sections of computer programs in a computer that supports a multiplicity of logical partitions

~ 00619