Yazılım Geliştirme Sürecinde Güvenlik Testleri Burak Dayıoğlu, [email protected] OWASP-TR Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms.

Download Report

Transcript Yazılım Geliştirme Sürecinde Güvenlik Testleri Burak Dayıoğlu, [email protected] OWASP-TR Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms.

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

Burak Dayıoğlu, [email protected]

OWASP-TR

Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License.

The OWASP Foundation

http://www.owasp.org

Yazılımları Neden Test Ediyoruz?

OWASP-TR

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...

OWASP-TR

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

OWASP-TR

Bilişim güvenliği ihlallerinin

%80

problemlerinden kaynaklananlarının oranı (Kaynak: Gartner)

OWASP-TR

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ı ...

OWASP-TR

İş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

OWASP-TR

Güvenlik Testini Kim Yapar?

 Geliştiriciler  Test uzmanları  Meraklılar  Güvenlik denetim firmaları  Suç işleyecekler / suç örgütleri

OWASP-TR

Neyi Test Ediyoruz?

 Girdi denetimi  Doğrulama/yetkilendirme  Kayıt tutma  Zaman/durum yönetimi  ...

OWASP-TR

Genel Yaklaşım

1. Teste konu yazılımı iyice anla 2. Hedef için olumsuz neler yapabileceğini kurgula ve planla 3. Kurgu ve planlar ışığında testlerini gerçekleştir 4. Çevrede ne olup bittiğini izle, gelişmelerden haberdar ol

OWASP-TR

Güvenliğe Özel Test Teknikleri

 Açık kod ile  Kod ve tasarım gözden geçirmeleri  Statik kod analizi araçlarının kullanılması  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

OWASP-TR

Kod/Tasarım Gözden Geçirmesi

 Yazılım kaynak kodunun ve tasarım belgelemesinin “okunması”  Avantajı: Çok etkili  Dezavantajı: Ölçeklenemiyor

OWASP-TR

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

OWASP-TR

Tersine Mühendislik

 Yönetilen platformlar yaygınlaşıyor  Java JRE, .Net CLR, Macromedia Flash  Binary’lere sahipseniz (genellikle) kaynak koda dönebilirsiniz  Reflection yolu ile  Kod karıştırıcılar kullanılmadı ise

OWASP-TR

Penetrasyon Testleri

Kullanıcı Arayüzü Ağ İletişim Arayüzü Web Servisi Arayüzü Dosya Sistemi Arayüzü Teste Konu

Yazılım

Veritabanı Arayüzü Ağ İletişim Arayüzü Web Servisi Arayüzü Dosya Sistemi Arayüzü İşletim Sistemi Platformu ve Ağ Altyapısı

OWASP-TR

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 bulmak güç olabilir

fuzzer

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

OWASP-TR

Ö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

OWASP-TR

Daha Fazla Bilgi İçin...

OWASP-TR

Güvenliğiniz Geleceğinizdir

OWASP-TR

Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License.

The OWASP Foundation

http://www.owasp.org