SQL İnjection (SQLi) Nedir ?

SQL İnjection (SQLi), görüntülenmesi isteyenmeyen bilgilere erişmek için backend veritabanı manipülasyonu için kötü amaçlı SQL kodu kullanan yaygın bir saldırı türüdür. Bu bilgiler;Hassas Şirket Verileri, Finansal Veriler,Kullanıcıya Ait Kişisel Bilgiler,Özel Müşteri Bilgileri dahil olmak üzere çeşitli birçok fazla bilgiyi içerebilir. SQL İnjection saldırısı kurum ve kuruluşlar için çok tehlikelidir ve etkisi çok büyüktür. Kötü niyetli kişi veya kişiler tarafından başarılı bir şekilde gerçekleştirilmiş saldırı ile bilgisayar korsanları SQL veritabanındaki bilgilerin listesini çekebilir. Sadece bu kadarı ile kalmayarak SQL veritabanı üzerinde bulunan tüm tabloları görüntüleyebilir, silebilir veya üzerinde değişiklikler yapabilir. Ya da bir güvenlik açığı ile veritabanı yöneticisi ile aynı yetkilere sahip olabilir.

SQL Sorgusu Nedir ?

SQL, verileri yönetmek, veritabanı üzerinde düzeni sağlamak ve tasarlamak için kullanılan bir dildir. Aynı zamanda “Yapısal Sorgu Dili” anlamına gelmektedir. Her ne kadar birçok kişi SQL’i programlama dili olarak tanımlasada SQL bir programlama dili değildir. SQL sorguları sayesinde ilişkisel veritabanlarını çok rahat bir şekilde başa çıkabilirsiniz.  SQL sorguları ile veritabanına kayıt ekleyebilir, arayabilir, güncelleyebilir ve silebilirsiniz. SQL veritabanlarının optimizasyonu ve bakımı da dahil olmak üzere birçok işlemi yapabilir.

SQL İnjection Saldırısının Etkileri Nelerdir ?

Başarılı bir şekilde gerçekleşmiş olan SQL İnjection (SQLi) saldırısı, önemli kullanıcı şifreleri, kredi kartı bilgiler ve kişisel ve özel bilgilere yetkisiz erişim sağlanmasına neden olabilir. Şimdiye kadar duymuş olduğunuz ve bizimde blogumuzda yer vermiş olduğumuz birçok veri ihlalleri bulunmakta örnek verecek olursak; Promo, DigitalOcean, Google Firebase ve Twitter gibi birçok büyük şirket de bu konulardan nasibini almıştır. Bu ise şirketlerde itibar kaybına, finansal zarara sebep olabilir. Sadece bununla kalmayarak kötü niyetli kişiler kurum veya kuruluşun sistemlerde kalıcı bir arka kapı (backdoor) elde edebilir.

SQL İnjection (SQLi) Saldırıları Nasıl Önlenir ?

Eğer böyle bir durumla karşılaşırsanız, SQLi saldırıları ‘nın gerçekleşmesini engellemek veya korunmak için birkaç etkili yol bulunmaktadır. 

  • Kullanıcıya Güvenme : Kullanıcılar tarafından gönderilen verilere direkt olarak veritabanına yazmayın. Tüm verilerin kötü olabileceğini düşünerek verileri doğrulayın ve sterilize edin yani kötü amaçlı verilerden arındırın.
  • Güncelleme ve Düzeltme Eklerini Takip Edin : Bilgisayar korsanlarının ( Kötü Niyetli Kişi ) SQL İnjection’ı kullanarak yararlanabileceği uygulama ve veritabanlarındaki güvenlik açıkları düzenli olarak keşfedilmekte bu gibi durumlarda düzeltme ekleri ve güncellemeler yayınlanmakta bunları ise en kısa zamanda uygulamakta SQL İnjection saldırılarını önlemek için çok önemli bir etkendir.
  • Güvenlik Duvarı Kullanın : Kötü amaçlı verilerin filtrelenmesi ve engellenmesi için bir ekstra yardımcı olarak yazılım ve web tabanlı uygulamalar için güvenlik duvarı (WAF) kullanın. WAF’lar aynı zamanda güvenlik açıklarının yamaları yayınlanmadan önce bir miktar güvenlik sağlayabilir.
  • Özel Bilgileri Gizli Tutun : Veritabanınız üzerindeki kesinlikle açığa çıkmaması gereken verileri şifreleyin veya kendi özel algoritmanız ile karmaşık bir veri haline getirin.
  • Kullanacağınız Yazılımı İyi Seçin : Mümkünse ücretli ve gerçekten iyi bir hizmet sağlayan veritabanı yazılımları kullanın, erken karar vermeden karşılaştırmalar ve incelemeler yapın.
  • Belirli Süreçlerde Şifre Değişikliği İsteyin : Uygulamanız veya hizmetiniz için kullanıcılar tarafından belirli aralıklarla şifrelerini sıfırlamalarını isteyin.

Bahsetmiş olduğumuz önlemleri aldığınızda kesinlikle karşılaşmazsınız diyemeyiz fakat riski azaltmış olursunuz. Eğer sizinde önerileriniz bulunuyorsa yorum yazarak bize iletebilirsiniz.