Web sitenizi ve uygulamalarınızı SQL Enjeksiyon color=#0000ffi saldırılarından korumak 3 bölümlük bir işlemden oluşur:
Sitenizin, SQL Enjeksiyon ve diğer açıklara karşı tam bir güvenlik denetiminin yapılması ile güvenliğinizin mevcut halinin analiz edilmesi.
Web uygulamalarının ve BT altyapısının diğer tüm bileşenlerinin steril olması için en uygun kodlama standartlarının / tekniklerinin kullanılması.
Web bileşenlerindeki her değişiklik veya eklemeden sonra düzenli web güvenlik denetimi uygulanması.
Ek olarak, SQL Enjeksiyon ve diğer tüm hack tekniklerinin kontrolünde aklınızda olması gereken ana ilke şudur: "Web sitesinde güvenli olduğunu düşündüğümüz hangi bölümler hack saldırılarına açık?" ve "Bir uygulamaya hangi veriyi göndererek normalde yapmaması gereken bir şeyi yaptırabiliriz?".
SQL Enjeksiyon açıklarının kontrolü web sitesinin ve web uygulamalarının denetimi ile olur. Manuel açık denetimi karmaşık olabilir ve çok zamanınızı alabilir. Ayrıca yüksek-seviye uzmanlık ve büyük miktarda kodun takip edilmesini ve bilgisayar korsanlarının en son taktiklerinin bilinmesini gerektirir.
Web uygulamalarını denetlemenin en iyi yolu otomatik ve keşifsel (heuristic) web güvenlik tarayıcısı kullanmaktır.
Otomatik web güvenlik tarayıcısı tüm web sitenizi gezer ve SQL enjeksiyon açıklarını test eder. Hangi URL/betiklerin SQL enjeksiyondan etkilendiğini belirtir. Bu sayede hızlı bir şekilde kodu düzeltebilirsiniz. Bir web uygulama tarayıcısı SQL Enjeksiyon açıklarının yanında Çapraz site betik çalıştırma (XSS) ve diğer web güvenlik açıklarını da test eder.
SQL Enjeksiyon için İmza-eşleştirme’ye karşı keşifsel tarama
Pek çok firma otomatik ve periyodik web denetimi ihtiyacını anlamış olsa da pek azı hem hazır gelen hem de özel hazırlanan web uygulamalarını taramanın gerekliliğine inanır. Genel yanlış düşüncelerden biri özel yazılmış web uygulamalarının hack saldırılarından etkilenmeyeceğidir. Bu daha çok "asla benim başıma gelmez" olgusundan ve web sitesi sahiplerinin uygulama geliştiricilerine olan güveninden kaynaklanır.
Bu doküman yazıldığı sırada Google News’te "SQL Injection" kelimeleri için yaptığımız arama 240 sonuç buldu. Secunia ve SecuObs bilinen web uygulamaları için günlük olarak düzinelerce güvenlik açığı rapor etmekte. Ve özel hazırlanmış uygulamaların hack edilmesi ile ilgili örnekler medyada fazla yer almıyor. Bunun sebebi sadece bilinen meşhur firmalar (ör. Choicepoint, AT&T, PayPal) geçtiğimiz bir kaç ay içinde manşet oldular.
Özel yazılmış web uygulamalarının belki de en çok açık içerenler olduğunu anlamak son derece önemlidir. Ve daha çok sayıda bilgisayar korsanının ilgisini çeker çünkü bu tip uygulamaların sıkı testlerden ve kalite güvence işlemlerinden geçmediğini bilirler.
Özel yazılmış bir web uygulamasını sadece imza-tabanlı bir tarayıcı ile taramak SQL Enjeksiyon veya diğer açıklara karşı tam olarak test yapılmaması anlamına gelir.
Bilinen uygulamarın açıklarının bulunduğu bir veritabanı ile test yapmak yeterli değildir. Bu pasif denetimdir çünkü sadece hazır yazılmış uygulamaları içerir ve yeni hack tekniklerinden etkilenen açıklar keşfedilemez. Hack saldırıları test için imza dosyası kullanmayabilir - bilgisayar korsanları bilinen hazır uygulamaların, sistemler ve sunucular üretici firmaları tarafından sık sık yapılan güncellemeler ile güvenli hale getirildiğini bilirler. Bu yüzden özel hazırlanmış uygulamalar onlar için daha uygundur.
Sonuç olarak öncelikli olarak keşifsel (heuristic) tarama metodu (ek olarak imza eşleştirme de) kullanan web uygulama tarayıcıları kullanılmalı.