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.