Veritabanı Testi - Güvenlik
Veritabanı güvenlik testleri, güvenlik mekanizmalarındaki boşlukları bulmak ve ayrıca veritabanı sisteminin güvenlik açıklarını veya zayıflıklarını bulmak için yapılır.
Veritabanı güvenliği testinin ana hedefi, bir sistemdeki güvenlik açıklarını bulmak ve verilerinin ve kaynaklarının olası davetsiz misafirlerden korunup korunmadığını belirlemektir. Güvenlik testi, düzenli olarak gerçekleştirildiğinde potansiyel güvenlik açıklarını etkili bir şekilde tanımlamanın bir yolunu tanımlar.
Aşağıda, veritabanı güvenlik testlerinin gerçekleştirilmesinin temel hedefleri verilmiştir -
- Authentication
- Authorization
- Confidentiality
- Availability
- Integrity
- Resilience
Veritabanı Sistemindeki Tehdit Türleri
SQL Enjeksiyonu
Bu, veritabanı sistemine kötü amaçlı SQL ifadelerinin eklendiği ve veritabanı sisteminden kritik bilgileri almak için yürütüldüğü bir veritabanı sisteminde en yaygın saldırı türüdür. Bu saldırı, kullanıcı uygulamalarının uygulanmasındaki boşluklardan yararlanır. Bunu önlemek için, kullanıcı giriş alanları dikkatlice kullanılmalıdır.
Veritabanında Ayrıcalık Yükseltme
Bu saldırıda, bir kullanıcı veritabanı sistemine zaten bir miktar erişime sahiptir ve bu erişimi yalnızca veritabanı sisteminde bazı yetkisiz faaliyetler gerçekleştirebilmek için daha yüksek bir seviyeye çıkarmaya çalışır.
Hizmet Reddi
Bu tür bir saldırıda, bir saldırgan bir veritabanı sistemini veya uygulama kaynağını meşru kullanıcıları için kullanılamaz hale getirir. Uygulamalar ayrıca, uygulamayı ve bazen tüm makineyi kullanılamaz hale getirecek şekilde saldırıya uğrayabilir.
Verilere Yetkisiz Erişim
Diğer bir saldırı türü, bir uygulama veya veritabanı sistemi içindeki verilere yetkisiz erişim sağlamaktır. Yetkisiz erişim şunları içerir:
- Kullanıcı tabanlı uygulamalar aracılığıyla verilere yetkisiz erişim
- Başkalarının erişimini izleyerek yetkisiz erişim
- Yeniden kullanılabilir istemci kimlik doğrulama bilgilerine yetkisiz erişim
Kimlik Sahtekarlığı
Kimlik Sahtekarlığı'nda bir bilgisayar korsanı, ağ ana bilgisayarlarına karşı saldırılar başlatmak, verileri çalmak veya veritabanı sistemine erişim kontrollerini atlamak için bir kullanıcının veya cihazın kimlik bilgilerini kullanır. Bu saldırının önlenmesi, BT altyapısı ve ağ düzeyinde azaltmalar gerektirir.
Veri Manipülasyonu
Bir veri işleme saldırısında, bir bilgisayar korsanı, bir miktar avantaj elde etmek veya veritabanı sahiplerinin imajına zarar vermek için verileri değiştirir.
Veritabanı Güvenliği Test Teknikleri
Penetrasyon testi
Sızma testi, bir bilgisayar sistemine, güvenlik açıkları bulma amacıyla yapılan, potansiyel olarak ona, işlevselliğine ve verilerine erişim sağlayan bir saldırıdır.
Risk Bulma
Risk Bulma, kaybın türü ve güvenlik açığı oluşma olasılığı ile ilgili riski değerlendirme ve karar verme sürecidir. Bu, organizasyon içinde çeşitli görüşmeler, tartışmalar ve analizlerle belirlenir.
SQL Enjeksiyon Testi
Uygulama alanlarında kullanıcı girişlerinin kontrol edilmesini içerir. Örneğin, ',' veya ';' gibi özel bir karakter girmek bir kullanıcı uygulamasındaki herhangi bir metin kutusuna izin verilmemelidir. Bir veritabanı hatası oluştuğunda, kullanıcı girdisinin daha sonra uygulama tarafından çalıştırılan bazı sorgulara eklendiği anlamına gelir. Böyle bir durumda, uygulama SQL enjeksiyonuna karşı savunmasızdır.
Saldırganlar, sunucu veritabanından önemli bilgilere erişebildiğinden, bu saldırılar veriler için büyük bir tehdittir. Web uygulamanıza SQL enjeksiyon giriş noktalarını kontrol etmek için, bazı kullanıcı girdilerini kabul ederek veritabanında doğrudan MySQL sorgularının yürütüldüğü kod tabanınızdan kodu bulun.
Parantez, Virgül ve Tırnak işaretleri için SQL Enjeksiyon Testi gerçekleştirilebilir.
Şifre Kırma
Bu, veritabanı sistem testi yaparken en önemli kontroldür. Bilgisayar korsanları kritik bilgilere erişmek için bir şifre kırma aracı kullanabilir veya ortak bir kullanıcı adı / şifre tahmin edebilir. Bu yaygın şifreler internette kolayca bulunabilir ve ayrıca şifre kırma araçları ücretsiz olarak mevcuttur.
Bu nedenle, sistemde şifre politikasının korunup korunmadığını test sırasında kontrol etmek gerekir. Herhangi bir bankacılık ve finans uygulaması durumunda, tüm kritik bilgi veritabanı sistemlerinde katı bir şifre politikası belirleme ihtiyacı vardır.
Veritabanı Sisteminin Güvenlik Denetimi
Güvenlik denetimi, gerekli standartlara uyulup uyulmadığını belirlemek için şirketin güvenlik politikalarını düzenli bir zaman aralığında değerlendirme sürecidir. Güvenlik politikasını tanımlamak için iş gereksinimine göre çeşitli güvenlik standartları takip edilebilir ve ardından belirlenen politikaların bu standartlara göre değerlendirilmesi yapılabilir.
En yaygın güvenlik standartlarına örnek olarak ISO 27001, BS15999 vb. Verilebilir.
Veritabanı Güvenliği Test Araçları
Piyasada işletim sistemini ve uygulama kontrolünü test etmek için kullanılabilen çeşitli sistem test araçları bulunmaktadır. En yaygın araçlardan bazıları aşağıda tartışılmaktadır.
Zed Attack Proxy
Web uygulamalarındaki güvenlik açıklarını bulmak için bir sızma testi aracıdır. Geniş bir güvenlik deneyimi yelpazesine sahip kişiler tarafından kullanılmak üzere tasarlanmıştır ve bu nedenle, sızma testinde yeni olan geliştiriciler ve işlevsel test uzmanları için idealdir. Yaygın olarak Windows, Linux, Mac OS için kullanılır.
Paros
Tanımlama bilgileri ve form alanları dahil olmak üzere sunucu ve istemci arasındaki tüm HTTP ve HTTPS verileri bu tarayıcılar kullanılarak yakalanabilir ve değiştirilebilir. Çapraz platform, Java JRE / JDK 1.4.2 veya üstü için kullanılır.
Sosyal Mühendis Araç Seti
Açık kaynak kodlu bir araçtır ve sistem öğesi yerine insan unsurları saldırıya uğrar. Saldırı kodunu içeren e-postalar, java uygulamaları vb. Göndermenizi sağlar. Linux, Apple Mac OS X ve Microsoft Windows için tercih edilmektedir.
Skipfish
Bu araç, sitelerini güvenlik açıklarına karşı taramak için kullanılır. Araç tarafından oluşturulan raporların, profesyonel web uygulaması güvenlik değerlendirmeleri için bir temel oluşturması amaçlanmıştır. Linux, FreeBSD, MacOS X ve Windows için tercih edilir.
Vega
Web uygulamalarındaki SQL enjeksiyonu, siteler arası komut dosyası oluşturma (XSS) ve diğer güvenlik açıklarının örneklerini bulmak için kullanılan açık kaynaklı, çok platformlu bir web güvenlik aracıdır. Java, Linux ve Windows için tercih edilir.
Wapiti
Wapiti, web uygulamasının web sayfalarını tarayan ve veri enjekte edebileceği komut dosyalarını ve formları kontrol eden açık kaynaklı ve web tabanlı bir araçtır. Python ile oluşturulmuştur ve Dosya işleme hatalarını, Veritabanı, XSS, LDAP ve CRLF enjeksiyonlarını, Komut yürütme tespitini tespit edebilir.
Web Bokböceği
Java ile yazılmıştır ve HTTP / HTTPS protokolleri aracılığıyla iletişim kuran uygulamaları analiz etmek için kullanılır. Bu araç öncelikle kendi kendilerine kod yazabilen geliştiriciler için tasarlanmıştır. Bu araç işletim sistemine bağlı değildir.