Yazılımları Neden Test Ediyoruz? Test Ediyoruz Çünkü



Yüklə 0,97 Mb.
tarix12.10.2018
ölçüsü0,97 Mb.
#73230
növüYazı


Yazılım Geliştirme Sürecinde Güvenlik Testleri


  • Yazılımları Neden

  • Test Ediyoruz?



Test Ediyoruz Çünkü ...

  • Hatasız yazılım geliştiremiyoruz

  • Ancak

    • Az hatalı
    • Hatanın etkisinin az olduğu
    • yazılımları hedefleyebiliyoruz
  • Hatasız geliştirecek teknolojimiz olana değin teste devam...



Farklı Test Kategorileri

  • İşlevsellik

  • Performans

  • Erişilebilirlik (accessibility)

  • Uluslararasılaştırma (i18n)

  • Güvenlik

  • Her test kategorisi hata bulmayı hedeflemez; bazıları beklentileri karşılama düzeyini belirlemek içindir



%80

  • %80



Güvensizliğin Bedeli

  • Yazılımların güvenlik problemlerinin bedelleri çok ağır olabilir

    • Ölüm ve yaralanma
    • Ulusal güvenlik zafiyetleri
    • Finansal kayıplar
    • İtibar kaybı
    • Kıymetli bilgilerin çalınması
    • ...


İşimizi Yazılım Taşıyor

  • Tüm kritik iş süreçleri bilgisayar yazılımları ile destekleniyor

  • Yazılımların güvenliğinin sağlanması artık çok daha önemli



Güvenlik Testini Kim Yapar?

  • Geliştiriciler

  • Test uzmanları

  • Meraklılar

  • Güvenlik denetim firmaları

  • Suç işleyecekler / suç örgütleri



Neyi Test Ediyoruz?

  • Girdi denetimi

  • Doğrulama/yetkilendirme

  • Kayıt tutma

  • Zaman/durum yönetimi

  • ...



Genel Yaklaşım

  • Teste konu yazılımı iyice anla

  • Hedef için olumsuz neler yapabileceğini kurgula ve planla

  • Kurgu ve planlar ışığında testlerini gerçekleştir

  • Çevrede ne olup bittiğini izle, gelişmelerden haberdar ol



Güvenliğe Özel Test Teknikleri

  • Açık kod ile

  • Kapalı kod ile

    • Tersine Mühendislik ile açık koda dönüştürme
    • Sızma Testleri
    • Fuzz testleri
  • Tüm testler fonksiyonel olmayan testlerdir



Kod/Tasarım Gözden Geçirmesi

  • Yazılım kaynak kodunun ve tasarım belgelemesinin “okunması”

    • Avantajı: Çok etkili
    • Dezavantajı: Ölçeklenemiyor


Statik Kod Analizi Araçları

  • Kaynak kodu analiz eden araçların kullanımı ile bilindik güvenlik programlama hatalarının tespiti

    • Avantajı: Problemlerin çok hızlı tespiti
    • Dezavantajı: Yazılımın “bağlamından” habersiz olmak


Tersine Mühendislik

  • Yönetilen platformlar yaygınlaşıyor

  • Binary’lere sahipseniz (genellikle) kaynak koda dönebilirsiniz

    • Reflection yolu ile
    • Kod karıştırıcılar kullanılmadı ise


Penetrasyon Testleri



Fuzz Testleri

  • Yazılımın arayüzlerinden

    • Tümüyle rastgele
    • Kısmen rastgele
    • veri girişi yapılır, yazılımın davranışı incelenir
  • Her farklı tür uygulama ve protokol için fuzzer bulmak güç olabilir

    • Pek çok modern web tarayıcısının içerisinde web fuzzer’lar bulunmaktadır


Özet Olarak

  • Yazılımları güvenlikleri açısından test etmek zorundayız

    • Kaynak kod ve tasarım belgelemesi incelemesi
    • Statik kod analiz araçları
    • Tersine mühendislik
    • Penetrasyon testleri
    • Fuzz testleri
  • Teknikler geliştirme sürecinin tamamında kullanılabilir



Daha Fazla Bilgi İçin...



Güvenliğiniz Geleceğinizdir



Yüklə 0,97 Mb.

Dostları ilə paylaş:




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©genderi.org 2024
rəhbərliyinə müraciət

    Ana səhifə