Yapay Zeka Modellerine Yönelik Prompt Injection Saldırıları Makalemiz Yayınlandı!
Siber Guvenlik Terimleri Sozlugu
PKCE, OAuth yetkilendirme kodu akışına dinamik bir sır ekleyerek, kod çalınsa bile token'a dönüştürülmesini engelleyen bir güvenlik uzantısıdır.

PKCE (Proof Key for Code Exchange), OAuth yetkilendirme kodu akışını kod ele geçirme saldırılarına karşı koruyan bir uzantıdır. Temel fikri şudur: akışı başlatan istemci geçici bir sır üretir ve token’ı ancak bu sırrı kanıtlayan taraf alabilir. Böylece yolda çalınan bir yetkilendirme kodu, saldırgan sırrı bilmediği için işe yaramaz hâle gelir.
PKCE, yetkilendirme kodunu “çalan kullanır” belgesinden, yalnızca akışı başlatan istemcinin çözebileceği bir kilitli belgeye dönüştüren uzantıdır.
OAuth 2.0 yetkilendirme kodu akışında kullanıcı giriş yaptıktan sonra tarayıcı, istemciye bir yetkilendirme kodu döndürür; istemci de bu kodu token ile takas eder. Sorun, kodun tarayıcı yönlendirmeleri üzerinden geçmesidir. Özellikle mobil ve tek sayfa uygulamalarda bu kod, kötü niyetli bir uygulamanın kaçırdığı yönlendirme, log kaydı veya işletim sistemi ara katmanı yoluyla ele geçirilebilir. İstemci sırrının güvenle saklanamadığı bu kamusal istemcilerde, çalınan kodun tek başına token’a çevrilebilmesi ciddi bir açıktır.
İstemci akışı başlatmadan önce rastgele bir dize üretir; buna “code verifier” denir. Bunun kriptografik özetini (genellikle SHA-256) alıp “code challenge” olarak yetkilendirme isteğine ekler. Yetkilendirme sunucusu bu challenge’ı kodla birlikte saklar. İstemci sonradan kodu token ile takas ederken ham verifier’ı sunar; sunucu verifier’ın özetini alıp başta sakladığı challenge ile karşılaştırır. İkisi eşleşmezse takas reddedilir.
Saldırgan yalnızca yetkilendirme kodunu ve ağda görünen challenge’ı ele geçirse bile takası tamamlayamaz, çünkü challenge tek yönlü bir özet olduğu için ham verifier geri hesaplanamaz. Verifier ise hiç ağa çıkmadan istemcinin belleğinde kalır. Bu sayede kodu ele geçiren taraf onu token’a dönüştüren asıl kanıttan yoksun kalır.
PKCE ilk olarak mobil ve masaüstü gibi kamusal istemciler için tasarlanmıştı, ancak zamanla güvenli istemcilerde de önerilen varsayılan hâline geldi ve kimlik katmanı OpenID Connect akışlarında da standart pratik oldu. Getirdiği koruma yalnızca kod takası anına özgüdür; token verildikten sonraki aşama, örneğin JSON Web Token biçimindeki erişim token’ının saklanması ve iletilmesi, ayrı önlemler gerektirir.
PKCE’nin doğru uygulanması challenge yönteminin S256 seçilmesi, verifier’ın yeterli rastgelelikte olması ve sunucunun eşleşmeyi katı denetlemesi gibi ayrıntılara bağlıdır. Privia Security’nin altyapı ve mimari gözden geçirme hizmeti OAuth ve kimlik akışlarının bu ayrıntılarda doğru kurgulandığını denetler.
Sızma testinden olay müdahalesine, uçtan uca çözümlerle yanınızdayız.
Fiyat Teklifi AlBunlar İlginizi Çekebilir
Siber Güvenlik Terimleri
8 Nisan 2021
Ürün Yazılımı Güvenliği (Firmware Security) Nedir?
Devamını Oku