1. A non-transitory computer readable medium having stored thereon machine readable instructions to provide memory integrity checking, the machine readable instructions, when executed, cause at least one processor to: receive computer program code; use a loader to load the computer program code in memory; and verify the integrity of the computer program code by selectively implementing at least one of synchronous verification and asynchronous verification, wherein: the synchronous verification is based on loader security features associated with the loading of the computer program code; and the asynchronous verification is based on a media controller associated with the memory containing the computer program code, wherein the asynchronous verification is implemented by identifying an unauthorized signature associated with the computer program code via the media controller by comparing a signature associated with the computer program code to an unauthorized signature list.