\nSald\u0131r\u0131 tespit sistemlerinin
avantajlar\u0131 <\/b><\/i>olarak \u015funlar s\u00f6ylenebilir:<\/div>\n\nErken Tespit:<\/b><\/i><\/u> Sald\u0131r\u0131 tespit sistemleri, ger\u00e7ekle\u015fen bir
\nsald\u0131r\u0131y\u0131 sistem g\u00fcvenlik sorumlular\u0131ndan \u00e7ok daha \u00f6nce tespit ederek
\nsald\u0131r\u0131 ile ilintili olarak sms veya e-posta gibi farkl\u0131 yollarla
\nsorumlu ki\u015fileri an\u0131nda uyarabilir ve olu\u015fabilecek zarar\u0131n etkisinin
\nminimize edilmesine katk\u0131da bulunurlar.\u00a0<\/p>\n
\nDetayl\u0131 Bilgi Toplanmas\u0131:<\/u><\/i> <\/b>Sald\u0131r\u0131 tespit sistemleri
\nsayesinde devam etmekte olan veya ge\u00e7mi\u015fte ger\u00e7ekle\u015ftirilmi\u015f olan
\nsald\u0131r\u0131larla ilgili, sald\u0131r\u0131n\u0131n kayna\u011f\u0131, b\u00fcy\u00fckl\u00fc\u011f\u00fc ve hedeflerinin
\nsaptanmas\u0131 noktas\u0131nda son derece de\u011ferli bilgiler elde edilebilir.\u00a0<\/p>\n
<\/b><\/p>\n
\nKan\u0131t Niteli\u011fi:<\/b><\/i><\/u> Sald\u0131r\u0131 tespit sistemleri taraf\u0131ndan toplanan bilgiler hukuki yollara ba\u015fvuruldu\u011funda kan\u0131t olarak kullan\u0131labilir.\u00a0<\/p>\n\nSald\u0131r\u0131 tespit sistemlerinin
zay\u0131fl\u0131klar\u0131 <\/b><\/i>olarak ise \u015funlar s\u00f6ylenebilir:\n<\/div>\n\nPaket Par\u00e7alama ve Zamanlama Sald\u0131r\u0131lar\u0131:<\/b><\/u><\/i> Sald\u0131r\u0131 tespit
\nsistemleri, paketleri analiz etmek i\u00e7in par\u00e7alanm\u0131\u015f paketleri tekrar
\nbirle\u015ftirmek zorundad\u0131r. Uzun zaman aral\u0131klar\u0131 ile k\u00fc\u00e7\u00fck par\u00e7alar
\nhalinde g\u00f6nderilen paketler trafi\u011fin aksamamas\u0131 i\u00e7in bu sistemler
\ntaraf\u0131ndan tam olarak analiz edilememektedir.\u00a0<\/p>\n
\nTarama S\u0131ras\u0131n\u0131n Kar\u0131\u015ft\u0131r\u0131lmas\u0131:<\/u><\/i> <\/b>S\u0131ra ile IP adreslerine
\nveya portlara ger\u00e7ekle\u015ftirilecek bir tarama, sald\u0131r\u0131 tespit sistemleri
\ntaraf\u0131ndan hemen tespit edilir. Fakat bu taramalar rastgele s\u0131rada
\nyap\u0131l\u0131rsa analizi zorla\u015fabilir ve hatta bu y\u00f6ntemle sald\u0131r\u0131 tespit
\nsistemleri atlat\u0131labilir.\u00a0<\/p>\n
\nPaket Ka\u00e7\u0131rma (False Positive, False Negative):<\/u><\/i> <\/b>Genel
\nolarak sald\u0131r\u0131 tespit sistemlerinin hatalar\u0131 uyar\u0131lar vermesi sonucu
\npaket ka\u00e7\u0131rmas\u0131 olarak g\u00f6r\u00fclebilir. Zararl\u0131 olmayan normal bir davran\u0131\u015f
\ni\u00e7in uyar\u0131 vermesi false pozitif; \u015f\u00fcpheli olan bir davran\u0131\u015f i\u00e7in uyar\u0131
\nvermeyerek paketin sorunsuz ge\u00e7i\u015fine izin vermesi false negative\u2019dir.\n<\/p>\n<\/span>\n1.3 Kullan\u0131m Tipleri<\/span><\/h3>\n\nSald\u0131r\u0131 tespit sistemleri genel olarak Sunucu Tabanl\u0131 ve A\u011f Tabanl\u0131
\nolmak \u00fczere iki farkl\u0131 tipte olmaktad\u0131rlar. Sunucu tabanl\u0131 sald\u0131r\u0131
\ntespit sistemlerinin g\u00f6revi; kurulu bulundu\u011fu sunucunun trafi\u011fini, kay\u0131t
\n dosyalar\u0131n\u0131 ve i\u015flemlerini sunucu \u00fczerinde bulunan ve o sunucuya g\u00f6re
\n\u00f6zelle\u015ftirilmi\u015f olan atak\/imza veritaban\u0131 temel al\u0131narak dinlemek ve
\nataklar\u0131 sezerek cevap vermektir. A\u011f tabanl\u0131 sald\u0131r\u0131 tespit sistemlerin
\ng\u00f6revi ise a\u011f kart\u0131n\u0131n ge\u00e7irgen (promiscuous) moda getirilmesi ile a\u011f ya
\n da a\u011flara y\u00f6nlenmi\u015f olan t\u00fcm trafi\u011fin dinlenmesi, bu a\u011fdan ge\u00e7en her
\nbir veri paketi i\u00e7eri\u011finin sorgulanarak mevcut imzalarla kar\u015f\u0131la\u015ft\u0131r\u0131l\u0131p
\n bir atak olup olmad\u0131\u011f\u0131na karar vererek kayd\u0131n\u0131 alabilmek, gerekti\u011finde
\nataklar\u0131 kesmek, sistem y\u00f6neticisini bilgilendirmek ve ilgili raporlar\u0131
\nolu\u015fturabilmektir.\n<\/p>\n
<\/span>\n1.4 \u00c7al\u0131\u015fma Mant\u0131\u011f\u0131<\/span><\/h3>\n\nSald\u0131r\u0131 tespit sistemleri i\u00e7erik olarak bilgi\/\u00f6\u011frenme tabanl\u0131
\n(anormallik tespiti) ve imza(k\u00f6t\u00fcye kullan\u0131m tespiti) tabanl\u0131 olmak
\n\u00fczere iki farkl\u0131 mant\u0131\u011fa g\u00f6re \u00e7al\u0131\u015fmaktad\u0131rlar. \u0130lk yap\u0131da sistemlerin
\nve a\u011f\u0131n i\u015fleyi\u015fi belirli bir d\u00fczenle \u00f6zde\u015fle\u015ftirilerek tan\u0131ml\u0131 a\u011f veya
\nkullan\u0131c\u0131 i\u00e7in e\u015fik de\u011ferleri tan\u0131mlan\u0131r. Daha sonra takip edilen trafik
\n bu e\u015fik de\u011ferlerine g\u00f6re de\u011ferlendirilerek, olu\u015facak herhangi bir
\nnormal d\u0131\u015f\u0131 hareket ile sald\u0131r\u0131n\u0131n tan\u0131mlanmas\u0131 hedeflenir. Yani
\nbilgi\/\u00f6\u011frenme tabanl\u0131 sald\u0131r\u0131 tespitinde ise, sistem kullan\u0131c\u0131lar\u0131n\u0131n,
\nnormal davran\u0131\u015flar\u0131ndan farkl\u0131 olarak g\u00f6sterdikleri davran\u0131\u015f \u015fekillerine
\n g\u00f6re \u00e7al\u0131\u015fma yap\u0131l\u0131r. Bu y\u00f6ntem, tahmine dayal\u0131 bir sistemdir ve
\ngenellikle \u201cuzman sistemler\u201d ve \u201cbulan\u0131k mant\u0131k\u201d teknolojilerinden
\nfaydalan\u0131l\u0131r. Bir sald\u0131r\u0131 tespit sisteminin, a\u011f \u00fczerindeki faaliyetleri
\nizlemek i\u00e7in a\u011f \u00fczerindeki farkl\u0131 noktalarda al\u0131c\u0131 cihazlar\u0131n\u0131 ve
\nyaz\u0131l\u0131mlar\u0131n\u0131 kurmak gerekebilir. Bu cihaz ve yaz\u0131l\u0131mlar\u0131n g\u00f6revi,
\nsorumlu olduklar\u0131 a\u011f b\u00f6l\u00fcm\u00fc \u00fczerinde ger\u00e7ekle\u015fen faaliyet bilgilerini,
\nsald\u0131r\u0131 tespit sistemi merkezine aktarmakt\u0131r. \u00d6rne\u011fin, web sunucusuna
\ngelen isteklerin %99\u2019u \u201cindex.html\u201d dosyas\u0131n\u0131 \u00e7a\u011f\u0131r\u0131yor ise cmd.exe
\ndosyas\u0131n\u0131 \u00e7a\u011f\u0131ran bir istek geldi\u011finde bu hemen fark edilecek ve bunun
\ni\u00e7in uyar\u0131 mesaj\u0131 \u00fcretilecektir. \u00c7ok daha mant\u0131kl\u0131 bir \u00e7al\u0131\u015fma prensibi
\nolmas\u0131na kar\u015f\u0131n bu t\u00fcr sistemlerin normal olarak nitelendirilebilecek
\nhareketleri \u00f6\u011frenmeleri olduk\u00e7a fazla zaman almaktad\u0131r. Bundan dolay\u0131 bu
\n hareketlerin zaman i\u00e7erisinde de\u011fi\u015febilirli\u011fi, kuruldu\u011fu sistemlerin
\nyeniden yap\u0131land\u0131r\u0131lmas\u0131 veya a\u011fa yeni sistemlerin eklenmesi i\u015fleri daha
\n da zorla\u015ft\u0131rmakta ve sald\u0131r\u0131 tespit sistemlerinin paket ka\u00e7\u0131rma
\nolas\u0131l\u0131\u011f\u0131n\u0131 daha da artt\u0131rmaktad\u0131r.
\n\u0130kinci yani imza tabanl\u0131 yap\u0131da ise anti vir\u00fcs sistemlerinde oldu\u011fu gibi
\n olu\u015fturulmu\u015f \u00e7e\u015fitli imzalar ile
\npaketler incelenir ve sald\u0131r\u0131lar\u0131n bu \u015fekilde saptanmas\u0131 hedeflenir.
\nDaha \u00f6nce kar\u015f\u0131la\u015f\u0131lan sald\u0131r\u0131 \u015fekilleri ayr\u0131nt\u0131l\u0131 olarak analiz
\nedilerek elde edilen bilgiler, yani sald\u0131r\u0131n\u0131n imzas\u0131, sald\u0131r\u0131 tespit
\nsisteminin bilgi taban\u0131na kaydedilir. Her tan\u0131mlanm\u0131\u015f sald\u0131r\u0131n\u0131n bir
\nimzas\u0131 vard\u0131r. Sald\u0131r\u0131 imzalar\u0131 d\u0131\u015f\u0131nda kalan her faaliyet, normal
\nolarak alg\u0131lan\u0131r. Bu \u015fekilde \u00e7al\u0131\u015fan bir sald\u0131r\u0131 tespit sisteminin
\nverimli \u00e7al\u0131\u015fmas\u0131 i\u00e7in, s\u00fcrekli sald\u0131r\u0131 imzalar\u0131n\u0131 g\u00fcncelleyerek
\nsistemi, yeni sald\u0131r\u0131 tiplerini de tan\u0131y\u0131p tespit edebilecek \u015fekilde
\ng\u00fcncel tutmak gerekir.\n<\/p>\n
<\/span>\n2. SALDIRI TESP\u0130T S\u0130STEM\u0130 YAZILIMLARI\u00a0<\/span><\/h2>\n<\/span>\n 2.1 SNORT
2.1.1 Geli\u015fimi<\/span><\/h3>\n\nGNU lisans\u0131 ile da\u011f\u0131t\u0131lan, a\u00e7\u0131k kaynak kodlu ve \u00fccretsiz bir yaz\u0131l\u0131m
\nolan Snort, 1988 y\u0131l\u0131nda Martin Roesch taraf\u0131ndan geli\u015ftirilmi\u015ftir. \u015eu
\nanda da Martin Roesch’un kurmu\u015f oldu\u011fu Sourcefire firmas\u0131 taraf\u0131ndan
\ngeli\u015ftirilmesine devam edilen, d\u00fcnya genelinde en \u00e7ok kullan\u0131lan, Linux,
\n Windows, MAC ve FreeBSD gibi bir\u00e7ok farkl\u0131 platformda sorunsuz olarak
\n\u00e7al\u0131\u015fabilen, IP a\u011flar\u0131 \u00fczerinde ger\u00e7ek zamanl\u0131 trafik analizi ve paket
\nloglamas\u0131 yapabilen bir sald\u0131r\u0131 tespit ve \u00f6nleme sistemi yaz\u0131l\u0131m\u0131d\u0131r.
\nGenel olarak imza tabanl\u0131 olarak \u00e7al\u0131\u015fan Snort, protokol ve anomali
\nanalizi yapabilme yetene\u011fine de sahiptir. Kullan\u0131c\u0131lar\u0131n kendi
\nkurallar\u0131n\u0131 yazabilmesine imk\u00e2n sa\u011flayan esnek bir kural diline sahip
\nolmas\u0131n\u0131n yan\u0131nda snort.org ve emergingtreats.com adreslerinden
\nindirilebilen \u00fccretli veya \u00fccretsiz kural setleri kullan\u0131larak; yaz\u0131l\u0131m
\nprotokol analizi, i\u00e7erik tarama\/e\u015fleme, arabellek ta\u015fmas\u0131, port
\ntaramas\u0131, CGI sald\u0131r\u0131s\u0131, i\u015fletim sistemi parmak izi denemesi gibi pek
\n\u00e7ok sald\u0131r\u0131 ve zararl\u0131\/\u015f\u00fcpheli yaz\u0131l\u0131m \u00e7e\u015fitlerini tespit
\nedebilmektedir.<\/p>\n
\nSnort\u2019un Sald\u0131r\u0131 Tespit Sistemi (STS) olarak kullan\u0131ld\u0131\u011f\u0131 durumlarda
\ngenellikle iki a\u011f aray\u00fcz kart\u0131 kullan\u0131l\u0131r. Bu aray\u00fczlerinden birisi a\u011f\u0131
\ndinlemek i\u00e7in, di\u011feri ise Snort\u2019a uzaktan eri\u015fip Snort\u2019un
\nyap\u0131land\u0131r\u0131lmas\u0131nda kullan\u0131l\u0131r. A\u011f\u0131 dinleyen aray\u00fcze genellikle IP
\nadresi atanmaz ve ba\u011fl\u0131 oldu\u011fu anahtar\u0131n(switch) t\u00fcm portlar\u0131 bu aray\u00fcze
\n aynalan\u0131r (mirroring). Bu y\u00f6ntemle, anahtar \u00fczerinden ge\u00e7en t\u00fcm
\npaketlerin Snort taraf\u0131ndan dinlenilmesi sa\u011flanm\u0131\u015f olur.\n<\/p>\n
<\/span>\n2.1.2 Yap\u0131s\u0131 ve \u00d6zellikleri<\/span><\/h3>\n\nSnort’un mimarisi performans, basitlik ve esnekli\u011fe dayal\u0131d\u0131r. Paket
\n\u00e7\u00f6z\u00fcc\u00fc, \u00f6n i\u015fleyici, tespit motoru ve g\u00fcnl\u00fckleme\/alarm olmak \u00fczere 4
\ntemel bile\u015fen \u00fczerine in\u015fa edilmi\u015ftir.\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\n<\/p>\n
\n
<\/div>\n
\n\u00a0\u015eekil 1 – Snort Mimarisi\n<\/p>\n
\n\u00a0\n<\/p>\n
\nLibpcap (Packet Capture Library):<\/b><\/u><\/i> Snort\u2019un a\u011f kart\u0131ndan
\npaketleri \u00e7ekmek i\u00e7in Linux\/Unix sistemlerde libpcap, Windows
\nsistemlerde ise WinPcap olarak kulland\u0131\u011f\u0131 paket yakalama k\u00fct\u00fcphanesidir.\u00a0<\/p>\n
\nPaket \u00c7\u00f6z\u00fcmleyici (Decoder):<\/b><\/u> <\/i>Paket yakalama k\u00fct\u00fcphanesinin
\n yakalay\u0131p g\u00f6nderdi\u011fi veri ba\u011f\u0131 yani 2. katman verisini al\u0131r ve
\nayr\u0131\u015ft\u0131rarak (2.katman i\u00e7in Ethernet\/802.11, 3. katman i\u00e7in IP\/ICMP , 4.
\n katman i\u00e7in tcp\/udp gibi) sonraki a\u015famalarda i\u015flenmek \u00fczere ya da direk
\n tespit motoruna g\u00f6nderilmek \u00fczere haz\u0131r hale getirir.\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0 \u00a0 \u00a0 \u00a0
\n \u00a0\n<\/p>\n\n
<\/div>\n
\n\u00a0\u015eekil 2 – Snort Paket \u00c7\u00f6z\u00fcmleyici Veri Ak\u0131\u015f\u0131\n<\/p>\n
\n\u00a0\n<\/p>\n
\n\u00d6n i\u015fleyici (preprocessor):<\/b><\/u><\/i> Yakalanan bir paketin tespit
\nmotorunda ger\u00e7ekle\u015ftirilecek olan kural uygulamalar\u0131 \u00f6ncesinde i\u015flenmeye
\n haz\u0131r hale getirilmesi gereklidir. \u00d6rne\u011fin, paket par\u00e7alanm\u0131\u015f bir
\nyap\u0131da ise paketin boyutunun tespitinden \u00f6nce t\u00fcm par\u00e7alar\u0131n yeniden bir
\n araya getirilmesi gereklidir. \u0130\u015fte \u00f6n i\u015fleyiciler, paket \u00e7\u00f6z\u00fcmleyicisi
\ntaraf\u0131ndan \u00e7\u00f6z\u00fcmlenmi\u015f olan paketlerin Snort taraf\u0131ndan daha kolay
\nkavranabilmesi ve anla\u015f\u0131labilmesi ad\u0131na daha anlaml\u0131 par\u00e7alar haline
\ngetirir. Snort yap\u0131land\u0131rma dosyas\u0131ndan aktif edilebilir ya da devre
\nd\u0131\u015f\u0131 b\u0131rak\u0131labilir bir yap\u0131dad\u0131r. \u00d6rne\u011fin, port tarama \u00f6n i\u015fleyicisi
\naktif hale getirilirse, sistem \u00fczerinde yap\u0131lacak olan herhangi bir port
\n tarama i\u015flemi Snort taraf\u0131ndan ba\u015far\u0131 ile yakalayacakt\u0131r.\u00a0<\/p>\n
\nTespit Motoru (Detection Engine):<\/b><\/u><\/i> Tespit motoru bile\u015feni
\nSnort\u2019un en \u00f6nemli k\u0131sm\u0131, kalbi olarakta nitelendirilmektedir. Tespit
\nmotorunun g\u00f6revi, paket \u00e7\u00f6z\u00fcmleyicisi ve \u00f6n i\u015fleyici bile\u015fenlerinden
\ngelen paketlerde sald\u0131r\u0131 faaliyeti mevcut ise tespit etmektir. Bu ama\u00e7la
\n tespit motoru Snort kurallar\u0131n\u0131 kullanmaktad\u0131r. Snort, t\u00fcm kurallar\u0131
\nba\u015flang\u0131\u00e7ta okur ve a\u011fa\u00e7 d\u00fc\u011f\u00fcm yap\u0131s\u0131n\u0131 a\u011fdan toplanan paketlere
\nuygulamak \u00fczere olu\u015fturur. E\u011fer bir paket herhangi bir kural ile
\ne\u015fle\u015firse, uygun eylem ger\u00e7ekle\u015ftirilir aksi takdirde paket d\u00fc\u015f\u00fcr\u00fcl\u00fcr.
\nUygun eylem, paketin kaydedilmesi ya da alarm verme olabilmektedir.\u00a0<\/p>\n
\nKay\u0131t ve Alarm Verme Sistemi, \u00c7\u0131kt\u0131 Mod\u00fclleri:<\/b><\/u><\/i> Tespit
\nmotoru, a\u011f i\u00e7inde akan paketler i\u00e7erisinde yapm\u0131\u015f oldu\u011fu tespitlere
\nba\u011fl\u0131 olarak sald\u0131r\u0131 olarak \u00f6ng\u00f6rd\u00fc\u011f\u00fc paketler i\u00e7in uyar\u0131 mesajlar\u0131
\n\u00fcretir ve bunlarla ilgili olarak da basit bir metin dosyas\u0131nda, tcpdump
\nformat\u0131nda veya di\u011fer kaydetme formatlar\u0131nda log tutabilir. \u0130\u015fte \u00e7\u0131kt\u0131
\nmod\u00fclleri de bu uyar\u0131lar\u0131n nas\u0131l olaca\u011f\u0131 ve nereye ne bi\u00e7imde
\nkaydedilece\u011fi konusunu y\u00f6netirler.\n<\/p>\n<\/span>\n2.1.3 \u00c7al\u0131\u015fma Modlar\u0131<\/span><\/h3>\n\nSnort temel olarak paket izleme (packet sniffer), paket g\u00fcnl\u00fckleme (packet
\n logger) ve s\u0131zma tespit\/engellenme (IDS\/IPS) olmak \u00fczere \u00fc\u00e7 farkl\u0131 modda
\n \u00e7al\u0131\u015fabilecek \u015fekilde yap\u0131land\u0131r\u0131labilmektedir.\u00a0<\/p>\n
\nPaket \u0130zleyici Modu (packet sniffer):<\/b><\/u><\/i> Snort\u2019un sadece
\nge\u00e7en paketleri izlemesi isteniyorsa bu modda \u00e7al\u0131\u015ft\u0131r\u0131l\u0131r. Bu mod
\ntcpdump paket izleyici program\u0131 gibi basit bir \u015fekilde a\u011fdan paketleri
\nokuyup s\u00fcrekli bir \u015fekilde konsolda g\u00f6stermektedir.\u00a0<\/p>\n
\nPaket G\u00fcnl\u00fckleme Modu (packet logger):<\/b><\/u><\/i> Snort, belirtilen parametrelere g\u00f6re paketlerin istenilen formatta diske yaz\u0131lmas\u0131 istendi\u011finde bu modda \u00e7al\u0131\u015ft\u0131r\u0131l\u0131r.\u00a0<\/p>\n
\nA\u011f S\u0131zma Tespit\/Engelleme Sistemi (NIDS\/NIPS) Modu:<\/b><\/u><\/i>
\nSnort’un genel olarak kullan\u0131ld\u0131\u011f\u0131 s\u0131zma giri\u015fimlerini tespit etme
\nmodudur. Snort bu modda temel olarak trafi\u011fi analiz ederek kullan\u0131c\u0131
\ntaraf\u0131ndan daha \u00f6nceden tan\u0131mlanm\u0131\u015f olan kurallarla kar\u015f\u0131la\u015ft\u0131rma
\nyaparak ilgili kurallarda belirtilmi\u015f olan eylemlerin uygulanmas\u0131n\u0131
\nsa\u011flar.\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0\n<\/p>\n\n
<\/div>\n
\n\u015eekil 3 –\u00a0 Snort’un A\u011f Topolojisinde Konumland\u0131r\u0131lmas\u0131\u00a0<\/p>\n
<\/span>\n2.1.4 Kural Yaz\u0131m\u0131<\/span><\/h3>\n\nSnort kurallar\u0131, kural ba\u015fl\u0131\u011f\u0131 ve kural se\u00e7enekleri olmak \u00fczere mant\u0131ksal olarak iki k\u0131sma ayr\u0131lmaktad\u0131r:\u00a0<\/p>\n
\nKural ba\u015fl\u0131\u011f\u0131<\/u>
\u00a0\u00a0\u00a0\u00a0
\n\u2022\u00a0\u00a0\u00a0 Kural eylemi,
\u00a0\u00a0\u00a0\u00a0
\n\u2022\u00a0\u00a0\u00a0 Protokol,
\u00a0\u00a0\u00a0\u00a0
\n\u2022\u00a0\u00a0\u00a0 Kaynak IP adresi,
\u00a0\u00a0\u00a0\u00a0
\n\u2022\u00a0\u00a0\u00a0 Hedef IP adresi,
\u00a0\u00a0\u00a0\u00a0
\n\u2022 \u00a0\u00a0 Alt a\u011f maskesi,
\u00a0\u00a0\u00a0\u00a0
\n\u2022\u00a0\u00a0\u00a0 Kaynak ve Hedef port bilgilerini i\u00e7erir.\u00a0<\/p>\n
\nKural se\u00e7enekleri <\/u>
\u00a0\u00a0\u00a0\u00a0
\n\u2022\u00a0\u00a0\u00a0 Uyar\u0131 mesajlar\u0131 ve paketin hangi b\u00f6l\u00fcm\u00fcn\u00fcn incelenece\u011fini bilgisini i\u00e7erir.\n<\/p>\n
\nA\u015fa\u011f\u0131da \u00f6rnek olarak Snort i\u00e7in yaz\u0131lm\u0131\u015f bir alarm kural\u0131 g\u00f6sterilmi\u015ftir:\n<\/p>\n
<\/span>\nalert tcp any any -> 156.154.70.1 80 (msg:”Test Rule”; sid:5000853; content:”GET”; content:”cgi-bin\/phf”;)<\/span><\/h4>\n\nalert <\/i>-> kural eylemini belirtir; alarm ver
tcp <\/i>-> hangi protokol kullan\u0131larak ger\u00e7ekle\u015fen giri\u015fimlerde ge\u00e7erli olaca\u011f\u0131 belirtilir
any <\/i>-> kaynak IP adresini tan\u0131mlar, any herhangi bir IP adresi olabilece\u011fi belirtilir
any <\/i>-> kaynak port, any ile herhangi bir port olabilece\u011fi belirtilmi\u015f
156.154.70.1 <\/i>-> sald\u0131r\u0131n\u0131n ger\u00e7ekle\u015fti\u011fi hedef IP adresi
80<\/i> -> hedef port
msg:\u201cTest Rule\u201d<\/i> -> Bu alarm \u00fcretildi\u011finde g\u00f6sterilecek bilgi mesaj\u0131
sid:5000853<\/i> -> Bu kural i\u00e7in atanm\u0131\u015f tan\u0131mlay\u0131c\u0131 numara
content:”cgi-bin\/phf”<\/i> -> paket\/mesaj i\u00e7eri\u011finde “cgi-bin\/phf” var ise bu alarm \u00e7al\u0131\u015ft\u0131r\u0131l\u0131r.\n<\/p>\n
<\/p>\n
<\/span>\n2.2 SURICATA
2.2.1 Geli\u015fimi<\/span><\/h3>\n\nSuricata a\u00e7\u0131k kaynak kodlu, GPLv2 lisans\u0131 ile da\u011f\u0131t\u0131lan sald\u0131r\u0131 tespit
\nve \u00f6nleme sistemidir. Kar amac\u0131 g\u00fctmeyen bir topluluk olan OISF (Open
\nInformation Security Foundation) taraf\u0131ndan geli\u015ftirilmekte ve
\ndesteklenmektedir. \u0130lk olarak Aral\u0131k 2009 y\u0131l\u0131nda beta s\u00fcr\u00fcm, Haziran
\n2010\u2019da ise ilk kararl\u0131 s\u00fcr\u00fcm\u00fc yay\u0131nlanm\u0131\u015ft\u0131r [4]. Yakla\u015f\u0131k 10 y\u0131l \u00f6nce
\nduyurulan ve yayg\u0131n olarak kullan\u0131lan Snort sald\u0131r\u0131 tespit sistemi gibi
\nimza\/kural tabanl\u0131 \u00e7al\u0131\u015fmaktad\u0131r. Snort\u2019un kulland\u0131\u011f\u0131 kural setini
\ndesteklemesi k\u0131sa s\u00fcrede kabul g\u00f6rmesinde etkili olmu\u015ftur.\u00a0<\/p>\n
\nAd\u0131n\u0131 Afrika’ya \u00f6zg\u00fc etobur memeli bir hayvandan (mirket) alan Suricata
\nsald\u0131r\u0131 tespit alan\u0131nda \u00f6nemli yeniliklerle gelmi\u015ftir. Bunlardan ilki
\nHTP k\u00fct\u00fcphanesi olarak adland\u0131r\u0131lan ve Suricata proje tak\u0131m\u0131ndan Ivan
\nRistic taraf\u0131ndan geli\u015ftirilen yeni HTTP normalizasyon arac\u0131d\u0131r. HTTP
\ntrafi\u011finin ayr\u0131\u015ft\u0131r\u0131lmas\u0131n\u0131 sa\u011flayan bu yeni arac\u0131n en \u00f6nemli \u00f6zelli\u011fi
\n\u201csecurity-aware\u201d olarak tasarlanmas\u0131d\u0131r [5]. Yani sald\u0131rganlar\u0131n sald\u0131r\u0131
\n tespit sistemlerini atlatmak i\u00e7in kullanabilece\u011fi \u00e7e\u015fitli teknikleri
\nyakalama kapasitesine sahiptir. Bununla birlikte k\u00fct\u00fcphane HTTP
\nprotokol\u00fcyle ilgili istek sat\u0131r\u0131, istek ba\u015fl\u0131\u011f\u0131, URI, kullan\u0131c\u0131 etmeni,
\ncevap sat\u0131r\u0131, sunucu cevap sat\u0131r\u0131, \u00e7erez, \u201cbasic\u201d ve \u201cdigest\u201d kimlik
\ndo\u011frulama i\u015flemleri i\u00e7in farkl\u0131 ayr\u0131\u015ft\u0131r\u0131c\u0131lara sahiptir. Suricata\u2019n\u0131n
\ndi\u011fer \u00f6nemli \u00f6zelli\u011fi \u00e7oklu i\u015f par\u00e7ac\u0131klar\u0131 (multi-threaded) halinde
\n\u00e7al\u0131\u015fmay\u0131 desteklemesidir. Yani birden \u00e7ok i\u015flemci \u00fcnitesine sahip
\nmimarilerde paket i\u015fleme i\u015flemi farkl\u0131 i\u015f par\u00e7ac\u0131klar\u0131yla farkl\u0131
\n\u00fcnitelerde da\u011f\u0131t\u0131k olarak yap\u0131lmaktad\u0131r. Her CPU \u00fcnitesi tek i\u015f
\npar\u00e7ac\u0131\u011f\u0131yla \u00e7al\u0131\u015fan ayr\u0131 bir makine gibi davran\u0131r. B\u00f6ylece y\u00fck dengesi
\nsa\u011flan\u0131p, performans artt\u0131r\u0131lm\u0131\u015f olur [6].\n<\/p>\n
\n
<\/div>\n
\n\u015eekil 4 –\u00a0 Suricata’n\u0131n Multi-thread \u00c7al\u0131\u015fmas\u0131\n<\/p>\n
\n\u00a0\n<\/p>\n
\nTek i\u015f par\u00e7ac\u0131\u011f\u0131 (single-thread) ile \u00e7al\u0131\u015fan Snort maksimum 100-200
\nmegabit aras\u0131 trafi\u011fi i\u015flerken, Suricata 10 gigabit ger\u00e7ek trafi\u011fi
\ni\u015fleyebilmektedir.\n<\/p>\n
<\/span>\n2.2.2 \u00d6zellikleri<\/span><\/h3>\n\nSuricata\u2019n\u0131n \u00f6zellikleri \u015f\u00f6yle s\u0131ralanabilir [7]:\n<\/p>\n
\n- \n
Sald\u0131r\u0131 tespit sistemi (IDS) , sald\u0131r\u0131 engelleme sistemi (IPS) gibi \u00e7al\u0131\u015fma modlar\u0131nda kullan\u0131labilmektedir.
\n <\/li>\n
- \n
A\u011f trafi\u011fini izleyerek trafi\u011fin pcap format\u0131nda kaydedilmesini daha
\nsonra kaydedilen bu dosyalar\u0131n\u0131n offline olarak analiz edilmesini
\nsa\u011flamaktad\u0131r. Ayr\u0131ca pcap dosyalar\u0131n\u0131n analizi i\u00e7in Unix soket modunda
\nda \u00e7al\u0131\u015fmaktad\u0131r.
\n <\/li>\n
- \n
Linux, FreeBSD, OpenBSD, Mac OS X, Windows gibi hemen hemen t\u00fcm i\u015fletim sistemlerinde \u00e7al\u0131\u015fabilmektedir.
\n <\/li>\n
- \n
Konfig\u00fcrasyon dosyas\u0131 kolay bir \u015fekilde anla\u015f\u0131lmay\u0131 sa\u011flayan YAML
\nformat\u0131ndad\u0131r. Bir\u00e7ok programlama dili taraf\u0131ndan desteklenmektedir.
\nSuricata 2.0 kararl\u0131 s\u00fcr\u00fcm\u00fcyle birlikte YAML dosyas\u0131 istenilen par\u00e7alara
\n ayr\u0131larak ana dosya i\u00e7erisinden \u00e7a\u011fr\u0131lmas\u0131 sa\u011flanm\u0131\u015ft\u0131r.
\n <\/li>\n
- \n
IPv6 protokol\u00fc tamamen desteklenmektedir.
\n <\/li>\n
- \n
Teredo, GRE, IP4-IP6 t\u00fcnel protokolleri \u00e7\u00f6z\u00fcmlenebilmektedir.
\n <\/li>\n
- \n
TCP oturumlar\u0131 i\u00e7in oturum ba\u015ftan sona takip edilmesi, ak\u0131\u015f\u0131n s\u0131raya
\nkonulmas\u0131, gibi i\u015flemleri yapar. Par\u00e7alanmaya u\u011frayan paketlerin yeniden
\n bir araya getirilmesi i\u00e7in de ayr\u0131 bir mod\u00fcle sahiptir.
\n <\/li>\n
- \n
Ethernet, PPP; VLAN, QINQ vb. gibi bir\u00e7ok ikinci katman protokol\u00fcn\u00fc
\ndesteklemektedir. Ayr\u0131ca uygulama katman\u0131 protokollerinden HTTP, SSL,
\nTLS, SMB, SMB2, DCERPC, SMTP, FTP, SSH, DNS \u00e7\u00f6z\u00fcmlenebilmektedir.
\n <\/li>\n
- \n
Yaz\u0131lan kurallarda PCRE (Perl Compatible Regular Expressions)
\nkullan\u0131labilmekte, dosya t\u00fcr\u00fc, boyutu, MD5 \u00f6zet de\u011feri e\u015fle\u015ftirilmesi
\nyap\u0131labilmektedir.
\n <\/li>\n
- \n
\u00c7al\u0131\u015fma s\u0131ras\u0131nda yeni kural eklenmesi, silinmesi gibi kural g\u00fcncelleme
\n i\u015flemleri yap\u0131labilmektedir. Uygulaman\u0131n yeniden ba\u015flamas\u0131
\ngerekmemektedir.
\n <\/li>\n
- \n
NVIDIA taraf\u0131ndan geli\u015ftirilen ve GPU\u2019lar taraf\u0131ndan kullan\u0131lan CUDA
\n(Compute Unified Device Architecture) teknolojisini desteklemektedir.
\nDolay\u0131s\u0131yla b\u00f6yle bir donan\u0131m ve \u00e7oklu i\u015f par\u00e7ac\u0131klar\u0131yla \u00e7al\u0131\u015fmada
\ny\u00fcksek performans elde edilecektir.
\n <\/li>\n
- \n
HTTP istekleri, TLS el s\u0131k\u0131\u015fmalar\u0131, SSH ba\u011flant\u0131lar\u0131 kaydedebilir.
\nSuricata 2.0 ile birlikte DNS istek\/cevaplar\u0131 da kaydedilmeye ba\u015flanm\u0131\u015f
\nve t\u00fcm kay\u0131tlar\u0131n bir\u00e7ok programlama dili taraf\u0131ndan kolayca
\nanla\u015f\u0131labilen JSON format\u0131nda kaydedilmesi sa\u011flanm\u0131\u015ft\u0131r.
\n <\/li>\n
- \n
Kurallara g\u00f6re \u00fcretilen alarmlar metin format\u0131nda kaydedilebilmekte ya
\nda syslog\u2019a g\u00f6nderilebilmektedir. Alarmlar\u0131n daha h\u0131zl\u0131 kaydedilmesini
\nsa\u011flayan Unified2 binary format\u0131n\u0131 kullanmaktad\u0131r. Bu formattaki
\ndosyalar Barnyard2 a\u00e7\u0131k kaynak kodlu arac\u0131 kullan\u0131larak metin haline
\nd\u00f6n\u00fc\u015ft\u00fcr\u00fclebilmekte veya istenilen bir veritaban\u0131na
\nkaydedilebilmektedir. Suricata 2.0\u2019dan sonra HTTP isteklerinin yan\u0131 s\u0131ra
\n Unified2 kay\u0131tlar\u0131 i\u00e7in de XFF (X-Forwarded-For) deste\u011fi gelmi\u015ftir.
\n <\/li>\n
- \n
HTTP trafi\u011finden ge\u00e7en t\u00fcm dosyalarla ilgili bilgileri MD5 \u00f6zet
\nde\u011ferleriyle birlikte JSON format\u0131nda kaydedilebilmekte, istenildi\u011fi
\ndurumda bu dosyalar trafikten \u00e7\u0131kar\u0131l\u0131p belirtilen bir dizinde
\nsaklanabilmektedir.
\n <\/li>\n
- \n
IPS modunda kullan\u0131lmas\u0131 durumunda d\u00fc\u015f\u00fcr\u00fclen paketlere ili\u015fkin
\nbilgiler, uygulaman\u0131n \u00e7al\u0131\u015fmas\u0131 ile ilgili istatistikler de
\nkaydedilebilmektedir.
\n <\/li>\n
- \n
IP itibar deste\u011fi vard\u0131r. Kural yaz\u0131m\u0131nda \u201ciprep\u201d anahtar s\u00f6zc\u00fc\u011f\u00fc
\nkullan\u0131larak istenilen verilerle e\u015fle\u015ftirme yap\u0131labilir. IP itibar
\ndeste\u011fi \u00e7al\u0131\u015fma an\u0131nda g\u00fcncellenebilir, yeniden ba\u015flatma gerektirmez.
\n <\/li>\n
- \n
\nPaket i\u015fleme performans\u0131n\u0131n artt\u0131r\u0131lmas\u0131 i\u00e7in AF_PACKET, PF_RING gibi
\nuygulamalar kullan\u0131labilmektedir. Ayr\u0131ca Endace, Napatech, Tilera gibi
\n\u00f6zelle\u015fmi\u015f donan\u0131mlarda da y\u00fcksek performansl\u0131 \u00e7al\u0131\u015fabilmektedir. 8
\nd\u00fc\u011f\u00fcmden olu\u015fan Tilera platformunda 80 gbps trafik Suricata ile
\ni\u015flenebilmektedir [8].<\/p>\n<\/li>\n<\/ul>\n
\n
<\/div>\n
\n\u015eekil 5 –\u00a0 Suricata i\u00e7in \u00d6zelle\u015ftirilmi\u015f TILE-GxDonan\u0131m\u0131\n<\/p>\n