Güvenlikte savunma ne kadar güçlü olsa da saldırgan illa ki girecek bir delik bulur. O yuzden iyi bir güvenlik süreklilikle ölçülür. Saldırmalardan önce kötü çocukların nasıl saldıracağını tahmin etmek ve buna göre güvenliği sağlamak çok işe yarayacaktır. Sisteminizde ki açıkları devamlı takip edemezsiniz, bu açıkların ya da sisteminizde yayımladığınız servislerin güvenliği hakkında bazen gözden kaçırmış olduğunuz bir şeyler olabilir. Bu durumda size yardım edecek birşeyler lazım ya birini bu iş için görevlendireceksiniz (güvenlik konusunda paranoyaklık derecesinde birisi olsa iyi olur.) sizin için sistemde hangi açıklar olabilir hangi servisler riskli ve nasıl saldırılır hakkında size bilgiler verecek ya da bunlardan daha fazlasını sizin için günlükleyen ve sadece günlüklemekle kalmayan saldırganla da dalga geçebileceğiniz gibi onu oyalayabileyen bir yazılım bulunduracaksınız.

Balküpü saldırganın ilgisini çekmek yoluyla dikkati üzerine çeker ve kötü çocukları tuzağa düşürür.

Balküpleri ( honeypot ) dediğimiz bu projede sisteminizde ki servislerin benzetimini istediğiniz şekilde yapan ve istediğiniz sanal ağları oluşturup istediğiniz işletim sistemleri, MAC adresleri, ip, port , yönlendirici ekleyebilen ve bunların hangisine nasıl bir saldırı olduğunu tutan bir uygulama var. Balküpleri ikiye kategoriye ayrılırlar ve iki şekilde oluştulurlar.(Balküpleri)

Düşük Etkileşimli Sanal Balküplerinden "Honeyd" "Niels Provos" tarafından o zamanlar unix sistemler için yazılmış açık kaynak kodlu bir yazılımdır. Saldırılardan koruma amacı içermez istatistik veriler toplamanıza yardımcı olarak saldırgandan önce nereye, nasıl saldırılacağını bulmanıza yardım eder. Honeyd' nin bazı genel özelliklerine bakacak olursak;

  • Gerekli TCP servislerini ve bazı UDP servislerini destekler.
  • Çoklu ip adresi ataması yapar.
  • Farklı işletim sistemleri özelliklerini uyumluluğu sağlar.
  • Tamamiyle sanal bir ağı yönetebilir.
  • Ağ trafiğini kesintiye uğratmaz...

Honeyd Sanal Honeypotlar ve Diğer Bilgisayarların Olduğu Bir Ağ

Bir ağda kurban arayan bir saldırgan ağda işine yarayacak açıkları olan bilgisayarı bulmaya çalışır. "Honeyd Computer" tarafından olşturulan "Virtual Honeypot" ların herbirinin ipsi 192.168.2.10x gibi devam etsin. Bu IP ler dışında bilgisayarlar ilgisini çekmeyince sanal balküplerinde çalışıyormuş gibi görünen Windows XP SP2 deki Açık Telnetten girmeye çalıştığında. karşısına istediğimiz bir yönlendirme yaparak (mesela kendi telneti yönlendirmek gibi...) ya da kendi oluşturduğumuz bir betikle istediğimiz herşeyi yapabiliriz, boyle bi saldırgandan yeterince bilgi toplamak için o açık olan servisi mümkün olduğu kadar gerçeğine benzer olması lazım. Bu arada "Honeyd Computer" ise bu olan bitenleri ayrıntısına kadar sizin için günlükler.

Honeyd Yapılandırma Dosyası

Bir Yapılandırma Dosyasına istediğiniz bir sanal ağı yaratırsınız bu sanal ağda yönlendirici markalarını, her IP e karşılık gelen işletim sistemlerin parmak izlerini, MAC adreslerini, istediğiniz portları açma ve bu portlara gelen isteklere nasıl cevap verilebileceğini ya da cevap vermeyeceğinizi ayarlarsınız. Resimde bulunan sanal honeypotlar için yapılandırma dosyasının bir kısmı yukarıdadır. Bu yapılandırma dosyası rahat okunabilir özellikte olmakla beraber her bir sistem CREATE ile oluşturulur ve değerler SET ve ADD ile eklenir.

'windows' adı ile oluşturduğumuz sistemin saldırgan tarafından ağın tarandığında işletim sistemi adı "Windows XP Professional SP2" , çalışma zamanın 102022 saniye olduğunu, telnetine giriş yapıldığında saldırganın kendi telnetine yönlendirildiğini ve diğer TCP portlarının hepsinin RESET olarak atandığını ve sadece telnetin açık olduğunu anlatır.'solaris' olarak tanımlanan sanal honeypotta da SSH servisine bağlanıldığında daha önce yazılmış perl betiğinin çalıştırılacağını gösteriyor. Son olarakta bu honeypotlara birer IP atanmaktadır.

Neredeyse her ülkede güvenlik için honeypot ekipleri oluşmuş. Türkiye' de ise ULAK-CSIRT

( ULUSAL AKADEMİK AĞ ve BİLGİ MERKEZİ – Computer Security Incident Response Team ) bu konu hakkında topladığı ekiple istatistikler topluyor ve geliştirmeler yapıyor.(bknz)

Kaynaklar;

http://www.ulakbim.gov.tr/dokumanlar/gokova/honeyd.pdf

seridarus.blogspot.com honeypot sunumu

http://www.citi.umich.edu/u/provos/papers/honeyd/mgp00001.html

www.tracking-hackers.com
www.honeyd.org
www.honeypot.net
honeyd.pdf

Honeyd kodları üzerinde kodları anlamak için kendimi yırtarken karşıma çıkan arpd paketinin içerisinde "tree.h" dosyasında "SPLAY TREE" diye bir yapı ile karşılaştım ilgimi çekti diye araştırdım Türkçe aramalarda çıkmadı bile. Derslerde de görmediğim bu yapıyı araştırmaya karar verdim. While i researched codes of honeyd I saw about SPLAY TREE in tree.h in arpd packet. I researched it and I didn't find Turkish results. I decided to understand this data structure. Algoritmaya göre bir kez kullanılan düğümün bir sonrakinde de kullanılacağında hemen bulunmasını sağlar. Özel bir veri yapısı olduğu için pek karşılaşmıyoruz sanırım. honeyd içinde bol bol karşılaştığım bu yapıyı nerelerde ne için kullanacak merak ediyorum. Şimdi gelelim basitçe şu yapıyı anlatmaya... Algorithm ; A node has used other search first node to be provide, This is a Private data structure so we don't see anywhere. Lets see this structure.
LRU ilkesine dayalı bir ağaç yapısıdır. Aranan düğüm "root" olur ve en az sıklıkla kullanılan düğüm "root"tan uzaklaşır.
It is a tree structe like LRU policy. The node that is being searh will be root and least frequently used node will move away from the root node
SPLAY TREE yapısında 3 durum bulunmaktadır. (Kısaltmalar: aranan düğüm : n(x) , n(x) düğümünün atası Pn, root r ) SPLAY TREE structure have 3 cases
Ana Durum- Main case
1. DURUM :(Zig Adımı)
-n(x) 'root' un hemen altında ise
-n(x) 'root' olur. -'child nodes' sıralama için düzenlenir. 1. CASE:(Zig Step) - if the parent of n(x) is the root - rotate at n(x) ,make n(x) the root - makes its former parent into its child - fixes child nodes for order.
Durum 1.
- 2 yi bul - 2 yi root yap - 5 yi sağa ötele - find 2 -2 is the root - rotate right 5
yeni root=2; eski root=6; new root=2; old root=6; -----------------------------------------------------------------------
2. Durum :(Zig Zig Adımı) - n(x) ve Pn aynı yönde ise(hepsi sağ ya da hepsi sol dal) -n(x) 'root' olur. -dal yönü değişir 'root' a göre sıralanır. -'child nodes' sıralamaya göre düzenlenir. 2.Case : (Zig Zig Step) -if n(x) and Pn have the same orientation (each one right or each one left) - first rotate at Pn then at n(x) - make n(x) the root - branch changes and orders according to root - fix child nodes
1 yi bul; - 1 i root yap - 1<2<6>2>6 olarak çevir. -5 'i 2 den kopar bir üst 'parent' a göre düzenle 2 1 6 5 7 10 15 find 1; - 1 is the root -change branch 1<2<6>2>1 -fix 5
3. Durum : (Zig Zag Adımı) - n(x) ve Pn aynı yönde değil ise (biri sağ yön diğeri sol ya da tam tersi) -n(x) iki kez döndülür ve root olur. -'child nodes' dala göre sıralanır. 3.Case : (Zig Zag Step) - n(x) and Pn have different orientation (one of them right direction, other one left direction or opposite) - rotate twice at n(x) - make 2 the root - fix 'child nodes'
bul : 5 -5 i iki kez 'root' a yaklaştır sonra 'root' yap -5 ile 10 arasında kalan 6 yı ağaca göre düzenle
find :5 -rotate 5 and make root - fix 6 between 5 to 10
Bağlantılar : Links : http://www.ibr.cs.tu-bs.de/courses/ss98/audii/applets/BST/Splay-Algorithm.html http://www.ibr.cs.tu-bs.de/courses/ss98/audii/applets/BST/splay-case1.html http://www.ibr.cs.tu-bs.de/courses/ss98/audii/applets/BST/splay-case2a.html http://www.ibr.cs.tu-bs.de/courses/ss98/audii/applets/BST/splay-case3.html http://en.wikipedia.org/wiki/Splay_tree http://techunix.technion.ac.il/~itai/

About

seruhatto