| Literature DB >> 27441151 |
Ravi Kiran Varma Penmatsa1, Valli Kumari Vatsavayi2, Srinivas Kumar Samayamantula3.
Abstract
A firewall is the most essential component of network perimeter security. Due to human error and the involvement of multiple administrators in configuring firewall rules, there exist common anomalies in firewall rulesets such as Shadowing, Generalization, Correlation, and Redundancy. There is a need for research on efficient ways of resolving such anomalies. The challenge is also to see that the reordered or resolved ruleset conforms to the organization's framed security policy. This study proposes an ant colony optimization (ACO)-based anomaly resolution and reordering of firewall rules called ACO-based firewall anomaly mitigation engine. Modified strategies are also introduced to automatically detect these anomalies and to minimize manual intervention of the administrator. Furthermore, an adaptive reordering strategy is proposed to aid faster reordering when a new rule is appended. The proposed approach was tested with different firewall policy sets. The results were found to be promising in terms of the number of conflicts resolved, with minimal availability loss and marginal security risk. This work demonstrated the application of a metaheuristic search technique, ACO, in improving the performance of a packet-filter firewall with respect to mitigating anomalies in the rules, and at the same time demonstrated conformance to the security policy.Entities:
Keywords: Ant colony optimization (ACO); Correlation; Generalization; Metaheuristics; Packet-filter firewall rules; Redundancy; Rule anomalies; Rule reordering; Shadowing
Year: 2016 PMID: 27441151 PMCID: PMC4938840 DOI: 10.1186/s40064-016-2489-6
Source DB: PubMed Journal: Springerplus ISSN: 2193-1801
Fig. 1Typical organizational firewall placement scenario (Policy 1)
Security policy to be implemented at main office firewall of Fig. 1
| 1. Full access is to be given to the organization telnet server for the organization administrator’s home IP “10.44.128.112” |
| 2. Full access is to be given to the organization telnet server for the organization’s work from home IP address “192.168.5.64” |
| 3. Full access is to be given to the organization telnet server for the organization’s work from home IP address “192.168.15.253” |
| 4. The technical department of the branch office having IP “172.19.55.124” must have access to the entire organization’s internal network |
| 5. The Sales Department of the branch office having IP “172.19.55.121” must have access to web server “10.12.32.21” and ftp server “10.12.32.24” of the organization only |
| 6. Access to webserver http port “10.12.32.21: 80” must be open to all |
| 7. All remaining access from untrusted source “172.19.55.122” except http connection to web server is to be stopped |
| 8. All remaining access from untrusted source “172.19.55.123” except http connection to web server is to be stopped |
| 9. All remaining access from untrusted source “10.45.48.34” except http connection to web server is to be stopped |
| 10. All remaining access from untrusted source “172.19.64.221” except http connection to web server is to be stopped |
Initial configuration of firewall rules (Policy 1)
| Rule | Protocol | Source IP | Source port | Destination IP | Destination port | Action |
|---|---|---|---|---|---|---|
| 1 | * | 172.19.55.124 | * | 10.12.32.21–10.12.32.22 | 1–80 | Allow |
| 2 | TCP | 172.19.55.* | * | 10.12.32.21 | 80 | Allow |
| 3 | TCP | 192.168.5.64 | * | 10.12.32.23 | 23 | Allow |
| 4 | * | 172.19.55.121–172.19.55.124 | * | 10.12.32.* | * | Allow |
| 5 | * | 10.45.48.34 | * | 10.12.32.* | * | Deny |
| 6 | * | 10.*.*.* | * | 10.12.32.21 | 80 | Allow |
| 7 | TCP | 172.19.55.121 | * | 10.12.32.24 | 20–21 | Allow |
| 8 | TCP | 172.19.55.121 | * | 10.12.32.21 | 80 | Allow |
| 9 | * | 172.19.55.121 | * | 10.12.32.* | * | Deny |
| 10 | TCP | 192.168.15.253 | * | 10.12.32.23 | 23 | Allow |
| 11 | TCP | 10.44.128.112 | * | 10.12.32.23 | 23 | Allow |
| 12 | * | 172.19.55.122 | * | 10.12.32.* | * | Deny |
| 13 | * | 172.19.55.123 | * | 10.12.32.* | * | Deny |
| 14 | * | 172.19.64.221 | * | 10.12.32.* | * | Deny |
Fig. 2Example rule space
Fig. 3Overlapped rule space
Fig. 4Formation of Segments from the rule space
Grid representation of example ruleset of Table 2
Action constraint generating strategies (Hu et al. 2012)
| Strategy | Action constraint |
|---|---|
| Deny-override | Action = “deny” |
| Allow-override | Action = “ALLOW” |
| Recency-override | Action of newest rule |
| Specificity-override | Action of most-specific rule |
| High-majority-override | Action of rules with greater number than opposite rules |
| First-match-override | Action of first-matched rule |
| High-authority-override | Action of rule with highest authority |
Sample ruleset
| Rule | Protocol | Source IP | Source port | Destination IP | Destination port | Action |
|---|---|---|---|---|---|---|
| 4 | * | * | * | 192.168.124.125 | * | Deny |
| . | … | … | … | … | … | … |
| . | … | … | … | … | … | … |
| 97 | TCP | 172.19.23.22 | * | 192.168.124.125 | 22 | Allow |
Fig. 5Segmentation of rule 4 and rule 97
Fig. 6Segmentation after action constraint generation based on FAME
List of organization IT assets and their risk values
| Destination IP address | |
|---|---|
| 10.12.32.21 | 4 |
| 10.12.32.22 | 6 |
| 10.12.32.23 | 10 |
| 10.12.32.24 | 9 |
| 10.12.32.25 | 10 |
| 10.12.32.26 | 10 |
List of source addresses and their trust factors
| Source IP address | |
|---|---|
| 192.168.5.64 | 0.9 |
| 192.168.15.253 | 0.9 |
| 10.44.128.112 | 0.9 |
| 172.19.55.121 | 0.6 |
| 172.19.55.124 | 0.6 |
| 172.19.55.122 | 0.1 |
| 172.19.55.123 | 0.1 |
| 10.45.48.34 | 0.1 |
| 172.19.64.221 | 0 |
Fig. 7Segmentation after action constraint generation based on proposed algorithm
Action constraints generated by proposed approach for the grid shown in Table 3
| Segments | ||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Action constraints | A | A | A | A | A | A | A | D | A | D | A | D | A | A | A | D | A | D |
| Strategy applied by Algorithm 2 | – | – | AO | – | – | AO | AO | – | – | DO | AO | RFMO | – | – | AO | RFMO | – | – |
AO allow override, DO deny override, RFMO recency with first match override
Fig. 8Sample ACO Graph of proposed approach
An example for CRS calculation for the order of rules 1–14 (Policy 1) of Table 2
| Segments | ||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Action constraints generated by Algorithm 2 for Policy 1 | A | A | A | A | A | A | A | D | A | D | A | D | A | A | A | D | A | D |
| Action in first vertically appearing block in the segments of Table | A | A | A | A | A | A | D | D | A | A | A | A | A | A | A | A | A | D |
| Satisfied (S)/not satisfied (NS) | S | S | S | S | S | S | NS | S | S | NS | S | NS | S | S | S | NS | S | S |
A allow, D deny
Policy-wise segments and number of anomalies
| Policy no. | No of rules | No. of segments generated after segmentation | Time taken (s) | No of shadow anomalies | No of generalization anomalies | No of correlation anomalies | No of redundant rules |
|---|---|---|---|---|---|---|---|
| Policy 1 | 14 | 18 | 0.016 | 3 | 1 | 4 | 2 |
| Policy 2 | 35 | 35 | 0.013 | 7 | 6 | 3 | 4 |
| Policy 3 | 55 | 64 | 0.064 | 9 | 8 | 6 | 6 |
| Policy 4 | 171 | 171 | 0.482 | 29 | 29 | 8 | 35 |
| Policy 5 | 325 | 344 | 0.846 | 45 | 54 | 20 | 49 |
Reordered output of ACOFAME (input: Policy 1)
| Rule | Protocol | Source IP | Source port | Destination IP | Destination port | Action |
|---|---|---|---|---|---|---|
| 1 | TCP | 10.44.128.112 | * | 10.12.32.23 | 23 | Allow |
| 2 | * | 10.*.*.* | * | 10.12.32.21 | 80 | Allow |
| 3 | * | 10.45.48.34 | * | 10.12.32.* | * | Deny |
| 4 | TCP | 192.168.5.64 | * | 10.12.32.23 | 23 | Allow |
| 5 | TCP | 172.19.55.* | * | 10.12.32.21 | 80 | Allow |
| 6 | * | 10.*.*.* | * | 10.12.32.21 | 80 | Allow |
| 7 | * | 172.19.55.123 | * | 10.12.32.* | * | Deny |
| 8 | TCP | 192.168.15.253 | * | 10.12.32.23 | 23 | Allow |
| 9 | TCP | 172.19.55.121 | * | 10.12.32.24 | 20–21 | Allow |
| 10 | * | 172.19.55.121 | * | 10.12.32.* | * | Deny |
| 11 | * | 172.19.55.121–172.19.55.124 | * | 10.12.32.* | * | Allow |
| 12 | * | 172.19.64.221 | * | 10.12.32.* | * | Deny |
Grid with reordered rules resolved by ACO
| S. no. | Order | ||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | A | ||||||||||||||||||
| 2 | A | A | |||||||||||||||||
| 3 | D | D | |||||||||||||||||
| 4 | A | ||||||||||||||||||
| 5 | A | A | A | A | A | ||||||||||||||
| 6 | D | D | |||||||||||||||||
| 7 | D | D | |||||||||||||||||
| 8 | A | ||||||||||||||||||
| 9 | A | ||||||||||||||||||
| 10 | D | D | D | ||||||||||||||||
| 11 | A | A | A | A | A | A | A | A | A | A | |||||||||
| 12 | D |
Comparison of availability loss after reordering of policy rules with action constraints generated by FAME and ACOFAME
| Policy no. | Total no. of segments generated | No. of conflicting segments | Time taken for action constraint generation (in music) | Availability loss (with action constraints generated by FAME) | Availability loss (with action constraints generated by ACOFAME) |
|---|---|---|---|---|---|
| Policy 1 | 18 | 8 | <1 | 18 | 0 |
| Policy 2 | 35 | 19 | 2 | 35 | 0 |
| Policy 3 | 64 | 33 | 2 | 64 | 0 |
| Policy 4 | 171 | 77 | 7 | 171 | 0 |
| Policy 5 | 344 | 164 | 59 | 344 | 0 |
Evaluation of ACOFAME and comparison with FAME
| Policy no. | No. of conflicted segments | Permutation (Hu et al. | Greedy (Hu et al. | Combination (FAME) (Hu et al. | ACOFAME (proposed work) | % of conflicts resolved | ||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| RC | Time (s) | RC | Time (s) | RC | Time (s) | RC | Time (s) | RE | FAME | ACOFAME | ||
| 1 | 8 | 8 | 0.142 | 3 | 0.016 | 8 | 0.128 | 8 | 0.196 | 2 | 100 | 100 |
| 2 | 19 | 19 | 0.229 | 13 | 0.018 | 19 | 0.178 | 19 | 0.918 | 4 | 100 | 100 |
| 3 | 33 | 33 | 31.215 | 25 | 0.040 | 31 | 0.589 |
| 4.447 | 6 | 93.93 |
|
| 4 | 77 | – | ∞ | 63 | 0.046 | 71 | 25.281 |
| 122.28 | 35 | 92.92 |
|
| 5 | 164 | – | ∞ | 126 | 0.048 | 152 | 32.722 |
| 1754.12 | 49 | 92.68 |
|
Fig. 9Availability loss evaluation
Fig. 10Security risk
Advantage of adaptive rule reordering mechanism
| Policy no. | Time taken for adaptive checking one rule (s) | Time taken by ACO to recheck |
|---|---|---|
| Policy 1 | 0.002 | 0.198 |
| Policy 2 | 0.002 | 0.987 |
| Policy 3 | 0.004 | 4.620 |
| Policy 4 | 0.006 | 118.57 |
| Policy 5 | 0.007 | 1853.44 |
Ruleset of Saadaoui et al. (2014)
| Rule no. | Action | Protocol | Port no. | SIP | DIP |
|---|---|---|---|---|---|
| R1 | Accept | TCP | 80 | 10.0.0.0/16 | 172.16.0.22/30 |
| R2 | Accept | TCP | 80 | 10.1.0.0/16 | 172.16.0.22/30 |
| R3 | Deny | TCP | 80 | 192.168.0.0/23 | 172.16.0.22/30 |
| R4 | Deny | TCP | 80 | 10.0.0.0/15 | 172.16.0.22/30 |
| R5 | Deny | TCP | 80 | 192.168.0.0/24 | 172.16.0.22/30 |
| R6 | Deny | TCP | 80 | 192.168.1.0/24 | 172.16.0.22/30 |
| R7 | Deny | TCP | 80 | 10.0.0.1 | 172.16.0.0/16 |
| R8 | Deny | TCP | * | 10.0.0.1 | 172.16.0.22/30 |
| R9 | Accept | TCP | 80 | 192.168.0.0/24 | 172.16.0.0/16 |
List of source addresses and their trust factors assigned based on the topology and security policy given in Saadaoui et al. (2014)
| Source IP address | |
|---|---|
| 172.16.0.22/30 | 0 |
| 10.0.0.1 | 0.4 |
| 10.0.0.0/16 | 0 |
| 10.1.0.0/16 | 0 |
| 192.168.0.0/24 | 0.4 |
| 192.168.1.0/24 | 0 |
Risk values based on security policy
| Destination IP address | |
|---|---|
| 172.16.0.22/30 | 8 |
| 10.0.0.0/16 | 5 |
| 10.1.0.0/16 | 5 |
| 192.168.0.0/24 | 5 |
| 192.168.1.0/24 | 5 |
Resolved output of ACOFAME for the ruleset of Table 3 of Saadaoui et al. (2014)
| Original rule no. | Order | Action | Protocol | Port no. | SIP | DIP |
|---|---|---|---|---|---|---|
| R2 | R1 | Accept | TCP | 80 | 10.1.0.0/16 | 172.16.0.22/30 |
| R4 | R2 | Deny | TCP | 80 | 10.0.0.0/15 | 172.16.0.22/30 |
| R3 | R3 | Deny | TCP | 80 | 192.168.0.0/23 | 172.16.0.22/30 |
| R9 | R4 | Accept | TCP | 80 | 192.168.0.0/24 | 172.16.0.0/16 |
| R8 | R5 | Deny | TCP | * | 10.0.0.1 | 172.16.0.22/30 |
Output after level 1 of Saadaoui et al. (2014) is applied to the ruleset of Table 2 of this study
| Original order | New rule no. | Protocol | Source IP | Source port | Destination IP | Destination port | Action |
|---|---|---|---|---|---|---|---|
| 2 | 1 | TCP | 172.19.55.* | * | 10.12.32.21 | 80 | Allow |
| 3 | 2 | TCP | 192.168.5.64 | * | 10.12.32.23 | 23 | Allow |
| 4 | 3 | * | 172.19.55.121–172.19.55.124 | * | 10.12.32.* | * | Allow |
| 5 | 4 | * | 10.45.48.34 | * | 10.12.32.* | * | Deny |
| 6 | 5 | * | 10.*.*.* | * | 10.12.32.21 | 80 | Allow |
| 10 | 6 | TCP | 192.168.15.253 | * | 10.12.32.23 | 23 | Allow |
| 11 | 7 | TCP | 10.44.128.112 | * | 10.12.32.23 | 23 | Allow |
| 14 | 8 | * | 172.19.64.221 | * | 10.12.32.* | * | Deny |
The final resolved ruleset of input rule of Table 2 applied to the algorithm of Saadaoui et al. (2014)
| Original order | New rule no. | Protocol | Source IP | Source port | Destination IP | Destination port | Action |
|---|---|---|---|---|---|---|---|
| 2 | 1 | TCP | 172.19.55.* | * | 10.12.32.21 | 80 | Allow |
| 3 | 2 | TCP | 192.168.5.64 | * | 10.12.32.23 | 23 | Allow |
| 4 | 3 | * | 172.19.55.121–172.19.55.124 | * | 10.12.32.* | * | Allow |
| New | 4 | * | 10.45.48.34 | * | 10.12.32.21 | 80 | Allow |
| 5 | 5 | * | 10.45.48.34 | * | 10.12.32.* | * | Deny |
| 6 | 6 | * | 10.*.*.* | * | 10.12.32.21 | 80 | Allow |
| 10 | 7 | TCP | 192.168.15.253 | * | 10.12.32.23 | 23 | Allow |
| 11 | 8 | TCP | 10.44.128.112 | * | 10.12.32.23 | 23 | Allow |
| 14 | 9 | * | 172.19.64.221 | * | 10.12.32.* | * | Deny |