19
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 OWASP-TR http://www.owasp.org Yazılım Geliştirme Sürecinde Güvenlik Testleri Burak Dayıoğlu, [email protected]

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

  • Upload
    deva

  • View
    59

  • Download
    0

Embed Size (px)

DESCRIPTION

Yazılım Geliştirme Sürecinde Güvenlik Testleri. Burak Dayıoğlu, [email protected]. 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 - PowerPoint PPT Presentation

Citation preview

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

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

The OWASP Foundation

OWASP-TR

http://www.owasp.org

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

Burak Dayıoğlu, [email protected]

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

OWASP-TR

Yazılımları NedenTest Ediyoruz?

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

OWASP-TR

Test Ediyoruz Çünkü ...

Hatasız yazılım geliştiremiyoruz

Ancak Az hatalı Hatanın etkisinin az olduğuyazılımları hedefleyebiliyoruz

Hatasız geliştirecek teknolojimiz olana değin teste devam...

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

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

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

OWASP-TR

%80Bilişim güvenliği ihlallerinin

YAZILIM GÜVENLİĞİproblemlerinden kaynaklananlarının oranı

(Kaynak: Gartner)

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

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

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

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

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

OWASP-TR

Güvenlik Testini Kim Yapar?

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

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

OWASP-TR

Neyi Test Ediyoruz?

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

Buffer overflow Integer overflow Command injection SQL injection LDAP injection Cross-site scripting Format strings HTTP response splitting

Authentication bypass Man in the middle Replay Spoofing Credential management Least privilege violation Password management Privacy violation

Log forging Log flooding Time sync

Deadlocks Race conditions HTTP session fixation Improper thread mgmt Double checked locking

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

OWASP-TR

Genel Yaklaşım

1. Teste konu yazılımı iyice anla2. Hedef için olumsuz neler yapabileceğini

kurgula ve planla3. Kurgu ve planlar ışığında testlerini

gerçekleştir4. Çevrede ne olup bittiğini izle,

gelişmelerden haberdar ol

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

OWASP-TR

Güvenliğe Özel Test Teknikleri

Açık kod ileKod ve tasarım gözden geçirmeleriStatik kod analizi araçlarının kullanılması

Kapalı kod ileTersine Mühendislik ile açık koda dönüştürmeSızma TestleriFuzz testleri

Tüm testler fonksiyonel olmayan testlerdir

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

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

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

OWASP-TR

Statik Kod Analizi Araçları

Kaynak kodu analiz eden araçların kullanımı ile bilindik güvenlik programlama hatalarının tespitiAvantajı: Problemlerin çok hızlı tespitiDezavantajı: Yazılımın “bağlamından” habersiz

olmak

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

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

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

OWASP-TR

Penetrasyon Testleri

Teste Konu

Yazılım

İşletim Sistemi Platformu ve Ağ Altyapısı

Kullanıcı Arayüzü

Ağ İletişim Arayüzü

Web Servisi Arayüzü

Dosya Sistemi Arayüzü

Veritabanı Arayüzü

Ağ İletişim Arayüzü

Web Servisi Arayüzü

Dosya Sistemi Arayüzü

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

OWASP-TR

Fuzz Testleri

Yazılımın arayüzlerindenTümüyle rastgeleKısmen rastgeleveri girişi yapılır, yazılımın davranışı incelenir

Her farklı tür uygulama ve protokol için fuzzer bulmak güç olabilirPek çok modern web tarayıcısının içerisinde

web fuzzer’lar bulunmaktadır

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

OWASP-TR

Özet Olarak

Yazılımları güvenlikleri açısından test etmek zorundayızKaynak kod ve tasarım belgelemesi incelemesiStatik kod analiz araçlarıTersine mühendislikPenetrasyon testleriFuzz testleri

Teknikler geliştirme sürecinin tamamında kullanılabilir

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

OWASP-TR

Daha Fazla Bilgi İçin...

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

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

The OWASP Foundation

OWASP-TR

http://www.owasp.org

Güvenliğiniz Geleceğinizdir