Blog Arşivi

2 Aralık 2011 Cuma

Saldırı Tespit Sistemleri

Günümüzde artan bilgisayar korsanlığı ve internet üzerinden gelen saldırılar, savunma sistemlerinin de gelişmesinde büyük bir rol oynamaktadır. Savunma sistemlerini ise doğru ve bilinçli bir şekilde kullanmamız gerekmektedir. Uzman olmayan kişiler tarafından kullanılan savunma sistemleri, sistemize zararlı aktivitelerin yapılmasına sebep olmaktadır. Savunma stratejimizi belirlemek için, saldırgan profilleri ve saldırı çeşitlerini tespit etmemiz gerekmektedir. Burada Saldırı Tespit Sistemleri (STS) devreye girmektedir. Saldırı Tespit Sistemleri, kendisine ulaşan veri paketlerini inceleyip, belirlenmiş izler (signature) aracılığı ile saldırı ve bilgi toplama aktivitelerinin kayıtlarını tutmamızı sağlar.

1. Güvenlik ve Güvenlik Politikası Nedir?
En genel anlamıyla güvenlik; eldeki kaynakların istenmeyen etkilerden korunmasıdır. Zararlara maruz kalan bilişim sistemleri öngörülen hizmetleri sunamaz veya sistemin bazı unsurları hizmet veremez. Bilişim sistemlerinin güvenliği gizlilik, bütünlük ve süreklilik ile sağlanır.
Bilişim sistemlerinin güvenliği, bilgisayar sistem güvenliği ve iletişim güvenliğinin sağlanması ile mümkün olabilmektedir.
Güvenlik politikası ise duyarlı verinin bir kurum içerisinde yönetimi, korunması ve dağıtımı ile ilgili düzenleme, ilke ve usullerin tümüdür.
Gizlilik: Duyarlı nesnelerin erişim yetkisi verilen özneler için yetki verilen süre içerisinde kullanıma açık tutulmasıdır.
Bütünlük: Duyarlı nesnelerin erişim yetkisi verilen özneler için yetkiye uygun olarak değiştirilebilmesidir.
Süreklilik: Duyarlı nesnelerin erişim yetkisi bulunmayanlar için kullanımının engellenmesi, yetkisi bulunanlar için ise hazır sunulmasıdır
2. Saldırı Nedir?
Yukarıda belirtilen güvenlik hedeflerini tehlikeye atmaya çalışan girişimlere saldırı adı verilir. Bir girişimin saldırı olup olmadığına güvenlik politikası karar verir
3. Saldırı Tipleri Nelerdir?
Bir kurumun bilgisayar sistemine girmek isteyenler en çok aşağıdaki yöntemleri kullanmaktadırlar.
- Servisin reddedilmesi (denial-of service)
- Tarama ve deneme (scanning and probing)
- Şifre atakları
- Hak ele geçirme
- Sisteme düşman kodu yerleştirme
- Tahrip etme (vandalism)
- Dolandırıcılık, kötüye kullanım
- Günlük dosyalarını silme
- Güvenlik mimarisini değiştirme
Saldırılar temel olarak dahili ve harici saldırılar şeklinde iki gruba ayrılabilir. Bu saldırıların büyük çoğunluğu ise dahili saldırılar şeklinde olmaktadır (%80).
Ayrıca bu saldırıları düzenleyenler; kurum çalışanları, hackerlar, virüs yazan kişiler, yasadışı gruplar ve teröristler olabilir
4. Saldırı Engelleme ve Saldırı Tespiti
Bilişim suçları ile savaşabilmek ve sistemlerin güvenliğini arttırabilmek için sistematik çalışmalar gerekmektedir. Kurumsal güvenliği artırıcı çalışmalar şunlardır:
- Güvenlik politikaları ve prosedürler
- Teknoloji
- Eğitim ve bilgilendirme
Güvenlik politikaları ve buna bağlı olarak oluşturulacak prosedürler işin temelini oluşturur. Şifreleme ve uygulamaları, güvenlik duvarları, gelişmiş tanımlama ve yetkilendirme mekanizmaları teknolojik çözümlerdir.
Genellikle saldırıların tipini biliriz fakat saldırının hangi adresten veya hangi port'tan geldiğini bilmeden engel olmak mümkün değildir.
Saldırıları bize güvenlik duvarı, sunucu günlükleri ve saldırı tespit sistemleri haber vermektedir. Güvenlik duvarları ve sunucu günlüklerinde bulunan yetersizlikler bize saldırı tespitini mecburi hale getirmiştir.
Güvenlik politikalarının uygulanması kadar ihlallerin tespiti de önemli bir konudur. İhlallerin tespiti için gözlemleme işlevini yerine getiren teknolojilerden faydalanılır. “Sistemleri yetkisiz kullanan ya da yetkilerini aşan işlemleri yapan kişi ya da programları tespit etme çalışması” saldırı tespiti olarak bilinir.
Saldırı tespitinin erken tespit, detaylı bilgi toplama ve toplanan bilgilerin kayıt niteliği taşıması gibi faydaları bulunmaktadır
5.Tarihi ve Bugünü
STS (Saldırı Tespit Sistemi) ilk olarak 1980’lerde bir araştırma sahası olarak tanımlanmıştır. Bu ilk periyotta sistemler ve ağlar kısmi olarak birbirinden bağımsız ve izole edilmiş durumdaydı. Bu periyotta araştırmalar daha çok konak tabanlı tespite odaklanmıştı. STS için kullanılacak veriler işletim sistemi tarafından oluşturulan uygulama ve güvenlik günlükleri ile ağ denetleme verisiydi, teknikler ise örüntü eşleme (pattern matching), profil oluşturma (profile creating) ve toplanmış verilerin otomatik analizi şeklindeydi. Örüntü eşleme tekniği daha önceden saldırı olarak belirlenmiş bir durum meydana geldiğinde, yani yeni durum ile eskiden belirlenen saldırı davranışı eşleştiğinde tespit yapılıyordu. Profil oluşturmada ise bilgisayar sistemi için normal durumun ne olduğuna karar veren veriler oluşturuluyordu. Mesela bilgisayar her gün ne kadar kullanılıyor (işlemci kullanım oranı, disk kullanım oranı, giriş/çıkış ihtiyacı vs.) veya veri alışverişi miktarları gibi. Normal durumdan sapmaların saldırı olduğu kanısına varılarak tespit o yolla yapılmaktaydı.
1990’larda STS yapısı ve ortamı biraz daha değişti. İlk başta ağ STS'leri konak tabanlı sistemlerle birlikte üretildi. İkinci gelişme web üzerindeki gelişme idi. Internet’teki gelişme beraberinde güvenlik ihtiyaçlarını artırdı. Bu dönemde güvenlik duvarları için resmi standartlar belirlendi. Ticari STS otomatik gözlem yaparak güvenlik duvarına yardımcı olmaya başladı.
Bir diğer gelişme ise 1990’lardaki birliktelik idi. Bu aşamada konak tabanlı ve ağ tabanlı saldırı tespit sistemleri birleştirildi.
Hemen hemen bütün şirketlerin varlıklarını devam ettirebilmek için Internet’e bağımlı oldukları bugünün dünyasında ağ saldırı tespit sistemlerinin böylesine hızlı gelişmiş olması sürpriz bir gelişme değildir. Güvenlik duvarları, yamalar, saldırı tespiti ve eğitim gibi bazı argümanların şirket ağını korumada en iyi yol olduğu bir durumda saldırı tespit sistemlerinin güvenli ağ mimarisini sağlamada anahtar vazife taşıdığı bir gerçektir.

Saldırı tespit metotları ise şu şekildedir;
Anormallik Tabanlı
-Normal ve anormal kullanımlar için tipik desenler tespit edilir ve kullanılır.
İmza Tabanlı
-Önceki atakların ve eşleşen desenlerin imzası modellenir.
Otomatik Kurallar
-Tarihsel bilgi kullanılarak akıllı öğrenim algoritmaları ile normal ve saldırı trafiği modellenir.
Kural Merkezli Politika
-Kuralları uzmanlar tarafından belirlenir.
Saldırı tespiti ile ilgili yaklaşımlar iki kategoriye ayrılmaktadır.
Kötüye Kullanım Tespiti: Saldırıları tanımak için çok iyi bilinen desenlerden faydalanılır.
Anormallik Tespiti: Saldırıları tanımak için normal kullanım desenlerinden sapma yapanların bulunması şeklindedir.
Bu yaklaşımların ana problemleri ise şunlardır. Kötüye kullanım tespitinde bilinen saldırı desenleri elle kodlanmak zorunda ve ilk kez yapılan saldırıların tespit edilmesi mümkün olamamaktadır. Anormallik tespitinde ise olaylar arasındaki ilişkilerin yakalanması mümkün olamamaktadır.
Saldırı tespiti için bir başka yaklaşım veri madenciliği yaklaşımıdır. Veri madenciliği tabanlı yaklaşımda öğrenim ve tespit ajanları bulunmaktadır. Bu yaklaşım akıllı ajan tabanlı bir yaklaşımdır. Öğrenim ajanları, tespit modelleri ile devamlı eğitilir. Tespit ajanları ise saldırıların tespit için güncellenmiş modeller kullanırlar.
Saldırı tespitinde veri madenciliği kullanımının sebepleri ise şunlardır:
-Denetleme (audit) verisi üzerinde normal ve saldırı etkinlikleri kanıt bırakırlar.
-Veri merkezli bakış açısından bakıldığında saldırı tespiti bir veri analiz işidir.
-İstisna saptanması ve hata/alarm yönetimi gibi başarılı uygulamalarla aynı etki alanı içindedir.
İlgili veri madenciliği algoritmaları ise sınıflama, link analizi ve sıralı analizdir [5].
Saldırı tespit sistemleri saldırının tespit edildiği noktaya göre daha önce de bahsedildiği gibi iki grupta incelenebilir. Bilgisayar tabanlı saldırı tespit sistemleri, bilgisayar üzerinde çalışan ve bilgisayar üzerindeki aktiviteleri izleyen sistemlerdir. Ağ tabanlı saldırı tespit sistemleri ise ağ üzerindeki kritik noktalara yerleştirilmiş ve algılayıcılar ile ağ trafiğini izleyen sistemlerdir.
Anormallik Tespiti
Bir sistemin Aktif olarak sınıflandırılabilmesi için sistemin tespit edilen bir saldırıya gerçek-zamanlı olarak (yada buna yakın) cevap vermesi (güvenlik duvarı kurallarını saldırıya göre düzenlemek yada komut konsolunu saldırı hakkında uyarmak gibi) gerekir. Pasif sistemler genelde aktiviteyi kayıt ederler ve daha sonraki bir tarihte incelenmek üzere saklarlar. Bilgisayar tabanlı sistemler hedeflenen sistemler üzerinde bulunurlar. Ağ tabanlı sistemler ağda, hedef ve saldırgan arasında bir yerde bulunurlar ve akan trafiği saldırı olup olmadığını tespit için dinlerler. Genelde ağ tabanlı sistemler ya DMZ (demilitarized zone)`lerde bulunurlar, ağın güvenlik duvarı ile servis sağlayıcı arasında yada güvenlik duvarı ile iç ağ arasında yada bunların herhangi bir kombinasyonunda.
Saldırı tespit sistemleri, başlangıcından beri 'saldırı izleri/işaretleri' (attack signatures) fikrine dayanmaktadır. Yani her saldırının kendini diğer saldırılardan ve normal ağ trafiğinden ayıran bazı izleri vardır. Bu pek çok virüs tarayıcısının dizaynına benzemektedir. Sistem trafiği tarar ve bilinen bir saldırınınkine benzeyen bir işaret gördüğünde neye ayarlanmışsa onu yapar (sistem yöneticisine çağrı mesajı göndermek, güvenlik duvarı kurallarını güncellemek, konsolu haberdar etmek vs.).
Saldırı tespitte, sık rastlanmayan, tanımlanmayan saldırıları tespit olayı ise 'Anomaly Detection'dır. Anomaly tespit sistemi ile ağ normalde bulunan trafik göz ardı edilir ve normal trafikte bulunmayacak bitler ağ yöneticisinin dikkatine sunulur. Bunun belirli bazı avantajları vardır.
Tam olarak 'Güvenli' bir sistem diye bir şey olmadığını hepimiz biliyoruz. Bugün İnternet`e bağlı olan her makinenin güvenliği yenilgiye uğrayabilir. Bunun olmasını engelleyen şeylerden biri sistemdeki açıkların daha keşfedilmemiş olmasıdır. Fakat onlar ordadır. Peki, yeni bir güvenli açığı bulununca ne olur? Açığı bulan kişi büyük ihtimalle açıktan yararlanmak için bir exploit kodu yazar. Bu kod bir süre için ya arkadaşlarla paylaşılır yada kendisine saklar. Doğal olarak bu kod bir süre sonra güvenlikle ilgilenen toplumun eline geçer ve bir yama hazırlanır. Şimdi, exploit kodu yazılmasıyla bir yama hazırlanana kadar geçen süre içinde Saldırı Tespit Sistemleri ne kadar güvenilirdir? Hiç. Çünkü bir saldırıyı tespit edebilmek için o saldırının ağda hedef sisteme yol alırken neye benzediğini bilmek gerekir.
Ağınızdaki güvenliği görüntülemede alternatif bir yol sunmak için bazı varsayımlar yapalım:
A. Ağınıza erişmek isteyen birisini makinenin kablosunu çekmedikçe alıkoyamazsınız.
B. Güvenliğinizi sağlamak için sınırlı kaynaklarınız var(Hepimizin olduğu gibi).
Bu varsayımlara göre neler yapabiliriz? Tabi ki problemi çözmek için insan gücü ve kaynakları arttırabilir, cluster yapısında güvenlik duvarları satın alıp kurabilir, saldırı tespit sistemleri satın alabilir ve ağdaki tüm makineleri güvenli hale getirmeye çalışabilirsiniz. Fakat gerçekten neyi yapmayı ümit edebilirsiniz?
Yapabileceğiniz en iyi şey sistemlere girişi, saldırganın düşündüğünden daha uzun süre uğraşmasını sağlayacak kadar zorlaştırmak olabilir. İkinci olarak ağınızda güvenlik açığı bulundurabilecek servisleri tespit için bir zayıflık taraması yapabilirsiniz. Ve üçüncü olarak güvenlik açığı içerebilecek olan makinelere erişimi, aktif yada pasif olarak engelleyecek şekilde önlemler alabilirsiniz.
Bunu nasıl yapabilirsiniz. Tüm ağ trafiğini nasıl sorgulayabilirsiniz, hatta dün yazılmış exploit`leri. Anomaly Detection ile.
Etkili bir Anomaly tespit sistemini herhangi bir linux platformu üzerine basit ücretsiz yazılımlar ve az değişiklikler yaparak kurmak mümkün. Bu araçlar, ipchains/ipfwadm, portsentry, logcheck, gnumeric ve bir e-posta adresi. Sistemin çalışması şöyle:
Her sistemde, ipchains/ipfwadm dinlenmeyen portlara giden trafiği kaydedecek şekilde ayarlı. Eğer bu bir web sunucusu ise ve ssh kullanıyorsanız, ipchains 22/tcp ve 80/tcp haricindeki tüm portlara giden paketleri loglasın. Portsentry yi logcheck`i çalıştıracak şekilde ayarlayın. portsentry -actp kullanın. Logcheck`i alışılmadık aktivitelerde e-posta adresinize mesaj atacak şekilde ayarlayın. Gnumeric yada diğer bir spreadsheet programı ile her makinede kötü amaçlı trafiğin kayıtlarını tutun. IP adresi, aktivitenin tarih ve saati, kullanılan portlar (kaynak port dahil) saldırganın IPsinin hostname`i, kontak bilgileri ve IP`nin sahipleri gibi bilgileri tutun.
Bu sistem ile ağınıza giren ve ağınıza ait olmayan her paketi izlemiş olacaksınız. Her paketi. Bir düşünün, saldırganın sistemlerinize girebilmesi için hangi servislerin çalıştığını, kullanılan işletim sistemlerini vs. bilmesi gerekiyor. Onun hızını yavaşlatın, olanları görebilin ve karşılık verebilecek zamanınız olsun.

aldırı Tespit Sistemleri, küçük ve orta boy ağlarda ateşduvarının (firewall) önüne ve arkasına olmak üzere iki noktada konumlandırılmaktadır. Büyük ağlarda ise, sistemin yapısına göre, gerek görülen her noktaya, Saldırı Tespit Sistemi sensörleri konulmaktadır. Büyük ağların, küçük ağ yapılarından oluştuğunu bildiğimize göre, yazımızda küçük ağlarda Saldırı Tespit Sistemlerinin konumlarını incelememiz bir problem oluşturmaz.

Ateşduvarının önünde, yönlendiricimizin arkasında bir Saldırı Tespit Sistemini hat üzerine (inline) bağlamamız kesinlikle gerekmektedir. Bu noktada varolan yapıyı bozmamak, Saldırı Tespit Sisteminin varlığının fark edilmesini ve saldırıya maruz kalmasını engellemek için, Saldırı Tespit Sistemlerini iki portlu bir switch haline dönüştürmeliyiz. Yazımızın konusu olmadığı için, iki ethernet kartlı bir bilgisayarın nasıl switch haline getirileceğini anlatmayacağız. Saldırı Tespit Sistemimizi konumlandırdığımıza göre, ondan elde edebileceğimiz faydaların neler olduğuna bir göz atalım. Ateşduvarımızın önünde konumlandırılması dolayısı ile, hiçbir filtrelemeye maruz kalmadan tüm paketleri inceleyebilen sistemimiz, internet ortamında şirketimizin ağına gelen tüm saldırıları ve saldırgan profillerini rahatça ortaya koyabilmektedir. Saldırı tiplerine ve saldırıların hedeflerine bakarak, önlemler almamız kolaylaşmaktadır. Örnek olarak, e-posta sunucumuzu hedef alan saldırılar gözlemlediğimizde, sunucumuz üzerinde başarıya ulaşmış bir saldırı izi olup olmadığını ve çalışan tüm servislerin yamalarının yapılıp yapılmadığını kontrol edebiliriz. Saldırganların kullandığı sistemlerin IP adreslerinin de kayıtları tutulduğu için, ya saldırganları yakalayabiliriz ya da daha önce saldırıya uğramış başka bir kurbanı uyarabiliriz. İkinci durumla karşılaşma olasılığımız daha yüksektir, çünkü saldırganlar genelde kendilerini gizlemek için daha önce ele geçirdikleri sistemleri kullanırlar.

Ateşduvarının arkasında, yerel ağımızın içinde bulunan Saldırı Tespit Sistemini konumlandırmak, ilki kadar kolay olmamaktadır. Yerel ağımızda çok fazla bağlantı olması ve günümüzde ağlarda switch kullanılması nedeniyle biraz ön çalışma yapmamıza sebep olmaktadır. Yaygın olarak kullanılan Cisco Systems'in ağ cihazları işimizi çok fazla kolaylaştırmaktadır. İzleme portu dediğimiz bir özellik sayesinde, Cisco switch'lerde seçtiğimiz bir porta, tüm ağ trafiğinin bir kopyasını gönderebilmekteyiz. Ancak ağımızdaki switch'in teknik özelliklerini inceleyip, monitör özelliğini aktif hale getirdiğimiz zaman, problem yaratıp yaratmayacağına karar vermeliyiz. Bu bilgilendirmeden sonra, Saldırı Tespit Sistemimizi kolayca konumlandırıp, işimize geri odaklanabiliriz. İçerdeki Saldırı Tespit Sistemi sayesinde, ağımızdaki kullanıcılar arasında saldırgan olup olmadığını, ağımızdaki sistemlerde trojan/worm benzeri uygulamaların olup olmadığını ve ateşduvarımızın kurallarının doğruluğunu öğrenebiliriz. Sonuçta, yine yönetim arabirimde inceleme yapılıp, gerekli düzenlemeleri yapmalıyız.


Kaynaklar
 Wenke Lee and Salvatore J. Stolfo,  “Data Mining Approaches for Intrusion Detection”, Computer Science Department Columbia University.
Pasin Şule, “Çok algılayıcı saldırı tespit sistemleri”, GYTE 2001
 Dayıoğlu Burak ve Özgit Atilla, “Internet’te saldırı tespiti teknolojileri”, İletişim Teknolojileri 1. Ulusal Sempozyumu ve Fuarı, Ekim 2001, Ankara/Türkiye
 Özavcı Fatih, “Saldırı tespit sistemlerine giriş”, Siyah Şapka Güvenlik Çözümleri
Deborah A. Frincke, Ming-Yuh Huang, “Recent Advances in Intrusion Detection Systems”, Computer Networks 34(2000) 541-545
Sunita Sarawagi, 2001, “Intrusion Detection Using Data Mining Techniques”, http://www.it.iitb.ernet.in/~sunita
Dayıoğlu Burak, “Elektronik saldırı tespiti”, teknoTurk.org
 E. Biermann, “A comparison of Intrusion Detection Systems”, Computers & Security, 20(2001) 676-683
 Marvin Christensen, Dan Zerkle, Keith Hermiz, “A data mining analysis of RTID alarms, Stefanos Manganaris”, International Business Machines Corporation
 Wenke Lee , Salvatore J. Stolfo , Philip K. Chan , Eleazar Eskin , Wei Fan , Matthew Miller , Shlomo Hershkop , and Junxin Zhang, “Real Time Data Mining-based Intrusion Detection”
Deborah Frincke, “Visual Behavior Characterization for Intrusion and Misuse Detection”, Department of Computer Science University of Idaho Moscow

Hiç yorum yok:

Yorum Gönder