Method for runtime code integrity validation using code block checksums

   
   

The present invention provides a method and system for runtime code integrity validation. The method and system include providing a software tool for processing a software program, as well as instructions on how to modify the software program for submission to the tool. The modified software program executable generated for submission to the tool includes checksum information for use by the tool. The tool uses the checksum information to compute checksums on blocks specified by the checksum information, and stores the computed checksums in locations specified by the checksum information. Next, the tool strips the checksum information from the executable. The resulting executable code is delivered as a protected software application that generates a new checksum at runtime and compares it with the computed checksum, and determines that the software program has been modified if the checksums fail to match.

La actual invención proporciona un método y un sistema para la validación runtime de la integridad del código. El método y el sistema incluyen el abastecimiento de una herramienta del software para procesar un programa del software, así como instrucciones en cómo modificar el programa del software para la sumisión a la herramienta. El ejecutable modificada del programa del software generado para la sumisión a la herramienta incluye la información de la suma de comprobación para el uso por la herramienta. La herramienta utiliza la información de la suma de comprobación para computar sumas de comprobación en los bloques especificados por la información de la suma de comprobación, y almacena las sumas de comprobación computadas en las localizaciones especificadas por la información de la suma de comprobación. Después, la herramienta pela la información de la suma de comprobación del ejecutable. El código ejecutable que resulta se entrega como uso protegido del software que genere una nueva suma de comprobación en el tiempo de pasada y la compare con la suma de comprobación computada, y se determina que se ha modificado el programa del software si las sumas de comprobación no pueden emparejar.

 
Web www.patentalert.com

< System and method for developing software utilizing determinative representations

< System and method for building source code for connecting to systems

> Method and system for far branch and call instructions

> PROCESSOR FOR EXECUTING INSTRUCTIONS IN UNITS THAT ARE UNRELATED TO THE UNITS IN WHICH INSTRUCTIONS ARE READ, AND A COMPILER, AN OPTIMIZATION APPARATUS, AN ASSEMBLER, A LINKER, A DEBUGGER AND A DISASSEMBLER FOR SUCH PROCESSOR

~ 00173