1. A method for securing a computer system, the method comprising: checking a digital signature of an application to load into a memory of the computer system configured to contain memory pages; in response to finding a valid digital signature: setting a plurality of memory pages containing instructions of the application as executable; and setting a plurality of memory pages other than those containing instructions of the application as non-executable; executing instructions in the plurality of executable memory pages; preventing execution of instructions in the plurality of non-executable memory pages; and generating a page fault in response to an attempt to execute an instruction in a non-executable page of the plurality of non-executable memory pages, wherein in response to the generation of the page fault: checking a whitelist of a sequence of instructions for the attempted instruction in the non-executable page; wherein the sequence of instructions is computer program code; setting the non-executable memory page to an executable memory page if the attempted instruction is included in the whitelist; and executing the attempted instruction in the executable memory page.