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.