Örnek sorular
GüvenlikZorluk 1
Authentication ile authorization arasındaki fark nedir?
- aAuthentication kullanıcının neye erişeceğine karar verir; authorization kimliğini doğrular
- bAuthentication kullanıcının kim olduğunu doğrular; authorization neye yetkili olduğuna karar verir✓
- cİkisi aynı güvenlik sürecinin farklı isimleridir
- dAuthentication insanlar için, authorization sadece servisler arası kullanılır
Açıklama:Authentication "sen kimsin?" sorusuna (login, kimlik bilgileri), authorization "neye yetkilisin?" sorusuna (izinler, roller) cevap verir. (a) şıkkı bunu tam tersinden söyler — iki terim arasındaki en yaygın karışıklık budur.
GüvenlikZorluk 1
Hashing ile encryption arasındaki temel fark nedir?
- aHashing daha hızlıdır; hız dışında aynı garantileri sağlarlar
- bEncryption tek yönlüdür; hash ise doğru key ile geri çevrilebilir
- cHashing tasarımı gereği tek yönlüdür; encryption key'e sahip olan tarafından geri çevrilebilir✓
- dHashing sadece parolalarda çalışır; encryption her tür veride çalışır
Açıklama:Hash tek yönlü bir özettir: key yoktur, decrypt işlemi yoktur. Encryption ise key ile geri çevrilmek üzere tasarlanmıştır. (b) iki kavramı yer değiştirir; (d) yanlıştır çünkü ikisi de her tür veri üzerinde çalışır.
GüvenlikZorluk 2
Bir destek yöneticisi, temsilcilerin müşterinin mevcut parolasını görüp login'e yardım edebileceği bir ekran istiyor. Bu istek neden reddedilmelidir?
- aDoğru saklanan parolalar tek yönlü hash'lidir ve gösterilemez✓
- bEkran sadece kıdemli destek temsilcileriyle sınırlandırılırsa kabul edilebilir
- cHer parola görüntüleme audit log'a kaydedilirse kabul edilebilir
- dEkran yalnızca HTTPS üzerinden sunulursa sorun olmaz
Açıklama:Parolalar salt'lı ve yavaş tek yönlü hash ile saklanmalıdır; doğru kurulmuş bir sistem parolayı teknik olarak gösteremez. Sistem parolayı gösterebiliyorsa parolaları yanlış saklıyordur. Görüntüleyenleri (b) ya da taşıma katmanını (d) kısıtlamak bu kök problemi çözmez — destek ekibi parola reset akışı başlatmalıdır. Audit log (c) kötüye kullanımı kayda alır; ifşayı ortadan kaldırmaz.
GüvenlikZorluk 2
Parola hashing'inde kullanıcı başına benzersiz salt ne sağlar?
- aSaklanan hash'i şifreler, böylece veritabanından okunamaz
- bHash fonksiyonunu yavaşlatır; her denemeyi maliyetli kılarak brute force'u engelleyen budur
- cGerektiğinde sunucunun orijinal parolayı geri elde etmesini sağlar
- dAynı parolalar farklı hash üretir ve önceden hesaplanmış hash tabloları işe yaramaz olur✓
Açıklama:Salt her hash'i bireyselleştirir: aynı parolaya sahip iki kullanıcı farklı değerler saklar ve saldırganlar önceden hazırlanmış (rainbow) tabloları kullanamaz. Yavaşlık (b) salt'tan değil algoritmanın cost faktöründen gelir; hashing'de geri dönüş (c) yoktur.
GüvenlikZorluk 3
Kullanıcı "çıkış yap"a tıklıyor ve uygulama tarayıcıdaki session cookie'sini siliyor. Daha önce ele geçirilmiş eski cookie değeri API'de hâlâ çalışıyor. Hata nerede?
- aCookie'de Secure flag'i olmadığı için tarayıcı onu düzgün silememiştir
- bLogout cookie'yi sadece client tarafında silmiş; session sunucu tarafında hiç geçersiz kılınmamış✓
- cBir sorun yok — session ancak TTL'i dolunca sona erebilir
- dSession id localStorage'da tutulmalıydı; logout orayı güvenilir şekilde temizler
Açıklama:Çıkış işlemi session'ı sunucu tarafında geçersiz kılmalıdır (kaydı silmek ya da işaretlemek); böylece kimliğin tüm kopyaları birlikte ölür. Tarayıcıdaki cookie'yi silmek yalnızca o istemciyi etkiler. (c) tam da bu yüzden yanlıştır: sunucu taraflı session store'lar anında iptal edebilmek için vardır.
GüvenlikZorluk 1
Tipik bir stored XSS saldırısında ne olur?
- aSaldırgan sunucuyu cevap veremez hale gelene kadar istek yağmuruna tutar
- bSaldırgan sunucunun diskinden, konfigürasyon dosyaları da dahil olmak üzere, istediği her dosyayı okuyabilir
- cSaldırganın gönderdiği script uygulama tarafından kaydedilir ve sonradan diğer kullanıcıların tarayıcısında çalışır✓
- dSaldırgan kullanıcı ile sunucu arasındaki trafiği dinleyip değiştirir
Açıklama:Stored XSS'te içerik olarak gönderilen zararlı script (yorum, profil alanı) kalıcı olarak saklanır ve diğer kullanıcılara sunulur; onların tarayıcısında sitenin yetkileriyle çalışır. Bu bir client-side kod çalıştırma problemidir — sunucu dosyalarına erişim (b) ya da trafik dinleme (d) değildir.