Web Güvenlik Taramalarındaki Uyumsuzluğu Çözme

Robert Abela - 23 Şubat 2017 -

Sunucu sorunları, bağlantı problemleri gibi sebeplerden dolayı yaptığınız iki farklı tarama, birbirinden farklı neticeler verebilir. Hatalı tarama sonuçlarının neden oluştuğunu ve bu sorunların nasıl tespit edilip çözüme kavuşturulacağını bu yazımızla öğrenebilirsiniz.

Web Güvenlik Taramalarındaki Uyumsuzluğu Çözme

Netsparker, black box türünde bir web zafiyet ve güvenlik tarayıcısıdır. Gerçek bir saldırganın yaptıklarını taklit ederek çalışır. Zafiyetleri ve diğer muhtemel güvenlik problemlerini tespit etmek için hedef siteye bir dizi HTTP isteği gönderir ve web uygulamasından gelecek olan yanıtları bekler.

Birkaç dakika içinde büyük miktarda istekler gönderebilir. Bunu otomatik olarak yapar. Her şey otomatize edilmiş olduğundan, aynı web sitesine ait iki taramanın farklı sonuçlara sahip olması gibi, bazen tarama sonuçlarını etkileyen birtakım faktörler oluşabilir. Aşağıda, taramalarınızın sonuçlarını etkileyen bazı etmenlerin bir listesi verilmiştir. Böylelikle karşılaştığınız uyumsuz tarama sonuçları hakkındaki problemleri bu listeden yararlanarak çözebilirsiniz:

Sunucu Taraflı Problemler

  • Sunucu yükü: Şayet sunucu kaynaklarını tüketirse, web uygulaması tarayıcıdan gelen tüm HTTP isteklerine cevap veremeyebilir. Nitekim böyle bir durumda zaman aşımı hataları ortaya çıkar. Bunun olmasının sebebi Netsparker’ın web uygulamasını farklı şekillerde tetiklemesidir. Bundan dolayı uygulama sunucusunda, veri tabanı sunucusunda ya da diğer bileşenlerde olağanüstü bir CPU kullanımını fark edebilirsiniz.
  • Oturum problemleri, veri tabanı sunucusu yükü, güncel CPU yükü vb. nedenlerden dolayı meydana gelen HTTP 500/Internal Server Hataları.
  • Web sunucusundaki hata giderme özellikleri, sunucuyu yeniden başlatma, application memory recycle gibi nedenlerden dolayı oturumun sonlanması ya da tarayıcının oturumu yeniden oluşturamaması.
  • Farklı caching (önbellekleme) algoritmaları.
  • Web Güvenlik Duvarı, IPS veya tarayıcının HTTP isteklerini engelleyen diğer güvenlik yazılımları.

Yukarıda bulunan tüm etmenler tarayıcının isteklerini engelleyebilir ya da web uygulamasının bu isteklere yanıt verememesine neden olabilir. Eğer tarayıcı bu HTTP isteklerinin herhangi birinden yanıt alamazsa, uygulamada zafiyet olup olmadığını belirleyemez. Farklı tarama sonuçları elde etmenizin sebebi budur.

Bağlantı Problemleri

  • Karşıt Proxy / Proxy bağlantı arızaları,
  • Geçici Internet bağlantısı bozuklukları,
  • HTTP zaman aşımları (sunucu kaynaklı ya da iletişimle alakalı problemlerin neden olduğu),
  • Yük dengeleyiciler: Neredeyse kesin denebilecek problemler meydana getirirler ve farklı tarama sonuçlarına neden olurlar. Bu gibi durumlarda siteyi, yük dengeleyicisini bypass edip direkt olarak taratmalısınız.

Tarama Sonuçlarını Nasıl İyileştirebilirsiniz?

Uyumsuz tarama sonuçları elde ediyorsanız şunları deneyin:

  • Scan Speed (Tarama Hızı) değerini diğer bir deyişle eş zamanlı bağlantıların (concurrent connections) sayısını düşürme. Tarama hızını düşürmek için Scan Policy Editor’u açın, HTTP seçeneğine tıklayın ve aşağıda işaretlenmiş olan Concurrent Connections kaydırıcısını ayarlayın. Bunu tarama esnasında da yapabilirsiniz.

Netsparker'ın Bir Uygulama Tararken Kullanacağı Concurrent Connections Miktarını Belirleyin

  • Uygulama ve veri tabanı sunucusunu izlemek, sunucuların aşırı yüke maruz kalmadığından emin olmak. Kaynakların aniden yükselmesine dair emareler fark ederseniz, bunun hangi sayfalarda yaşandığını tarama sırasında izleyin.
  • Netsparker ve hedef site arasındaki bağlantıya olan müdahalenin minimum olduğundan emin olun. Proxy’ler, web güvenlik duvarları, ağ güvenlik duvarları, izinsiz girme tespit ve önleme sistemleri gibi ağ bileşenlerinin tümü bağlantıyı zayıflatabilir, isteklerin düşmesine veya engellenmesine neden olabilir.

Problemi Teşhis Etmek

Problemi tespit etmeniz ve bunu çözmeniz için birtakım tüyolar aşağıda verilmiştir. Taramaların sadece birinde tespit edilen zafiyetlerin HTTP İstek ve Yanıtlarını kontrol edin.

  • Bütün yanıtlar beklendiği gibi mi görünüyor?
  • Aynı isteği birden fazla kez gönderdiğinizde her zaman aynı yanıtı alıyor musunuz? Bunu, isteği HTTP Request Builder aracına aktararak test edebilirsiniz.
  • Taramada tespit edilen zafiyetteki saldırıya açık link, dosya ya da parametreler rapor edilmemiş miydi? Bunun kontrolünü iki taramada da Sitemap ve HTTP Referer’ı gözden geçirerek sağlayabilirsiniz.

Esas problemi çözemezseniz, bizimle iletişime geçin. Yardım etmekten mutluluk duyarız.