Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Yazılım Güvenliği Temelleri

29,153 views

Published on

Published in: Technology
  • Be the first to comment

Yazılım Güvenliği Temelleri

  1. 1. Halil ÖZTÜRKCİ, MVP CISSP, CISA,GPEN,CEH,CHFI BT Güvenlik Hizmetleri Direktörü halil.ozturkci@adeo.com.tr
  2. 2. AnkaSec Organizasyon Kurulu Üyesi-İsim Babası☺ Microsoft MVP, Enterprise Security Profesyonel Penetration Tester Adli Bilişim Uzmanı SANS Mentor (www.sans.org) ADEO Kurucu Ortak&Güvenlik Birimi Yöneticisi CISSP, GPEN, CISA, CHFI, CEH
  3. 3. Firewall’um var, güvendeyim. Web sunucularımızın üzerinde en güncel antivirüs yazılımları çalışıyor. Beni mi bulacaklar? XSS’den ne çıkar? Parolaları MD5 ile saklıyoruz. ...
  4. 4. Data thieves steal credit card data from supermarket chain March 18, 2008 Robert McMillan Retailers Hannaford Brothers and Sweetbay admit to being the targets of a massive credit-card data theft disclosed Monday……. stealing an estimated 4.2 million credit and debit card numbers………. some cases of identity theft had been associated with the incident 'BusinessWeek' site hacked September 15, 2008 By Elinor Mills Hackers have broken into BusinessWeek's online site ….. The hackers used an increasingly common form of attack called SQL injection, in which a small malicious script is inserted into a database that feeds information to the BusinessWeek Web site. 11 March 2009 4
  5. 5. 2009’un ilk yarısında çok fazla sayıda otomatik SQL injection saldırıları ile karşılaşıldı. Detaylı analiz için aşağıdaki makaleler bakılabilir. Anatomy of a SQL Injection Incident (March 14, 2008) Anatomy of a SQL Injection Incident, Part 2: Meat (March 15, 2008)
  6. 6. •2009'un ilk yarısında açıklanan zafiyet oranı bir önceki yılın ikinci yarısına oranla %28,4 azalmış durumda. •Açıklanan işletim sistemi zafiyetleri stabil şekilde devam ediyor. •Kaynak:Microsoft Güvenlik İstihbarat Raporu Volume 7
  7. 7. Uygulamalar: İhmal Edilmiş ve Korumasız Sunucular: Saldırı Tespit Sistemleri tarafından korunuyor Network: Firewall’lar tarafından korunuyor Uygulamalar Sunucular Network Taranan 31,373 sitenin %85’inde hacker’lar tarafından kötüye kullanıma sebep olacak ve sonucundaki kritik dataların okunmasına, değiştirilmesine yada transfer edilmesine sebep olacak açıklıklar tespit edilmiştir. -- Web Application Security Consortium
  8. 8. DMZ Güvenilen Kullanıcılar/ Müşteriler İç Network Sadece port 80 ve 443(SSL) açık Sadece Web Server Uygulama Sunucusuna erişebiliyor Internet (veya Intranet) Web Server Hacker Application Server Database Server
  9. 9. “Risk” “Güvenlik Zafiyeti” Görev-Kritik Uygulamarın Hizmet Verememesi Cross-Site Request Forgery (CSRF) Hasta, müşteri yada kredi kart bilgilerinin yetkisiz kişilerin eline geçmesi Yansımaları Session Hijack Uyumluluk Kaybı Kazanç Kaybı Yasal Mesuliyet Telif Hakları Open Redirect Insecure Data Storage Müşteri inancının zedelenmesi
  10. 10. Unvalidated Input Broken Access Control Broken Authentication and Authorization Cross Site Scripting (XSS) Buffer Overflows Injection Flaws Improper Error Handling Insecure Storage Denial of Service Insecure Configuration Management http://www.owasp.org/documentation/topten.html
  11. 11. Güvenlik Uzmanları -Biz yazılımdan anlamayız ki! Yazılım Geliştiriciler Birisi bu boşluğu doldurmalı -Motivayonum fonksiyonel yazılım geliştirmek. Güvenli yazılım nasıl geliştirilir ki!
  12. 12. ? ? JAVA ? JAVA FLASH PHP PHP ? PHP ? .NET JAVA ASP FLASH JAVA Web Services .NET Web Services Web Services FLASH ASP ? JavaScript PHP Web Services JavaScript JavaScript FLASH ? JAVA FLASH ? ? PHP JavaScript Şirketleri ve Kurumların birçoğunda 100'lerce, 1000'lerce web uygulaması var ve bu sayı gün geçtikçe artıyor! HANGİ uygulamalarım var? HANGİ uygulamaların kritik/değerli veri içeriyor? NASIL güvenlik kapsamını genişletebilirim? NEREYE yoğunlaşmalıyım?
  13. 13. Gerçeklenen Fonksiyonellik İstenen Fonksiyonellik
  14. 14. Gerçeklenen Fonksiyonellik İstenen Fonksiyonellik Sahib Olunan Özellikler İstenmeden Gerçekleştirilen ve Dokümante Edilmemiş Fonksiyonellik Bug’lar
  15. 15. Uygulama çalışır durumdayken testler gerçekleştirilir. Testler Uygulama Güvenlik Zafiyet Tarayıcıları tarafından gerçekleştirilir. Genellikle uygulamalardaki teknik hataları, sıkıntıları black-box yöntemiyle bulma yönünde motive olmuşlardır. Öncelikle test edilecek uygulama crawl edilerek bütün input noktaları tespit edilir. 2006 yılında Gartner tarafından yapılan analizde Uygulama Güvenlik Tarayıcılar için aşağıdakiler öngörülmekteydi; 2010 yılına kadar web uygulamalarını bir uygulama güvenlik tarayıcı ile tarayan kurumlarıın uygulamalarındaki zafiyetlerin kötüye kullanım oranı %70’e yakın azalma gösterecek. 2008 yılı sonuna kadar enterprise segmentteki firmaların %40'ı web uygulama güvenlik tarayıcılarını geliştirme süreçlerine entegre edecekler.
  16. 16. Güvenlik Uzmanı HP WebInspect Web Application Results - “Black Box” olarak adlandırılır - 1 konu başlığı birden fazla problemi işaret ediyor olabilir - Bir çok farklı konu başlığı tek bir problemi işaret ediyor olabilir. - Yazılım Geliştiricilere Verilen - URL’ler ve kullanılan hacking tekniği - Doğrulama için gerekli değerler Yazılımcı 21
  17. 17. Güvenlik Uzmanı Yazılımcı 22
  18. 18. Güvenlik Uzmanı HP WebInspect Web Application Source Code Results Hybrid Results Results Fortify Source Code Analysis Yazılımcılar 23
  19. 19. Fortify Runtime Analysis Pen Tester HP WebInspect Results Hybrid+ Results Web Application Source Code Results Fortify Source Code Analysis Yazılımcı 24
  20. 20. • “Runtime Data” olarak adlandırabileceğimiz Stack Trace’ler, Oturum Bilgileri, Parametreler ve Değişken Değerleri Runtime Analysis üzerinden geliyor. • Fortify Runtime Analysis + WebInspect = Hybrid 2.0 • SAST/DAST sonuçlarını uygun şekilde ortüştürmek için Runtime Analysis ‘e ihtiyaç var. • Runtime Analysis güvenlik testi yapanlara ve uygulamayı geliştirenlere tespit edilen zafiyetlere uygulama içinden bakabilme imkanı tanır. 25
  21. 21. 2010 yılınndan itibaren DAST ve SAST üreticileri hibrid bir yaklaşıma olan static ve dinamik uygulama güvenlik testi yaklaşımına doğru kayacaklar. 2010 yılından itibaren lider uygulama güvenlik test aracı üreticileri SaaS (Software as a Service) yaklaşımı çerçevesinde servis olarak müşterilerine bu hizmetleri sunmaya başlayacaklar. 2013 yılı içerisinde SAST (Static Application Security Testing) ürünleri markette standalone bir ürün olmaktan çıkıp teknoloji ve servis üreticisi firmaların yazılım yaşam döngüsü (SLC-Software Life Cycle) platformlarına entegre ettikleri bir teknoloji olarak yaşamlarını sürdürecekler.
  22. 22. Gelişmiş bir Uygulama Güvenliği Programı’nı inşa etmek, bir uygulama zafiyet tarayıcısını alıp çalıştırmak ya da bir WAF'ı devreye almak kadar kolay bir süreç değildir Güvenli yazılım geliştirmek için her adımında güvenliği de hesaba katan birYazılım Geliştirme Yaşam Döngüsü'ne ihtiyaç vardır. Güvenli yazılım geliştirme sürecini sürekli hale getirmek için gerek organizasyonun yapısından gerek kurum kültüründen gerekse de iş baskısından kaynalanan sıkıntılar adreslenmelidir ve çözülmelidir.

×