Gönderen Konu: Snort + Regex ile SQL Injection ve XSS saldırılarının tespiti  (Okunma sayısı 196 defa)

GuvenliHost

  • Yönetici
  • Kahraman Üye
  • *****
  • İleti: 514
  • Karma +10/-0
    • Profili Görüntüle
1. Giriş
Geçtiğimiz yıllarda web uygulama katmanına yapılan saldırılar büyük sayıda bir artış gösterdi. Bunun sebebi de, güvenlik duvarınızdaki kural tabanınız ne kadar güçlü olursa olsun veya yama yöneteminiz ne kadar düzgün olursa olsun, eğer web uygulama geliştiricileriniz güvenlik kodlama tekniklerini uygulamazlarsa saldırganların port 80 üzerinden sistemlerinize sızabilmesidir.
Geniş çapta kullanılan başlıca saldırı teknikleri SQL Enjeksiyoni (SQL Injection) ve XSS (Cross Site Scripting) saldırılarıdır. SQL Enjeksiyon tekniği arka plandaki SQL sorgularının çalışmasında değişiklik yapmak için Web-tabanlı giriş alanlarına SQL meta-karakterleri ve komutları yerleştirmektir. XSS saldırıları URL'lere script tag'leri yerleştirerek durumdam şüphelenmeyen kullanıcıların tıkladıklarında, sistemlerinde bu javascript kodunun çalıştırılması ile gerçekleştirilir.
 Bu makale de SQL enjeksiyon ve XSS saldırılarının tespiti teknikleri anlatılacaktır. Bu iki saldırı kategorisi üzerine, nasıl gerçekleştirilebilecekleri, etkileri ve doğru kodlama ve dizayn teknikleri ile nasıl engellenebileceği konusunda çok sayıda tartışma yapıldı. Fakat bu saldırıların nasıl tespit edileceği konusunda yeterli tartışma yapılmadı. Popüler açık-kaynak kodlu saldırı tespit sistemi (IDS) Snort'u alacağız ve regular-expression tabanlı kurallar ile bu saldırıların nasıl tespit edileceğini anlatacağız. Aslında, Snort varsayılan kural setleri xss saldırılarını tespit için imzalar taşımakta fakat bunlar kolayca aşılabilmekte. Çoğu da string'lerin hex-kodlanmış değerleri girilerek aşılabilmekte. ör. gibi basit bir script tag i deneyebilir. Bu denemeler kolayca tespit edilebilir. Fakat saldırgan yazdıklarının tümünü hex karşılıkları ile gizleyebilir. Böylece