2 puan yazan GN⁺ 2025-04-30 | 1 yorum | WhatsApp'ta paylaş
  • Web trafiğinin çoğu botlardan gelir ve bunların bir kısmı kötü niyetli amaçlarla kullanılır
  • Zip Bomb, küçük bir sıkıştırılmış dosyadır; ancak açıldığında çok büyük bir dosyaya genişleyerek sunucuyu aşırı yükleyebilir
  • Sıkıştırma teknolojisi, veriyi web üzerinde verimli şekilde aktarmak için kullanılır ve botlar da bundan yararlanır
  • Kötü niyetli bot algılandığında sunucu, botu etkisiz hale getirmek için gzip ile sıkıştırılmış bir dosya sunar
  • Zip Bomb kusursuz bir çözüm değildir, ancak basit botları engellemede etkilidir

Zip Bomb kullanarak sunucuyu korumak

  • Web trafiğinin çoğu botlardan gelir ve bunların bir kısmı kötü niyetli amaçlarla kullanılır
  • Kötü niyetli botlar, sunucudaki açıkları bulup zararlı betikler ekleyerek sunucuyu bir botnet parçasına dönüştürebilir
  • Zip Bomb, küçük bir sıkıştırılmış dosyadır; ancak açıldığında çok büyük bir dosyaya genişleyerek sunucuyu aşırı yükleyebilir

Sıkıştırma teknolojisinin kullanımı

  • gzip, veriyi web üzerinde verimli şekilde aktarmak için kullanılan bir sıkıştırma teknolojisidir
  • Hem web tarayıcıları hem de botlar gzip sıkıştırmasını destekler ve böylece bant genişliğini azami ölçüde kullanır
  • Kötü niyetli bot algılandığında sunucu, botu etkisiz hale getirmek için gzip ile sıkıştırılmış bir dosya sunar

Zip Bomb oluşturma yöntemi

  • dd komutu kullanılarak 10 GB veri oluşturulur ve bu veri gzip ile sıkıştırılarak 10 MB'lık bir dosyaya dönüştürülür
  • Sunucu kötü niyetli isteği algıladığında, botu etkisiz hale getirmek için 10 MB'lık bir Zip Bomb dosyası sunar

Zip Bomb'un sınırları

  • Zip Bomb kusursuz bir çözüm değildir ve bazı botlar bunu algılayıp aşabilir
  • Ancak basit botları engellemede etkilidir ve sunucu koruması için faydalı bir araçtır

İlgili yazılar

  • 1,3 milyon web isteği nasıl işlenir
  • Apache sunucu imzasını değiştirmek
  • Google Analytics'te Do Not Track uyumluluğu

1 yorum

 
GN⁺ 2025-04-30
Hacker News görüşleri
  • Küçükken şaka olsun diye kendi ana sayfama ln -s /dev/zero index.html yaptığımı hatırlıyorum. O zamanlar tarayıcılar bundan hoşlanmıyordu ve sistem bazen takılıyor ya da çöküyordu
    • Daha sonra tarayıcılar gerçek içeriği kontrol etmeye başlayınca bu tür istekleri durdurdu
  • Günümüzde neredeyse tüm tarayıcılar zstd ve brotli destekliyor, bu yüzden bu tür bombalar daha etkili olabilir
    • Eski bir yorumda 1.2M:1 sıkıştırma oranı gösterilmişti ve zstd daha da iyi performans gösteriyor
  • Botlar modern sıkıştırma standartlarını desteklemiyor olabilir
    • Bu, botları engellemek için iyi bir yöntem olabilir: tüm modern tarayıcılar zstd desteklediğinden, beyaz listede olmayan tarayıcı ajanlarına bunu zorunlu kılarsanız scraper'ların kafasını karıştırabilirsiniz
  • Önceki iş yerimde botlar bir WordPress açığını bulup sunucuya kötü amaçlı script enjekte etmişti
    • WordPress kurulumundan sadece 1 saat sonra sunucuya PHP shell dağıtılması deneyimini yaşayan tek kişinin ben olmadığımı fark etmek komik
  • Zip bombaları eğlencelidir. Bir güvenlik ürününde, belirli bir boyutun üzerindeki zip arşivlerini düzgün incelemeyen bir açık bulmuştum
    • Bu yüzden zip bombasını bir Office XML belgesinin içine koyarsanız, kolayca tanınabilecek kötü amaçlı yazılım içerse bile ürün bunu geçiriyordu
  • ssh kullanarak root parolasını tahmin etmeye çalışan ssh istemcilerini çökertmenin bir yolunu bulmuştum
    • Sonuç olarak script kiddie'ler sunucuma ddos saldırısı yaptı
    • Sonra 'kötü aktörleri' tespit edip güvenlik duvarı kurallarıyla IP'lerini engelleme yöntemine geçtim
    • IPV6 yüzünden bu giderek zorlaşıyor
  • Web sayfası yazanlar, insanların göremeyeceği bağlantılarla zip bombası oluşturabilir (beyaz arka plan üzerinde beyaz yazı, hover/click bağlantılarında vurgu yok)
    • Botlar bunu indirip kontrol eder (crawler'lar ve yapay zeka scraper'ları da dahil)
  • Bu bir gzip bombasıdır (normal sıkıştırılmış web sayfaları gibi çalışır), virüs engellemede kullanılan klasik zip dosyası değildir
  • Normal honeypot script'i yerine bunu dağıtmıştım
    • Pek iyi çalışmıyor
    • Web sunucusu loglarında botların 10 megabaytlık zehrin tamamını indirmediğini görebiliyorsunuz
    • Farklı uzunluklarda duruyorlar. Şimdiye kadar 1.5Mb'den fazla aldıklarını hiç görmedim
    • Ya da gerçekten çalışıyor mu? Akışı gerçek zamanlı çözüp çöküyor olabilirler mi? Örneğin, 1.5Mb okumuş gibi kaydedilen bir şey aslında gerçek zamanlı olarak RAM'de 1.5Gb'ye çözülüp çöküyor olabilir mi?
    • Bunu bilmenin bir yolu yok
  • Kısa süre önce Tor Project'in sansür aşma altyapısının, zip bombaları hakkındaki bir blog yazısıyla aynı sitede çalıştırıldığı bir olay yaşanmıştı
    • Google, zip dosyalarından birini crawl edip kötü amaçlı alan adları listesine ekledi ve Tor'un Snowflake aracının önemli bir parçası bozuldu
    • Sorunu çözmek haftalar sürdü
  • Uygulamalarımdan birinde yüklemeleri korumak için 10MB boyutunda sabit boyutlu geçici bir disk bölümü oluşturdum; böylece çok büyük bir dosya yüklenirse etkisi sınırlı kalıyor
  • Yıllar içinde bir araya getirdiğim script'lerle benzer bir iş yapıyorum
    • Her yıl 404 loglarını kontrol edip en popüler açık yolaklarını kara listeye ekliyorum
    • İlgili URL üç kez istenirse, o hostu yalnızca sınırlı meşru yolaklara izin veren bir gri listeye ekliyorum