AHO corasıck algoritmasının TCP/IP paket içeriklerinin taranmasında kullanıldığı gerçek zamanlı donanım uygulaması
Real time hardware implementation of the AHO corasick algorithm in the content search of the TCP/IP packets
Yazar: İNAN AYDIN
Danışman: DOÇ. DR. ALİ ZİYA ALKAR
Hacettepe Üniversitesi / Fen Bilimleri Enstitüsü / Elektrik-Elektronik Mühendisliği Ana Bilim Dalı
Derece: Yüksek Lisans, 2010
Konu: Elektrik ve Elektronik Mühendisliği = Electrical and Electronics Engineering
Dizin: Ağ güvenliği = Network security ; FPGA = FPGA

Özet:
Ağ İzinsiz Girme Tespit Sistemleri (AİGTS), ağ saldırılarının tespit edilmesinde, caydırılmasında ve gerekli önlemlerin zamanında alınarak sistemin güvenliğinin sağlanmasında yaygınlaşarak kullanılan sistemlerdir. Daha önceden belirlenen çeşitli değişkenlerin kontrol edilmesi sonucu ağa giren paketin saldırı amaçlı olup olmadığı tespit edilebilir. Bu değişkenler, paketin IP adresi, paket iletiminde kullanılan protokol, hedef port numarası ve taşıdığı içerik olabilmektedir. Ağ üzerinde dolaşan her bir paketin içeriğinin belirli değişkenlere dayanılarak kontrol edilmesi AİGTS sistemine özgü bir özelliktir. Bu sistemlerin hesaplama yükünün en yükseğe çıktığı nokta, yüzlerce paketin, bağlantı hızına eş bir hızla belirli karakterlerle karşılaştırıldığı sırada oluşmaktadır. Bu tezde gerçekleştirilen, tam bu noktada, karakter karşılaştırmada yaygın olarak kullanılan Aho Corasick (AC) algoritmasının uygulamasıdır. Sistemin ve algoritmanın bağlantı hızında eşleme yapılarak tıkanma yaşanmadan başarılı olması paralel programlamaya dayanmaktadır. Paket içeriğinin karşılaştırılmasının yanı sıra, bir saldırı paketi, IP adresi, protokol ve port numarası da eşlenerek tespit edilebilir. Tüm değişkenler bir arayüz programı ile kullanıcı tarafından, sistem durdurulmadan ve yeniden başlatma ihtiyacı duyulmadan aktarılmaktadır. Ethernet ortamına fiziksel adaptasyonun yüksek olması ve paralel programlamaya uygun olması nedeniyle, üzerinde Xilinx Spartan-II XC2S100 FPGA olan Dragon PCI geliştirme kartı kullanılmıştır.

Abstract:
Intrusion Detection Systems (IDSs) have gained prevalence as efficient tools for identifying, deterring and deflecting malicious attacks over the network. Knowing varying variables determined previously, a packet can be classified as an attack packet or not. These variables can be IP address, port number, network layer protocol and consisting content of packet. Having the ability to search through packets and identifying the content that matches known attacks is the outstanding feature of intrusion detection systems. The most computationally-intensive part of these systems is a text search against hundreds of patterns performing at high connection speeds. The most common string matching algoritm implemented is, Aho Corasick Algorithm. The algorithm implemetation is based on parallel programming resulting a non-congested NIDS. Besides content matching, an attack packet can be determined by IP address, port number and protocol type transmitted by. All the parameters mentioned above can be transmitted to the system through by an user interface application while system is stil running, without halting or restarting the system. Due to its easy adaption to the Ethernet media and its parallel programming capability FPGA?s can be used in this algorithm. An FPGA device, namely Dragon PCI development board using an Xilinx Spartan II XC2S100 is utilized in this implementation.