VERİ BİLİMCİSİ - DATA SCIENTIST: Veri madenciliği ile saldırı tespiti
Hidayet TAKCI, Cumhuriyet Üniversitesi Bilgisayar Mühendisliği Bölümü
Güvenlik ve güvenlik politikası nedir?
Saldırı engelleme araçları nelerdir? Nasıl yapılır ve saldırı tespiti nedir?
Saldırı tespiti kategorileri ve veri madenciliği
Saldırı tespit sisteminin faydaları
Saldırı tespit sisteminin problemleri
Yapılan örnek çalışma
ii. Uyum kuralları
iii. Bir problem ve çözümü
Son yıllarda ağ teknolojilerinde yaşanan baş döndürücü gelişmeler hemen her işin bilgisayar ağları üzerinden yapılmasını mümkün hale getirmiştir. Bilgisayar sistemleri ve bilgisayar ağlarının gelişmesi ile aya insan göndermek, uluslar arası ticaret yapmak, pilotsuz uçakları savaştırmak gibi işler yapılabilir hale gelmiştir fakat insanlar bunlara rağmen bilgisayar sistemleri ve bilgisayar ağlarına tam olarak güvenememektedirler.
Güvensizliğin temelinde ise bilgi işlemin saldırılar karşısında tam başarılı olamaması vardır. Güvenlik, sağlam bir mühendislik ve sosyal altyapı gerektirmektedir.
Güvenlik uzmanları bir sistemin kaynaklarını yetkisiz erişimlerden korumak ve sistemin kesintisiz çalışmasını sağlamak için uğraşırlar. Bu işi yapabilmek için sisteme yapılan saldırıların tanınması önemli bir yer tutar. Böylece saldırı davranışları bulunabilir, saldırı yapılan yöntemler bulunabilir ve buna benzer faydalar sağlar. Bir sisteme yapılan saldırıların tanınması işine saldırı tespiti adı verilir.
Saldırı tespiti için çeşitli teknikler kullanılmaktadır. Bu tekniklerin birbirine göre avantaj ve dezavantajları bulunup son zamanlarda saldırı tespiti için veri madenciliği tekniği de etkin olarak kullanılmaya başlanmıştır. Veri madenciliği tekniğinin kullanılmasının en önemli sebebi kullanıcıların erişim yaptıkları sisteme denetleme verisi bırakmalarıdır.
Bu çalışmada veri madenciliği tekniğini web sunucu üzerindeki günlük verilerine uygulayarak saldırı tespiti yapılmaya çalışılmıştır.
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 (scaning and probing)
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, kriminal 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 artırabilmek için sistematik çalışmalar gerekmektedir. Kurumsal güvenliği artırıcı çalışmalar şunlardır:
Güvenlik politikaları ve prosedürler
Eğitim ve bilgilendirmedir.
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 porttan 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.
- erken tespit
- detaylı bilgi toplama
- toplanan bilgilerin kayıt niteliği taşıması gibi faydaları bulunmaktadır .
5. Saldırı tespit sistemi
İnternet veya yerel ağdan gelebilecek, ağdaki sistemlere zarar verebilecek, çeşitli paket ve verilerden oluşan saldırıları fark etmek üzere tasarlanmış sistemlerdir. Temel amaçları saldırıyı tespit etmek ve bunu ilgili kişilere mail, sms vs. mesajlarla iletmektir .
a. tarihi ve bugünü
IDS 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 host tabanlı tespite odaklanmıştı. Eldeki veriler işletim sistemi ve ağ denetleme verisiydi, teknikler ise desen eşleme (pattern matching), profil oluşturma (profile creating) ve toplanmış verilerin otomatik analizi şeklindeydi.
1990’larda IDS yapısı ve ortamı biraz daha değişti. İlk başta ağ IDS leri host tabanlı sistemlerle birlikte üretildi. İkinci gelişme web üzerindeki gelişme idi. İnternet’teki gelişme beraberinde güvenlik ihtiyaçlarını artırdı. Bu dönemde güvenlik duvarları için resmi standartlar belirlendi. Ticari IDS güvenlik duvarı için otomatik gözlem yapmada ona yardımcı olmaya başladı.
Bir diğer gelişme ise 1990’lardaki birliktelik idi. Bu aşamada host tabanlı ve ağ tabanlı saldırı tespit sistemleri birleştirildi .
Hemen hemen bütün şirketlerin varlıklarını devam ettirebilmek için İnternet’e bağımlı oldukları bu gü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.
b. Saldırı tespit sistemi kategorileri ve veri madenciliği
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, büyük miktardaki veriden anlamlı bilginin açığa çıkarılması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 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 .
Saldırı tespit sistemleri saldırının tespit edildiği noktaya göre iki grupta incelenebilir. Sunucu temelli saldırı tespit sistemleri, sunucu üzerinde çalışan ve bilgisayar üzerindeki aktiviteleri izleyen sistemlerdir. Ağ temelli saldırı tespit sistemleri ise ağ üzerindeki kritik noktalara yerleştirilmiş ve algılayıcılar ile ağ trafiğini izleyen sistemlerdir .
c. Saldırı tespit sisteminin faydaları
- Ağdaki saldırıları bulmada ve engellemede en büyük yardımcılardır.
- Bazen sunuculara, bazen ağa bazen de her ikisine birden koruma sağlarlar.
- Güvenlik duvarları ve yönlendiriciler gibi pasif güvenlik cihazları değildirler. Aktif olarak raporlama, engelleme ve öğrenme gibi işlevleri yerine getirirler.
- Saldırı davranışlarından güvenlik zaafları bulunabilmektedir.
- Hangi noktaların güçlendirilmesi gerektiği bulunabilir.
d. Saldırı tespit sisteminin problemleri
Saldırı tespit sistemleri birçok avantaja sahip olmakla birlikte bazı problemleri de bulunmaktadır.
Ø Kötüye kullanım tespiti tabanlı yaklaşımda saldırı desenleri elle kodlanmak zorundadır ve ilk kez yapılan saldırılar tanınamamaktadır.
Ø Anormallik tespiti tabanlı yaklaşımda ise olaylar arasında ilişki kurmak mümkün olamamaktadır .
Ø Saldırı tespit sistemleri önemli ölçüde yanlış alarm üretmektedirler .
Ø Üzerinde veri madenciliği yapılacak saldırı verisi fazla olduğunda sistem etkin olarak çalışamamaktadır .
Ø Veri madenciliği yaklaşımlı saldırı tespitinin false positive oranı daha yüksektir ve eğitim ile değerlendirme aşamalarında etkin olmama eğilimindedir. Ayrıca daha karmaşıktır.
Ø Kural tabanlı saldırı tespit sistemleri uzman bilgilerine dayalı olarak kodlandıkları için değiştirilmeleri oldukça pahalı ve yavaştır .
Ø Sunucu günlüklerine dayalı saldırı tespiti her zaman mümkün olamayacağından büyük bir problemdir. Bunun yerine görselleştirme benzeri teknikler kullanılabilir.
Ø Sunucu günlükleri kimi zaman güvenli olamadığından sunucu günlüklerine dayalı saldırı tespiti de yanlış sonuçlar verebilmektedir .
6. Veri madenciliği
Büyük miktardaki veri içerisinden anlamlı bilginin çıkarıldığı tekniğe veri madenciliği adı verilir. Veri madenciliği tekniğinin web verisine uygulanmasına ise web madenciliği adı verilmektedir . Web madenciliği temel olarak üç alt alana ayrılır.
- web içerik madenciliği
- web yapı madenciliği
- web kullanım madenciliği
Veri madenciliğinin alt alanlarından birisi olan web kullanım madenciliği web sunucu günlük verileri üzerinde çalışır. Bu çalışma sonucunda kullanıcı erişim desenleri bulunur. Web kullanım madenciliği sayesinde bulunan kullanıcı davranışları saldırı tespitinde de etkin olarak kullanılabilmektedir.
7. Web kullanım madenciliği ile saldırı tespiti
Veri madenciliğinde yapılan işlerin bir kısmı anormal durumların tespiti ile ilgilidir. Veri madenciliği tekniklerinden birisi ise istisna saptanmasıdır. Kredi kartı yolsuzluklarını tespit için kullanılan bu yöntem saldırı tespitine yakın bir konudur.
Veri madenciliği ile saldırı tespiti yapılmasının en önemli bir tane nedeni vardır o da daha önceden meydana gelmemiş bir saldırıyı tanımadır. Veri madenciliği kullandığı kümeleme tekniği ile ilk olarak meydana gelen bir durumu tanıyabilmektedir. Kümelemede kullanıcılar genel özelliklerine dayalı olarak gruplara ayrılmaktadırlar .
8. Yapılan örnek çalışma
Burada veri madenciliği yöntemleri ile saldırı tespitinin nasıl yapıldığı gösterilmeye çalışılmıştır.
Amaç: Web günlük dosyalarını analiz ederek saldırı tespiti yapmak.
Araç: Saldırı tespiti yapmak için kullanılacak araç olarak veri madenciliği teknikleri seçildi. Bu tekniklerden özellikle sınıflandırma ve uyum kuralları ile istatistiksel yöntemler üzerinde duruldu.
Yöntem: Karar ağacı yöntemi ile normal ve anormal kullanım profilleri ortalamalara dayalı olarak bulunacak. Uyum kuralları yöntemi ile hangi saldırı dosyalarının birlikte istendikleri bulunacak
İstatistiksel yöntemler ile de diğer iki yöntemle bulunan bilgilere ek bilgiler elde edilecek.
Uygulama: Web günlük verileri yedi haftalık bir aralıktan seçildi (seçim aşaması). Seçilen bu verilerden analiz değeri olmayan kayıtlar silindi (temizleme aşaması). Bir sonraki aşamada eldeki ham veriler bir dönüşümden geçirilerek soyutlamalara dönüştürüldü (dönüşüm aşaması). Soyutlamalar istatistiksel yöntemler ile ve verilerden özetler elde edilerek yapıldı. Veriler dönüşümden geçirildikten sonra eğitilebilir hale geldi. Bu veriler üzerinde sınıflandırma, uyum kuralları ve istatistiksel yöntemler kullanıldı.
Sınıflandırma uygulamasındaki amaç her dosya tipi için dosya istek ortalamalarının bulunmasıdır. Mesela htm uzantılı dosyalar için gün başına ortalama istek sayısı 15’tir. Yani bir kişi bir günde ortalama olarak 15 adet htm uzantılı web sayfası istemektedir.
Bu çalışma ile bütün uzantılar için ortalamalar bulunur (uzantılar -> htm, asp, exe, dll, ida)
Ø IDA uzantılı istekler: bu tipteki dosyalar codered virüsü tarafından istenmektedir. Yani bu uzantı saldırı dosyası uzantısıdır. Bu uzantı için ortalama 1 değerine eşittir. Her bağlantıda bir istek, virüs gizlenme eğiliminde olduğunu göstermektedir.
Ø EXE ve DLL uzantılı istekler: bu tipteki dosyalarda yine saldırganlar tarafından istenmektedir. Bu dosya uzantısı için istek ortalaması genellikle 16 değerinden daha büyük olmaktadır.
Ø ASP ve HTM uzantılı istekler: bu tipteki dosya istekleri normal dosya istekleridir ve bunlar için ortalama istek adedi 16 değerinden daha düşüktür.
Uyum kuralları uygulaması
Yapılan uygulamada uyum kuralları zararlı dosya istekleri arasındaki uyumu bulmada kullanılmıştır.
Ø EXE ve DLL uzantılı dosya istekleri arasında yüksek derecede bir uyum bulundu.
Ø ASP ve HTM uzantılı dosya istekleri arasında da yüksek dereceli bir uyum bulundu.
Ø IDA uzantılı dosya isteklerinin diğer dosya istekleri ile arasında bir uyum olmadığı görüldü.
Bir problem ve çözümü
Sınıflandırma ve uyum kuralları uygulamaları ile aslında saldırı dosyası olan IDA uzantılı dosyanın normal dosyalara benzer davrandığı görülmüştür. Mesela IDA ortalamaları ASP ve HTM ortalamalarına benzer değerler almıştır.
Bu iki teknik ile tespit edilemeyen bu dosya tipinin ek tekniklerle tespitine çalışılmış ve durum kodları ile metotların sayılmasının başarılı sonuçlar verdiği görülmüştür.
Bu yöntem uygulandığı zaman aşağıdaki sonuçlar elde edilmiştir:
Ø Durum kodu oranları incelendiğinde (uzantılara göre başarılı istek oranları à ASP-%80, IDA-%79, HTM-%77, EXE-%22, DLL-%21) gibi değerler bulunmakta ve yine IDA uzantısı kamufle olmaktadır.
Ø Metot kullanım sıklıkları ise (ASP-%20 POST, HTM-%20 POST, EXE-%2 POST, DLL-%0 POST, IDA-%2 POST) şeklindedir.
Bu sonuçlara göre sınıflandırma ve uyum kuralları yeterli gelmediğinde ek yöntemlerle saldırı davranışının tespit edilebileceği görülmüştür.
Teknolojinin gelişmesi kullanıcıların ona olan güvenleri ile mümkün olacaktır. Kullanıcıların teknolojiye güvenleri ise ancak güvenli bilgiişlem ile sağlanabilir. Bilgi işlemi güvenli hale getirmeye çalışan bazı yöntemler bulunmaktadır. Güvenlik duvarları ve antivirüs çözümleri bunlardan en çok bilinenleridir. Fakat bunlar yeterli olamamakta ve ek tedbirlere ihtiyaç duyulmaktadır.
Bir sisteme yapılan saldırılar hakkında bilgi toplayan, saldırıları izleyen ve adına saldırı tespit sistemi denilen bu yeni çalışma sahası ek tedbir oluşturmaktadır. Sunucu ve ağ tabanlı olarak çalışan saldırı tespit sistemleri için kötüye kullanım tespiti ve anormallik tespiti isimli iki ana yaklaşım vardır. Son zamanlarda veri madenciliği yaklaşımı da yaygın olarak kullanılmaya başlanmıştır.
Bu çalışmada veri madenciliği teknikleri ile saldırı tespitinin nasıl yapılabileceği anlatılmıştır. Veri madenciliği ile saldırı tespiti yapılırken anahtar konu saldırı davranışının modellenebilmesidir.
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, “İnternet’de saldırı tespiti teknolojileri”, iletiş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”, www.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