Uygulama katmanında desen arama tabanlı güvenlik duvarı
Pattern search-based firewall in application layer
Yazar: TOLGA KIZILKAYA
Danışman: DOÇ. DR. MURTAZA CİCİOĞLU ; DR. ÖĞR. ÜYESİ CENGİZ TOĞAY
Bursa Uludağ Üniversitesi / Fen Bilimleri Enstitüsü / Bilgisayar Mühendisliği Ana Bilim Dalı
Derece: Yüksek Lisans, 2023
Konu: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol = Computer Engineering and Computer Science and Control
Dizin: Ağ güvenliği = Network security ; Linux = Linux ; Unix = Unix ; Veri deseni = Data pattern

Özet:
FreeBSD, servis sunucusu (web, http, ftp vb.), masaüstü kullanımı (X ile kde veya xfce) ve güvenlik duvarı (ipfw) olarak kullanılan bir işletim sistemidir. Freebsd işletim sistemi güvenlik duvarı olarak endüstride yaygın bir kullanıma sahiptir. pfSense ve OPNsense dağıtımları, Freebsd işletim sistemini kullanan ve endüstride birçok firma tarafından tercih edilen (Google, US Department of Homeland Security, Shopify ve NASA) açık kaynak kodlu güvenlik duvarlarıdır. Freebsd işletim sisteminde bulunan güvenlik duvarı IP ve Port adresi filtreleme işlemlerini yapabilmektedir. Ancak OSI modelinin yedinci katmanı olan uygulama katmanında filtreleme özelliğine sahip değildir. Pfsense ve Opnsense bu kısıtlamayı aşmak için snort ve suricata gibi açık kaynak kodlu yazılımları kullanmaktadır. Bu yazılımlar da işletim sistemlerinin kullanıcı uzayında (user-space) çalışabilmektedir. Bununla birlikte kullanıcı uzayında çalışan uygulamaların, çekirdek (kernel) seviyesinde çalışan uygulamalara göre daha fazla kaynak tükettiği de bilinmektedir. Bu tez çalışmasında Freebsd işletim sistemine ait güvenlik duvarı olan PF'in Pfill hook yöntemi kullanılarak uygulama katmanında filtreleme işlemi çekirdek seviyesinde gerçekleştirilmiştir. Paket içerisinde desen araması yapmak için Aho- Corasick algoritması kullanılmıştır. Önerilen teknik pfsense işletim sistemi üzerinde suricata yazılımı ile aynı kural sayısında bant genişliğinin kullanımı ve işlemci tüketimi açısından karşılaştırılmıştır. Karşılaştırma sonucunda bu tez kapsamında geliştirilen uygulamanın aynı kural sayısında yaklaşık 2 kat daha fazla bant genişliğinde filtreleme yapabildiği ve aynı kural sayısı ile aynı bant genişliğinde yaklaşık %20 daha az işlemci gücü tükettiği tespit edilmiştir. Ayrıca önerilen teknik son zamanlarda bilgisayar ağ dünyasında yaygın bir kabul gören yazılım tanımlı ağ (YTA) mimarisine uygulanmış ve literatürde YTA mimarisinin uygulandığı çalışmalarla karşılaştırılmıştır. Literatürdeki diğer çalışmalardan uygulama kolaylığı ve kaynak kullanımı açısından daha iyi olduğu ortaya konmuştur.

Abstract:
FreeBSD is an operating system used as a service server (web, http, ftp etc.), desktop use (kde or xfce with X) and firewall (ipfw). Freebsd is widely used in the industry as an operating system firewall. pfSense and OPNsense distributions are open source firewalls that use the Freebsd operating system and are preferred by many companies in the industry (Google, US Department of Homeland Security, Shopify and NASA). The firewall in the Freebsd operating system can perform IP and Port address filtering. However, it does not have filtering in the application layer, which is the seventh layer of the OSI model. Pfsense and Opnsense use open source software such as snort and suricata to overcome this limitation. These software can also work in the user-space of operating systems. However, it is also known that applications running in user space consume more resources than applications running at kernel level. In this thesis, the filtering process in the application layer is carried out at the kernel level by using the Pfill hook method of PF, which is the firewall of the Freebsd operating system. Aho-Corasick algorithm was used to search for patterns in the package. The proposed technique was compared with the suricata software on the pfsense operating system in terms of bandwidth usage and processor consumption in the same rule number. As a result of the comparison, it has been determined that the application developed within the scope of this thesis can filter approximately 2 times more bandwidth in the same number of rules and consumes approximately 20% less processing power in the same bandwidth with the same number of rules. In addition, the proposed technique has been applied to the software-defined network (YTA) architecture, which has been widely accepted in the computer networking world, and has been compared with the studies in the literature where YTA architecture has been applied. It has been shown to be better than other studies in the literature in terms of ease of application and resource use.