1. Ana Sayfa
  2. Siber Güvenlik
  3. CSRF – Siteler Arası İstek Sahteciliği

CSRF – Siteler Arası İstek Sahteciliği

csrf - Siteler Arası İstek Sahteciliği

CSRF (Cross Site Request Forgery), Türkçe karşılığı ile Siteler Arası İstek Sahteciliği. Kısaca Web uygulamalarında, oturum açan kullanıcının hesabına erişilmesi olarak tanımlayabileceğimiz bir güvenlik zafiyeti. XSRF olarak da bilinir.

Uygulamaya giden isteklerin hangi kaynaktan ve nasıl gönderildiğinin kontrol edilmeyen (Genellikle GET requestleri ve SESSION işlemlerinin doğru kontrol edilememesi gibi durumlarda) sistemlerde bu zafiyet meydana gelir. Saldırganların kullanıcının oturumuna erişebilmeleri için phishing saldırılarına gerek kalmaz, kullanıcının zararlı bağlantıya tıklaması yeterli olur.

CSRF – Siteler Arası İstek Sahteciliği

CSRF - Siteler Arası İstek Sahteciliği
@securitysouls.com

Kullanıcının oturum açmış olduğu uygulama üzerinde dışarıdan gelen veya dışarıya giden tüm istekler filtrelenmemiş ise, saldırgan basitçe kullanıcının oturumunda bulunan önemli bir bilginin değiştirildiği html form elemanlarını kendi oluşturmuş olduğu bir html sayfasına yazıp, kullanıcının oturumunun bulunduğu uygulamaya yönlendirme yapabilir. Daha sonra saldırgan yazmış olduğu html sayfasını, kullanıcı oturumu hali hazırda farklı sekme üzerinde devam ederken, bir şekilde kullanıcıya açtırmayı başarırsa ilgili kullanıcı oturumu üzerinde işlemler yapabilecektir.

Yani işin sonunda saldırgan, son kullanıcının haberi olmadan onun kullandığı uygulamaya farklı işlemler ile müdahale edebilir. Yetkilinin oturum bilgilerini ele geçirdikten sonra korsan, kullanıcıyı tamamen sistemden saf dışı ederek yetkiyi ele alır ve kontrol mekanizmasını elinde tutar.

Basit Bir Örnek İle Durumu Daha İyi Anlatmaya Çalışalım…

Kurban, tarayıcısının bir sekmesinde banka hesabında oturum açmış halde işlemlerini yaparken, bir diğer sekmesinde ise maillerini inceliyor olsun. Bu esnada kullanmış olduğu banka uygulamasında dışarıdan gelen veya dışarıya giden istekler engellenmemiştir.

Saldırgan bu durumu fark ettikten sonra, banka uygulamasında bulunan para gönderme formundaki html form elemanlarını, parayı kendine gönderecek şekilde, kendi oluşturmuş olduğu html sayfasına yazıp bu banka uygulamasına gönderim yapmasını sağlar.

Saldırgan, hazırlamış olduğu html sayfasını kullanıcıya e-posta yoluyla gönderdikten sonra, kullanıcı yan sekmesinde bulunan gelen kutusunu incelemeye koyulur.

Kullanıcı ilgili e-postada bulunan html sayfasına gittiği takdirde, saldırgan ilgili havale işleminde gönderilmiş olan parayı kendine yönlendirmiş olacaktır.

CSRF - Siteler Arası İstek Sahteciliği
Photo by @DannyTseng

CSRF Zafiyetine Karşı Alınabilecek Önlemler

Bu noktada kullanıcıların da, sistem tarafındaki yazılımcıların da alması gereken önlemler bulunuyor elbette.

Kullanıcı Tarafında Alınabilecek Önlemler:

  • Kaynağı belli olmayan, güvenliği doğrulanmamış bağlantılara tıklamamak.
  • Gerekmedikçe banka hesabı gibi önemli oturumları tarayıcı sekmelerinde açık bir şekilde bırakmamak.
  • Çerezleri ve site verilerini düzenli olarak temizlemek.

Sistem Tarafında Alınabilecek Önlemler:

  • Captcha kullanmak. Captcha kullanımı sadece korsanlardan değil aynı zamanda bot ve zararlı yazılımlardan da sistemi koruyan bir yöntemdir. Ancak tek başına yeterli değil.
  • Kullanıcıların gerçekleştirdiği talepleri POST metodu ile almak.
  • GET requestleri ve SESSION işlemlerini kontrol etmek. Bunun da en pratik yolu token kullanmaktan geçiyor.
  • CSRF zafiyetini önlemek için en bilinen yöntem, kullanıcıya rastgele üretilmiş eşsiz bir token değeri tanımlamaktır. CSRF Token olarak adlandırılan bu yöntem şu şekilde çalışır:
    • Web sunucusu bir token değeri oluşturur. (Bu token işlem yapıldıkça yeniden üretilir.)
    • Token, formda gizli bir bilgi olarak depolanır.
    • Kullanıcı POST işlemini gerçekleştirirken token değeri de POST verilerine dahil edilir.
    • Web uygulaması, sistem tarafından oluşturulan tokeni, istekte gönderilen token ile karşılaştırır.
    • Eğer token değerleri eşleşirse, isteğin gerçek kullanıcı tarafından gönderildiği anlaşılır ve istek onaylanır.
    • Eşleşme yoksa, istek reddedilir. Bu sayede kötü niyetli istekler engellenmiş olur.
Yorum Yap

Yorum Yap

Yorumlar (1)

  1. admin_avatar

    Eline sağlık Gülistan 👌😊

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir