• Sonuç bulunamadı

3. SALDIRI TESPİT SİSTEMLERİ (STS)

3.1 Tanımlar

STS’yi tanımlamadan önce “saldırı” ve “saldırı tespiti” nin anlamlarını açıklamak gerekmektedir.

Anderson (1980) yayınladığı raporunda saldırıyı, “izinsiz olarak bilgiye ulaşmak, değiştirmek, sistemi kullanılmaz veya güvenilmez hale getirmektir” diye tanımlamaktadır. İnternet ve bilgisayar teknolojilerindeki gelişmeleri göz önünde bulundurarak yeni bir tanım yapabiliriz. Anderson’un yaptığı bu tanımı genişletirsek bilginin gizliliği, bütünlüğü ve erişilebilirliğinin bozulması yönünde yapılan her türlü girişime saldırı demek mümkündür.

Veri gizliliği verinin yetkisiz birine karşı veya üçüncü şahıslara ifşasını engeller. Veri bütünlüğü verinin doğruluğu, aslına uygun ve bozulmadığı ile ilgilenir.

Erişilebilirliğinin bozulması ise hizmetin önceden belirlenmiş bir hizmet kalitesinin altına düşmesi veya verilen hizmetin tamamen işlemez veya erişilemez hale gelmesi anlamını taşımaktır. Sistem için hizmet aksatma büyük bir tehdittir (Vesely and Breclerova 2004).

Saldırı tespiti ise ağ üzerinde akan verinin üçüncü şahıs veya sistemler ile izlenerek gizliliğinin, bütünlüğünün ve erişilebilirliğinin kısmen veya tamamen bozulması halinin tespit edilmesidir.

Saldırı Tespit Sistemleri bir ağ veya bir bilgisayara karşı yapılan her türlü saldırının tespit edilmesi ve saldırının bertaraf edilmesi için geliştirilmiş sistemlerin bütününe denir.

Bilgisayar ağlarında yapılan her türlü yetkisiz erişimin tespit edilmesi ve ağ içerisinde oluşan anormalliklerin gözlenmesi, akan trafiğin analizi ile mümkün olmaktadır.

STS’ler ağ ve ağdaki bilgisayarların çalışmalarını izleyerek veri toplar. Toplanan veriler önceden tespit edilen saldırı motiflerine veya saldırı imzalarının yer aldığı veri tabanları ile karşılaştırılarak analiz edilirler. Analiz sonucunda kötü niyetli bir girişim tespit edilir ise STS’ler bir mesaj veya bir alarm oluşturarak ağ yöneticilerini uyarırlar.

Günümüzde STS’ler yazılımsal ürünler olarak üretilmektedir. Ağ üzerinde ağ yöneticisinin uygun bulduğu yerlere yerleştirilmektedir.

3.2 STS’lerin Sınıflandırılması

STS’leri analiz yaparken kullandıkları yaklaşım ve yöntemlere göre sınıflandırabiliriz.

STS’ler iki ana yaklaşım ile saldırıları tespit etmektedir (Moradi and Zulkernine 2004).

Kötüye kullanım yolu ile saldırı tespiti: Ağda kötü amaçlı kullanımların tespitidir.

Bilinen sistem açıkları ve saldırı imzalarının kullanılması ile oluşan eylemlerin araştırılması ile saldırıların tespit edilmesi olarak tanımlanabilir. Kötüye kullanım tespiti (misuse detection) ya da imza-tanımaya dayalı sistemlerde her davranışın bir imzası (karakteri) vardır. Bu imzalar daha önceden oluşturulan saldırıların davranışlarından çıkarılan şablonlardır. Bu şablonlar STS’nin veri tabanında tutulmaktadır.

Eğer gözlenen davranış daha önceden bilinen bir saldırı imzası (önceden çıkarılan şablon) ile eşleşiyor ise saldırı olarak sınıflandırılır. Daha önce karşılaşılmadıysa saldırı olarak nitelenmez. Bu sistemler veri tabanının güncellenmesi ile yeni saldırıları tanıyabilirler. Oluşan olayları STS’nin veri tabanını kullanarak karşılaştırdıkları için saldırıyı kesin olarak tanıyabilirler. Bu nedenle yanlış alarm verme ihtimalleri yoktur.

Ancak veri tabanlarında olmayan yeni bir saldırı gelir ise bunu algılayamazlar (Erol 2005).

Ağ üzerinde oluşan anormal ağ trafiğinin incelenmesi ile saldırıların tespiti: Anormal ağ trafiği, ağ içerisinde meşru kullanıcıların kendi hak ve sınırlarını aşması veya diğer bağlantılarda oluşan ağ akışını engelleyecek kadar ve kabul edilebilecek sınırları aşan eylemlerin ortaya çıktığı ağ trafiğidir. Anormal ağ trafikleri yoklama (probe) ve hizmet engelleme (Denial of Service – DoS) olarak bilinen saldırıların oluştuğu ağlarda görülmektedir. Bu tür trafiklerin normal trafikten ayıklanarak saldırının tespit edilmesi çalışmamızın konusunu oluşturmaktadır.

Normal bir sistemde kullanıcı istekleri tahmin edilebilir bir yapıdadır. Burada normal davranışın bilinmesi ve modellenmesi esastır. Ancak bundan sonra bir anormallik varsa tespit edilebilir. Normal davranış belirli kurallar ile tanımlanabilir. Bu kuralların dışında kalan davranışlar anormallik olarak değerlendirilir. Normal davranış kurallarından sapmanın şiddeti ise saldırının sınıflandırılmasında kullanılır. Daha önceden tanımlanmamış saldırıların tespit edilme olasılığının yüksek olması bu yöntemin en önemli avantajıdır. Dezavantajı ise saldırı sapmasının belirlenmesine göre yanlış alarm (false alarm) verme ihtimalinin yüksek olmasıdır (Kemmerer and Vigna 2002).

Bilgisayar ağlarında oluşan anormalliklerin tespitinde istatistiksel yöntemler, yapay zeka, yapay sinir ağları, veri madenciliği, bilgisayar bağışıklık sistemi (computer immunology) gibi birçok yaklaşım kullanılmaktadır (Wu and Zhang 2003).

Ayrı bir sınıflandırma ise çalışma zamanlarına göre yapılabilir (Ryan et al. 1998).

Saldırı tespit sistemlerini çalışma zamanına göre çevrimiçi (online) ve çevrimdışı (offline) şeklinde ikiye ayırmak mümkündür. Çevrimdışı sistemlerde sistem belli periyotlar arasında çalışmakta ve saldırı gerçekleştikten sonra tespiti mümkün olmaktadır. Saldırının oluştuğu anda tespit edilmesini sağlayan sistemler ise çevrimiçi sistemlerdir. Bu çalışmada tespit sistemimiz çevrimdışı olarak çalışmaktadır.

Diğer bir sınıflandırma şekli ise izlenen kaynağın çeşidine göre sınıflandırmadır. Ağ tabanlı (network-based) ve sunucu tabanlı (host-based) tespit sistemleri diye ikiye ayırabiliriz. Ağ tabanlı tespit sistemi ağ üzerinde akan paketleri yakalar ve bunların analizi ile ilgilenir. Bu analizler sonucunda saldırı tespit edilmektedir. Sunucu tabanlı tespit sistemleri ise güvenliğinin sağlanacağı sunucu üzerine kurulurlar. Sunucunun maruz kaldığı saldırıları tespit ederler. Bu sistemler sunucuya yapılan şüpheli işlemleri takip ederek olayın içeriye ve dışarıya yapmış olduğu iletişimi inceler, sistem dosyalarının bütünlüğünü kontrol eder ve oluşan saldırıyı yakalarlar. Çalışmamızda kullandığımız saldırı tespit sistemi ağ tabanlı olarak çalışmaktadır.

3.3 Saldırı Tipleri ve Özellikleri

Ağ üzerinden yapılan saldırıları 4 temel sınıfa ayırabiliriz (Erol 2005).

a) Bilgi yoklama (probe): Bir sunucunun ya da herhangi bir makinanın, geçerli IP adreslerini, aktif giriş kapılarını veya işletim sisteminin öğrenilmesi amacı ile yapılan saldırılardır (Erol 2005). Örneğin saldırgan yukarıdaki bilgileri öğrenmek için kurbanın bilgisayarındaki bir kapıyı sürekli yoklayabilir. Benzer şekilde kurbanın (hedef) bilgisayarındaki tüm kapıları tarayarak içeriye giriş yapacağı açık bir kapıyı bulabilir.

b) Hizmet engelleme (Denial of Service - DoS): TCP/IP protokol yapısındaki açıklardan faydalanarak veya bir sunucuya çok sayıda istek yönelterek sunucunun iş göremez hale gelmesini sağlayan saldırılardır. DoS saldırıları Şekil 3.1’deki gibi ikiye ayırmak mümkündür.

”The ping of death” (ölümüne ping) ve Neptune saldırıları hizmet engellemeye örnek verilebilir. Bu tür saldırılar protokol hatalarından faydalanarak yapılan saldırı grubuna girmektedir.

Bir sunucudan sürekli istekte bulunulmasına dayanan saldırı yöntemi hem sunucuyu hem de ağı meşgul etmektedir. ICMP paketlerinin ağ üzerinde her yöne yayılması (broadcast) ile oluşan Smurf saldırısı ve kullanıcının karşıdaki makinaya sürekli

”ping” göndermesi ile gerçekleşen ”Selfping” saldırıları devamlı paket göndermeye dayalı DoS saldırılarına örnek teşkil etmektedir.

Şekil 3.1 Hizmet engelleme saldırı tipleri

c) Yönetici hesabı ile yerel oturum açma (Remote to Local - R2L): Kullanıcı haklarına sahip olunmadığı halde ağa izinsiz erişim yapılması ile oluşmaktadır.

d) Kullanıcı hesabının yönetici hesabına yükseltilmesi (User to root - U2R): Bu tip saldırılar sisteme girme izni olan fakat yönetici olmayan bir kullanıcının izinsiz olarak yönetici haklarına sahip olması ve bu hakları kötü niyetli olarak kullanmasından doğan saldırılardır.

Bilgi yoklama ve hizmet engelleme saldırıları ağ tabanlı STS’ler ile engellenirken, R2L ve U2R saldırıları sunucu tabanlı STS’ler ile engellenmektedir.

3.4 Tespit Edilecek Saldırılar

Çalışmamızda kullandığımız DARPA eğitim veri setleri normal trafiğin yanı sıra 24 adet saldırıyı kapsamaktadır. DARPA test veri setinde ise eğitim veri seti içerisinde

       Hizmet Engelleme (Denial of Service) 

Protokol Hatalarına Dayalı  Devamlı Paket Göndermeye Dayalı 

Çok Kaynaklı          Tek Kaynaklı 

Zombi  Yansıtıcı Kullanılan 

kullanılmayan saldırılara ilave olarak 14 adet saldırı bilgisi de bulunmaktadır (Lichodzijewski et al. 2002).

Çizelge 3.1’de DARPA ve KDD veri setlerinde gözlenen normal ve 39 adet saldırının isimleri ve sayısal değerleri yer almaktadır. Sayısal değerler MATLAB programında YSA’ların oluşturulmasında kullanılmaktadır.

Çizelge 3.1 Saldırı isimleri ve sayısal değerleri (Güven 2007)

Saldırı Adı Sayısal Değeri

Saldırı Adı

Sayısal Değeri

Saldırı Adı Sayısal Değeri

Saldırı Adı

Sayısal Değeri

normal 0 nmap 11 warezmaster 22 mscan 33

back 1 perl 12 apache2 23 httptunnel 34

buffer_overflow 2 phf 13 named 24 ps 35

ftp_write 3 pod 14 saint 25 xterm 36

guess_passwd 4 portsweep 15 sendmail 26 snmpguess 37

imap 5 rootkit 16 snmpgetattack 27 worm 38

ipsweep 6 satan 17 udpstorm 28 sqlattack 39

land 7 smurf 18 xlock 29

loadmodule 8 spy 19 xsnoop 30

multihop 9 teardrop 20 mailbomb 31

neptune 10 warezclient 21 processtable 32

Bu çalışmamızda YSA’nın eğitimde iki adet DoS saldırısının bulunduğu eğitim seti kullanılmıştır. Bu eğitim seti içerisinde Neptune ve Pod saldırıları bulunmaktadır. Test setlerinde ise bilinmeyen saldırı olarak SATAN saldırısı kullanılmıştır.

3.4.1 SYN flooding (Neptune) saldırısı

İnternet dünyasına dahil olan tüm bilgisayarlar haberleşmek için TCP/IP protokolünü kullanırlar. TCP bağlantı temelli (connection oriented) bir erişim sağladığı için üç yollu el sıkışma modelinin gerçekleşmesi gerekir. Üç yollu el sıkışma modeli aşağıda açıklanmıştır. İki bilgisayar bağlantısında bağlantıyı talep eden taraf karşı tarafa bir adet senkronize (SYN) paketi gönderir. Karşı taraf ise cevap olarak bir kabul (SYN/ACK) paketi ile daveti kabul ettiğini belirten bir paket gönderir. Bu iletişim esnasında karşı taraf bağlantı bilgilerini hafızasında (TCP/IP yığınında) tutar. Daha sonra ilk talep eden tekrar bir kabul (ACK) bilgisi göndererek bağlantının kurulmasını sağlamış olur.

Karşı taraf bağlantının kurulmasından sonra kısıtlı bir alanı olan hafızasından bu

bağlantı bilgisini siler. TCP’nin bu çalışma şekli istendiğinde kötü amaçlar için kullanılır. Bu protokolün çalışma mantığını kullanarak saldırı oluşturmak mümkündür.

Saldırgan sunucuya senkronize (SYN) paketi gönderirken bu paketin başlık bilgisinde bulunan kaynak IP kısmına paketi gönderen kişinin IP adresi yerine aslında gerçekte var olmayan bir IP adresi yazarak gönderir. Bu esnada sunucu bu senkronize (SYN) paketini alır ve bağlantı işleminin tamamlanması için var olmayan IP adresine senkronize ve kabul (SYN+ACK) paketi gönderir. Sunucu ”SYN+ACK” paketinin kabul cevabını (ACK) var olmayan bu IP adresli makinadan beklemeye başlar. Bu bekleme sırasında var olmayan bu IP adresi sunucunun TCP/IP yığınında tutulur. Doğal olarak var olmayan IP adresli makinadan kabul (ACK) paketi gelmez ve bir süre sonra sunucunun yığını dolar ve sunucu diğer taleplere cevap veremez. Bu saldırı ”SYN Flooding” saldırısı veya Neptune saldırısı olarak tanımlanmaktadır (http://www.tcpsecurity.com/doc/genel/temelsaldiriteknikleri.html, 2007).

Şekil 3.2 SYN Flooding (Neptune) saldırısı

SYN Flooding TCP protokolünün üç yollu el sıkışma modelinin kötüye kullanımından başka bir şey değildir. “SYN Flooding” büyük bir ağda bir sunucuyu etkisiz hale getirmesine rağmen ağın genelinde oluşan paketlerin incelenmesi ile anlaşılması oldukça zordur. Bu yüzden ağda “ACK” ve “SYN/ACK” paketlerinin bulunması kolaylık sağlayabilir. Ancak paketler kapalıdır ve içerikleri bilinmemektedir. Paketin içeriği ağ paket analiz programı (sniffer programı) ile anlaşılabilir. Ancak STS’ler her paketin içeriğine bakacak kadar hızlı olamadıkları için saldırı motifinden saldırıyı tespit etmesi gerekir.

3.4.2 ”The Ping of Death” – Pod saldırısı

ICMP protokolü ağda bilgisayarların hata mesajlarını birbirlerine göndermesini ya da

“Ping” gibi basit işlemlerin yapılmasını sağlar. ICMP tanımlamasında, ICMP paketinin veri kısmı 216 ile 65,536 byte arasında olmak zorundadır. Eğer bu sınırların dışına taşmış büyüklükte bir paket sunucuya gönderilir ise sunucunun işletim sistemi böyle bir şey beklemediği için cevap veremez ve hizmet vermeyi durdurur (http://www.tcpsecurity.com/doc/genel/temelsaldiriteknikleri.html, 2007).

Günümüz bilgisayar sistemleri Pod saldırılarını kolaylıkla engellemektedirler.

3.5 Bölüm Özeti

Bu bölümde saldırı, saldırı tespit ve (STS) tanıtılmıştır. STS’ler kullandıkları yöntemlere göre ikiye ayrılmıştır. Bunlar kötüye kullanım ve anormallik tespiti şeklinde sıralanmıştır. STS’ler çalışma zamanlarına göre çevrimiçi ve çevrimdışı olarak ikiye ayrılmış ve detaylı olarak anlatılmıştır. Ayrıca STS’ler bu bölümde çalışma kaynaklarına göre de ikiye ayrılarak incelenmiştir.

Bu bölümde saldırı tipleri de dört alt bölümde incelenmiş ve çalışmamızda kullanılacak saldırılar detaylı olarak anlatılmıştır. Çalışmamızda kullandığımız DARPA veri setlerinde bulunan saldırılar bir liste halinde verilmiştir.

Benzer Belgeler