System, method, and apparatus for enhanced whitelisting
A computer security system with enhanced whitelisting includes user interfaces that accept user inputs to create and modify a set of rules that define which programs are allowed to execute on one or more target systems. Upon an attempt to run a program, the set of rules are used to determine if the program is allowed to run. If any rule indicates that the program is allowed to run, the program is run. Otherwise, a user interface is presented to either block execution of the program or to create a new rule that would allow execution of the program this time and in the future.
1. A system for computer security, the system comprising:
a target computer having non-transitory storage;
a whitelist accessible by the target computer, the whitelist containing a list of programs that are approved to run on the target computer;
a set of rules accessible by the target computer;
software stored in the non-transitory storage of the target computer, the software runs on the target computer and presents a user interface on the target computer, the software then accepts inputs that configure the set of rules based upon user input and selections;
when a program attempts to run on the target computer, the software determines whether the program is in the whitelist and when the program is present in the whitelist, the software running on the computer allows the program to run;
when the program is missing from the whitelist, the software running on the target computer determines whether the program is allowed to run based upon the set of rules and when the software running on the target computer determines that the program is allowed to run based upon one rule of the set of rules, the software running on the target computer runs the program; and
when the software running on the target computer determines that the program is blocked based upon the set of rules, the software running on the target computer does not allow execution of the program.
2. The system of claim 1 , wherein the user interface provides for creation of a rule based upon a file hash value of the program.
3. The system of claim 1 , wherein the user interface provides for creation of a rule based upon a file folder in which the program is stored.
4. The system of claim 1 , wherein the user interface provides for creation of a rule based upon a digital signature of the program.
5. The system of claim 1 , wherein the user interface provides for creation of a rule that applies only to the target computer.
6. The system of claim 1 , wherein the user interface provides for creation of a rule that applies to all computers in a group of computers.
7. The system of claim 1 , wherein the user interface provides for creation of a rule that applies to all computers in a user account.
8. The system of claim 1 , wherein the user interface provides for creation of a rule that applies to all computers company-wide.
9. A system for computer security, the system comprising:
a target computer having non-transitory storage;
a set of rules accessible by the target computer, the set of rules for determining whether a program is benign;
software stored in the non-transitory storage of the target computer, the software runs on the target computer and presents a user interface on the target computer, the software then accepts inputs that configure the set of rules based upon user input and selections;
the software detects an attempt to run the program on the target computer, the software then determines whether the program conforms to a rule of the set of rules and when the program conforms to the rule, the software running on the computer initiates execution of the program;
when the program does not conform to any rule of the set of rules, the software running on the computer presents a second user interface that describes the program and presents selections for allowing the program to run and when the selections are approved, responses to the selections are recorded into a new rule of the set of rules for approval to allow the program to run the software running on the computer initiates execution of the program; and
when the selections are rejected, software running on the target computer does not allow execution of the program.
10. The system of claim 9 , wherein the selections include user interface features that provide for creation of the new rule based upon a file hash value of the program.
11. The system of claim 9 , wherein the selections include user interface features that provide for creation of the new rule based upon a file folder in which the program is stored.
12. The system of claim 9 , wherein the selections include user interface features that provide for creation of the new rule based upon a digital signature of the program.
13. The system of claim 9 , wherein the new rule applies only to the target computer.
14. The system of claim 9 , wherein the new rule applies to all computers in a group of computers.
15. The system of claim 9 , wherein the new rule applies to all computers in a user account.
16. The system of claim 9 , wherein the new rule applies to all computers company-wide.
17. A method of protecting a target computer, the method comprising:
presenting a user interface on the target computer, the user interface accepts inputs that configure a set of rules based upon user input and selections providing the set of rules accessible by the target computer, the set of rules determining if a program is allowed to execute;
upon the program attempting to be run, determining whether the program corresponds to one of the rules and when the program corresponds to any one of the rules, allowing the program to run;
when the program does not correspond to one of the rules, presenting a second user interface on the target computer, the second user interface accepts inputs that configure a new rule based upon user input and the selections;
when the inputs include an approval, running the program; and
when the inputs include a denial, not running the program.
18. The method of claim 17 , wherein the new rule applies only to the target computer.
19. The method of claim 17 , wherein the new rule applies only to the target computer and other computers and the new rule is distributed to the other computers through a network.
20. The method of claim 19 , wherein the other computers comprises all computers associated with a company.