主权项 |
1. An information processing apparatus comprising:
a processor being configured to elevate instructions; a memory; a secure module; and a storage device, coupled to the processor, configured to store therein a unique code for a program under test, wherein the processor is coupled to the memory and configured to execute programmed instructions stored in the memory to perform the steps of: generating a scanning program that causes scan processing, which generates the unique code for the program under test, to be executed by the processor and executes update processing of randomly updating contents of the scanning program; modifying the program under test into program code having description content that is different and a function that is the same as the program prior to modifying, wherein unique code for the modified program under test is written to the storage device, overwriting existing unique code; and authenticating, when the scanning program is executed with respect to the program under test stored at a designated storage area in the memory, validity of the program under test stored at the designated storage area, based on the unique code stored in the storage device and execution results of the scanning program, wherein the secure module includes a structure configured to prohibit internally stored information from being referenced externally, and wherein the modifying further includes: shuffling a command in the program under test; storing in the storage device, a table correlating a jump command specifying an address to which a jump is made and an address of the jump command; changing contents of the jump command in the program under test post-shuffling, to a read-command for the table; and writing to the designated storage area, the program under test including the read-command. |