1. A computer-implemented method for dynamically protecting a computer system comprising the steps of: generating a policy for defending the system from an attack; receiving a data packet at the system; comparing information in the data packet to the policy to determine if an intrusion event has been detected; determining if the data packet should be blocked from entering the system based on the policy for defending the system; determining a method of blocking the data packet based on a positive determination to block the data packet from entering the system; and blocking the packet from entering the system using the determined method.