Cyber Security Academy · Ders

Belirteç Saldırıları ve Sağlamlaştırma

Kimlik doğrulama akışlarını kötüye kullanıma karşı savunma.

4. ders / 413 adım

Belirteç Saldırıları ve Sağlamlaştırma, CoddyKit'te ücretsiz bir Cyber Security Academy dersidir. Bu, 4 dersinin 4. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Cyber Security Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Cyber Security Academy kursu toplamda 4 dersten oluşur.

Kimlik Bilgisi Olarak Belirteçler

Modern kimlik doğrulamada belirteçler kimlik bilgisidir. Geçerli bir taşıyıcı belirteci elinde bulunduran kişi, belirtecin süresi dolana veya iptal edilene kadar kimliği doğrulanmış taraf olarak kabul edilir.

  • Bu nedenle belirteç hırsızlığı, kimlik bilgisi hırsızlığıyla eşdeğerdir.
  • Sağlamlaştırma; belirteçlerin ömrünü sınırlamaya, belirteçleri bir sahibine bağlamaya ve hızlı iptali etkinleştirmeye odaklanır.

Bu derste OAuth/OIDC/SAML belirteçlerine yönelik saldırılar ve bunlara karşı koyan savunma denetimleri ele alınır.

JWT Algoritması Karışıklığı

Klasik bir JWT saldırısı alg üstbilgisini kötüye kullanır.

  • alg: none kabul edilirse saldırganın imzasız belirteçler oluşturmasına izin verir.
  • RS256 ile HS256 karışıklığı saldırgan, herkese açık RSA anahtarını HMAC sırrı olarak kullanarak belirteci yeniden imzalar.

​​Savunma: Beklenen algoritmayı sunucu tarafında sabitleyin ve belirtecin hangi doğrulama yolunun çalışacağını belirlemesine asla izin vermeyin.

Vulnerable: verify(token, key)  // alg taken from header
Hardened:   verify(token, key, { algorithms: ["RS256"] })
// reject alg:none, reject HS* when RS* expected

XSS ve Günlükler Yoluyla Belirteç Hırsızlığı

En yaygın belirteç ele geçirme yöntemi, geçerli bir belirtecin doğrudan çalınmasıdır.

  • XSS, belirteçleri localStorage'dan veya bellekten okur.
  • URL'lerdeki belirteçler tarayıcı geçmişi, yönlendiren üstbilgileri ve sunucu günlükleri aracılığıyla sızar.
  • Authorization üstbilgilerinin ayrıntılı biçimde günlüğe kaydedilmesi.

Tarayıcı oturumları için httpOnly, Secure, SameSite çerezlerini tercih edin; belirteçleri günlüklerden ve URL'lerden temizleyin.

Set-Cookie: session=...; HttpOnly; Secure; SameSite=Lax
// keeps JS (and thus XSS) from reading the token

Yeniden Oynatma Saldırıları

Bir yeniden oynatma saldırısı, kurban adına işlem yapmak için ele geçirilmiş geçerli bir belirteci yeniden kullanır.

  • Kısa süre sonları, tek kullanımlık nonce (OIDC) ve bildirim kimliği takibi (SAML) bu saldırıyı azaltır.
  • TLS, pasif ağ yakalamasını önler.
  • Göndericiye bağlı belirteçler, çalınmış olsalar bile yeniden kullanılmalarını engeller.
Replay defenses:
  short exp + nonce/jti uniqueness
  TLS everywhere
  sender-constrained tokens (mTLS / DPoP)

Göndericiye Bağlı Belirteçler

Taşıyıcı belirteçler, onları elinde bulunduran herkes tarafından kullanılabilir. Göndericiye bağlı belirteçler, bir belirteci belirli bir istemci key'ine bağlar.

  • mTLS bağlı belirteçler (RFC 8705), belirteci istemcinin TLS sertifikasına bağlar.
  • DPoP (RFC 9449), belirteci istemcinin her istek için imzaladığı bir sahiplik kanıtı key'ine bağlar.

Bu durumda çalınmış bir belirteç, eşleşen özel key olmadan işe yaramaz.

DPoP: each request carries a signed proof JWT
  DPoP: <proof-jwt signed with client private key>
  Authorization: DPoP <access_token>

Kısa Ömürler ve Yenileme Belirteci Rotasyonu

Çalınan herhangi bir belirtecin kullanılabileceği süreyi sınırlayın.

  • Erişim belirteçlerini kısa ömürlü tutun (dakikalar).
  • Yenileme belirteci rotasyonunu kullanın: her yenileme yeni bir yenileme belirteci verir ve eskisini geçersiz kılar.
  • Döndürülmüş bir yenileme belirtecinin yeniden kullanımını hırsızlık sinyali olarak algılayın ve zincirin tamamını iptal edin.
On /token refresh:
  issue new RT, invalidate old RT
  if old RT presented again -> breach -> revoke family

Belirteç İptali ve Durum Sorgulama

Kendi kendine yeterli JWT'ler süreleri dolana kadar geçerlidir; bu durum iptali zorlaştırır. Erişimi hızla kesmek için mekanizmalar sağlayın.

  • İptal uç noktası (RFC 7009), yenileme ve erişim belirteçlerini geçersiz kılar.
  • Durum sorgulama (RFC 7662), kaynak sunucusunun belirteç durumunu gerçek zamanlı olarak denetlemesini sağlar.
  • Kritik iptaller için jti temelinde bir reddetme listesi tutun.
POST /introspect  token=...
  -> { "active": true, "sub": "...", "scope": "read" }
POST /revoke      token=...

Hedef Kitle ve Kapsam Uygulaması

Geçerli bir belirteç, API'niz için otomatik olarak yetkilendirilmiş değildir. Amacı zorunlu kılın.

  • Başka bir hizmet için oluşturulmuş bir belirtecin sizin hizmetinize yeniden gönderilememesi için aud değerini denetleyin.
  • Her uç noktada kapsamı zorunlu kılın; geçerli bir belirtecin tam erişim sağladığını varsaymayın.
  • Güvenilmeyen yayımcıların belirteçlerini engellemek için iss değerini doğrulayın.

Bu, hizmetler arası belirteç yeniden kullanımını ve şaşkın vekil istismarını önler.

Karıştırma ve Sağlayıcılar Arası Saldırılar

Bir istemci birden çok kimlik sağlayıcısını desteklediğinde, karıştırma saldırıları istemciyi bir IdP tarafından verilen kodu veya belirteci, saldırganın seçtiği farklı bir uç noktaya göndermeye kandırabilir.

  • İstemci, yanıtın hangi AS'den geldiğini takip edemez.
  • Savunma: Yanıtları iss parametresini (RFC 9207) kullanarak yayımcıya bağlayın ve state değerini her sağlayıcı için doğrulayın.
/authorize ... &state=<provider-bound>
callback must include &iss=<expected-AS>
client verifies iss matches the AS it started with

Güvenli Saklama ve Aktarım

Belirteçlerin nerede ve nasıl saklandığı, maruz kalma düzeyini belirler.

  • Tarayıcı oturumları: httpOnly, Secure, SameSite çerezleri; localStorage kullanmaktan kaçının.
  • Mobil cihazlar: OS keychain/keystore kullanın, düz metin dosyalarını asla kullanmayın.
  • Sunucular: sır yöneticisi, saklama sırasında şifreleme ve kapsamı sınırlandırılmış en az ayrıcalık.
  • Aktarım sırasında her zaman TLS kullanın; belirteçleri sorgu dizelerine asla yerleştirmeyin.

Belirteç Sağlamlaştırma Kontrol Listesi

Denetimleri operasyonel bir temel çizgide bir araya getirin.

  • Algoritmaları sabitleyin; alg: none ve karıştırma saldırılarını reddedin.
  • iss, aud, exp, imza, nonce/state değerlerini doğrulayın.
  • Kısa erişim belirteci TTL'si ve yeniden kullanım algılamalı yenileme belirteci rotasyonu uygulayın.
  • Yüksek değerli API'ler için göndericiye bağlı belirteçleri (DPoP/mTLS) tercih edin.
  • İptal ve durum sorgulamayı destekleyin.
  • Güvenli biçimde saklayın; belirteçleri URL'lerden ve günlüklerden uzak tutun.
Hardening baseline:
  [ ] alg pinned, none rejected
  [ ] iss/aud/exp/sig/nonce validated
  [ ] short TTL + RT rotation + reuse detection
  [ ] DPoP/mTLS for sensitive scopes
  [ ] revoke + introspect available

Hızlı Kontrol: Çalınan Belirteçleri Etkisiz Kılma

Belirteç hırsızlığının kendisinden kaynaklanan zararı en iyi sınırlayan denetimi seçin.

Özet: Belirteç Saldırıları ve Sağlamlaştırma

Önemli çıkarımlar:

  • Belirteçler kimlik bilgisidir; hırsızlık hesabın ele geçirilmesine eşdeğerdir.
  • JWT'leri algoritmaları sabitleyerek ve iss, aud, exp, imza, nonce değerlerini doğrulayarak savunun.
  • Kısa ömürler ve yeniden kullanım algılamalı yenileme belirteci rotasyonu ile maruz kalmayı sınırlayın.
  • Göndericiye bağlı belirteçler (DPoP/mTLS), çalınmış taşıyıcı belirteçleri etkisiz kılar.
  • İptal ve durum sorgulama sağlayın; belirteçleri URL'lerden, günlüklerden ve localStorage'dan uzak tutun.
Başlamak ücretsiz

Yapay zeka eğitmeniyle Cyber Security Academy öğren — ücretsiz

Tarayıcında gerçek kod yaz ve çalıştır, 7/24 yapay zeka eğitmeninden anında yardım al; web'de ya da uygulamada kaldığın yerden devam et.

Kurslar
76
Dersler
303

Sıkça Sorulan Sorular

“Belirteç Saldırıları ve Sağlamlaştırma” dersi ücretsiz mi?

Evet — “Belirteç Saldırıları ve Sağlamlaştırma” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Cyber Security Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Cyber Security Academy kursu toplamda 4 dersten oluşur.

“Belirteç Saldırıları ve Sağlamlaştırma” dersinde ne öğreneceğim?

Kimlik doğrulama akışlarını kötüye kullanıma karşı savunma. Cyber Security Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

Cyber Security Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te Cyber Security Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 4. dersidir.

“Belirteç Saldırıları ve Sağlamlaştırma” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu Cyber Security Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Cyber Security Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. OAuth 2.0 Akışları
  2. OpenID Connect (OIDC)
  3. SAML ve Federasyon
  4. Belirteç Saldırıları ve Sağlamlaştırma
← Cyber Security Academy Sayfasına Dön