Patent ID: 8863291

Claim:
A method of checking the reputation of executable code before it is executed by an operating system of a computing device, the method including: inputting a user command to the operating system for initiating a launch of said executable code; determining whether or not a local cache on said computing device includes local reputation information relating to the risk that launching said executable code will cause said computing device to malfunction; if said local reputation information confirms that launching said executable code represents a low risk of causing said computing device to malfunction, launching said executable code; and if said local reputation information fails to confirm that launching said executable code presents a low risk of causing said computing device to malfunction, sending information necessary to perform a reputation check regarding said executable code to a reputation service remote from said computing device, wherein said remote reputation service uses said information regarding said executable code to generate reputation information relating to the risk that launching said executable code will cause said computing device to malfunction; and receiving said reputation information from said remote reputation service at said computing device, said reputation information including a quantitative rating of the risk of launching said executable code, wherein said executable code is launched by said operating system without notifying the user of the computing device when said reputation information indicates that said executable code presents a low risk of causing said computing device to malfunction, and wherein said operating system prevents launch of said executable code and provides a notification to the user when said reputation information from said reputation service or said local reputation information indicates that said executable code presents a risk of causing said computing device to malfunction, said notification to the user includes (a) the quantitative rating given to the executable code, (b) a maximum level of privilege the executable code should be permitted to access based on the quantitative rating, and (c) a level of privilege the executable code requires to run on the computing device, wherein after receiving said notification the user can choose each of the following actions: (i) continuing with the launch of the executable code, (ii) aborting the launch of the executable code, and (iii) launching the executable code in a virtual environment not requiring access to said operating system.