CSRF Nedir?
Bir web uygulaması kullanıcılarının, başka bir site üzerinden, onlar adına işlem yapmasını sağlayan kötü niyetli bir saldırıdır. Diğer bir deyişle, CSRF saldırısı, kullanıcının kimlik bilgilerini ya da oturum bilgisini kötüye kullanarak, ona ait işlemleri yetkisiz bir şekilde yapma amacını taşır.
Mesela, siz bir e-ticaret sitesinde oturum açmışken, arka planda başka bir site CSRF saldırısı düzenleyebilir ve hesabınızdaki tüm bakiyenizi başka bir hesaba transfer edebilir. Tüm bu işlemler, siz fark etmeden gerçekleşir. Korkutucu, değil mi?
---
CSRF Nasıl Çalışır?
CSRF saldırısının temel mantığı, kötü niyetli bir kullanıcının, sizin oturumunuzu kullanarak belirli bir işlem yapmasını sağlamaktır. Bunu nasıl yapar? Çok basit:
1. Kimlik doğrulama (Authentication): Web siteleri genellikle, kullanıcıların kimliğini doğrulamak için oturum açma işlemi yapmalarını ister. Bu doğrulama, genellikle çerez (cookies) veya oturum belirteçleri (session tokens) ile yapılır.
2. Kötü niyetli site: Bir saldırgan, sizi bir şekilde kötü niyetli bir siteye yönlendirir (bu site genellikle pop-up reklamlar veya zararlı e-posta bağlantıları olabilir). Bu site, sizin oturumunuzdaki yetkili işlemi otomatik olarak yapacak şekilde tasarlanmıştır.
3. Eylem gerçekleştirme: Örneğin, bir bankacılık sitesindeyken, CSRF saldırısı sonucu, saldırganın oluşturduğu bir formu sizin adınıza gönderebilir ve hesabınızdan para transferi yapabilir. Tüm bunlar, siz farkına bile varmadan olur.
---
CSRF Saldırılarına Karşı Alabileceğiniz Önlemler
Güvenliğinizi riske atmamak için CSRF saldırılarından korunmanız gerekiyor. İşte bazı önlemler:
1. Token Kullanımı
CSRF saldırılarına karşı en yaygın önlem, "token" kullanımıdır. Web uygulamanız, her form için benzersiz bir token (belirteç) oluşturur. Bu token, sadece kullanıcıya özeldir ve her form gönderimiyle birlikte sunucuya gönderilir. Token doğru değilse, işlem reddedilir. Bu, CSRF saldırılarının başarılı olmasını engeller.
2. SameSite Çerez Özelliği
SameSite çerez özelliği, tarayıcıların çerezleri yalnızca aynı site içindeki talepler için göndermesini sağlar. Bu özellik, CSRF saldırılarını engellemeye yardımcı olabilir. Eğer uygulamanızın çerezleri, sadece aynı site üzerinden erişilmesine izin veriyorsa, saldırganların sizin oturum bilgilerinizi ele geçirmesi zorlaşır.
Set-Cookie: sessionid=your_session_id; SameSite=Strict;
3. Referer ve Origin Header Kontrolleri
Referer ve Origin başlıkları, gelen isteklerin kaynağını kontrol etmenizi sağlar. Bu başlıkları kontrol ederek, isteklerin sizin sitenizden mi geldiğini doğrulayabilirsiniz. Eğer istek, beklenen kaynaktan gelmiyorsa, işlemi reddedebilirsiniz.
CSRF'nin Tehlikesi: Kullanıcıların Bilmediği Bir Risk
Web güvenliği uzmanları, CSRF saldırılarının genellikle kullanıcıların fark etmediği ama son derece tehlikeli saldırılar olduğunu vurgular. Bu tür saldırılar, kullanıcının tüm verilerini tehlikeye atabilir ve bir web sitesinin güvenilirliğini sarsabilir.
---