1. A method for controlling a firewall for a user computer system, the method comprising: receiving a data request at a firewall, the data request being associated with a program of the user computer system; determining whether a process rule exists for the associated program, the process rule comprising a condition to be satisfied for a process of the user computer system; in response to determining that a process rule exists for the associated program, determining a method for evaluating a status of the process and determining a current status of the process; determining, using the determined evaluation method, whether the condition of the process rule is satisfied based on the current status of the process; and in response to determining whether the condition of the process rule is satisfied, performing one or more firewall actions.