1 research outputs found

    Linear-Time Verification of Firewalls

    No full text
    A firewall is a packet filter placed at the entrance of a private network. Its function is to examine each packet that is incoming into the private network and decide, based on the specified rules of the firewall, whether to accept the packet and allow it to proceed, or to discard the packet. A property of a firewall is a specified set of packets that is supposed to be accepted or discarded by the firewall. In this paper, we present the first linear time algorithm to verify whether a given firewall satisfies a given property. The time complexity of our algorithm is O(nd), where n is the number of specified rules in the given firewall and d is the number of fields that are checked by the firewall or the property. Our verification algorithm consists of two passes: a deterministic pass followed by a probabilistic pass. In most cases, the algorithm correctly determines whether the given firewall satisfies the given property. But in some rare cases, the algorithm may erroneously determine that the firewall satisfies the property (where in fact it does not). Using a combination of analysis and extensive simulation, we show that the probability of an erroneous determination by the algorithm is of the order of 3 Γ— 10 βˆ’5.
    corecore