Welcome to My Blog 👋

Java, Spring Framework, Microservices, Docker, Kubernetes, AWS and Others 🚀
Follow Me

Bİlgisayar Ağları - Ders 16 - Bal Küpü (Honey Pot)



  December 06, 2017    Labels:,,,,,, 

Honeypot sistemimize yapılan saldırıları tespit etmek, yavaşlatmak ve gerçek sistemimizi kamufle etmek için kullanılan bir teknolojidir.Ayrıca çağımızda hızla yenilenen teknoloji ile buna paralel olarak keşfedilen yeni saldırı tekniklerini analiz etmek amacıyla da kullanılabilen bir teknolojidir. Peki neden balküpü denmiştir ve altında yatan felsefe nedir ? Bu sorunun cevabı ise tahmin ettiğiniz gibi kolaydır. Balküpü dışarıdan bakıldığında güzel bir görünüme sahip ve ele geçirmek için cezbedici bir özelliğe sahiptir. Fakat içinde nelerin olduğunu bilemeyiz. Örneğin bir canlı içinden ballar akan güzel kokulu bir balküpüne saldırmak istediğinde içinde tehlikelerle dolu zararlı arılarla karşılaşacağını bilemez. İşte doğadaki bu mantığın teknolojiye ve günümüzde giderek çoğalan siber saldırılara uygulanmış halidir honeypot teknolojisi.

Saldırgan sistemimize saldırmak istediğinde karşısında bizim konfigüre ettiğimiz bir sistem görünür. Saldırgan belirlediğimiz sistemi gerçek bir sistem sanarak saldırmayı dener. Bu süre içerisinde konfigüre ettiğimiz honeypot sistemi devreye girer. Saldırganın hareketlerini, saldırı tekniğini loglamaya başlar. Böylelikle saldırganın nereden ve hangi teknikle saldırmış olduğunu öğrenerek sistemimizde gerekli güvenlik önlemlerini almaya çalışırız.

Honey Pot Türleri

Bunun için belirlenmiş bir standart olmasa da bal küpleri yerleşim ve etkileşim seviyelerine göre sınıflandırılabilirler.

Yerleşimlerine göre bal küpleri şu şekilde sınıflandırılabilir:
  • Üretim bal küpleri (production honeypots)
  • Araştırma bal küpleri (research honeypots)
Üretim bal küplerinin kullanımı kolaydır. Kısıtlı bilgi içerirler. Üretim bal küpleri genel olarak diğer üretim sunucuları ile birlikte üretim ağına yerleştirilir. Üretim bal küpleri genelde, kurulumu ve kullanımı daha kolay olan, düşük etkileşimli bal küpleridir. Saldırılar ve saldırganlar hakkında araştırma bal küplerine göre daha az bilgi elde ederler.

Araştırma bal küpleri, farklı ağları hedef alan saldırgan (hacker) gruplarının amaçları ve saldırı taktikleri hakkında bilgi toplamaları için ve kuruluşların karşılaştıkları tehditleri araştırmak ve kuruluşların bu tehditlere karşı daha iyi nasıl korunabileceklerini öğrenmek için kullanılırlar. Araştırma bal küplerinin kurulumu ve bakımı zordur. Daha kapsamlı bilgi tutarlar ve özellikle askeri kurumlar, araştırma ve devlet kurumları tarafından kullanılırlar.

Etkileşim seviyelerine göre bal küpleri şu şekilde sınıflandırılabilir:
  • Saf bal küpleri (pure honeypots)
  • Yüksek etkileşimli bal küpleri (high-interaction honeypots)
  • Düşük etkileşimli bal küpleri (low-interaction honeypots)
Yüksek etkileşimli bal küpü teknolojisinde yapılan son araştırmalar sonucu, sanal makine kullanılarak birden fazla bal küpü tek bir fiziksel makinede çalıştırılabilmektedir. Bu sayede, bal küpü saldırıdan etkilense bile çok hızlı bir şekilde eski durumuna döndürülebilmektedir. Sanal makinenin kullanılabilir olmadığı durumlarda, her fiziksel makine için bir bal küpü çalıştırılır. Bu durumun da maliyeti çok yüsektir.

Saf bal küpleri tam teşekküllü sistemlerdir. Başka bir yazılımın yüklenmesine gerek yoktur. Saf bal küpü kullanışlı olmasına rağmen savunma mekanizmasının gizliliği genelde, daha gelişmiş bir mekanizma tarafından sağlanabilir.

Yüksek etkileşimli bal küpleri çeşitli servisler sağlayan gerçek sistemlerin hareketlerini taklit ederler, böylece saldırganın zamanını harcayabileceği birçok servisi kullanmasına izin verilir. Yüksek etkileşimli bal küpleri, düşük etkileşimli bal küplerine göre daha zor tespit edilebilmektedirler. Fakat idame maliyetleri düşük etkileşimli bal küplerine göre daha yüksektir.

Düşük etkileşimli bal küpleri sadece saldırganlar tarafından sık kullanılan bazı servisleri taklit ederler. Yüksek etkileşimli bal küplerine kıyasla daha az kaynak harcadıkları için bir fiziksel makinede kolaylıkla birden fazla sanal makine çalışabilir.

Honeypotların Çalışma Mantığı

Honeypotlar yaptığı büyük işlerin aksine öyle karmaşık kurgulanmış algoritmalara sahip değildir. Gayet basit bir mantığı vardır. Honeypotların çalışma mantığı IDS(Intrusion Detection System) saldırı tespit sistemlerinin çalışma mantığı ile paraleldir. Belirlediğimiz portta çalışan servislere yapılan saldırıları analiz ederek bize log kayıtlarını gösterebilir. Saldırgan bir exploit yolladığında bunu antivirüs yardımıyla analiz edebilir. Kullanım alanlarına göre birçok şekilde konfigüre edilebilirler. Örneğin spam hareketlerini tespit etmek için dahi kullanılabilirler.

Başka bir örnek ise büyük bir kuruluş içerisinde farklı ağ yapıları bulunabilir. Saldırgan atak yapmaya başladığında honeypot olmayan bir ağa sızmayı denediğinde bu bir zafiyet oluşturabilir. Bunun içinde birçok honeypot’u farklı ağlarda konfigüre ederek bir honeypot ağıda kurulabilir. Bu tarz sistemlere HoneyNet denir. Honeypotların en büyük avantajı zor tespit edilebilmesi ve gerçek bir sistemmiş gibi konfigüre edilen tuzak sistemler olmasıdır. Dezavantajı ise saldırgan honeypot veya honeynet sistemlerine değinmeden asıl sisteme ulaşmış olabilir veya direk olarak asıl sisteme saldırabilir. Bu yüzden honeypot sistemlerini iyi konfigüre etmeli ve güvenlik kurgusunu iyi oluşturmalıyız.

Threat Intelligence(Tehdit İstihbaratı)

Kim Saldırıyor?
Neden bunu yapıyorlar?
Ne Peşindeler?
Ne yapıyorlar?
Nereden geliyorlar?
Nasıl savunabilirim?

Honeypot’u neden kullanmak gerektiğini açıklayan başlıklar işte bunlardır.

Bu soruların cevaplarını elde etmek için honeypot sisteminden yararlanabiliriz. Siber tehdit istihbaratı bu yüzden önemlidir. Mesela honeypot sisteminde saldırganın kim olduğunu analiz edebiliriz. Daha sonra hangi saldırı türünü kullandığını ve nereye saldırdığını öğrenme şansımız olabilir. Saldırırken çalışan servislerde ne tür exploitler deniyor, hangi şifrelerle brute force attack yapıyor bunları grafiksel hale dökerek bile inceleyebiliriz. Bu verileri inceledikten sonra ne olacak diye bir soru sorabiliriz. Bu verileri inceledikten sonra gerekli analiz yapılarak sistemimizde bu ataklara karşı bir zafiyet varmı diye kontrol edebiliriz. Örneğin kolay parola zafiyeti veya local root exploit zafiyeti gibi zafiyetler varmı diye kontrol edebiliriz. Daha sonra gerekli savunma faaliyetlerini, sıkılaştırmaları sistemimizde yapabiliriz.

Honeypot Uygulaması

Honeypot Bileşenleri

Genel işleyişe bakıldığında , sanal cihazlar kullanılarak ağda yer alacak yönlendiriciler, istemciler ve sunucular yaratılmaktadır. Bu süreç 4 aşamadan oluşmaktadır;

1.Sanal Cihazların Oluşturulması

FreeBSD Jail : Birbirinden bağımsız , düşük kaynak tüketimli sanal sistemler oluşturmaya yarayan bir sanallaştırma sistemidir. Sistemler gerçek bir sistemin sağlayabildiği birçok özelliği sağlayabilmektedir. Honeypot ,ihtiyacı olan ağ işlemlerini Jail sisteminin ileri bir sürümü olan VIMAGE’i kullanmaktadır.

2.Sanal Bağlantıların Oluşturulması

Netgraph : Üzerinde çeşitli ağ işlemleri yapılmasına olanak sağlayan , ağ nesnelerine sahip bir sistemdir. Honeypot , netgraph nesnelerini birbirine bağlayarak ağ yapısını oluşturmaktadır.

Honeypot’da kullanılan netgraph nesneleri;
ng_eiface : Sanal ethernet arayüzü sağlamaktadır.
ng_bridge : Birden fazla nesnenin birbirine bağlanmasında kullanılır.
ng_pipe : Gecikme ve paket kaybını taklit ederek trafiğin şekillendirilmesini sağlar.

Epair : Netgraph gibi ağ cihazlarının birbirine bağlanmasında kullanılır. Aralarındaki önemli iki fark vardır.

Epair sistemi , netgraph kadar karmaşık değildir. İpconfig komutu sayesinde nesneler kolayca oluşturulup dağıtılır.

Netgraph nesneleri arasında , pipe nesnesi kullanılarak daha gerçekçi bir ağ yaratılabilir. Epair da böyle bir özellik yoktur.

3.Dinamik Yönlendirme

Quagga : Açık kaynak kodlu hizmet veren bir yönlendirme protokolüdür. Ayrıca bu uygulama OSPF,IS-IS,BGP ve RIP gibi temel routing protokollerini desteklemektedir. Quagga , GNU lisansıyla istenildiği kadar router eklemeye olanak sağlar.

4.Servis Sanallaştırma

Honeypot projesi kapsamında HTTP, DNS, SMTP ve FTP servislerinin taklitleri geliştirilerek bu sistemlerde kullanılmaktadır. Bu gibi servisler oluşturulacak honeypot üzerinde amacına uygun bir şekilde öykülenerek çalıştırılır.

FreeBSD , gelişmiş ağ altyapısı , verimlilik, güvenlik ve uyumluluk yeteneklerine sahip gelişmiş bir işletim sistemidir. İçinde yukarda bahsettiğimiz Netgraph ve Epair gibi bir çok araç bulundurmaktadır. Kısacası en baştan bir Honeypot oluşturmaya karar veren bir kişinin ilk yapması gereken şey FreeBSD’yi kurması olacaktır. Bundan sonraki adımlar değişkenlik gösterebilir. Bunun sebebi kullanılacak Honeypotun belli bir amaca hizmet edicek olmasıdır(Saldırganları caydırma yada saldırganların kullandığı yöntemleri öğrenmek). FreeBSD sayesinde birkaç tane sanal makine kurduk. Bu aşamadan sonra Netgraph ve Epair gibi araçları kullanarak bu makinalar arasında bağlantıları oluşturduk. Aslında bu aşamanın internete bağlanmak için bilgisayarınızı modeme bağlamaktan pek bir farkı yok. Kabloları bağladık şimdi sırada sanal cihazlarımızı birbirleriyle iletişimi sağlayabilmeleri için dinamik yönlendirme yapmakta. Bu iş için Quagga yazılımını kullanabilirsiniz. Son aşama öyküleme aşaması. Saldırganı meşgul etmek mi istiyorsunuz yoksa yaptıklarından bilgi mi almak istiyorsunuz? Bunu belirledikten sonra http, dns gibi servislerin taklitlerini bu sanal cihazlarda kullanıyoruz.

Honeypotun asıl amacı korumak istediğimiz makinaları taklit ederek bütün saldırıları kendi üzerine çekmesidir. Bu yüzden yukarıdaki aşamalarda ki öyküleme iyi yapılması gerekir.

Bir honeypot uygulamasını nasıl yapılandırabiliriz aşamalarıyla incelemiş olduk. Şimdide büyük honeypot projelerini incelemeye çalışalım. Hangi sistemlerde kullanılıyor, hangi büyük kuruluşlar kullanıyor bunları inceleyelim.

Honeypot Tespit Yöntemleri

Aslında işin en can alıcı ve önemli noktasını anlatmaya çalışacağız. Çünkü bir sistemi alaşağı etmek istiyorsak o sistemi tamamıyla bilmemiz gerekir. Neler çalışıyor, hangi teknolojileri kullanmakta, kimler çalışıyor, hangi algoritmaları kullanıyor bilmek gerekir. Bu konu daha çok savunma tarafı değil de saldırı tarafı için önemlidir. Bir sisteme sızma testi gerçekleştirirken o sistemde honeypot’a yakalanma oranımız yüksektir. Ve de iyi kurgulanmış ve amacına uygun konfigüre edilmiş bir honeypot gerçekten tespit edilemez bile olabilir.

Honeypotları gerçekten tespit etmek zordur. Çünkü emülasyon olsa bile saldırgana gerçek bir sistemmiş gibi gözükebilir. Honeypotları tespit etmek için bazı yazılımlar vardır. Bunlardan öne çıkan yazılım Send-Safe Honeypot Hunter’dır. Bunun gibi yazılımlar portları, portlarda çalışan servisleri analiz ederek sistemin gerçek veya tuzak bir sistem olduğunu anlamaya yarayan araçlardır. Diğer bir yazılım ise Nessus’tur .Bu da uzak sistemde honeypot olup olmadığını tespit etmek için sistemi analiz eden bir yazılımdır. 

No comments:

Post a Comment