Patent ID: 8045958

Claim:
A computer program product for providing security features for a mobile device having a non-secure operating system, the computer program product comprising a non-transitory computer readable medium embodying program code means executable by a processor of the mobile device, wherein the program code means comprises: a security management module for providing the security features to the non-secure operating system of the mobile device; a connect module for remotely updating the security features provided by the security management module; and, an integration module for interfacing the connect module and the security management module with the non-secure operating system, wherein the integration module integrates application programming interfaces of the connect module with host environment application programming interfaces and provides security services to the mobile device via the application programming interfaces of the connect module to augment the behavior of the host environment application programming interfaces and the mobile device in order to affect the security capabilities of the non-secure operating system; and wherein the program code means further comprises instructions for: providing access information and execution information to the security management module, the access information comprising information specifying whether applications on the mobile device can access a sensitive function of one of the host environment application programming interfaces and the execution information comprising information on whether an application on the mobile device is allowed to be executed by the non-secure operating system; when a given application being executed on the mobile device makes a function call to an application program interface that provides access to a sensitive function, allowing execution of the function call to the sensitive function when the access information indicates that function calls to the sensitive function by the given application are allowed, otherwise not allowing execution of the function call to the sensitive function; and when a given application is to be executed on the mobile device, allowing execution of the given application when the execution information indicates that the given application is an allowable application, otherwise not allowing execution of the given application.