Balküpü Çeşitleri

Balküpleri çeşitli tasarımlarda ve büyüklüklerde karşımıza çıkabilirler, bu da onları anlaşılması güç yapan bir etmendir. Balküplerini ve farklı tiplerini daha iyi anlamamıza yardımcı olması için balküplerini 2 kategoriye ayırıyoruz ; düşük etkileşimli ve yüksek etkileşimli balküpleri. Bu kategoriler bizim hangi tip bir balküpüyle çalıştığımızı, onun güçlü ve zayıf yönleriyle birlikte anlamamıza yardımcı olur. Etkileşim, bir balküpünün saldırgana verdiği izinin seviyesini tanımlar. Düşük-etkileşimli balküpleri kısıtlı etkileşime sahiptirler, normal şartlarda işletim sistemlerini veya servisleri simule ederek çalışırlar. Saldırganın hareket yetisi balküpünün simulasyon seviyesine göre kısıtlanır. Örnek olarak, 21. portta dinlemede olan bir FTP servisini simule eden balküpü sadece FTP login‘i simule edebilecektir veya diğer eklenmiş çeşitli FTP komutlarını destekleyecektir. Düşük etkileşimli balküpünün avantajı bu basitliğidir. Bu tip balküpleri en düşük seviyede riske sahip olmakla birlikte, geliştirme ve bakıma da daha elverişlidir. Genellikle bir yazılım yüklenmesini bununla birlikte de simule etmek ve izlemek istediğimiz servislerin ve işletim sistemlerinin seçilmesini gerektirirler, bu işlemlerden sonra balküpü çalışmaya başlayabilir. Bu tak ve çalıştır yaklaşımı organizasyonlar için geliştirme aşamasını çok kolaylaştırmaktadır. Simule edilen servisler de saldırganın hareketlerini kapsayarak riski hafifletir, saldırgan asla diğer bilgisayarlara saldırmak veya zarar vermek amacıyla bir işletim sistemine sahip değildir. Düşük etkileşimli balküplerinin temel dezavantajı, kısıtlı bilgi günlüklemeleri ve bilinen aktiviteyi yakalamak için tasarlanmış olmalarıdır. Çünkü simule eden servislerin yapabileceği sadece budur. Bir saldırgan için düşük-etkileşimli bir balküpünü tespit etmek kolaydır, simulasyon ne kadar iyi olursa olsun fark etmez, deneyimli bir saldırgan er geç balküpünün varlığını fark edecektir. Specter, Honeyd ve KFSensor gibi araçlar düşük etkileşimli balküpü örneklerdir.

Yüksek etkileşimli balküpleri ise farklıdır, gerçek işletim sistemleri ve uygulamalar gerektiği için genellikle daha karmaşık çözümler olarak ortaya çıkarlar. Hiçbirşey simule edilmez, saldırgana gerçek bir şeyler veririz. Eğer bir FTP sunucu çalıştıran bir Linux balküpü istiyorsanız, bu sistemi fiziksel olarakta gerçekleştirmeniz gerekir. Bu tarz bir çözümün avantajları 2 şekilde olabilir. Birincisi, çok kapsamlı bir bilgi mktarına sahip olursunuz. Saldırgana etkileşmesi için gerçek bir sistem vermekle de, uluslar arası IRC oturumlarından yeni rootkitlere kadar saldırganın kullandığı yöntemlerin bütün ayrıntılarını öğrenebilirsiniz. İkincisi ise yüksek etkileşimli balküpleri, saldırganın nasıl saldıracağı hakkında tahminde bulunmazlar, bunun yerine saldırganın bütün hareketlerini gösteren açık bir çevre oluştururlar. Bu çözüm yüksek etkileşimli balküplerinin, saldırganın ummadığımız hareketlerini öğrenmesini sağlar. Bunun çok güzel bir örneği, Honeynet‘in standart olmayan IP protokolü üzerindeki şifrelenmiş arka kapı komutlarını nasıl yakaladığıdır (özellikle IP protokolü 11, Network Voice Protocol). Yararının yanında bu çözüm, balküpü olarak kullanılan işletim sisteminin, ağdaki balküpü olmayan sistemlere atak yapmak için kullanılabilme riskini artırır. Sonuç olarak, eklenecek diğer teknolojilerle, saldırganın balküpü olmayan diğer sistemlere zarar vermesinin önüne geçilmelidir. Genelde, yüksek etkileşimli balküpleri, düşük etkileşimli balküplerinin yapabildiği herşeyi ve daha fazlasını yaparlar ama bakımları ve geliştirmesi daha karmaşık olabilir. Symantec Decoy Server ve Honeynets yüksek etkileşimli balküplerinin örnekleridir. Honeypot Solutions sayfasında düşük ve yüksek öncelikli balküplerinin tamamını içeren bir liste bulabilirsiniz. Şimdi düşük ve yüksek etkileşimli balküplerini daha iyi anlamak için şu 2 örneğe bakalım. Önce düşük etkileşimli balküpü örneği olan honeyd ile başlayacağız.

Honeyd : Düşük etkileşimli balküpü

Honeyd, düşük etkileşimli bir balküpüdür. Niels Provos tarafından geliştirilmiş, başlangıçta Unix sistemler üzerinde çalışması için tasarlanmış bir açık kaynak yazılımdır (yine de Windows’a port edilmektedir). Honeyd, kullanılmayan IP uzayının devamlı izlenmesi prensibiyle çalışır. IP uzayını devamlı izler ve kullanılmayan bir IP’ye bağlantı girişimi gördüğü zaman, kurban gibi görünmek için saldırganla etkileşime geçer. Varsayılan olarak Honeyd TCP ve UDP portlarına yapılan bütün bağlantıları loglar. Buna ek olarak, TCP 21.portu dinleyen simule bir FTP sunucusu gibi, simule edilen servisleri istediğiniz portları dinlemesi için ayarlayabilrisiniz. Saldırgan simule edilen servisle bağlantı kurduğunda, balküpü hareketleri günlüklemek ve görüntülemekle kalmaz, saldırganın simule edilen servisle olan bütün etkileşimini yakalar. Bir FTP sunucusunun simule edilmesi durumunda, potansiyel olarak saldırganın kullanıcı adı ve parolasını,kullandığı komutları ve belki de ne aradığını ve kimliğini bile öğrenebiliriz. Bütün bunlar balküpünün simulasyon seviyesine bağlıdır. Bütün simule servisler aynı yolla çalışır; özel bir davranış tipini bekleyip önceden belirlenmiş bir yolla cevap vermeye programlanmışlardır. ”Eğer atak A bunu yapıyorsa, şöyle bir yolla tepki ver”, “Eğer atak B böyle yapıyorsa, şöyle bir yolla cevap ver” gibi. Bu çözümdeki kısıtlama ise, saldırganın, balküpünün beklemediği bir şekilde davranması halinde, balküpünün nasıl cevap vereceğini bilememesidir. Honeyd dahil bütün düşük etkileşimli balküpleri bu durumda basit bir hata mesajı oluştururlar. Linkteki kaynak kodu inceleyerek, simule bir FTP servisin Honeyd için hangi komutları gerçekleştirebildiğini görebilirsiniz.

Honeyd gibi bazı balküpleri , sadece servisleri değil, gerçek işletim sistemlerini de simule ederler. Başka bir deyişle balküpü, saldırgana Cisco yönlendirici, WinXP sunucu veya Linux DNS sunucu gibi görünebilir. Farklı işletim sistemlerini simule etmenin birçok farklı avantajı vardır. Birincisi, eğer balküpü de etkin çalışan sistemlerin davranışlarına ve oluşumuna sahip olursa, varolan ağla daha iyi uyum sağlar. İkincisi, saldırganların özellikle hedef seçtikleri sistemleri ve servisleri simule ederek, hedef aldığınız saldırgana özel bilgi edinebililrsiniz. İşletim sistemlerini simule etmek için 2 yol vardır. Birincisi simule edilen servisler yoluyla gerçekleştirilebilir. Saldırgan simule edilen bir servise bağlandığında, bu servisin özel bir işletim servisi gibi görünmesini ve davranmasını sağlayabilirsiniz. Örnek olarak, eğer bir web sunucusu simule eden bir servisiniz varsa ve balküpünüzün bir win2000 sunucu gibi görünmesini istiyorsanız, bu durumda bir IIS’in davranışlarını simule edersiniz. Linux içinse, Apache web sunucusunun davranışlarını simule edersiniz. Tüm balküpleri işletim sistemlerini bu anlamda simule ederler. Bazı sofistike balküpleri, bu simulasyonu bir adım ileride gerçekleştirirler (Honeyd’nin yaptığı gibi). Yapabildikleri sadece servis seviyesinde değil IP yığını seviyesinde simule etmektir. Eğer birisi balküpünüzün işletim sisteminin ne olduğuna karar vermek için nmap gibi “active printing” ölçümlerini kullanıyorsa, balküpünüz hangi işletim sistemi üzerine kurulmuş olursa olsun IP yığını seviyesinde cevap gönderir. Honeyd sadece servisleri simule etmeyerek ama işletim sisteminin davrandığı gibi IP yığını seviyesinde simulasyon yaparak cevapları yanıltır. Simulasyonun ve karmaşıklığın seviyesi hangi balküpü teknolojisini kullanmak için seçtiğinize bağlıdır.

Honeynets : Yüksek etkileşimli balküpü

Honeynets yüksek etkileşimli balküplerinin ilk örnekleridir. Honeynet bilgisayarınıza yükleyeceğiniz bir yazılım çözümü veya bir ürün değildir. Bunun yerine honeynet, saldırganların atak yapması için tasarlanmış bütün bir bilgisayar mimarisidir. Anafikir, devamlı kontrol altında tutulan bir ağa sahip olmamızı sağlayan ve bu ağın bütün hareketlerinin kontrolünü ve günlüklemesini yapan bir mimariye sahip olmaktır. Bu ağın içine gerçek uygulamalar çalıştıran gerçek işletim sistemlerimizi ve kendi kurbanlarımızı yerleştiririz. Kötü çocuklar kendi girişimleriyle bu sistemleri bulur, atak yapar ve kırarlar. Bunu yaptıklarında ise Honeynet ile alakadar olduklarının farkında değildirler. Şifrelenmiş SSH oturumlarından elektronik postalarına ve dosya yüklemelerine kadar her yaptıkları saldırganlar farketmeden günlüklenir ve yakalanır. Bütün bu iş, saldırganın bütün hareketlerini yakalayan, kurban olarak seçtiğimiz sistemler üzerine eklenmiş kernel modülleri tarafından gerçekleştirilir. Honeynetler saldırganın hareketlerini de kontrol ederler. Honeynetler bunu bir Honeywall ağ geçidi kullananarak yaparlar. Bu ağ geçidi kurban sistemlerle gelen trafiğe izin verir ama giden trafiği, izinsiz girişimleri engelleme teknolojisi ile denetler. Bu ise saldırgana kurban sistemlerle etkileşime geçme esnekliği verirken saldırganın honeynet olmayan diğer bilgisayarlara zarar vermesini engeller. Honeynet’e bir örnek olarak aşağıdaki şekil incelenebilir.