EP1006701A2

Adaptive re-ordering of data packet filter rules

Abstract

A packet data filter which stores ordered rules and sequentially applies the rules to received data packets to determine the disposition of the data packet. The packet filter maintains a match count in memory which indicates the number of times each rule matched an incoming data packet. Periodically, at the initiation of a user, or based on operating parameters of the filter, the rules are automatically re-ordered based on the match count. As a result of the re-ordering, rules with higher match counts are moved earlier in the sequential evaluation order and rules with lower match counts are moved later in the sequential evaluation order. As such, rules which are more likely to match incoming data packets are evaluated earlier, thus avoiding the evaluation of later rules. In order to prevent a re-ordering which would change the overall security policy of the packet filter, pairs of rules are compared to determine if they conflict (i.e., the swapping of the two rules would result in a change in the overall security policy). During re-ordering, the swapping of conflicting rules is prevented.

EP1006701A2, drawing sheet 1
Sheet 1 of 7

Term

Term ended

Projected expiry passed 30 November 2019, 6.8 years ago.

  1. Priority
  2. Filed
  3. Published
  4. Projected expiry
  5. Today

32 claims: 4 independent, 28 dependent

  1. 1
    A method for operation of a data packet filter which implements a security policy by filtering data packets by sequentially evaluating a plurality of ordered rules, said method comprising the step of:automatically re-ordering said ordered rules.
  2. 10
    A data packet filter for implementing a security policy comprising:a memory for storing a plurality of ordered rules;a filter module for sequentially applying said rules to received data packets;and a re-ordering module for re-ordering said ordered rules.
  3. 17
    A computer readable medium storing computer program instructions which are executable on a computer system implementing a data packet filter, said computer program instructions comprising instructions defining the steps of:filtering received data packets by sequentially applying a plurality of ordered rules, said rules defining a security policy;and automatically re-ordering said ordered rules.
  4. 26
    A firewall for filtering data traffic between a first network and a second network comprising:an input port for receiving data packets;a memory storing a plurality of ordered rules defining a security policy of said firewall;a filter module for sequentially applying said ordered rules to received data packets;and a re-order module for automatically re-ordering said plurality of rules.