Honeypot (Bal Küpü)
Last updated
Last updated
Bu yazımda sizlere siber güvenlik dünyasında önemli bir yere sahip olan Honeypot'u açıklayacağım. İyi okumalar diliyorum :)
Honeypot, saldırganlar için kullanılan bir tür tuzak olarak düşünülebilir. Saldırganları gerçek sistemden uzaklaştırmak için bu sistemi taklit eden ve buraya saldırmaya çalışan saldırganlar ve onların çalışma biçimleri hakkında bilgi edinmek için kullanılan tuzak sistemlerdir. Saldırganlar bu sisteme girerse tuzağa düşmüş demektir.
Honeypot’larda saldırganları cezbetmek için bilerek güvenlik açığı bırakılır ve bu açıklar Honeypot’un isminden de anlaşılacağı üzere bal küpüdür. Normal bir kullanıcı bu sisteme erişmeye çalışmayacağından erişen her kullanıcı potansiyel saldırgan sayılır ve yaptığı her işlemin kaydı tutulur. Buradan elde edilen bilgiler sayesinde sistemlerimizin ne kadar etkili çalıştığını görebiliriz. Ayrıca saldırganın kullandığı yöntemlerden yola çıkarak sistemimizi de daha güvenli hale getirebiliriz.
Honeypot’lar her ne kadar ana sistemi korumak için yapılandırılsa da saldırganların Honeypot’taki güvenlik açığı üzerinden gerçek sisteme ulaşabilme ihtimali olduğunu göz ardı etmemeliyiz. Bu sebeple önceden tüm güvenlik önlemleri alınmış olmalıdır.
Honeypotları ağınızda bulunan her noktaya yerleştirebilirsiniz. Daha çok ana ağdan uzak olan DMZ alanına yerleştirilmesi tercih edilir.
DMZ nedir?
DMZ (Demilitarized Zone), ağ üzerinde koruma önlemlerinden arındırılmış bir bölgedir. İç ağ ile dış ağ arasındaki geçiş noktasıdır. Buraya Honeypot’u yerleştirmek, onu ana üretim ağından izole ederken hala ağın bir parçası olmasını sağlar.
Bu tür Honeypot’lar, saldırganlar ve onların kullandığı yöntemler hakkında bilgi toplamak, onların tüm davranışlarını izlemek için kullanılır. Karmaşık bir yapıya sahip olması sebebiyle genellikle büyük kuruluşlar tarafından kullanılırlar.
Research Honeypot’lar birden fazla ağ ve lokasyona dağıtılarak kullanılırlar. Bu yüzden bakımları da zordur.
Production Honeypot’lar, sistemin sunucusuyla birlikte üretim ağı içinde bulunur. Bu Honeypot’lar sınırlı düzeyde bilgi toplar ve daha çok BT ekibinin gerçek sistemdeki güvenlik açığını iyileştirebilmelerine zaman tanımak amacıyla kurulmuş tuzaklardır. Bu sistemlerin kurulumu Research Honeypot’lara göre daha kolaydır fakat onlardan daha az bilgi toplarlar.
Pure yani saf Honeypot’lar çeşitli sunucularda çalışan, tamamen gerçek sistemi taklit eden sistemlerdir. Bu yüzden saldırganlar tarafından Honeypot olduğunun anlaşılması zordur. Bu Honeypot’lar saldırganların dikkatini çekmek için simüle edilmiş hassas belgeler ve kullanıcı bilgileri içerir. Bu verilerin bulunduğu yerler ise sensörlerle donatılmıştır ve saldırganların her hareketi izlenir. Bunların yönetimi her ne kadar karmaşık ve zor olsa da BT ekibine önemli veriler sunar.
Düşük etkileşimli Honeypot’lar saldırganlara ağ hakkında çok az bilgi sağlar. Daha az servis kullanırlar ve az kaynak harcalar. Bu yüzden birden fazla (ama sınırlı sayıda) sanal makine oluşturulabilir. Ağların farklı bölümlerine dağıtılırlar. Kurulumu ve bakımı kolaydır. Ayrıca maliyet bakımından da diğerlerine oranla daha düşüktür. Bu sebeple küçük kuruluşlar tarafından tercih edilmektedirler.
Bu Honeypot’lar gerçek sistemi taklit etmez, yalnızca saldırganları en çok cezbedecek sahte güvenlik açıkları içeren servisler çalıştırırlar. Bu da tecrübeli saldırganların bunun bir tuzak olduğunu anlamalarını sağlar.
Ana özelliği uygulama katmanını sanallaştırmasıdır. Düşük etkileşimli Honeypot’lara göre saldırganlara saldırabilmeleri için daha fazla taklit sistem sunar. Saldırgan tecrübeli dahi olsa bu Honeypot tuzağına düşebilir çünkü etkileşime geçebileceği sistem sayısı daha fazladır. Ayrıca, saldırganların saldırmak isteyebileceği portlara yönelik tatmin edici cevaplar vererek, onları kandırıp payload göndermelerini sağlayabilir.
Payload, saldırganların sisteme saldırmak için gönderdiği zararlı kod parçalarıdır.
Bu Honeypot’lar izole bir ortamda, birçok gerçek zamanlı işletim sistemi (yani burada saldırganın saldırabileceği gerçek sistemler sağlanır) içerir. Bu yüzden saldırgan Honeypot’u tespit etmesi durumunda daha büyük bir güvenlik riski ortaya çıkar. Riskli olmasının sebebi ise gerçek sistem gibi davrandıkları için saldırganın bu Honeypot’u ele geçirerek diğer sistemlere saldırabilmesidir. Ancak tespit edilmesi saf Honeypot’tan sonra en zor olandır. Genellikle sanal makine ortamında çalışır ve bir hız sınırlayıcı duvarın ardında bulunur. Maliyeti yüksek ve bakımı zordur. BT ekibine saldırganlar hakkında en fazla veriyi sunan Honeypot’tur.
Yüksek etkileşimli Honeypot’ların diğerlerinden önemli bir farkı ise gerçek ortamları simüle etmeyip saldırganlara gerçek sistem ve hizmetlerle etkileşime geçebileceği ortam sunmasıdır. Bu da yukarıda dediğim gibi yanında bir çok risk de getirmektedir.
Spam Honeypot’lar yalnızca otomatik adres toplayıcılarının ulaşabileceği gizli konumlara sahte e-posta adresleri yerleştirir. Bu adreslere gelen herhangi bir e-postanın saldırgan tarafından geldiği apaçık bellidir. Bu şekilde bu IP adresi blackliste alınıp engellenebilir. Bu sahte e-postalar genellikle devlet kurumları, şirket mailleri veya değeri yüksek kişilerin isimleri taklit edilerek oluşturulur.
Blacklist, kara liste demektir. Spam mail, zararlı yazılım gönderme gibi çeşitli faaliyetlerde bulunan kişilerin IP adresi, e-posta adresi veya alan adı bu listeye girer. Bu listede bulunduğunuz sürece de kaynağa erişemezsiniz.
Malware Honeypot’ları zararlı yazılım saldırıları için saldırganı çekmek amacıyla yazılım uygulamalarının ve API’lerin kopyasını oluşturur. Bunların nasıl istismar edileceğini öğrenmek ve ona göre daha güvenli oluşturabilmek için kullanılır.
Bu Honeypot’lar ayrıca BT ekiplerine saldırganın spam mail atarken izlediği yol hakkında bilgi verir bu da önlem alabilmeleri için önemlidir.
Database Honeypot’ları gerçek veri tabanını korumak ve saldırganı tuzağına çekmek için oluşturulmuş sahte veri tabanlarıdır. Bu veri tabanları SQL injection saldırısına karşı zafiyetli olur ve içerisinde sahte kişisel bilgiler, finansal kayıtlar vb. bulundurur.
Bu Honeypot’larda da saldırganların amaçlarını anlamak ve sistemlerde ona göre önlem almak için izledikleri yollar kaydedilir.
SQL injection, saldırganın uygulamadan veri tabanına gönderilen sorguyu manipüle etmesidir. Örneğin kullanıcı giriş sayfasında kullanıcı adı yerine bir SQL sorgusu eklerse ve biz bunu filtrelemeden ve parametre eklemeden direkt olarak veri tabanında sorgularsak saldırgan şifresini bilmeden kullanıcının hesabına giriş yapabilir.
Spider Honeypot’lara da spam Honeypot’larında olduğu gibi yalnızca otomatik tarayıcılar ile erişilebilir. Saldırganları tuzağa düşürmek için web sayfaları ve bağlantıları kullanılır. Bu Honeypot’lar örümcek olarak da bilinen kötü niyetli web botlarını ve reklam ağı tarayıcılarını tespit etmek için kullanılır.
Client yani istemci Honeypot’ları diğer Honeypot’lardan farklı olarak sunucu gibi çalışmaz istemci gibi çalışır. Herhangi bir saldırının gerçekleşip gerçekleşmediğini anlamak için sunucuyla etkileşime geçer. Kısacası istemcilere saldıran kötü amaçlı bir sunucu var mı bunu tespit etmeye yarar. Ayrıca bu Honeypot’lar sanallaştırılmış bir ortamda çalıştırılırlar.
Birden fazla Honeypot’un bir araya getirilmesi ile oluşan ağa Honeynet denir. Amaç saldırganları buraya davet ederek ağ güvenliğini test etmektir. Bu tür Honeypot’lar çeşitli saldırı türlerini incelemek ve izlemek için konumlandırılırlar. Aşağıdaki görselde örnek bir Honeynet görebiliriz.
Honeywall nedir?
Honeywall, saldırgan ve honeypotlar arasındaki geçittir. Honeypot’lar ile etkileşimleri yönetir. Saldırganların gerçek sisteme erişebilmesini önlemek ve ağın gelen giden trafiğini izlemek için kullanılmaktadır.
Gerçek zamanlı verilerin toplanmasına yardımcı olurlar.
BT ekibinin saldırganların izledikleri yollar, uyguladıkları teknikler, kim oldukları vb. hakkında bilgi sahibi olmalarını sağlar.
Saldırılara karşı erken uyarı sağlayabilirler.
Sistemdeki güvenlik açıklarının belirlenmesine yardımcı olabilirler.
Saldırıları belirleme ve bunlara yanıt verme konusunda pratik yapmak amacıyla eğitim için kullanılabilirler.
Saldırganların zamanını ve kaynaklarını boşa harcar.
Gözden kaçan saldırıların tespiti sağlanabilir.
İç tehditlerin de tespit edilmesini sağlayabilir.
False-positive sonuçları azaltırlar.
Firewall’ların önleyemeyeceği saldırılara karşı koruma sağlar
False-positive, saldırıymış gibi gözüken ama aslında saldırı olmayan yani yanlış doğrulardır. Honeypot'ta ise bu sistemler normal kullanıcıların girmeyi düşünmeyeceği, yalnızca kötü niyetli kişilerin gireceği yerlere konumlandırıldıklarından bu tarz sonuçların azalmasını sağlarlar.
Uygulanması maliyetli ve zaman alıcı olabilir.
Ek saldırı yüzeyleri oluşturabilirler.
Deneyimli saldırganlara karşı yetersiz kalabilirler.
Yeterli güvenlik önlemi alınmazsa veya Honeypot yeterince iyi tasarlanmazsa gerçek sistemlerin ele geçirilmesine sebep olabilirler.
Honeypot’lar yalnızca doğrudan kendisine gelen saldırıları tespit edebilir.
Saldırgan üretim sistemini hedefleyen gerçek bir saldırıdan dikkatleri dağıtmak için Honeypot’a sahte saldırı düzenleyebilir.
Veri tabanı Honeypot’ları, web Honeypot’ları gibi bir çok türde Honeypot önerisine buradaki Github reposundan ulaşabilirsiniz. Göz atmanızı tavsiye ederim :)
Genel olarak toparlayacak olursak Honeypot’lar, gerçek sistemleri korumak, saldırıları tespit etmek ve güvenlik önlemlerini güçlendirmek için önemli bir araç olarak kullanılabilir ancak avantajları olduğu kadar dezavantajları olduğunu unutmamalı ve dikkatli kullanmalıyız. Ayrıca tüm güvenliğimizi Honeypot’lara bağlamamalı ve saldırganların bu Honeypot’ları fark edip onlardan kaçınabileceğinin farkında olmalıyız.