Takip et

Günde 2 Milyon Taramayı $0 Maliyetle Yöneten Bir Honeypot Tarayıcısı Oluşturmak

Günde 2 Milyon Taramayı $0 Maliyetle Yöneten Bir Honeypot Tarayıcısı Oluşturmak Günümüzün sürekli gelişen siber tehdit ortamında, saldırganla…

Günde 2 Milyon Taramayı $0 Maliyetle Yöneten Bir Honeypot Tarayıcısı Oluşturmak

Günümüzün sürekli gelişen siber tehdit ortamında, saldırganların taktiklerini, tekniklerini ve prosedürlerini (TTP’ler) anlamak, savunma stratejileri geliştirmek için hayati öneme sahiptir. Honeypot’lar, bu değerli tehdit istihbaratını toplamak için mükemmel bir araçtır. Ancak, binlerce veya milyonlarca honeypot’tan veri toplamak, işlemek ve analiz etmek, ciddi altyapı ve maliyet gerektirebilir. Bu makalede, günde 2 milyon taramayı sıfır maliyetle yönetebilen, ölçeklenebilir ve etkili bir honeypot tarayıcısı mimarisini nasıl oluşturacağımızı detaylıca inceleyeceğiz. Amacımız, bulutun ücretsiz katmanlarını ve açık kaynak araçlarını kullanarak, bütçe dostu ancak güçlü bir tehdit istihbaratı toplama sistemi kurmaktır.

Honeypot Tarayıcısına Neden İhtiyaç Duyuyoruz?

Siber güvenlik dünyasında proaktif olmak, reaktif olmaktan çok daha etkilidir. Saldırganların yöntemlerini anlamak, savunma sistemlerimizi güçlendirmemize olanak tanır.

Siber Tehditlerin Yükselişi

Siber saldırılar her geçen gün daha sofistike hale geliyor ve hem bireyleri hem de kuruluşları hedef alıyor. Fidye yazılımları, oltalama saldırıları, hizmet reddi (DoS) atakları ve gelişmiş kalıcı tehditler (APT’ler) gibi tehditler, sürekli olarak yeni varyantlarla karşımıza çıkıyor. Bu tehditlerin doğasını, kaynaklarını ve hedeflerini anlamak, savunma mekanizmalarımızı güçlendirmek için kritik öneme sahiptir.

Geleneksel Güvenlik Çözümlerinin Sınırları

Geleneksel güvenlik duvarları, antivirüs yazılımları ve izinsiz giriş tespit sistemleri (IDS) gibi çözümler, bilinen tehditlere karşı koruma sağlarken, sıfır gün (zero-day) açıklıkları veya yeni saldırı vektörleri karşısında yetersiz kalabilir. Bu noktada, saldırganların gerçek dünya davranışlarını gözlemleyebileceğimiz dinamik ve adaptif çözümlere ihtiyaç duyarız.

Honeypot’ların Değeri ve Zorlukları

Honeypot’lar, saldırganları çekmek ve onların etkileşimlerini kaydetmek için tasarlanmış tuzak sistemlerdir. Bu sistemler, saldırı yöntemleri, kullanılan araçlar, zafiyet keşifleri ve hatta saldırganların motivasyonları hakkında paha biçilmez bilgiler sunar. Ancak, binlerce honeypot’u dağıtmak, yönetmek, sürekli olarak taramak ve elde edilen verileri anlamlı tehdit istihbaratına dönüştürmek, önemli ölçüde kaynak ve uzmanlık gerektiren zorlu bir iştir. İşte bu noktada, ölçeklenebilir ve maliyetsiz bir honeypot tarayıcısı devreye girer. Bu tarayıcı, farklı honeypot’larla etkileşime geçerek veya potansiyel honeypot’ları tespit ederek, geniş çaplı veri toplama sürecini otomatize eder.

Mimarinin Temelleri: $0 Maliyet Nasıl Mümkün?

Sıfır maliyetli bir sistem inşa etmek, akıllı mimari seçimleri ve açık kaynaklı teknolojilerin etkin kullanımıyla mümkündür.

Sunucusuz (Serverless) Yaklaşım

Sistemin temelinde sunucusuz (serverless) mimari yatmaktadır. AWS Lambda, Google Cloud Functions veya Cloudflare Workers gibi platformlar, belirli bir kullanım limitine kadar ücretsiz katmanlar sunar. Bu hizmetler, yalnızca kodunuz çalıştığında faturalandırılır ve genellikle aylık milyonlarca çağrıya kadar ücretsiz kullanım hakkı tanır. Tarama işlemlerimizi küçük, bağımsız fonksiyonlara bölerek, her bir tarama isteğini bir sunucusuz fonksiyona atayabiliriz. Bu sayede, tarayıcımız ihtiyaç duyulduğunda otomatik olarak ölçeklenir ve boşta kaldığında hiçbir maliyet oluşturmaz.

Açık Kaynak Araçların Gücü

Maliyetleri sıfıra indirmek için açık kaynaklı yazılımlardan maksimum düzeyde faydalanacağız. Tarama motoru için Python’ın requests kütüphanesi veya socket modülü gibi basit araçlar yeterli olacaktır. Veri depolama için, yine ücretsiz katmanları olan NoSQL veritabanları (örneğin, MongoDB Atlas’ın ücretsiz katmanı veya Google Cloud Firestore’un ücretsiz limiti) ya da basit dosya depolama (örneğin, S3 uyumlu ücretsiz depolama sağlayıcıları) kullanılabilir. Veri işleme ve analiz için Python’ın pandas gibi veri bilimi kütüphaneleri veya ELK Stack’in (Elasticsearch, Logstash, Kibana) açık kaynak versiyonları kullanılabilir.

Akıllı Kaynak Yönetimi

$0 maliyetini sürdürmek için kaynak yönetiminde titiz olmak gerekir. Her sunucusuz fonksiyon çağrısının süresini ve kullandığı belleği optimize etmek, ücretsiz limitler içinde kalmak için önemlidir. Tarama işlemlerini kuyruklara (örneğin, AWS SQS veya Google Cloud Pub/Sub’ın ücretsiz katmanları) atarak asenkron bir yapı kurmak, ani yüklenmeleri dengeleyerek maliyetleri düşürür. Ayrıca, gereksiz veri depolamaktan kaçınmak ve verileri sıkıştırarak saklamak da depolama maliyetlerini minimize edecektir.

Veri Toplama ve İşleme Mekanizmaları

Tarayıcımızın kalbi, honeypot’larla etkileşim kurma ve elde ettiği verileri işleme yeteneğidir.

Tarama Motorunun Tasarımı

Tarama motorumuz, temel olarak belirli IP adres aralıklarını veya önceden bilinen honeypot listelerini hedef alacaktır. Her bir hedef için, belirli portlara (örn. 21, 22, 23, 80, 443, 3389) bağlanmaya çalışacak ve hizmetin ne olduğunu tespit etmeye çalışacaktır. Örneğin, bir SSH portuna bağlanıldığında, sunucunun banner bilgisini okuyabilir veya basit bir kimlik doğrulama denemesi yapabiliriz. Bu etkileşimler, honeypot’ların davranışlarını, kullandıkları yazılımları ve potansiyel zafiyetlerini ortaya çıkarabilir. Her bir tarama işlemi, ayrı bir sunucusuz fonksiyon tarafından yürütülecek ve bu, paralel çalışmayı ve yüksek ölçeklenebilirliği sağlayacaktır.

Honeypot Etkileşimlerinin Kaydedilmesi

Tarayıcı, her etkileşimi detaylı bir şekilde kaydetmelidir. Bu kayıtlar şunları içerebilir:
* Hedef IP adresi ve port
* Tarama zaman damgası
* Bağlantı durumu (başarılı/başarısız)
* Hizmet banner bilgisi
* Gönderilen payload (varsa)
* Alınan yanıt
* Gecikme süresi
* Tespit edilen honeypot türü (eğer belirlenebilirse)

Bu veriler, daha sonra analiz edilmek üzere yapılandırılmış bir formatta (JSON gibi) depolanmalıdır.

Veri Saklama Çözümleri

Toplanan verilerin depolanması için düşük maliyetli ve ölçeklenebilir çözümler gereklidir.
* NoSQL Veritabanları: MongoDB Atlas (ücretsiz katman), Google Cloud Firestore (ücretsiz katman) veya AWS DynamoDB (ücretsiz katman) gibi hizmetler, esnek şemaları ve yüksek ölçeklenebilirlikleri ile bu tür veriler için idealdir.
* Nesne Depolama: Daha az yapılandırılmış veya ham veriler için AWS S3 (ücretsiz katman) veya Google Cloud Storage (ücretsiz katman) gibi nesne depolama hizmetleri kullanılabilir. Bu, özellikle büyük miktarda log verisi veya dosya tabanlı etkileşimler için uygundur. Verileri sıkıştırarak saklamak, depolama maliyetlerini daha da düşürecektir.

Ölçeklenebilirlik ve Performans Optimizasyonu

Günde 2 milyon tarama hedefi, ciddi bir ölçeklenebilirlik ve performans optimizasyonu gerektirir.

Asenkron İşleme Modelleri

Tarama işlemlerinin asenkron olarak yürütülmesi, sistemin performansını ve ölçeklenebilirliğini artırmanın anahtarıdır. Bir merkezi orkestratör (örneğin, bir sunucusuz fonksiyon) tarama görevlerini bir kuyruğa (message queue) ekler. Bu kuyruktaki her görev, ayrı bir sunucusuz tarama fonksiyonu tarafından alınır ve işlenir. Bu model, tarama fonksiyonlarının birbirini beklemeden paralel olarak çalışmasına olanak tanır ve anlık yüksek yükleri sorunsuz bir şekilde yönetir.

Dağıtık Mimari ve Paralel Çalışma

Sunucusuz fonksiyonlar doğaları gereği dağıtıktır. Her bir tarama isteği, bağımsız bir işlem olarak ayrı bir konteynerde çalıştırılabilir. Bu, aynı anda binlerce taramanın eş zamanlı olarak yürütülebileceği anlamına gelir. Örneğin, 2 milyon taramayı 24 saate yayarsak, saniyede yaklaşık 23 tarama yapmamız gerekir. Ancak, sunucusuz platformlar çok daha yüksek eş zamanlılık sağlayabilir. Tarama hedeflerini coğrafi olarak dağıtmak (farklı bulut bölgeleri veya sağlayıcılar kullanarak), gecikmeyi azaltır ve tarama hızını artırır.

Rate Limiting ve Hata Yönetimi

Hedef sunuculara aşırı yük bindirmemek ve IP adreslerimizin engellenmesini önlemek için akıllı rate limiting (hız sınırlama) uygulamak önemlidir. Her tarama fonksiyonu, belirli bir IP adresine veya aralığa yapılan taramaların sıklığını kontrol edebilir. Ayrıca, ağ hataları, zaman aşımı sorunları veya hedef sunucunun yanıt vermemesi gibi durumlar için sağlam bir hata yönetimi stratejisi geliştirmek gerekir. Başarısız taramalar yeniden deneme kuyruğuna alınabilir veya belirli bir sayıda denemeden sonra tamamen iptal edilebilir.

Veri Analizi ve Tehdit İstihbaratı Üretimi

Ham veriler tek başına anlamlı değildir; bunları işleyerek değerli tehdit istihbaratına dönüştürmeliyiz.

Ham Veriden Anlamlı Bilgiye

Toplanan veriler, çeşitli analiz teknikleriyle işlenerek anlamlı bilgilere dönüştürülür.
* Banner Analizi: Hizmet banner’ları, kullanılan yazılım versiyonlarını ve potansiyel zafiyetleri ortaya çıkarabilir.
* Etkileşim Analizi: Honeypot’larla yapılan etkileşimlerin detayları (gönderilen komutlar, alınan hatalar, oturum süreleri), saldırganların hedeflerini ve yöntemlerini anlamamızı sağlar.
* Coğrafi Analiz: Saldırıların kaynak IP adreslerinin coğrafi konumlarını analiz etmek, tehdit aktörlerinin bölgesel dağılımını gösterir.
* Zaman Serisi Analizi: Saldırıların sıklığı ve zaman içindeki değişimi, trendleri ve belirli olaylarla ilişkili artışları tespit etmeye yardımcı olur.

IOC (Indicator of Compromise) Tespiti

Analizler sonucunda, saldırganların kullandığı Göstergeler (Indicators of Compromise – IOC’ler) tespit edilebilir. Bunlar, kötü amaçlı IP adresleri, alan adları, dosya hash’leri, URL’ler veya belirli saldırı imzaları olabilir. Örneğin, belirli bir honeypot’a yapılan bir saldırıda kullanılan kaynak IP adresi, kötü niyetli bir IP adresi olarak işaretlenebilir ve diğer güvenlik sistemlerinde engelleme listelerine eklenebilir. Bu IOC’ler, diğer güvenlik ürünleri ve tehdit istihbaratı platformlarıyla entegre edilebilir.

Otomatik Raporlama ve Uyarı Sistemleri

Toplanan ve analiz edilen veriler, düzenli raporlar ve anlık uyarılar şeklinde sunulmalıdır.
* Raporlama: Günlük, haftalık veya aylık özet raporlar, en sık görülen saldırı türleri, en aktif kaynak IP’ler ve tespit edilen yeni zafiyetler hakkında bilgi verebilir. Bu raporlar, otomatik olarak oluşturulup e-posta veya Slack gibi kanallar aracılığıyla ilgili ekiplere gönderilebilir.
* Uyarılar: Kritik bir tehdit veya anormal bir aktivite tespit edildiğinde (örneğin, belirli bir honeypot’a yönelik yoğun bir saldırı), anlık uyarılar tetiklenmelidir. Bu uyarılar, SMS, e-posta veya bir SIEM (Security Information and Event Management) sistemine entegrasyon yoluyla iletilebilir.

Uygulama ve Dağıtım Adımları

Şimdiye kadar bahsettiğimiz teorik bilgileri pratiğe dökelim.

Gerekli Araçlar ve Kütüphaneler

Bu sistemi kurmak için aşağıdaki temel araçlara ve kütüphanelere ihtiyacımız olacak:
* Bulut Sağlayıcı: AWS, Google Cloud veya Cloudflare (ücretsiz katmanları olan sunucusuz fonksiyonlar ve depolama için).
* Programlama Dili: Python (veya tercih ettiğiniz başka bir dil).
* Python Kütüphaneleri:
* requests veya socket: Ağ etkileşimleri için.
* json: Veri serileştirme için.
* boto3 (AWS için) veya google-cloud-storage (GCP için): Bulut hizmetleriyle etkileşim için.
* pandas (isteğe bağlı): Yerel veri analizi için.
* Veritabanı: MongoDB Atlas, Google Cloud Firestore veya AWS DynamoDB (ücretsiz katmanlar).
* Kuyruk Hizmeti: AWS SQS veya Google Cloud Pub/Sub (ücretsiz katmanlar).

Örnek Bir Tarama Fonksiyonu (Kod Örneği)

Aşağıda, bir sunucusuz ortamda çalışabilecek basit bir Python tarama fonksiyonu örneği verilmiştir. Bu fonksiyon, belirli bir IP ve porta bağlanmaya çalışır ve banner bilgisini kaydeder.

import socket
import json
import time
from datetime import datetime

def scan_target(event, context):
    """
    Belirtilen IP ve portu tarar ve etkileşim detaylarını döndürür.
    Event, { "ip": "192.168.1.1", "port": 22 } formatında olmalıdır.
    """
    target_ip = event.get('ip')
    target_port = event.get('port')
    timeout = 5 # saniye

    scan_result = {
        "timestamp": datetime.now().isoformat(),
        "target_ip": target_ip,
        "target_port": target_port,
        "status": "failed",
        "banner": None,
        "error": None
    }

    if not target_ip or not target_port:
        scan_result["error"] = "IP veya Port belirtilmedi."
        print(json.dumps(scan_result))
        return scan_result

    try:
        sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        sock.settimeout(timeout)
        sock.connect((target_ip, target_port))
        
        # Basit banner okuma
        banner = sock.recv(1024).decode('utf-8', errors='ignore').strip()
        scan_result["status"] = "success"
        scan_result["banner"] = banner
        
        sock.close()

    except socket.timeout:
        scan_result["error"] = f"Bağlantı zaman aşımına uğradı ({timeout}s)."
    except ConnectionRefusedError:
        scan_result["error"] = "Bağlantı reddedildi."
    except Exception as e:
        scan_result["error"] = str(e)

    print(json.dumps(scan_result))
    # Bu sonucu bir veritabanına veya depolama hizmetine kaydedin
    # Örneğin, SQS'e gönderebilir veya doğrudan Firestore'a yazabilirsiniz.
    return scan_result

# Yerel test için:
# if __name__ == "__main__":
#     test_event = {"ip": "scanme.nmap.org", "port": 22}
#     scan_target(test_event, None)

Bu fonksiyon, bir bulut sağlayıcının sunucusuz ortamına (örneğin, AWS Lambda) dağıtılabilir. Bir orkestratör fonksiyonu, taranacak IP ve port listesini oluşturup bu scan_target fonksiyonunu çağırabilir veya bu görevleri bir mesaj kuyruğuna gönderebilir.

Dağıtım ve İzleme

* Dağıtım: Sunucusuz fonksiyonlarınızı bulut sağlayıcınızın arayüzünden veya CLI araçlarını kullanarak dağıtın. Bir orkestratör fonksiyonu veya zamanlanmış bir tetikleyici (cron job) ile tarama işlemlerini başlatın.
* İzleme: Bulut sağlayıcınızın izleme araçlarını (örneğin, AWS CloudWatch, Google Cloud Monitoring) kullanarak fonksiyonlarınızın performansını, hata oranlarını ve maliyetlerini takip edin. Ücretsiz katman limitlerini aşmamak için düzenli olarak kontrol yapın. Logları merkezi bir yerde toplayarak (örneğin, ELK Stack veya bulut sağlayıcısının log hizmetleri), tarama sonuçlarını ve sistem sağlığını kolayca analiz edebilirsiniz.

Sonuç

Günde 2 milyon taramayı $0 maliyetle yönetebilen bir honeypot tarayıcısı oluşturmak, modern bulut teknolojileri ve açık kaynaklı çözümlerin akıllıca birleşimiyle tamamen mümkündür. Sunucusuz mimarinin sunduğu ölçeklenebilirlik ve maliyet etkinliği, bu tür bir projenin temelini oluşturur. Bu sistem, siber tehdit istihbaratı toplama süreçlerini demokratikleştirerek, küçük ekiplerin veya bireysel araştırmacıların bile geniş çaplı tehdit ortamını anlamalarına olanak tanır. Elde edilen verilerle, saldırganların TTP'leri hakkında derinlemesine bilgi edinilebilir, IOC'ler tespit edilebilir ve güvenlik duruşu proaktif bir şekilde güçlendirilebilir. Unutmayın, anahtar, kaynakları akıllıca kullanmak, ücretsiz katmanları optimize etmek ve sürekli olarak sistemi izleyerek ayarlamalar yapmaktır.

SSS (Sık Sorulan Sorular)

Bu sistem gerçekten $0 maliyetle çalışabilir mi?

Evet, doğru mimari seçimleri ve bulut sağlayıcılarının (AWS, Google Cloud, Cloudflare) sunduğu cömert ücretsiz katman limitlerini etkin kullanarak $0 maliyetle çalışabilir. Özellikle sunucusuz fonksiyonlar (Lambda, Cloud Functions) ve NoSQL veritabanları (DynamoDB, Firestore) belirli bir kullanım hacmine kadar ücretsizdir. Ancak, bu limitlerin aşılması durumunda maliyet oluşabilir, bu yüzden düzenli izleme önemlidir.

Hangi bulut sağlayıcıları kullanılabilir?

AWS (Amazon Web Services), Google Cloud Platform (GCP) ve Cloudflare gibi başlıca bulut sağlayıcıları, bu mimariyi destekleyecek sunucusuz fonksiyonlar, mesaj kuyrukları ve depolama hizmetleri sunar. Her birinin kendine özgü ücretsiz katman limitleri ve entegrasyon kolaylıkları vardır.

Hangi tür honeypot'lar taranabilir?

Bu tarayıcı, SSH, Telnet, HTTP/HTTPS, FTP, SMB gibi yaygın protokolleri kullanan ve genellikle bilinen portlarda çalışan honeypot'ları veya açık hizmetleri tarayabilir. Tarayıcının yetenekleri, yazdığınız tarama fonksiyonlarının karmaşıklığına bağlı olarak genişletilebilir. Örneğin, daha derinleşimli etkileşimler için özel payload'lar gönderebilirsiniz.

Veri güvenliği nasıl sağlanır?

Toplanan veriler hassas bilgiler içerebileceğinden, veri güvenliği büyük önem taşır. Verileri bulut sağlayıcınızın şifreleme özellikleriyle (at rest ve in transit) şifreleyin. Veritabanı ve depolama erişimlerini en az ayrıcalık ilkesiyle kısıtlayın. Ayrıca, toplanan verilerin yasal ve etik sınırlar içinde kullanıldığından emin olun.

Bu sistemin sınırlılıkları nelerdir?

$0 maliyetle çalışmanın bazı sınırlılıkları vardır:
* Ücretsiz Katman Limitleri: Belirli bir kullanım hacmini aşarsanız maliyet oluşabilir.
* Gelişmiş Özellikler: Ücretli, yönetilen güvenlik çözümlerinin sunduğu gelişmiş tehdit analizi veya otomasyon özelliklerinden bazıları bu sistemde bulunmayabilir.
* Karmaşıklık: Sistemi kurmak ve yönetmek, bulut teknolojileri ve programlama bilgisi gerektirir.
* IP Engellemeleri: Yoğun tarama faaliyetleri, hedef sistemler veya güvenlik sağlayıcıları tarafından IP adreslerinizin engellenmesine yol açabilir. Akıllı rate limiting ve IP rotasyonu (eğer maliyetli değilse) bu sorunu hafifletebilir.

Yorumlar
İçeriği beğendiniz mi? Bir tartışma başlatın veya görüşlerinizi paylaşın.
Yorum Yaz

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

E-posta Bülteni
Yazılım Topluluğuna Katılın
En son güncellemeleri, yaratıcı ipuçlarını ve özel kaynakları doğrudan e-posta kutunuza alın. Tasarım ve inovasyonun geleceğini birlikte keşfedelim.