Güvenlik duvarı kurallarındaki tutarsızlıklarınbelirlenmesi için yeni bir yöntem
A new method for intra-firewall anomaly discovery
Yazar: BÜŞRA ÇAYÖREN
Danışman: DOÇ. DR. ENVER ÖZDEMİR
İstanbul Teknik Üniversitesi / Bilişim Enstitüsü / Bilişim Uygulamaları Ana Bilim Dalı / Bilgi Güvenliği Mühendisliği ve Kriptografi Bilim Dalı
Derece: Yüksek Lisans, 2021
Konu: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol = Computer Engineering and Computer Science and Control

Özet:
Ağ güvenlik duvarları özellikle büyük ölçekli bilişim ağlarında veri güvenliğinin sağlanması ve ağ kaynaklarının korunması amacıyla kullanılan özelleşmiş cihazlardır.
Bir ağ güvenlik duvarı üzerinden gecen TCP/IP trafiğinin veri paketlerinin adreslerine göre filtrelerler ve ağın fiziksel topolojisine göre bu cihazlar bir ağ yönlendiricisinin hemen önünde veya arkasında yer alabilir. Güvenlik boyutuyla ele alındığında, her iki durumda da bu cihazlar ağın mantıksal sınırını oluştururlar. Bu nedenle de ağ güvenlik duvarı dışarıdan gelecek saldırılar acısından en önde ve içeriden dışarıya doğru oluşabilecek veri sızıntıları içinde en geride konumlandırılmış güvenlik çözümlerdir. Ağ güvenlik duvarları sadece dışarıdan gelen saldırıların engellenmesi açısında değil, gereksiz trafiğin azaltılarak uygulama katmanında çalışan güvenlik çözümlerinin trafik yükünün azaltılması acısından vazgeçilmez niteliktedirler. Sürekli değişen ve karmaşıklaşan siber güvenlik saldırıları, uygulama katmanında çalışan derin paket analizinden, güvenlik amacıyla makine öğrenmesinin kullanımına kadar geniş spektrumlu yeni çalışmaların yapılmasını zorunlu kılmıştır. Çoğu durumda yeni nesil güvenlik duvarı olarak sunulan bu güvenlik çözümler ağ katmanında paketleri kaynak ve varış adreslerine göre filtrelerken, uygulama katmanında izin verilen trafik için paketlerinin içeriğini inceleyebilmektedirler. Bu niteliğiyle, ağ güvenlik duvarları hem tek başlarına hem de yeni nesil ağ duvarlarının bir parçası olarak önemlerini korumaktadır.
Ağ güvenlik duvarları üzerindeki güvenlik politikaları çok yalın bir bicimde tanımlanmakla birlikte, kural sayısının artmasıyla birlikte bu güvenlik kuralları arasında tutarsızlıkların oluşması yaygın olarak karşılaşılan bir durumdur. Kurallar arası bu tutarsızlıklar ağ güvenliği acısından olası sorunların göstergesi olabileceği gibi doğrudan sorunun nedeni de olabilirler. Bu tez çalışması kapsamında, tek bir ağ güvenlik duvarı üzerinde kurallarının ikişerli etkileşimi çerçevesinde ortaya çıkan tutarsızlıklar incelenmiş ve bu tutarsızlıkların sistematik olarak belirlenmesi için yeni bir algoritma önerilmiştir. Öncelikli olarak ağ güvenli duvarlarındaki kurallar, kümeler olarak ele alınmıştır. Kurallar arası tutarsızlıkların ortaya çıktığı durumlarla bu adres kümeleri arasındaki ilişkiler cinsinden temel mantıksal işlemler biçiminde indirgenerek, tutarsızlıklarının belirlenmesi ve sınıflandırılmasında kullanılacak yöntem oluşturulmuştur. Bir sonraki aşamada kaynak ve varış adresleri kümelerinin sıralı bir tamsayı dizisine dönüştürülmesi ve böylece iki adres kümesi arasındaki ilişkilerin bu sayı dizilerinin alt ve üst sınırı üzerinden incelenebilmesi sağlanmıştır. Sonuç olarak oluşturan algoritma bütünüyle değerlendirildiğin de sadece temel mantıksal işlemler ve cebirsel kıyaslamalar biçiminde ifade edilebildiğinden, iki kural arasındaki tutarsızlıklarını belirlenmesi acısında çok verimlidir. Geliştirilen algoritma, Python programlama dilinde gerçekleyerek literatürde verilen bir kural kümesi kullanılarak doğrulanmıştır. Algoritma hem literatürde verilen sonuçları tümüyle bulabilmesi hem de fazlalık tutarsızlığı durumunda fazlalığın düşük öncelikli veya yüksek öncelikli kural tarafından oluşturulduğunu belirleyebilme özelliğine sahiptir. Güvenlik kuralları arasındaki tutarsızlıkların hızlı bicimde belirlenebilmesi ve sınıflandırılabilmesi güvenlik politikasının bir bütün olarak yalınlaştırılması ve sorunlarının çözülmesi acısından temel bir isterdir. Bu çerçevede gerçekleştirilen yüksek lisans çalışmasının sonuçları hem mevcut güvenlik politikalarının tutarlılık analizi hem de mevcut güvenlik politikasında yeni bir kuralın tanımlanması durumunda ortaya çıkabilecek sorunların belirlenmesi acısından özgün ve önemli bir çalışmadır.

Abstract:
Network firewalls are essential devices for protecting computer networks against
outsider intrusions, data security breaches, and network resource exploitations.
Network firewall filters out the whole TCP/IP traffic that passes through and depending
on the physical topology of the network, the device can be placed before or after a
network router. From a network security perspective, a firewall determines the logical
border between the outside world and the inside realm. In that sense, the firewall is
the first line of defense for outside intrusions and the last line of defense for internal
data breaches. Network firewalls analyze the packets at the hardware level, which
makes these devices very efficient for filtering unnecessary data traffic. In turn, the
overall data traffic for the application layer security solutions can be reduced, which
eliminates the overloading of security infrastructure. Hence, these devices are integral
parts of any enterprise-level network.
The ever-changing scope and complexity of cybersecurity attacks create an evolving
security solutions landscape, ranging from deep-packet inspection to the usage of
machine learning techniques for cybersecurity purposes. Many of these highly
complex security technologies are integrated into security solutions what are called
next-generation firewalls. Nevertheless, next-generation firewalls continue to filter
packets by their source and destination addresses at the network layer, while the
packets of the allowed traffic are transparently analyzed at the application layer.
Either as a standalone network firewall or as a part of next-generation firewalls, the
technology of packet filtering is still an essential feature of network security solutions.
Security policies on a network firewall can be defined with simple rules. Each rule
specifies source and destination address ranges and an action to be taken when a
passing-through packet is matched for the address range. The action determines
whether forwarding or blocking of the packet and the address ranges are composed
in terms of both IP addresses and TCP ports. These rules are prioritized depending
on their position within the rule list and when a packet matches the address range of
a rule, the firewall skips the latter rules as these rules have lower priorities. The rule
list and the order of these rules defined on a specific firewall essentially constitute
the intra-firewall security policy. As the number of rules increases, the complexity
of intra-firewall security policy multiplies, which can create complicated filtering
decisions that can be inconsistent with other rules. These inconsistencies can be
categorized into four groups of anomalies:
i) Shadowing anomaly occurs when a high priority rule completely overlaps the
address range of a low priority rule with a different action. In such a case, the
low priority rule is never triggered and the firewall decides the exact opposite of the
designated action by the lower priority rule.
ii) Redundancy anomaly occurs when one rule is made unnecessary by another rule.
Either the higher priority or the lower priority rule can be redundant depending on
the definition of their address ranges.
iii) Generalization anomaly occurs when there is a high priority exception of a general
rule with a lower priority.
iv) Correlation anomaly occurs when the address range of two rules have intersecting
elements and the rules have different actions.
The occurrence of these anomalies for an intra-firewall security policy is an indicator
of a possible security issue or an actual cause of a security problem. Hence, the
determination of these anomalies as the number of security rules increases is an
important precaution to eliminate future security issues. In this context, the aim
of this thesis is to present a new algorithm to determine security anomalies within
an intra-firewall ruleset by investigating the interactions between rules in a pairwise
manner. Regardless of their category, these anomalies happen whenever the address
ranges of two rules have at least one common address. Hence, in the thesis, the
intra-firewall security policies are analyzed within set theory. First, each security
rule is formalized as a set containing two other sets which consist of all possible
combinations of IP addresses and TCP ports for the source and destination address
ranges in the rule definition. Later, all possible intersection cases depending on these
address sets are analyzed to determine what kind of anomalies are encountered under
which conditions. This analysis leads to reduced states which can be further refined
as a logical function based on fundamental set operations. This logical function
essentially realizes the algorithm for the discovery and the classification of anomalies
in an intra-firewall security policy provided that set operations such as determination
of subset or superset relations between two address sets are available. To realize these
set operations in an efficient way, source and address destination ranges are mapped
to sets containing integers by a hash function. Initially, the beginning and the end
address of the address range are selected by considering all the possible combinations
of IP address and TCP port pairs defined in the rules, and these two addresses are
converted to vectors by organizing their IP address and the TCP port. Later, by taking
an inner product against a hash vector, all the possible combinations of IP addresses
and TCP ports are converted into a set of integers. The hash vector is formed in a way
that the mapping is one-to-one, where each possible address pair is transformed into
a distinct integer in a sorted manner. Mapping the address ranges to sets with sorted
integers makes set operations possible in terms of algebraic comparison performed
on the minimum and maximum elements of these sorted integers. As a whole, the
formulated algorithm is based on fundamental algebraic and logical operations, which
makes the algorithm very efficient for pairwise anomaly detection and classification. A
reference implementation of the algorithm is coded in Python programming language
and the algorithm is verified against a test ruleset that is available in the literature.
The algorithm detected all anomalies reported in the literature. Furthermore, a
distinction between redundancy of a high priority rule vs redundancy of a low priority rule is successfully achieved. In conclusion, rapid discovery and classification of intra-firewall anomalies is a requirement both to have a streamlined and consistent network security policy as well as to resolve existing security issues. In that sense, the presented algorithm in this thesis is a novel contribution to verify the consistency of intra-firewall security policies.