WEB UYGULAMA GÜVENLİĞİ HAKKINDA. Mesut Güngör İzmir Yüksek Teknoloji Enstitüsü Bilgi İşlem Daire Başkanlığı



Benzer belgeler
Güvenlik Java ve Web Uygulama Güvenliği

VERİ GÜVENLİĞİ. Web Uygulamaları Güvenliği. Özer Çelik Matematik-Bilgisayar Bölümü

Tanımı Problemi 46 Şüpheci Yaklaşım 47 Tamsayı Taşması (Integer Overflow) 47 Tamsayı Taşması Java Uygulaması 48

Yazılım Geliştirme Sürecinde OWASP Projeleri

Web Uygulama Pentest Eğitimi

Web Uygulama Güvenliği Kontrol Listesi 2010

Halil ÖZTÜRKCİ, MVP CISSP, CISA,GPEN,CEH,CHFI BT Güvenlik Hizmetleri Direktörü

Web Application Penetration Test Report

WEB SUNUCU GÜVENLİĞİ: Web Siteleri Neden Hacklenir?

Web Uygulamaları Güvenlik Denetimi. Fatih Özavcı

1 WEB GÜVENLIĞINE GIRIŞ

Medula Eczane Stok Bilgileri Web Servisleri Kullanım Kılavuzu

CODEIGNITER SEMINERI KÜTÜPHANE YAZMA GÜVENLIK ÖNLEMLERI CODEIGNITER 2.0

SÜRE BAŞLAMA TARİHİ : 19/12/2018 BİTİŞ TARİHİ : 20/02/2019 KURS SÜRESİ : 144 Saat KURS NO :

Her Yönüyle SQL Enjeksiyonu. OWASP-Türkiye Bünyamin Demir

KISIM I: HACKING B R ALAN OLARAK GÜVENL K

Bölüm 10: PHP ile Veritabanı Uygulamaları

Web 2.0 Örnek Eğitim Notu

CSRF (XSRF, Cross Site Request Forgery Cross Site Reference Forgery ) Nedir? Nasıl Kullanılır? ve Nasıl Korunulur?

[ Web Uygulama Güvenliği #101 ] Mehmet Ince mehmet.ince@bga.com.tr

Web Uygulamaları Güvenlik Denetimi. Fatih Özavcı

PHP ile Web Uygulama Güvenliği

ÖRÜN (WEB) GÜVENLİĞİ. Hazırlayan: Arda Balkanay

Spring Security Framework Harezmi Bilişim Çözümleri

(W)eb (A)pplication (F)irewall Bypass

Dokuz Eylül Üniversitesi Bilgi İşlem Dairesi Sunum konusu: Web Güvenliği

Web Uygulamalarınız Ne Kadar Güvende?

Web Güvenliği Topluluğu webguvenligi.org Web Uygulama Güvenliği Kontrol Listesi 2012

Ağ Yönetiminin Fonksiyonel Mimarisi

Bilgi Sistemleri ve Güvenliği

ELEKTRONİK SAĞLIK KAYITLARI GÜVENLİĞİNDE IEEE 802.1x STANDARDININ KULLANILMASI

Yukarıdakilerden hangileri DML (Data Manipulation Language) ile gerçekleştirilir?

Özgür Uygulamalar ile Web Güvenliği. The OWASP

BLIND SQL INJECTION SALDIRILARI

YAZILIM GÜVENLİĞİ POLİTİKASI 1/6. Doküman No : Yayınlandığı Tarih: Revizyon No: 00

Başlangıç Ayarları.

Öğr. Gör. Serkan AKSU 1

YAZILIM GÜVENLİK TESTLERİ. H A L D U N T E R A M A N h a l d u n t e r a m a g m a i l. c o m

BioAffix Ones Technology nin tescilli markasıdır.

Php Programlama Dili MySQL Uygulamaları

İNTERNET PROGRAMCILIĞI HAFTA MYSQL - PHPMYADMIN. Hazırlayan Fatih BALAMAN. İçindekiler. Hedefler. Mysql Nedir.

HP PROCURVE SWITCHLERDE 802.1X KİMLİK DOĞRULAMA KONFİGÜRASYONU. Levent Gönenç GÜLSOY

a) Kod Doğruluğu: GC.Collect() çağırma Özet Çöp Toplayıcı(Garbage Collector) için açık istekler olası performans sorunlarını gösterir.

Module 2 Managing User And Computer accounts

Ortamınızda A.D. veya LDAP sistemi var ise aşağıdaki linkten KoruMail LDAP-AD isimli dokümanı inceleyebilirsiniz.

Labris Teknoloji YAZILIMI GÜVENLİĞİ YAKLAŞIMI

Selective Framebusting

BÖLÜM- 9: KULLANICI ERİŞİMLERİNİ YÖNETMEK

DESTEK DOKÜMANI. GOWeb programının çalıştırılabilmesi için sırasıyla aşağıdaki servis ve programların ilgili makinada kurulu olması gerekmektedir.

Üst Düzey Programlama

MVC Kul anıcı Doğrulama ve Yetkilendirme MVC Filtreler Action Filter FilterAttribute IActionFilter FilterAttribute IActionFilter

1 WINDOWS SERVER 2012 GENEL BAKIŞ 1 Giriş 1 Bu Kitapta 5 Çıkış Hikâyesi 6 Sürümler 7

Özgür Yazılımlar ile Statik ve Dinamik Kod Güvenliği Analizi Emre Evren Yalçın

NJ/NX Güvenlik Seçenekleri

Doküman JETSMS XML Mesaj Đşlemleri Yardım Dokümanı Tarih Sürüm 1.1.0

İNTERNET PROGRAMLAMA II. Tanımlar

08217 Internet Programcılığı II

Proceedings/Bildiriler Kitabı II. YAZILIM G M I. G September /Eylül 2013 Ankara / TURKEY ULUSLARARASI

MOBİL UYGULAMA GELİŞTİRME

Veri Tabanı-I 1.Hafta

Web Uygulamaları Mimarileri ve Güvenliği

ÇÖZÜM BİLGİSAYAR KOLAY RANDEVU RANDEVU WEB SERVİSLERİ YAZILIM FİRMALARI ENTEGRASYON KILAVUZU Sürüm: 1.0

Tellcom.net.tr ve Quiknet.com.tr Eposta Servisleri Aktivasyonu

W3af ile Web Uygulama Güvenlik Testleri

Medula Eczane E-Reçete Web Servislerinin Kullanım Kılavuzu (Test amaçlıdır, ödemeye esas teşkil etmeyecektir)

ASP.NET 1. DURUM YÖNETİMİ. BLM 318 e-ticaret ve Uyg. Durum Yönetimi Nedir? Durum Yönetimi: Karșılaștırma İÇERİK. Sunucu-taraflı Durum Yönetimi

BLG4134 Görsel Programlama III. Öğr. Grv. Aybike ŞİMŞEK

BioAffix Ones Technology nin tescilli markasıdır.

Veritabanı. Ders 2 VERİTABANI

İÇİNDEKİLER. İçindekiler. Web Uygulama Güvenliği Örnek Kaynak Kod Analizi

BBL 601 AĞ GÜVENLİĞİ Prof. Dr. Bülent ÖRENCİK. Örün (WEB) Güvenliği. Arda BALKANAY

BİLGİSAYAR VE AĞ GÜVENLİĞİ ÖĞR. GÖR. MUSTAFA ÇETİNKAYA DERS 2 > AĞ VE UYGULAMA GÜVENLİĞİ

Web Uygulama Saldırıları ve Klasik Çözümlerin Yetersizliği

Bilgisayar Ağları ve Ağ Güvenliği DR. ÖĞR. ÜYESİ KENAN GENÇOL HİTİT ÜNİVERSİTESİ ELEKTRİK-ELEKTRONİK MÜH.

Global Haberleşme API Kullanıcı Notları

Kets DocPlace LOGO Entegrasyonu

Dreamspark Nedir? ÖNEMLİ NOT: Parolanız türkçe karakter içeriyorsa türkçe karakter içermeyen bir parolayla değiştirmelisiniz.

Erişim Makina. IFS Admin Kullanım Klavuzu. Umut Aytaç Mutlu

Bilgi Güvenliği Eğitim/Öğretimi

Exepto Bilgi Teknolojileri A.Ş. Sözleşme Yönetim Yazılımı

Veritabanı İşlemleri

WEB SECURITY RUDIMENTS

SANAL POSLAR VE GÜVENLİK POLİTİKALARI. Yunus Emre SEYHAN Web Yazılım Uzmanı

ProFTPD FTP Sunucusu. Devrim GÜNDÜZ. TR.NET Sistem Destek Uzmanı.

Veritabanı Sızma Testleri Türk Standardları Enstitüsü Yazılım Test ve Belgelendirme Dairesi Başkanlığı

SMS interconnecion APi S DOKÜMANI

9. HAFTA KBT204 İNTERNET PROGRAMCILIĞI II. Öğr.Gör. Hakan YILMAZ.

Arş.Gör.Muhammet Çağrı Gencer Bilgisayar Mühendisliği KTO Karatay Üniversitesi 2015

PHP CodeIgniter MVC Framework

BioAffix Ones Technology nin tescilli markasıdır.

Ders Tanıtım Sunumu. Database Managegement II. Elbistan Meslek Yüksek Okulu Güz Yarıyılı. Öğr. Gör. Murat KEÇECĠOĞLU

ĐSTEMCĐ SUNUCU SĐSTEMLER DERSĐ FĐNAL ÇALIŞMASI SORULAR YANITLAR

Bunyamin Demir, <bunyamindemir at gmail dot com>, webguvenligi.org, 20/01/2011 ORACLE VERĠTABANI TRAFĠĞĠNĠN GÜVENLĠĞĠ

State Yönetimi. Bir web sayfası ile sunucu arasındaki etkileşim ;

Nordic Edge ile kurumsal kimlik yöne4mi

Yeni Nesil Ağ Güvenliği

Java EE web uygulamaları geliştirmek için kullanılan açık kaynak web uygulama framework üdür.

Transkript:

WEB UYGULAMA GÜVENLİĞİ HAKKINDA Mesut Güngör İzmir Yüksek Teknoloji Enstitüsü Bilgi İşlem Daire Başkanlığı

İçindekiler Bilinen en popüler web uygulama atakları Güvenli yazılım geliştirme Prosedürler

Bilinen en popüler ataklar XSS (Cross Site Scripting) SQL Injection CSRF (Cross Site Request Forgery) LFI (Local File Inclusion) & RFI (Remote File Inclusion)

XSS (Cross Site Scripting) Atak yapan kişi sayfanızı input öğelerine javascript, vb script, html(onchange,onclick), kodlarını gömerek saldırır. En genelde ikiye ayrılır ; Kalıcı olmayan XSS : Sayfada herhangi bir değişiklik olmaz link 1 kere çalışır ve atak yapan istediğini aldıktan sonra işini bitirir. Açığı olan link sosyal mühendislikle email atılır ve kurbanların tıklanması sağlanır. Kalıcı XSS : Kullanıcı forum postu veya profiline girdiği script veritabanına saklanır ve her sayfa çağrıldığında çalıştırılır.

XSS Örnekler guest<script>alert('attacked')</script> guest<script>alert(document.cookie)</script> guest <script>document.cookie="security=low";alert (document.cookie)</script>

SQL INJECTION Temel SQL Injection Kör-Karambole (Attır-Tuttur) (Blind) SQL Injection

SQL Injection Örnekleri 1' OR ' 1=1; -- 3' and 1=0 union select null, version()# 3' and 1=0 union select null, user()# 3' and 1=0 union select null, database()# low.php $id = $_GET['id']; $getid = "SELECT first_name, last_name FROM users WHERE user_id = '$id'";

Güvenli Yazılım Geliştirme ESAPI (Enterprise Security API) Microsoft Design Guidelines for Secure Web Applications (Eski bir dökümantasyon ama günümüze uyarlanabilir.) SANS Security Checklist OWASP Web Uygulama Güvenliği Kontrol Listesi

Güvenli Yazılım için Yapılması Gerekenler Girdilere Dikkat!!! Kullanıcı girdilerine güvenmeyin (textbox, checkbox, vb.) Girdilerin kontrolünü sadece istemci taraflı yapmayın. Girdileri sırasıyla Constraint -> Reject -> Sanitize kuralına göre eleyin.

Güvenli Yazılım için Yapılması Gerekenler Kimliklendirme Kullanıcılara şifre ve kullanıcı adını sorarken kesinlikle düz metin (http) protokolünü kullanmayın. Https Kullanın!!! Şifreleri kesinlikle düz metin olarak saklamayınız. Şifre hashi üretirken hashin tuzunu rassal olarak üretin. Oturum yönetimi için cookielerini secure olarak işaretleyin. (protokol https dahi olsa cookie secure olmadığında cookie hırsızlığıyla oturum çalınabilir.) Oturum kapanana kadar aynı cookie yi kullanmayın. Şifreyi geçersiz kılma süresini belirleyebilmeyi mümkün kılın. Hesabı kitleme veya geçersiz kılma politikalarını belirleyin.(örnek: 5 kere aynı ipden yanlış şifre girerse hesabı 1 günlüğüne engelle) Şifre uzunluğu ve karmaşıklığını kuvvetli tutun. (En az 8 karakter alfanumerik, özel karakter, büyük küçük harf vb.)

Güvenli Yazılım için Yapılması Gerekenler Oturum Güvenliği Oturum Kimliklendirme Cookilerini korumak için SSL kullanın. Kimliklendirme Cookielerinin içeriğini şifreleyin. Cookie ömürlerini kısa tutun. Oturum durumunu yetkisiz kişilere karşı koruyun. (Büyük sistemler için)

Zaafiyetler ve Oluştukları Sorunlar Özet Tablo Zaafiyet Kategorisi Giriş Doğrulaması Kimlikliklendirme Yetkilendirme Yönetim Ayarları Gizli Hassas Veri Oturum yönetimi Şifreleme Parametre ile Oynama Exception Yönetimi Denetim ve Kayıt tutma(log) Kötü Dizayn edildiğinde olası karşılaşılacak problemler Ataklar form alanlarına, cookielere, http başlıklarına ve sorgulara zararlı stringler gömerek gerçekleştirilir. Bu ataklar XSS, SQL Injection, ve tampon taşırma ataklarını içerir. Kimlik kandırma, şifre kurma, hak yükseltme, yetkisiz erişim gibi sorunlar doğurur. Gizli ve hizmete özel verilere yetkisiz erişim, bu verilerle oynama, veya yetkisiz işlemlerin gerçekleştirilmesi gibi sorunlara sebep vermektedir. Yönetim arayüzüne yetkisiz erişim, ayaların güncellenmesi kullanıcı hesaplarına yetkisiz erişim. Gizli verinin açığa çıkması ve veri ile oynanması Oturum bilgilerinin dinlenerek elde edilerek oturum hırsızlığı ve kimlik kandırma giibi sorunlara yol açmaktadır. Gizli veri ve kullanıcı hesaplarına erişim Dizin atakları, Komut Çalıştırma atakları, giriş kontrol mekanizmalarını atlatma, bilgi açığa çıkartma, hak yükseltme, dos (denial of service) ataklarına yol açmaktadır. Dos, hassas sistem düzey detaylarının ortaya çıkması. Atağın nereden geldiğinin tespitinin yapılamaması, kullancının yaptığı bir işlemi ispatlayamama, problemlerin nerden kaynaklanabileceğini tespit edememe gibi sorunlara meydan vermektedir.

ESAPI (Enterprise Security API) Web Uygulamaları için Güvenlik Kontrol Kütüphanesi Java,.Net, PHP, Javascript sürümleri mevcuttur. Ücretsiz ve Açık Kaynak Kodludur.

ESAPI (Enterprise Security API)

OWASP TOP 10 & ESAPI OWASP Top Ten OWASP ESAPI A1. Cross Site Scripting (XSS) A2. Injection Flaws A3. Malicious File Execution A4. Insecure Direct Object Reference A5. Cross Site Request Forgery (CSRF) A6. Leakage and Improper Error Handling A7. Broken Authentication and Sessions A8. Insecure Cryptographic Storage A9. Insecure Communications A10. Failure to Restrict URL Access Validator, Encoder Encoder HTTPUtilities (Safe Upload) AccessReferenceMap, AccessController User (CSRF Token) EnterpriseSecurityException, HTTPUtils Authenticator, User, HTTPUtils Encryptor HTTPUtilities (Secure Cookie, Channel) AccessController

Fonksiyonlar User Controller Business Functions Data Layer Backend isvalidcreditcard isvaliddatafrombrowser isvaliddirectorypath isvalidfilecontent isvalidfilename isvalidhttprequest isvalidlistitem isvalidredirectlocation isvalidsafehtml isvalidprintable safereadline encodeforjavascript encodeforvbscript Validator Encoder encodeforurl Canonicalization Double Encoding Protection Sanitization Normalization encodeforhtml encodeforhtmlattribute encodeforldap encodefordn encodeforsql encodeforxml encodeforxmlattribute encodeforxpath

ESAPI Örnek