GERİ DÖN

Ders Öğretim Planı


Dersin Kodu Dersin Adı Dersin Türü Yıl Yarıyıl AKTS
SGM223 WEB AND APPLICATION SECURITY Seçmeli Ders Grubu 2 3 5,00

Önlisans


İngilizce


Bu dersin amacı; öğrencilere modern web uygulamalarının güvenliğini hem saldırı (offense) hem savunma (defense) bakışıyla uygulamalı olarak kazandırmaktır. Ders; web/uygulama mimarisi ve tarayıcı güvenlik modelinden başlayarak keşif (recon), OWASP Top 10 sınıfı zafiyetlerin (XSS, CSRF, injection, XXE, IDOR/mass assignment, iş mantığı ve istemci-taraflı saldırılar) tespiti ve sömürülmesini; ardından güvenli yazılım geliştirme yaşam döngüsü, tehdit modelleme, güvenli yapılandırma (CSP, CORS, güvenlik başlıkları, TLS), güvenli kod inceleme ve statik/dinamik güvenlik testini ele alır. Böylece öğrenci bir web uygulamasındaki zafiyetleri hem bulabilir hem de giderebilir. Tüm uygulamalar izinli ve izole bir laboratuvar ortamında, kasıtlı-zafiyetli uygulamalar ve PortSwigger Web Security Academy üzerinde, etik ve yasal çerçevede yürütülür.


Öğr. Gör. Yudum Özkan


1 Web uygulama mimarisini ve HTTP(S) temellerini açıklayarak, web tehditlerini sınıflandırabilme.
2 Web uygulamalarında keşif süreçlerini yürütebilme ve proxy ile ağ trafiğini analiz edip manipüle edebilme
3 Kritik web zafiyetlerini laboratuvar ortamında tespit edip sömürebilme. /
4 Web uygulamalarına yönelik temel savunma mekanizmalarını ve güvenli kodlama prensiplerini uygulayabilme.
5 Tespit edilen zafiyetleri risk seviyelerine (CVSS) göre derecelendirerek etik ilkelere uygun formatta raporlayabilme.

Birinci Öğretim


Yoktur


Yoktur


Web/uygulama güvenliğine giriş ve yazılım güvenliğinin gelişimi; modern web uygulama mimarisi (REST, SPA, GraphQL, kimlik doğrulama/yetkilendirme); tarayıcı güvenlik modeli ve aynı-köken politikası; keşif (bilgi toplama, uygulama haritalama, subdomain, API analizi, üçüncü-parti bağımlılıklar); XSS, CSRF, XXE, enjeksiyon (SQLi/komut), veri ve nesne saldırıları (mass assignment, IDOR, serileştirme), istemci-taraflı saldırılar (prototype pollution, clickjacking, tabnabbing), iş mantığı zafiyetleri; güvenli yazılım geliştirme yaşam döngüsü ve tehdit modelleme (STRIDE); güvenli uygulama mimarisi (TLS, kimlik bilgisi/hash, MFA, Zero Trust) ve güvenli yapılandırma (CSP, CORS, güvenlik başlıkları, çerezler, sandboxing); güvenli kod inceleme; zafiyet keşfi ve yönetimi (SAST/DAST, bug bounty, CVSS); saldırılara karşı savunma ve raporlama. Uygulamalar izinli, izole laboratuvarda kasıtlı-zafiyetli uygulamalar ve PortSwigger Web Security Academy üzerinde yürütülür.


Hafta Konular (Teorik) Uygulama Öğretim Yöntem ve Teknikleri Ön Hazırlık
1 Web ve uygulama güvenliğine giriş; yazılım güvenliğinin gelişimi; modern web uygulama mimarisi (REST, SPA, kimlik doğrulama/yetkilendirme). İzinli, izole laboratuvar ve araçların kurulumu, seçilen kasıtlı-zafiyetli uygulama Anlatım, Gösterme, Uygulama (Pratik) Hoffman, Böl. 1 (s. 1–17) ve Böl. 3 (s. 27–56).
2 Keşif (recon): bilgi toplama, uygulama haritalama, subdomain keşfi, API analizi ve üçüncü-parti bağımlılıkların belirlenmesi. Hedef (zafiyetli) uygulamada recon: subdomain, endpoint ve teknoloji/bağımlılık tespiti. Anlatım, Gösterme, Uygulama (Pratik) Hoffman, Böl. 2 (s. 21–25), Böl. 4 (s. 57–78), Böl. 5 (s. 79–86), Böl. 6 (s. 87–97).
3 Uygulama mimarisinde zayıf noktalar ve saldırgan zihniyeti; tarayıcı güvenlik modeli ve aynı-köken politikası (SOP). Trafik yakalama ve manipülasyon (proxy / repeater / intruder). Anlatım, Gösterme, Uygulama (Pratik) Hoffman, Böl. 7 (s. 99–107) ve Böl. 9 (s. 113–115); PortSwigger Academy — “Getting started”.
4 Siteler arası betik çalıştırma (XSS): yansıyan, depolanan ve DOM tabanlı XSS; filtre atlatma. PortSwigger XSS laboratuvarları ve OWASP Juice Shop üzerinde XSS tespiti/sömürüsü. Anlatım, Gösterme, Uygulama (Pratik) Hoffman, Böl. 10 (s. 117–134); PortSwigger Academy — XSS labs.
5 Siteler arası istek sahteciliği (CSRF) ve XML dış varlık (XXE) saldırıları. CSRF ve XXE laboratuvarları; token atlatma ve dosya okuma senaryoları. Anlatım, Gösterme, Uygulama (Pratik) Hoffman, Böl. 11 (s. 135–146) ve Böl. 12 (s. 147–157); PortSwigger Academy — CSRF, XXE labs.
6 Enjeksiyon (injection): SQL enjeksiyonu, komut ve kod enjeksiyonu; veri sızdırma teknikleri. SQL enjeksiyonu laboratuvarları ve sqlmap ile otomasyon. Anlatım, Gösterme, Uygulama (Pratik), Kısa Sınav (Quiz) Hoffman, Böl. 13 (s. 159–174); PortSwigger Academy — SQL injection labs.
7 Veri ve nesnelere saldırı IDOR ve iş mantığı zafiyetleri. IDOR laboratuvarları. Anlatım, Uygulama (Pratik), Örnek Vaka İncelemesi Hoffman, Böl. 15 (s. 187–192) ve Böl. 18 (s. 217–226); PortSwigger Academy — access control & business logic labs.
8 ARA SINAV ARA SINAV (1.–7. hafta konuları)
9 İstemci-taraflı saldırılar (Clickjacking, güvensiz yönlendirmeler) ve üçüncü-parti bağımlılıkların sömürülmesi. İstemci-taraflı saldırı laboratuvarları ve bağımlılık/CVE incelemesi. Anlatım, Gösterme, Uygulama (Pratik) Hoffman, Böl. 16 (s. 193–204) ve Böl. 17 (s. 205–216).
10 Savunmaya giriş: güvenli yazılım mimarisi, kapsamlı güvenlik odaklı kod inceleme ve zafiyet yönetimi. Örnek uygulama kodu üzerinde güvenlik odaklı kod inceleme (code review). Anlatım, Uygulama (Pratik), Problem Çözümü, Kısa Sınav (Quiz) Hoffman, Böl. 20 (s. 231–236) ve Böl. 25 (s. 289–298).
11 Güvenli uygulama mimarisi: SSL/TLS, kimlik bilgisi güvenliği ve hash’leme, çok faktörlü kimlik doğrulama (MFA), Zero Trust. Kimlik doğrulama/oturum sertleştirme ve güvenli parola saklama uygulaması. Anlatım, Gösterme, Uygulama (Pratik) Hoffman, Böl. 21 (s. 237–249).
12 Güvenli yapılandırma: içerik güvenliği politikası (CSP), CORS, güvenlik başlıkları, çerez güvenliği ve sandboxing (iframe/SRI). CSP ve güvenlik başlıklarının yapılandırılması ve test edilmesi. Anlatım, Gösterme, Uygulama (Pratik) Hoffman, Böl. 22 (s. 251–267).
13 Uygulamalarda risk analizi ve güvenli kullanıcı deneyimi: bilgi ifşaları (Information Disclosure) ve numaralandırma (enumeration) Bir uygulama için tehdit modeli çıkarma. risk analizi yapılması (Ara güvenlik raporu-1 teslimi) Anlatım, Uygulama (Pratik), Rapor Hazırlama Hoffman, Böl. 24 (s. 277–286) ve Böl. 23 (s. 269–275).
14 Zafiyet keşfi ve yönetimi: güvenlik otomasyonu (SAST/DAST), bug bounty ve sorumlu ifşa, CVSS ile önceliklendirme. Semgrep (SAST) + OWASP ZAP (DAST) çalıştırma ve bulguların CVSS ile skorlanması. Anlatım, Gösterme, Uygulama (Pratik) Hoffman, Böl. 26 (s. 299–307) ve Böl. 27 (s. 309–317).
15 Saldırılara karşı derinlemesine savunma (XSS/CSRF/injection/IDOR) ve bütünleşik değerlendirme: saldırı → savunma → raporlama. Bütünleşik mini pentest: zafiyet bulma, düzeltme (fix) önerme, rapor ve sunum. (Dönem sonu değerlendirme teslimi/sunumu) Uygulama (Pratik), Rapor Sunma, Sunum, Tartışma Hoffman, Böl. 28–31 (s. 319–350) ve Böl. 33 (s. 359–361).
16 YARIYIL SONU SINAVI (FİNAL) YARIYIL SONU SINAVI (FİNAL) Tüm Konular

Hoffman, A. (2024). Web Application Security, 2. baskı, O’Reilly. PortSwigger Web Security Academy (portswigger.net/web-security). Stuttard, D. & Pinto, M. (2011). The Web Application Hacker’s Handbook, 2. baskı, Wiley. OWASP Top 10, OWASP WSTG, OWASP ASVS ve Cheat Sheet Series — önerilen. OWASP kasıtlı-zafiyetli uygulama dizini GitHub derlenmiş listeleri: qazbnm456/awesome-web-security, infoslack/awesome-web-hacking; API güvenliği: OWASP crAPI, VAmPI. Çevrimiçi pratik/CTF platformları: PortSwigger Academy, TryHackMe, Hack The Box, Root Me. Araçlar: Burp Suite, OWASP ZAP, sqlmap, Semgrep. Öğretim elemanı ders notları ve güvenlik değerlendirme raporu şablonu (EgeDers).


Ara Sınav · Ara Sınav İçin Bireysel Çalışma · Bireysel Çalışma · Derse Katılım · Gösterme · Kısa Sınav (Quiz) · Örnek Vaka İncelemesi · Problem Çözümü · Proje / CTF · Rapor Hazırlama · Soru-Yanıt · Tartışma · Uygulama (Pratik) · Final Sınavı · Final Sınavı için Bireysel Çalışma · Rapor Sunma


Yarıyıl (Yıl) İçi Etkinlikleri Adet Değer
Ara Sınav 1 70
Proje Hazırlama 1 10
Ev Ödevi 3 20
Toplam 100
Yarıyıl (Yıl) Sonu Etkinlikleri Adet Değer
Final Sınavı 1 80
Proje Sunma 1 20
Toplam 100
Yarıyıl (Yıl) İçi Etkinlikleri 50
Yarıyıl (Yıl) Sonu Etkinlikleri 50

Yoktur


Etkinlikler Sayısı Süresi (saat) Toplam İş Yükü (saat)
Ara Sınav 1 1 1
Final Sınavı 1 1 1
Derse Katılım 14 3 42
Uygulama/Pratik 14 2 28
Proje Hazırlama 2 8 16
Proje Sunma 2 1 2
Bireysel Çalışma 14 2 28
Ara Sınav İçin Bireysel Çalışma 1 6 6
Final Sınavı içiin Bireysel Çalışma 1 8 8
Ev Ödevi 3 6 18
Toplam İş Yükü (saat) 150

PÇ 1 PÇ 2 PÇ 3 PÇ 4 PÇ 5 PÇ 6 PÇ 7 PÇ 8 PÇ 9 PÇ 10 PÇ 11 PÇ 12 PÇ 13 PÇ 14 PÇ 15
ÖÇ 1 3
ÖÇ 2 4
ÖÇ 3 5 5
ÖÇ 4 4 4
ÖÇ 5 5 3 3
* Katkı Düzeyi : 1 Çok düşük 2 Düşük 3 Orta 4 Yüksek 5 Çok yüksek