SQL Injection Nedir, Nasıl Çalışır, Nasıl Engellenir?
SQL injection, veri tabanı altyapısına sahip tüm sistemlerde en yaygın görülen siber güvenlik tehdididir. Böyle bir altyapıya sahipseniz mutlaka gerekli önlemleri almalısınız.
Sıkça Sorulan Sorular
SQL injection, veri tabanı altyapısının bulunduğu tüm sistemlerde sıklıkla görülen bir siber güvenlik tehdidi olarak tanımlanır. Siber saldırı düzenleyen kişiler tarafından en çok tercih edilen yöntemlerden biri SQL injection’dır.
SQL injection bir güvenlik açığıdır. Burada web uygulamasında yapılan SQL sorgusuna müdahale edilir ve veri tabanında bulunan verilere yetki dışı erişim sağlanır. Örneğin, bir müşteri sisteme giriş sağlamak için kendi kullanıcı adı ve şifresini girmek durumundadır. Bu şekilde girdiği sistemde yalnızca kendine ait bilgilere erişimi sağlayabilir. Ancak SQL injection yöntemi ile bir saldırgan, pek çok farklı kullanıcının kişisel bilgilerine ve web uygulamasına dair diğer verilere erişim sağlayabilir. Burada meydana gelen SQL injection açığı sayesinde siber saldırı düzenleyen kişiler, verileri diledikleri gibi kullanabilir, farklı bir yere aktarabilir, silebilir ya da değiştirebilir.
SQL aslen “Structured Query Language” ifadesinin kısaltması olarak kullanılır. Türkçe karşılığı ise Yapılandırılmış Sorgu Dili olarak çevrilebilir. SQL, veri yönetimi yapabilmek amacıyla tercih edilen bir dildir. Bu dilin kullanılması yoluyla yönetilen pek çok farklı türde veri tabanı mevcuttur. SQL dilinin kullanılması ile elde edilen komutlar sayesinde veri tabanına yeni verileri ekleyebilir, mevcut olanları silebilir ya da değiştirebilirsiniz. Bunların yanında bu verilerden özel listeler elde edebilmeniz de mümkün olur.
Veri sistemlerinin gelişmesi sonucu bu verileri yönetebilme ihtiyacı SQL dilinin doğmasına sebep olmuştur. Başta matematiksel bir dizilim olarak Square karşınıza çıkar. Sonraki süreçte ise bu dil geliştirilmiş ve Sequel kullanılmaya başlanmıştır. Tüm bu dillerin son hali olarak ise SQL ortaya çıkmıştır.
Büyük çaplı verilerin kolay ve güvenilir şekilde yönetilebilmesi amacı ile SQL dili kullanılır. Bu dili kullanarak tablo olarak karşılaştığınız verileri sorgulama esnekliğine sahip olabilirsiniz. SQL kullanarak veri tabanında sorgu yürütme yoluyla verileri alabilir, veri tabanına kayıt ekleyebilir, burada yer alan kayıtları silebilir ya da güncelleyebilirsiniz.
Bir veri tabanında yeni tablolar elde edebileceğiniz gibi burada yeni veri tabanları da oluşturabilirsiniz. Günümüzde kullanılan açık kaynaklı veri tabanları SQL ile çalışmaktadır. Kurumsal işletmelerin çoğu SQL dili kullanılarak hazırlanan veri tabanlarını tercih etmektedir.
SQL dilinin temel kullanım alanı veri tabanıdır. Bu dili kullanarak kişiler veri tabanında saklanan verilerin işlenmesini sağlar. Verilerin modellenmesinde görev alan SQL dili farklı pek çok veri tabanında kullanılır. SQL dilinin kullanıldığı veri tabanı örnekleri aşağıdaki gibidir:
- Oracle
- MySQL
- Progress
- IBM DB2
- IBM Informix
- Microsoft SQL Server
- Sybase
- Microsoft Access
- Firebird
- PostgreSQL