NASIL WEB UYGULAMASI GÜVENLİĞİ UZMANI OLUNUR ? DOĞUŞ ÜNİVERSİTESİ 06.11.2008
Ben Kimim ? Mesut TİMUR Gebze Yüksek Teknoloji Enstitüsü Bilgisayar Mühendisliği, 4.sınıf Pro-G Bilgi Güvenliği ve Araştırma LTD Bilişim Güvenliği Denetimi Uzmanı OWASP Türkiye / Web Güvenliği Topluluğu
İçerik Giriş Neden Web Uygulaması Güvenliği ? Web Uygulaması Teknolojiler Web Uygulaması İç Yapısı 1.Adım Çok Çalışmak Gerek OWASP Neler Yapar ? Summer of Code OWASP-TR Kitaplar 2.Adım : WUG Literatürü SQL Enjeksiyonu Uzaktan Dosya Ekleme Siteler Arası Betik Çalıştırma XSRF 3. Adım : Oyun Zamanı Webgoat Damn Vulnerable Linux 4.Adım : Derinleşmek 5.Adım : Yeni Kalmak
Neden Web Uygulaması Güvenliği ? The Gartner Group states, "Today over 70% of attacks against a company's Web site or Web application come at the 'Application Layer' not the Network or System layer.
Web Uygulaması
Teknolojiler İstemci Taraflı  HTML CSS AJAX JavaScript Sunucu Taraflı CGI Dili PHP Veritabanı MySQL (?)‏ XML
Web Uygulaması İç Yapısı
Temel Kural  Eğer bir konunun güvenliğini öğrenmek istiyorsanız, öncelikli olarak o konuda derinlemesine bilgi sahibi olmalısınız
1.Adım : Çok Çalışmak Gerek İstemci Tarafı Firefox / IE / Opera AJAX CSS Flash HTML/DHTML JavaScript VBScript Ortak Öğeler İletişim Protokolleri HTTP Sunucu Tarafı Web Sunucu IIS / Apache/ Tomcat  Web Programlama Dili Perl / PHP / Ruby / Python ASP.net / JSP Veritabanı   MSSQL / Oracle MySQL / PostgreSQL / DB2 / XML / Access
Web Uygulaması Güvenliği Web application security is the protection of your web application and its resources from threats coming from the Internet, such as stealing ...
OWASP Open Web Application Security Projest (OWASP)‏ Tüm OWASP ürünleri ücretsiz ve açıktır. Güvensiz yazılımların sebep oldukları açıkları bulup, bunlarla mücadele eden bir topluluktur. Kar amacı gütmez Topluluğa ait rakamlar 180+ (Chapter)‏ 30+ Sponsor 50+ Proje 100+ E-posta listesi Aylık bir milyon üzerinde ziyaret
OWASP Neler Yapar? Araçlar Topluluk Dökümanlar Testing Guide Wiki WebGoat WebScarab Bölgeler (chapters)‏ Günlükler (blogs)‏ Çeviriler Konferanslar Forumlar Top 10 Legal AppSec FAQ Metrics … Live CD .NET Research LAPSE …
OWASP - Summer of Code 2008 OWASP da bulunan ve ya ilave edilebilecek projeler geliştirilir. Proje geliştiricilerine maddi destekler sağlanır. Projeler, geliştiricilerinin adlarıyla OWASP sitesinden yayınlanır Projeler açık kaynak kodlu olarak yayınlanır.
OWASP-TR Varolan Projeler WeBekci Jarvinen Çeviri Projesi Sözlük Web Saldırı Olayları Veritabanı SqliBench DB StEv CAMMP SecureImage/JSecureImage/NSecureImage WIVET
OWASP-TR Yeni Projeler WeBekci 2 MSALParser Apache Tomcat Denetim Kılavuzu ve Beti ğ i Uygulama Güvenliği E ğ itimleri  –  Üniversiteler ???
Kitaplar The Web Application Hacker's Handbook: Discovering and Exploiting Security Flaws Stuttard, Dafydd; Pinto, Marcus Hacking Exposed Web Applications Joel Scambray , Mike Shema, Caleb Sima
Kitaplar Essential PHP Security Chris Shiflett  Ajax Security Bill Hoffman, Bryan Sullivan
2.Adım : WUG Literatürü Temel Başlıklar : XSS Enjeksiyon Hataları Zararlı Dosya Çalıştırma Güvensiz Doğrudan Kaynak Referansı  CSRF Bilgi İfşası Yetersiz Kimlik Doğrulama ve Oturum Yönetimi Güvensiz Kriptoğrafik Depolama Güvensiz Bağlantı
SQL Enjeksiyonu Web sunucudan ,arka taraftaki SQL sunucuya giden SQL sorgularını manipüle edebilmek. Yapılabilecekler : Veritabanındaki tüm verilere erişim Veritabanı sunucusunu ele geçirmek
Uzaktan Dosya Ekleme PHP ortamında görülen bir zafiyettir Hedef web sunucuya istenilen dosyanın eklenmesiyle gerçekleştirilebilir. Sunucuya arka kapılar kurulabilir. Yapılabilecekler : Tüm sistemi ele geçirmek
Siteler Arası Betik Çalıştırma Cross site scripting (XSS), bir bilgisayar güvenlik açığıdır. Saldırgan, HTML kodlarının arasına istemci tabanlı kod gömmesiyle, kullanıcının tarayıcısında istediği istemci tabanlı kodu çalıştırabilir. Yapılabilecekler : Oturum çalmak Phishing saldırıları Kurbanın internet tarayıcısı ele geçirmek
3.Adım : Oyun Zamanı Oyun Alanı : Webgoat Damn Vulnerable Linux Hackme Bank
Webgoat Bir OWASP projesidir Web güvenliği ile ilgili aşama aşama zafiyet içeren uygulamalar barındırır Her aşamada, ilgili güvenlik açığı kullanılarak ilerlenmelidir.
Damn Vulnerable Linux Zafiyet içeren gerçek uygulamaları ve saldırı araçlarını barındırır. 0000125: [Web Exploitation] Add Joomla <= 1.0.9 (Weblinks) Remote Blind SQL Injection Exploit 0000126: [Web Exploitation] Add Joomla <=1.0.7 (feed) Denial of Service Exploit 0000123: [Web Exploitation] Add PHPNuke 7.8 0000099: [Web Exploitation] Add PhpBB 2.0.12 Session Handling Authentication Bypass 0000100: [Web Exploitation] Add WordPress 1.5.1.1 SQL Injection 0000101: [Web Exploitation] Add Nabopoll 1.2 Remote File Inclusion, Remote Configuration Disclosure
4. Adım : Derinleşmek Otomatik web uygulaması güvenliği tarayıcıları incelenebilir Ne gibi atak türlerini gerçekliyorlar ? Bu atak türlerini nasıl gerçekliyorlar ? Zafiyet içeren uygulamaların çalıştığı sunuculara web uygulaması güvenlik duvarları kurulabilir Savunma kanadı nasıl çalışıyor ? Aktif saldırıları ne şekilde kestiği görülebilir.
Derinleşmek :: Geliştirme Bir otomatik web uygulaması güvenliği tarayıcısı yazılabilir Bu şekilde ataklar çok daha iyi kavranabilir. Uygulama güvenlik duvarı yazılabilir Savunma teknikleri iyi şekilde etüd edilir. Varolan savunma tekniklerindeki zafiyetler belirlenebilir. Yeni savunma teknikleri geliştirilebilir.
5.Adım : Yeni Kalmak Konsept ile ilgili Maillistler Web siteleri / bloglar Projeler takip edilmeli ve mümkün olduğunca katılımda bulunulmalı. Araştırma yapmak Makale yazıp yayınlamak. Yazılım geliştirme
Demo SQL Injection demonstrasyonu
Teşekkürler Mesut TİMUR [email_address] http://www.owasp.org http://www.webguvenligi.org http://www.h-labs.org

Dogus University-Web Application Security

  • 1.
    NASIL WEB UYGULAMASIGÜVENLİĞİ UZMANI OLUNUR ? DOĞUŞ ÜNİVERSİTESİ 06.11.2008
  • 2.
    Ben Kimim ?Mesut TİMUR Gebze Yüksek Teknoloji Enstitüsü Bilgisayar Mühendisliği, 4.sınıf Pro-G Bilgi Güvenliği ve Araştırma LTD Bilişim Güvenliği Denetimi Uzmanı OWASP Türkiye / Web Güvenliği Topluluğu
  • 3.
    İçerik Giriş NedenWeb Uygulaması Güvenliği ? Web Uygulaması Teknolojiler Web Uygulaması İç Yapısı 1.Adım Çok Çalışmak Gerek OWASP Neler Yapar ? Summer of Code OWASP-TR Kitaplar 2.Adım : WUG Literatürü SQL Enjeksiyonu Uzaktan Dosya Ekleme Siteler Arası Betik Çalıştırma XSRF 3. Adım : Oyun Zamanı Webgoat Damn Vulnerable Linux 4.Adım : Derinleşmek 5.Adım : Yeni Kalmak
  • 4.
    Neden Web UygulamasıGüvenliği ? The Gartner Group states, &quot;Today over 70% of attacks against a company's Web site or Web application come at the 'Application Layer' not the Network or System layer.
  • 5.
  • 6.
    Teknolojiler İstemci Taraflı HTML CSS AJAX JavaScript Sunucu Taraflı CGI Dili PHP Veritabanı MySQL (?)‏ XML
  • 7.
  • 8.
    Temel Kural Eğer bir konunun güvenliğini öğrenmek istiyorsanız, öncelikli olarak o konuda derinlemesine bilgi sahibi olmalısınız
  • 9.
    1.Adım : ÇokÇalışmak Gerek İstemci Tarafı Firefox / IE / Opera AJAX CSS Flash HTML/DHTML JavaScript VBScript Ortak Öğeler İletişim Protokolleri HTTP Sunucu Tarafı Web Sunucu IIS / Apache/ Tomcat Web Programlama Dili Perl / PHP / Ruby / Python ASP.net / JSP Veritabanı MSSQL / Oracle MySQL / PostgreSQL / DB2 / XML / Access
  • 10.
    Web Uygulaması GüvenliğiWeb application security is the protection of your web application and its resources from threats coming from the Internet, such as stealing ...
  • 11.
    OWASP Open WebApplication Security Projest (OWASP)‏ Tüm OWASP ürünleri ücretsiz ve açıktır. Güvensiz yazılımların sebep oldukları açıkları bulup, bunlarla mücadele eden bir topluluktur. Kar amacı gütmez Topluluğa ait rakamlar 180+ (Chapter)‏ 30+ Sponsor 50+ Proje 100+ E-posta listesi Aylık bir milyon üzerinde ziyaret
  • 12.
    OWASP Neler Yapar?Araçlar Topluluk Dökümanlar Testing Guide Wiki WebGoat WebScarab Bölgeler (chapters)‏ Günlükler (blogs)‏ Çeviriler Konferanslar Forumlar Top 10 Legal AppSec FAQ Metrics … Live CD .NET Research LAPSE …
  • 13.
    OWASP - Summerof Code 2008 OWASP da bulunan ve ya ilave edilebilecek projeler geliştirilir. Proje geliştiricilerine maddi destekler sağlanır. Projeler, geliştiricilerinin adlarıyla OWASP sitesinden yayınlanır Projeler açık kaynak kodlu olarak yayınlanır.
  • 14.
    OWASP-TR Varolan ProjelerWeBekci Jarvinen Çeviri Projesi Sözlük Web Saldırı Olayları Veritabanı SqliBench DB StEv CAMMP SecureImage/JSecureImage/NSecureImage WIVET
  • 15.
    OWASP-TR Yeni ProjelerWeBekci 2 MSALParser Apache Tomcat Denetim Kılavuzu ve Beti ğ i Uygulama Güvenliği E ğ itimleri – Üniversiteler ???
  • 16.
    Kitaplar The WebApplication Hacker's Handbook: Discovering and Exploiting Security Flaws Stuttard, Dafydd; Pinto, Marcus Hacking Exposed Web Applications Joel Scambray , Mike Shema, Caleb Sima
  • 17.
    Kitaplar Essential PHPSecurity Chris Shiflett  Ajax Security Bill Hoffman, Bryan Sullivan
  • 18.
    2.Adım : WUGLiteratürü Temel Başlıklar : XSS Enjeksiyon Hataları Zararlı Dosya Çalıştırma Güvensiz Doğrudan Kaynak Referansı CSRF Bilgi İfşası Yetersiz Kimlik Doğrulama ve Oturum Yönetimi Güvensiz Kriptoğrafik Depolama Güvensiz Bağlantı
  • 19.
    SQL Enjeksiyonu Websunucudan ,arka taraftaki SQL sunucuya giden SQL sorgularını manipüle edebilmek. Yapılabilecekler : Veritabanındaki tüm verilere erişim Veritabanı sunucusunu ele geçirmek
  • 20.
    Uzaktan Dosya EklemePHP ortamında görülen bir zafiyettir Hedef web sunucuya istenilen dosyanın eklenmesiyle gerçekleştirilebilir. Sunucuya arka kapılar kurulabilir. Yapılabilecekler : Tüm sistemi ele geçirmek
  • 21.
    Siteler Arası BetikÇalıştırma Cross site scripting (XSS), bir bilgisayar güvenlik açığıdır. Saldırgan, HTML kodlarının arasına istemci tabanlı kod gömmesiyle, kullanıcının tarayıcısında istediği istemci tabanlı kodu çalıştırabilir. Yapılabilecekler : Oturum çalmak Phishing saldırıları Kurbanın internet tarayıcısı ele geçirmek
  • 22.
    3.Adım : OyunZamanı Oyun Alanı : Webgoat Damn Vulnerable Linux Hackme Bank
  • 23.
    Webgoat Bir OWASPprojesidir Web güvenliği ile ilgili aşama aşama zafiyet içeren uygulamalar barındırır Her aşamada, ilgili güvenlik açığı kullanılarak ilerlenmelidir.
  • 24.
    Damn Vulnerable LinuxZafiyet içeren gerçek uygulamaları ve saldırı araçlarını barındırır. 0000125: [Web Exploitation] Add Joomla <= 1.0.9 (Weblinks) Remote Blind SQL Injection Exploit 0000126: [Web Exploitation] Add Joomla <=1.0.7 (feed) Denial of Service Exploit 0000123: [Web Exploitation] Add PHPNuke 7.8 0000099: [Web Exploitation] Add PhpBB 2.0.12 Session Handling Authentication Bypass 0000100: [Web Exploitation] Add WordPress 1.5.1.1 SQL Injection 0000101: [Web Exploitation] Add Nabopoll 1.2 Remote File Inclusion, Remote Configuration Disclosure
  • 25.
    4. Adım :Derinleşmek Otomatik web uygulaması güvenliği tarayıcıları incelenebilir Ne gibi atak türlerini gerçekliyorlar ? Bu atak türlerini nasıl gerçekliyorlar ? Zafiyet içeren uygulamaların çalıştığı sunuculara web uygulaması güvenlik duvarları kurulabilir Savunma kanadı nasıl çalışıyor ? Aktif saldırıları ne şekilde kestiği görülebilir.
  • 26.
    Derinleşmek :: GeliştirmeBir otomatik web uygulaması güvenliği tarayıcısı yazılabilir Bu şekilde ataklar çok daha iyi kavranabilir. Uygulama güvenlik duvarı yazılabilir Savunma teknikleri iyi şekilde etüd edilir. Varolan savunma tekniklerindeki zafiyetler belirlenebilir. Yeni savunma teknikleri geliştirilebilir.
  • 27.
    5.Adım : YeniKalmak Konsept ile ilgili Maillistler Web siteleri / bloglar Projeler takip edilmeli ve mümkün olduğunca katılımda bulunulmalı. Araştırma yapmak Makale yazıp yayınlamak. Yazılım geliştirme
  • 28.
    Demo SQL Injectiondemonstrasyonu
  • 29.
    Teşekkürler Mesut TİMUR[email_address] http://www.owasp.org http://www.webguvenligi.org http://www.h-labs.org