Ana Sayfa

Token'sız CSRF Koruması: Modern Tarayıcılarla Güvenlik

1 dk okuma

Microdot web framework'ünün geliştiricisi Miguel Grinberg, framework'üne CSRF koruması ekleme talebiyle karşılaştığında geleneksel yöntemlere, yani anti-CSRF token'larına ve gizli form alanlarına yöneldi. OWASP'ın önerilerini incelediğinde de bu token tabanlı yaklaşımların en iyi çözüm olduğunu gördü ve Microdot için bu yolda ilerlemeye başladı. Güvenlik özelliklerini kendi başına uygulamak zorunda kalması, genellikle önerilenin aksine olsa da, Microdot'un tek geliştiricisi olarak başka seçeneği olmadığını belirtiyor.

Ancak, bu süreçte Flask deposunda "modern" CSRF koruması hakkında açılan bir tartışma konusuyla karşılaştı. Bu durum, onu Go ve Ruby topluluklarındaki blog yazılarını ve OWASP GitHub deposundaki uzun tartışmaları araştırmaya itti. Sonunda, OWASP'ın kendi CSRF Cheat Sheet'ine bu yeni yöntemin eklenmesiyle sonuçlanan bir pull request'i keşfetti, kendi araştırmasından sadece birkaç hafta sonra.

"Modern" CSRF koruma yöntemi, tüm modern masaüstü ve mobil tarayıcıların sunuculara gönderdiği isteklerde yer alan Sec-Fetch-Site başlığına dayanıyor. Mozilla'ya göre, Mart 2023'ten bu yana piyasaya sürülen tüm tarayıcılar bu başlığı destekliyor. Bu başlık, isteğin kaynağının hedefle aynı olup olmadığını (same-origin), farklı bir kaynaktan mı geldiğini (cross-site) veya bir kullanıcı etkileşimi sonucu mu oluştuğunu belirten değerler alabiliyor. Bu başlığın kullanımı, geleneksel token tabanlı yöntemlere kıyasla çok daha basit ve etkili bir koruma sağlıyor, geliştiricilerin karmaşık token yönetimiyle uğraşmasını gerektirmiyor. Bu sayede, web uygulamalarının güvenliği daha az çaba ile artırılabiliyor.

İçgörü

Web uygulamalarında CSRF korumasını basitleştiren ve geliştiricilerin yükünü azaltan yeni bir tarayıcı tabanlı yöntem keşfedildi.

Kaynak