1. A method of allowing authorized code to execute on a computer system, the method comprising: intercepting a request to create a process associated with a code module; determining if the request is authorized by authenticating the request with reference to a multi-level whitelist; and allowing the code module to be loaded and executed by granting the request if the request is authorized.