US8418240B2 - Reordering a firewall rule base according to usage statistics - Google Patents
Reordering a firewall rule base according to usage statistics Download PDFInfo
- Publication number
- US8418240B2 US8418240B2 US12/344,231 US34423108A US8418240B2 US 8418240 B2 US8418240 B2 US 8418240B2 US 34423108 A US34423108 A US 34423108A US 8418240 B2 US8418240 B2 US 8418240B2
- Authority
- US
- United States
- Prior art keywords
- rule
- rules
- firewall
- base
- rmpp
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active, expires
Links
- 238000000034 method Methods 0.000 claims abstract description 35
- 230000009471 action Effects 0.000 claims abstract description 28
- 238000012545 processing Methods 0.000 claims abstract description 20
- 230000001747 exhibiting effect Effects 0.000 claims abstract description 14
- 230000009467 reduction Effects 0.000 claims abstract description 8
- 238000004422 calculation algorithm Methods 0.000 claims description 8
- 238000012217 deletion Methods 0.000 claims description 6
- 230000037430 deletion Effects 0.000 claims description 6
- 238000003780 insertion Methods 0.000 claims description 6
- 230000037431 insertion Effects 0.000 claims description 6
- 238000005192 partition Methods 0.000 claims 1
- 238000000638 solvent extraction Methods 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 8
- 238000001914 filtration Methods 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 6
- 230000015654 memory Effects 0.000 description 4
- 241000721662 Juniperus Species 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000006872 improvement Effects 0.000 description 3
- 230000007774 longterm Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000006866 deterioration Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 101100217298 Mus musculus Aspm gene Proteins 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008450 motivation Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0227—Filtering policies
- H04L63/0263—Rule management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/604—Tools and structures for managing or administering access control systems
Definitions
- the present invention relates to the field of firewalls implemented on networked computers, and more particularly, to reordering the rule-base within such firewalls for reducing central processing unit (CPU) usage of said firewalls.
- CPU central processing unit
- Firewalls are integrated collection of security measures designed to prevent unauthorized electronic access to a networked computer system. It may also assume the form of a device or set of devices configured to permit, deny, encrypt, decrypt, or proxy all computer traffic between different security domains based upon a set of rules and other criteria.
- IP internet protocol
- Each firewall is basically a special-purpose computer that is enforcing the organization's traffic filtering policy.
- the filtering policy is implemented in a rule-base, which is an ordered list of rules.
- Each rule consists of a set of field value-ranges, and an associated action—which is typically either “PASS” or “DROP”.
- firewalls enforce the policy according to “first-match” semantics: for each new IP connection, the firewall checks the rules one by one, according to their order in the rule-base, until it finds a rule that matches the new connection. The first rule that matches the connection determines the firewall's action: if the first matching rule has an action of “PASS” then the firewall will allow the connection to continue, and if the rule's action is “DROP” then the firewall will discard all the packets belonging to the connection. If no rule matches the connection then the firewall uses a default action, which is usually DROP.
- firewalls implement the first-match semantics algorithm in software or firmware, using standard list or array data structures to maintain the rule-base.
- the computational effort to match a connection to the rule-base is proportional (linearly) to the number rules the firewall needs to try in sequence until it reaches the first matching rule. If checking a match against one rule typically requires M computer instructions, then checking K rules in sequence requires K*M instructions. If the first-matching rule happens to be one of the first in the rule-base then the firewall will reach its action quickly and with a low computational effort. Conversely, if the first-matching rule is near the end of the rule-base, the firewall will work harder to reach an action.
- the firewall's CPU utilization is the fraction of time that the firewall's CPU is actively executing commands that are part of its filtering activity (rather than waiting in an idle state). If the average utilization is high then the firewall may be unable to process all the connections attempting to go through it fast enough. If this occurs the firewall either drops connections indiscriminately, including connections that should be allowed according to the policy (this is a “fail-closed” strategy), or permits connections that should not be allowed (this is a “fail-open” strategy). Both failure types are undesirable, and it is one of the tasks of firewall administrators to ensure that neither failure occurs. Therefore, firewall administrators strive to keep the average firewall CPU utilization low, for example at 30% utilization or lower.
- the CPU utilization of a firewall depends on the speed of the CPU, on the general traffic load, and on the number of rules in the rule-base, but most crucially it depends on whether the order of the rules in the rule-base is tuned in the best possible way to the distribution of connections that the firewall is filtering. Specifically, if we wish to reduce the CPU utilization of the firewall, intuitively we would want to place the most popular rules (those that match large portions of the traffic) as close as possible to the beginning of the rule base.
- a computer implemented method of reducing central processing unit (CPU) usage of a firewall by safe reordering a current firewall's rule-base exhibiting N rules, each rule associated with a rule identifier affiliated with the order of applying the rule and a corresponding rule usage frequency, thereby creating an alternative order of the firewall's rules comprising: receiving rule usage statistics exhibiting usage frequency of each rule on the current firewall's rule-base; calculating a rules matched per packet (RMPP) parameter, being a summation of products of each rule identifier and the corresponding usage frequency for all the N rules; determining an alternative order of the rule base by repositioning rules which perform the same action on the firewall, or which act on disjoint sets of network connections, and wherein the repositioning results in a reduction of the RMPP of the reordered rule base, thereby reducing the CPU usage of the firewall in implementing the alternative order of rules.
- CPU central processing unit
- a computer implemented data processing system for reducing central processing unit (CPU) usage of a firewall by safe reordering a current firewall's rule-base exhibiting N rules, each rule associated with a rule identifier affiliated with the order of applying the rule and a corresponding rule usage frequency, thereby creating an alternative order of the firewall's rules
- the system comprising: a rule reorder engine; and a rules matched per packet (RMPP) calculator, wherein rule usage statistics exhibiting usage frequency of each rule on the current firewall's rule-base are fed into the rule reorder engine; and wherein the RMPP calculator receives the current firewall's rule base and calculates the RMPP, being a summation of products of each rule identifier and the corresponding usage frequency for all the N rules using the RMPP calculator; and wherein the rule reorder engine determines an alternative order of the rule base, in cooperation with the RMPP calculator, by repositioning rules and recalculating the RMPP of the reorder
- FIG. 1 is a high level schematic block diagram of the data processing system according to some embodiments of the invention.
- FIG. 2 is another high level schematic block diagram of the data processing system according to some embodiments of the invention.
- FIG. 3 is yet another high level schematic block diagram showing an aspect of the data processing system according to some embodiments of the invention.
- FIG. 4 is a chart showing an aspect of the some embodiments of the present invention.
- FIG. 5 is a high level flowchart illustrating the method according to some embodiments of the invention.
- FIGS. 1 and 2 is a high level schematic block diagram of the system according to some embodiments of the invention.
- a rule reorder engine 300 is in operative association with a log server 100 ( FIG. 1 ) or directly in operative association with firewall 110 ( FIG. 2 ).
- Rule reorder engine 300 is further is in operative association with a current firewall base-rule module 210 , and at least one alternative reordered base-rule module, such as: an optimal firewall base-rule module 410 , and a top-k firewall base-rule module 510 .
- Each of firewall base-rule modules 210 , 410 and 510 comprises a Rules Matched Per Packet (RMPP) calculator 920 , 940 , and 950 respectively.
- RMPP Rules Matched Per Packet
- rule usage statistics 150 are extracted from log server 100 ( FIG. 1 ) or directly from firewall 110 ( FIG. 2 ). Rule usage statistics 150 are then fed, together with current firewall rule-base 220 of current firewall base-rule module 210 , to rule reorder engine 300 . In response, rule reorder engine 300 may calculates any of two alternative rule-bases exhibiting of the same rules of current firewall rule-base 220 but with different rule orders. These new rule bases are: optimal firewall rule-Base 420 and Top-k Firewall Rule-Base 520 . Reordering of the firewall rules is performed in view of the usage statistics of each and every rule while maintaining the outcome of the original order of the rules, referred herein in this application as “safe reordering”.
- the new orders of firewall rules is selected by optimizing it to reduce CPU usage, which is achieved by taking into account the frequency of usage of each and every firewall rule.
- embodiments of the present invention utilize a unique parameter, the “Rules Matched Per Packet” (RMPP) which indicates the expectancy of a particular rule base, given a particular ordering of the rules.
- RMPP Rules Matched Per Packet
- the RMPP may be repeatedly calculated as will be explained below, for detecting the order having the lowest RMPP. This order, given practical considerations, will be optimal in CPU usage terms
- Firewalls provide information about their actions in several ways. This information is used by some embodiments of the present invention to calculate the rule usage statistics 150 .
- Rule usage statistics 150 may comprise one or more rule usage frequencies. Each rule is associated with a frequency F being a fraction between 0.0 and 1.0. Thus Rule i is associated with Frequency Fi and so forth.
- a rule base of N firewall rules therefore comprises N rules associated with N usage frequencies.
- the firewall reports on its actions by writing records to a Log File 100 .
- Each record in the log file typically corresponds to a single connection that the firewall filtered.
- the log record contains many fields, of which embodiments of the present invention utilizes: (a) timestamp, defining the date and time when the connection was filtered by the firewall, and (b) ruleID, being an identifier of the rule that ultimately matched the connection when the firewall executed its “first match semantics” algorithm.
- the ruleID is the sequence number of the rule in the rule-base. In other cases the ruleID is an identifier, not necessarily a number, which is associated with the rule.
- computing of rule usage statistics 150 is carried out in the following process: Let TotalLogs denote the total number of log records in log file 100 whose timestamp field is greater or equal to FromDate and smaller or equal to ToDate. Let Logsi denote the total number of log records in Log File 100 whose ruleID field corresponds to the identifier of rule i. Then, the Usage Frequency of Rule i is calculated by the following formula:
- firewall 110 typically reports on its actions by maintaining Hit Counters.
- a Hit Counter is an integer field that is attached to each rule.
- Firewall 110 keeps a Hit Counter field for each rule in its memory. For a given connection, firewall 110 increments the Hit Counter associated with the rule that ultimately matched said connection when the firewall executed its “first match semantics” algorithm.
- the Hit Counters are typically reset back to zero when the firewall 110 is powered up or when a special “clear counters” command is issued.
- rule usage statistics 150 are computed in the following manner: Let HitCounti denote the value of the Hit Counter attached to rule i by Firewall 110 . Let TotalCount denote the sum of the HitCounti values for all the rules according to the following formula:
- Firewall rule-bases change over time because of the evolving needs of the organization owning the firewall.
- rules are occasionally inserted into the rule-base or deleted from the rule-base.
- Such insertions and deletions potentially cause the rules to be renumbered.
- the sequence numbers of all the rules further down the list from the insertion or deletion point are incremented (for a rule insertion) or decremented (for a rule deletion). If such changes are not taken into account, rule usage statistics 150 will be inaccurate.
- the Rule Usage Statistics 150 may distort the statistics by attributing activity to the wrong rules.
- rule usage statistics 150 are based upon a log file 100 .
- Some firewalls such as Check Point in their NGX or later models, associate a unique rule identifier (“rule_uid”) to each rule. This “rule_uid” remains associated to its rule even if other rules are inserted or deleted above the rule.
- the log file 100 includes the “rule_uid” in each log record.
- the current invention teaches to associate the “Usage Frequency of Rule i” with the rule whose “rule_uid” is “i” (i.e., in such cases “i” is not a number).
- firewalls such as Juniper Netscreens, associate a unique rule identifier (“rule_uid”) to each rule.
- the Log File 100 does not include the rule_uid. Instead, log file 100 includes the matching rule number, according to the rule's sequence number in the rule-base at the time the connection was filtered.
- the current invention teaches to translate the rule number into the unique rule_uid according to the order of the rules in the rule-base at the time the Log File 100 is collected.
- the “Usage Frequency of Rule i” with the rule whose “rule_uid” is “i” (i.e., in such cases “i” is not a number).
- rule usage statistics 150 are based upon a Firewall 110 that maintains Hit Counters we have a different difficulty: the Hit Counters are reset to zero occasionally, and the Firewall 110 does not maintain long-term histories. For instance, this is typical of Cisco's firewalls and routers.
- the current invention teaches the following: We compute our own unique rule_uid and associate it to the rule. For long-term use we store the HitCounti values when “i” indicates the computed rule_uid.
- the rule_uid is a cryptographic hash (such as MD5 or SHA1)—i.e., a 16 or 20 byte value.
- the rule_uid is the complete contents of the rule, treated as a long character string.
- FIG. 3 is a high level schematic block diagram showing an aspect of the data processing system according to some embodiments of the invention.
- Embodiments of the present invention teach that an appropriate model is based on a “Rules Matched Per Packet” (RMPP) calculation as discussed hereinafter in detail.
- the RMPP is a measure whose computation is given in the following formula:
- N is the total number of rules and Fi, is the usage frequency of Rule i.
- the RMPP is a summation of N terms, each term consisting of the product of a rule sequence number “i” and Fi, the usage frequency of Rule i.
- the motivation behind the RMPP calculation is as follows: In the case that the firewall has executed the First-Match-Semantics algorithm when filtering a given connection, and the rule that ultimately matched the connection is rule number “i” (here “i” is the rule's sequence number in the rule-base), then the firewall spent a computational effort testing whether the connection matched each of rules 1, 2, . . . , i ⁇ 1, until it arrived at rule “i”, found that rule “i” matches the connection, and stopped. Consequently, the computational effort to filter this connection is approximately proportional to the sequence number “i”. Therefore, in order model the general computational effort the firewall is spending, the mean (expected) number of rules that the firewall had to check against incoming connections is calculated, wherein the mean is weighted using rule usage statistics 150 .
- RMPP in order to reduce CPU usage, RMPP should be reduced. If RMPP is lowered toward 1, on average the firewall will compare fewer rules to each incoming connection—and thus its CPU utilization will drop accordingly.
- firewalls made by some vendors such as Check Point.
- firewalls made by other vendors such as Cisco and Juniper, maintain a separate rule-base per network interface card (“interface”)—said interface may be physical or virtual.
- interface may be physical or virtual.
- the usage frequency of a rule is tied both to the interface that the rule's rule-base is attached to, and to the rule's sequence number in its rule-base.
- the Usage Statistics with two indices and refer to Fj,i as the Usage Frequency of Rule i within rule-base j.
- the calculation of the Usage Statistics remains unchanged, and follows the aforementioned methods.
- IP internet protocol
- a rule movement is considered “Safe” if the resulting rule-base, after executing the rule move, causes the firewall to make exactly the same filtering actions the firewall made with the rule-base before the rule movement, on every possible IP connection.
- FIG. 4 is a chart showing an aspect of the some embodiments of the present invention.
- the optimal rule reordering is based on a pre-calculation of Block or Rules as depicted in FIG. 4 .
- a Block of Rules is a list of consecutive rules in the rule-base, all of which have the same value in the Action column.
- FIG. 4 there are provided 5 Blocks of Rules marked as B 1 -B 5 , where B 1 consists of 2 DROP rules, B 2 consists of 8 PASS rules, etc.
- the purpose of the rule reorder engine 300 is to calculate two rule-bases that consist of the same rules from the current firewall rule-base 220 , but with different rule orders: (a) the optimal firewall rule-base 420 , and (b) the top-k firewall rule-base 520 .
- optimal firewall rule-base 420 uses a rule order that minimizes the RMPP among all possible Safe rule orders.
- the optimal firewall rule-base 420 uses a rule order that minimizes the RMPP among all possible Safe rule orders that are restricted to only move rules inside Blocks of Rules: This is the “Block-Based Optimal Firewall Rule-Base”.
- the method of calculating the block-based optimal firewall rule-base comprises: receiving rule usage statistics 150 and current firewall rule-base 220 ; letting the “Usage Frequency of Rule i” be indicated by Fi; calculating the Blocks of Rules B 1 , . . .
- Bm within the Current Firewall Rule-Base 220 ; within each Block of Rules Bt (for t between 1 and m), sorting the rules in decreasing order of frequencies Fi such that the rules with the highest frequencies in block Bt appear in the first rule locations in the block; and outputting the reordered list of the rules from all the blocks.
- block-based optimal firewall rule-base is both safe and has the minimal RMPP among all rule orders that are restricted to reorder rules only inside Blocks of Rules.
- RMPP Calculator 420 may be used which is a implemented by executing formula (4), to calculate the Optimal RMPP 470 of the Optimal Firewall Rule-Base 420 .
- the Optimal RMPP 470 can be compared to the Current RMPP 270 to inform the user of the best possible performance improvement that can be attained in the RMPP—for instance, by calculating the percentage of reduction in the RMPP from the Current RMPP 270 to the Optimal RMPP 470 .
- An alternate embodiment of the present invention does not restrict the reordering to Blocks of Rules—instead it restricts any rule movements to obey the aforementioned “Disjoint Rules” condition.
- Yet another alternative embodiment of the present invention allows any rule movement that individually obeys either “Same action” condition or the “Disjoint Rules” condition.
- This embodiment is the least restrictive, and therefore may produce a rule-base with a lower RMPP. On the other hand this embodiment is more complex to implement.
- FIG. 5 is a high level flowchart illustrating the method according to some embodiments of the invention.
- the following method is not necessarily implemented with the aforementioned architecture.
- firewall rule-base 420 The difficulty with optimal firewall rule-base 420 is that it may require a great number of individual rule movements to achieve. On firewalls with rule-bases consisting of thousands of rules it may take hundreds of thousands of individual rule movements to reach the optimum. This complexity poses a small obstacle if we allow computer software to actually order the rules. However, typically the user will not allow software to do so, since he or she has additional considerations besides optimizing the RMPP: for instance, the user may want to keep all the rules that relate to the same server, or to the same service, next to each other in the rule-base. Thus, the user will need to take the suggested order and execute the individual rule movements by hand. In such a situation, a list of thousands of rule movements is essentially useless, since implementing them will exceed any user's patience.
- the Rule Reorder Engine 300 also computes the Top-k Firewall Rule-Base 520 : This rule-base uses a rule order that minimizes the RMPP among all possible Safe rule orders that require at most k individual rule movements.
- Top-k Firewall Rule-Base 520 uses a rule order that minimizes the RMPP among all possible Safe rule orders that require at most k individual rule movements that are further restricted to only move rules inside Blocks of Rules.
- the method of calculating the Top-k Firewall Rule-Base 520 restricted to only move rules inside Blocks of Rules comprises: receiving a number “k”, the Rule Usage Statistics 150 , and Current Firewall Rule-Base 220 and letting the “Usage Frequency of Rule i” be indicated by Fi; calculating the Blocks of Rules B 1 , . . .
- Top-k Firewall Rule-Base 520 is (a) Safe and (b) has the minimal RMPP among all rule orders that require at most k individual rule movements that are further restricted to reorder rules only inside Blocks of Rules.
- RMPP Calculator 520 which is a implemented by executing the aforementioned formula (4) to calculate the Top-k RMPP 570 of the Top-k Firewall Rule-Base 520 .
- the Top-k RMPP can be compared to the Current RMPP 270 to inform the user of the performance improvement that can be attained in the RMPP using up to k individual rule movements—for instance, by calculating the percentage of reduction in the RMPP from the Current RMPP 270 to the Top-k RMPP 570 .
- Rules without logging There are several cases of rules that require special treatment within the Rule Reorder Engine 300 . These include: Rules without logging, Disabled rules, and Rules without logging
- a preferred embodiment of this invention starts a new Block of Rules (and ends the previous Block of Rules) with every rule that is configured to not produce log records.
- Disabled Rules In some cases the user may have configured certain rules in the firewall rule-base to be disabled. This means that these rules still appear in the rule-base, and still have a rule number (so all the rules after them have a number that takes the disabled rules into account). However, disabled rules do not really contribute to the CPU utilization of the firewalls since the firewall does not attempt to match them to connections. Furthermore, disabled rules may have produced log records at a time prior to their being marked as disabled. Thus the Usage Frequency of Rule i for such a rule i may result a value Fi>0. A similar condition may occur if the if the Rule Usage Statistics 150 are based on hit counters.
- Disabled rules create two problems for the rule reorder engine 300 : (a) the RMPP contribution of other non-disabled rules is inflated because the rule index number of these rules includes the disabled rules, and (b) a non-zero frequency Fi may cause the Rule Reorder Engine 300 to place rule i too high in its Block in the Optimal Firewall Rule-Base 420 , and to possibly suggest to place it before other rules in the Top-k Firewall Rule-Base 520 .
- recommendations may lead to a deterioration of the firewall CPU utilization, since they are based on an incorrect model.
- the system can be implemented in digital electronic circuitry, or in computer hardware, firmware, software, or in combinations thereof.
- Suitable processors may be used to implement the data processing system, computer implemented method and computer program product.
- a processor will receive instructions and data from a read-only memory or a random access memory or both.
- the essential elements of a computer are a processor for executing instructions and one or more memories for storing instructions and data.
- a computer will also include, or be operatively coupled to communicate with, one or more mass storage devices for storing data files.
- Storage devices suitable for tangibly embodying computer program instructions and data include all forms of non-volatile memory, including by way of example semiconductor memory devices, such as EPROM, EEPROM, and flash memory devices.
- Methods of the present invention may be implemented by performing or completing manually, automatically, or a combination thereof, selected steps or tasks.
- method may refer to manners, means, techniques and procedures for accomplishing a given task including, but not limited to, those manners, means, techniques and procedures either known to, or readily developed from known manners, means, techniques and procedures by practitioners of the art to which the invention belongs.
- the present invention may be implemented in the testing or practice with methods and materials equivalent or similar to those described herein.
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Business, Economics & Management (AREA)
- Automation & Control Theory (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
Claims (16)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/344,231 US8418240B2 (en) | 2007-12-26 | 2008-12-25 | Reordering a firewall rule base according to usage statistics |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US896707P | 2007-12-26 | 2007-12-26 | |
US12/344,231 US8418240B2 (en) | 2007-12-26 | 2008-12-25 | Reordering a firewall rule base according to usage statistics |
Publications (2)
Publication Number | Publication Date |
---|---|
US20090172800A1 US20090172800A1 (en) | 2009-07-02 |
US8418240B2 true US8418240B2 (en) | 2013-04-09 |
Family
ID=40800398
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/344,231 Active 2030-08-10 US8418240B2 (en) | 2007-12-26 | 2008-12-25 | Reordering a firewall rule base according to usage statistics |
Country Status (1)
Country | Link |
---|---|
US (1) | US8418240B2 (en) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140108319A1 (en) * | 2012-10-12 | 2014-04-17 | Bruno KLAUSER | Autonomic network sentinels |
US8949418B2 (en) * | 2012-12-11 | 2015-02-03 | International Business Machines Corporation | Firewall event reduction for rule use counting |
US9838354B1 (en) * | 2015-06-26 | 2017-12-05 | Juniper Networks, Inc. | Predicting firewall rule ranking value |
US9900285B2 (en) | 2015-08-10 | 2018-02-20 | International Business Machines Corporation | Passport-controlled firewall |
US10147137B2 (en) | 2014-10-16 | 2018-12-04 | Software Ag | Systems and/or methods for automatic ordering of pre-trade order evaluations |
US10437984B2 (en) | 2017-10-26 | 2019-10-08 | Bank Of America Corporation | Authentication protocol elevation triggering system |
US10503627B2 (en) | 2017-10-30 | 2019-12-10 | Bank Of America Corporation | Robotic process automation enabled file dissection for error diagnosis and correction |
US10575231B2 (en) | 2017-11-03 | 2020-02-25 | Bank Of America Corporation | System for connection channel adaption using robotic automation |
US10606687B2 (en) | 2017-12-04 | 2020-03-31 | Bank Of America Corporation | Process automation action repository and assembler |
US10616280B2 (en) | 2017-10-25 | 2020-04-07 | Bank Of America Corporation | Network security system with cognitive engine for dynamic automation |
US10659482B2 (en) | 2017-10-25 | 2020-05-19 | Bank Of America Corporation | Robotic process automation resource insulation system |
US10686684B2 (en) | 2017-11-02 | 2020-06-16 | Bank Of America Corporation | Individual application flow isotope tagging within a network infrastructure |
US11516228B2 (en) * | 2019-05-29 | 2022-11-29 | Kyndryl, Inc. | System and method for SIEM rule sorting and conditional execution |
Families Citing this family (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8495725B2 (en) * | 2009-08-28 | 2013-07-23 | Great Wall Systems | Methods, systems, and computer readable media for adaptive packet filtering |
EP2296340A3 (en) * | 2009-09-14 | 2014-10-01 | Hirschmann Automation and Control GmbH | Method for operating a firewall device in automation networks |
US8700542B2 (en) | 2010-12-15 | 2014-04-15 | International Business Machines Corporation | Rule set management |
US8412722B2 (en) * | 2011-02-08 | 2013-04-02 | International Business Machines Corporation | Upload manager for use in a pattern matching accelerator |
US8402003B2 (en) * | 2011-02-08 | 2013-03-19 | International Business Machines Corporation | Performance monitoring mechanism for use in a pattern matching accelerator |
EP2700198B1 (en) | 2011-04-19 | 2021-02-17 | Hewlett-Packard Enterprise Development LP | Computing a performance characteristic of a network device |
US9305258B1 (en) * | 2012-05-16 | 2016-04-05 | Amazon Technologies, Inc. | Optimization of categorizing data items in a computing system |
US9565213B2 (en) | 2012-10-22 | 2017-02-07 | Centripetal Networks, Inc. | Methods and systems for protecting a secured network |
US9137205B2 (en) | 2012-10-22 | 2015-09-15 | Centripetal Networks, Inc. | Methods and systems for protecting a secured network |
CN103051613B (en) * | 2012-12-13 | 2015-08-19 | 北京星网锐捷网络技术有限公司 | A kind of packet check scan method, device and Network Security Device |
US9203806B2 (en) | 2013-01-11 | 2015-12-01 | Centripetal Networks, Inc. | Rule swapping in a packet network |
US20140250138A1 (en) * | 2013-03-04 | 2014-09-04 | Vonage Network Llc | Method and apparatus for optimizing log file filtering |
US9124552B2 (en) | 2013-03-12 | 2015-09-01 | Centripetal Networks, Inc. | Filtering network data transfers |
US9094445B2 (en) | 2013-03-15 | 2015-07-28 | Centripetal Networks, Inc. | Protecting networks from cyber attacks and overloading |
US10110561B2 (en) * | 2014-11-26 | 2018-10-23 | Rockwell Automation Technologies, Inc. | Firewall with application packet classifer |
US9264370B1 (en) | 2015-02-10 | 2016-02-16 | Centripetal Networks, Inc. | Correlating packets in communications networks |
US9866576B2 (en) | 2015-04-17 | 2018-01-09 | Centripetal Networks, Inc. | Rule-based network-threat detection |
US10154062B2 (en) | 2015-09-25 | 2018-12-11 | Nxp Usa, Inc. | Rule lookup using predictive tuples based rule lookup cache in the data plane |
US9917856B2 (en) | 2015-12-23 | 2018-03-13 | Centripetal Networks, Inc. | Rule-based network-threat detection for encrypted communications |
US11729144B2 (en) | 2016-01-04 | 2023-08-15 | Centripetal Networks, Llc | Efficient packet capture for cyber threat analysis |
WO2018154365A1 (en) * | 2017-02-27 | 2018-08-30 | Telefonaktiebolaget Lm Ericsson (Publ) | Firewall rule set composition and decomposition |
US10503899B2 (en) | 2017-07-10 | 2019-12-10 | Centripetal Networks, Inc. | Cyberanalysis workflow acceleration |
US11233777B2 (en) | 2017-07-24 | 2022-01-25 | Centripetal Networks, Inc. | Efficient SSL/TLS proxy |
US10284526B2 (en) | 2017-07-24 | 2019-05-07 | Centripetal Networks, Inc. | Efficient SSL/TLS proxy |
US10686760B2 (en) * | 2018-02-15 | 2020-06-16 | Wipro Limited | Method and system for generating dynamic rules for computer network firewall |
US10848462B2 (en) | 2018-03-28 | 2020-11-24 | Wipro Limited | Method and system for managing policies in a network security system |
US10708230B2 (en) * | 2018-06-14 | 2020-07-07 | Servicenow, Inc. | Systems and methods for firewall configuration using block lists |
US10333898B1 (en) | 2018-07-09 | 2019-06-25 | Centripetal Networks, Inc. | Methods and systems for efficient network protection |
US11310202B2 (en) * | 2019-03-13 | 2022-04-19 | Vmware, Inc. | Sharing of firewall rules among multiple workloads in a hypervisor |
US20200314066A1 (en) * | 2019-03-29 | 2020-10-01 | Cloudflare, Inc. | Validating firewall rules using data at rest |
US11444921B2 (en) * | 2019-07-16 | 2022-09-13 | Lg Electronics Inc. | Vehicular firewall providing device |
US11711344B2 (en) * | 2020-04-30 | 2023-07-25 | Forcepoint Llc | System and method for creating buffered firewall logs for reporting |
US11606392B2 (en) * | 2020-05-29 | 2023-03-14 | Mcafee, Llc | System for tuning a device having security software for security and performance |
US11362996B2 (en) | 2020-10-27 | 2022-06-14 | Centripetal Networks, Inc. | Methods and systems for efficient adaptive logging of cyber threat incidents |
US11159546B1 (en) | 2021-04-20 | 2021-10-26 | Centripetal Networks, Inc. | Methods and systems for efficient threat context-aware packet filtering for network protection |
CN114520790B (en) * | 2021-12-20 | 2024-03-22 | 杭州迪普信息技术有限公司 | Message filtering method and device |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6606710B2 (en) * | 1998-12-03 | 2003-08-12 | Lucent Technologies Inc. | Adaptive re-ordering of data packet filter rules |
US20030225877A1 (en) * | 2002-05-31 | 2003-12-04 | Eric Packman | Method and apparatus of diagnosing network performance issues through correlative analysis |
US20050204402A1 (en) * | 2004-03-10 | 2005-09-15 | Patrick Turley | System and method for behavior-based firewall modeling |
US20060248580A1 (en) * | 2005-03-28 | 2006-11-02 | Wake Forest University | Methods, systems, and computer program products for network firewall policy optimization |
-
2008
- 2008-12-25 US US12/344,231 patent/US8418240B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6606710B2 (en) * | 1998-12-03 | 2003-08-12 | Lucent Technologies Inc. | Adaptive re-ordering of data packet filter rules |
US20030225877A1 (en) * | 2002-05-31 | 2003-12-04 | Eric Packman | Method and apparatus of diagnosing network performance issues through correlative analysis |
US20050204402A1 (en) * | 2004-03-10 | 2005-09-15 | Patrick Turley | System and method for behavior-based firewall modeling |
US20060248580A1 (en) * | 2005-03-28 | 2006-11-02 | Wake Forest University | Methods, systems, and computer program products for network firewall policy optimization |
Cited By (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9450819B2 (en) * | 2012-10-12 | 2016-09-20 | Cisco Technology, Inc. | Autonomic network sentinels |
US20140108319A1 (en) * | 2012-10-12 | 2014-04-17 | Bruno KLAUSER | Autonomic network sentinels |
US8949418B2 (en) * | 2012-12-11 | 2015-02-03 | International Business Machines Corporation | Firewall event reduction for rule use counting |
US9043461B2 (en) * | 2012-12-11 | 2015-05-26 | International Business Machines Corporation | Firewall event reduction for rule use counting |
US10147137B2 (en) | 2014-10-16 | 2018-12-04 | Software Ag | Systems and/or methods for automatic ordering of pre-trade order evaluations |
US9838354B1 (en) * | 2015-06-26 | 2017-12-05 | Juniper Networks, Inc. | Predicting firewall rule ranking value |
US20180091474A1 (en) * | 2015-06-26 | 2018-03-29 | Juniper Networks, Inc. | Predicting firewall rule ranking value |
US10645063B2 (en) * | 2015-06-26 | 2020-05-05 | Juniper Networks, Inc. | Predicting firewall rule ranking value |
US10069798B2 (en) | 2015-08-10 | 2018-09-04 | International Business Machines Corporation | Passport-controlled firewall |
US9900285B2 (en) | 2015-08-10 | 2018-02-20 | International Business Machines Corporation | Passport-controlled firewall |
US10367788B2 (en) | 2015-08-10 | 2019-07-30 | International Business Machines Corporation | Passport-controlled firewall |
US10637829B2 (en) | 2015-08-10 | 2020-04-28 | International Business Machines Corporation | Passport-controlled firewall |
US10958691B2 (en) | 2017-10-25 | 2021-03-23 | Bank Of America Corporation | Network security system with cognitive engine for dynamic automation |
US10616280B2 (en) | 2017-10-25 | 2020-04-07 | Bank Of America Corporation | Network security system with cognitive engine for dynamic automation |
US10659482B2 (en) | 2017-10-25 | 2020-05-19 | Bank Of America Corporation | Robotic process automation resource insulation system |
US10437984B2 (en) | 2017-10-26 | 2019-10-08 | Bank Of America Corporation | Authentication protocol elevation triggering system |
US10503627B2 (en) | 2017-10-30 | 2019-12-10 | Bank Of America Corporation | Robotic process automation enabled file dissection for error diagnosis and correction |
US11132279B2 (en) | 2017-10-30 | 2021-09-28 | Bank Of America Corporation | Robotic process automation enabled file dissection for error diagnosis and correction |
US10686684B2 (en) | 2017-11-02 | 2020-06-16 | Bank Of America Corporation | Individual application flow isotope tagging within a network infrastructure |
US10972954B2 (en) | 2017-11-03 | 2021-04-06 | Bank Of America Corporation | System for connection channel adaption using robotic automation |
US10575231B2 (en) | 2017-11-03 | 2020-02-25 | Bank Of America Corporation | System for connection channel adaption using robotic automation |
US10606687B2 (en) | 2017-12-04 | 2020-03-31 | Bank Of America Corporation | Process automation action repository and assembler |
US11327828B2 (en) | 2017-12-04 | 2022-05-10 | Bank Of America Corporation | Process automation action repository and assembler |
US11516228B2 (en) * | 2019-05-29 | 2022-11-29 | Kyndryl, Inc. | System and method for SIEM rule sorting and conditional execution |
US20230049773A1 (en) * | 2019-05-29 | 2023-02-16 | Kyndryl, Inc. | System and method for siem rule sorting and conditional execution |
Also Published As
Publication number | Publication date |
---|---|
US20090172800A1 (en) | 2009-07-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8418240B2 (en) | Reordering a firewall rule base according to usage statistics | |
CN112153085B (en) | Data processing method, node and block chain system | |
US6473763B1 (en) | System, method and computer program for filtering multi-action rule set | |
US9619500B2 (en) | Hardware implementation of a tournament tree sort algorithm | |
DE102007057901B4 (en) | Arrangement, computer program product and method for securely updating firmware of a hardware device using a hypervisor | |
DE102008011925B4 (en) | Safe initialization of computer systems | |
US7251822B2 (en) | System and methods providing enhanced security model | |
US10229139B2 (en) | Incremental update heuristics | |
US9183244B2 (en) | Rule modification in decision trees | |
JP6644399B2 (en) | Flow control method and apparatus | |
US20100199346A1 (en) | System and method for determining symantic equivalence between access control lists | |
US8719913B2 (en) | Redundancy detection and resolution and partial order dependency quantification in access control lists | |
CN109085995B (en) | Storage method, device and system for dynamic data fragmentation | |
CN110737401B (en) | Method, apparatus and computer program product for managing redundant array of independent disks | |
US10915534B2 (en) | Extreme value computation | |
EP3651430A1 (en) | A system and method for controlling policy distribution with partial evaluation | |
US20110047154A1 (en) | Protection of database operations | |
US9875248B2 (en) | System and method for identifying a file path using tree data structure | |
DE102010038179A1 (en) | Individual updating of computer programs | |
US8676844B2 (en) | Graph authorization | |
Coupechoux et al. | Firefighting on trees | |
US20200073587A1 (en) | Prioritized sourcing for efficient rewriting | |
US20180322187A1 (en) | Dynamic alternate keys for use in file systems utilizing a keyed index | |
CN109271783A (en) | A kind of virus hold-up interception method, device and electronic equipment | |
US7937388B2 (en) | Probabilistic lossy counting |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: ALGORITHMIC SECURITY (ISRAEL) LTD., ISRAEL Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:WOOL, AVISHAI;REEL/FRAME:022030/0302 Effective date: 20081222 |
|
FEPP | Fee payment procedure |
Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: SMALL ENTITY |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
FPAY | Fee payment |
Year of fee payment: 4 |
|
AS | Assignment |
Owner name: BANK LEUMI LE-ISRAEL B.M., ISRAEL Free format text: SECURITY INTEREST;ASSIGNOR:ALGOSEC SYSTEMS LTD.;REEL/FRAME:052833/0386 Effective date: 20200329 |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YR, SMALL ENTITY (ORIGINAL EVENT CODE: M2552); ENTITY STATUS OF PATENT OWNER: SMALL ENTITY Year of fee payment: 8 |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 12TH YR, SMALL ENTITY (ORIGINAL EVENT CODE: M2553); ENTITY STATUS OF PATENT OWNER: SMALL ENTITY Year of fee payment: 12 |