Hızlı cevap: Clickjacking (tıklama hırsızlığı), saldırganın kendi zararlı sayfasına güvenilir bir siteyi görünmez biçimde gömüp, kullanıcının farkında olmadan o site üzerinde tıklama yapmasını sağlamasıdır. Kullanıcı bir düğmeye ya da resme tıkladığını sanır, ama gerçekte altta gizlenmiş başka bir sitede bir işlem onaylar: bir ödeme, bir yetki verme, bir hesap ayarı değişikliği. Bu saldırı, kullanıcının açık oturumunu ve güvenini kullanır. Temel savunma, sitenizin başka sayfalar tarafından çerçeve içine alınmasını engellemektir; bunun yolu X-Frame-Options ve Content-Security-Policy frame-ancestors başlıklarıdır.

Clickjacking, teknik olarak sitenizin kodunda bir açık olmadan çalışabilen sinsi bir saldırıdır; çünkü sorun sizin sayfanızın başkası tarafından çerçevelenebilmesidir. CSRF gibi kullanıcı oturumunu suistimal eden saldırı ailesindendir, ama görsel bir aldatmaya dayanır. Bu yazı clickjacking'in nasıl çalıştığını, gerçek etkisini ve tek satırlık başlıkla nasıl önlendiğini anlatır.

Clickjacking nasıl çalışır

Saldırgan şu adımları izler:

  1. Kendi kontrolündeki bir sayfaya, hedef güvenilir siteyi bir çerçeve içinde yükler.
  2. Bu çerçeveyi saydam yapar ya da dikkatlice konumlandırır; kullanıcı onu görmez.
  3. Üstüne çekici bir içerik koyar: "Ödülü al", "Videoyu oynat" gibi bir düğme.
  4. Kullanıcı görünen düğmeye tıkladığını sanırken, tıklama alttaki görünmez sitenin gerçek düğmesine gider.

Kullanıcının o hedef sitede zaten açık bir oturumu varsa, tıklama gerçek ve yetkili bir işlem olarak kabul edilir. Kritik nokta: saldırgan sizin sitenizi kırmaz, onu bir tuzağın parçası yapar.

Clickjacking türleri ve etkisi

Tür Nasıl Örnek etki
Klasik saydam çerçeve Görünmez çerçeveye tıklatma Yetkisiz işlem onayı
Likejacking Sosyal medya beğenisini çaldırma İstem dışı paylaşım
Cursorjacking İmleç konumunu yanıltma Yanlış öğeye tıklatma
Çift tıklama tuzağı Onay penceresini kaydırma İzin verme çalma

Etki, hedef sitenin ne yaptığına bağlıdır. Bir bankada para transferi onayı, bir yönetim panelinde yetki verme, bir sosyal ağda gizlilik ayarı değişimi olabilir. Kullanıcı hiçbir zaman yaptığını bilmez.

Doğru savunma

1. Çerçevelemeyi engelleyin

En etkili ve kesin savunma, sitenizin başka sayfalar tarafından çerçeve içine alınmasını sunucu tarafında engellemektir. İki başlık bunu sağlar:

  • X-Frame-Options. DENY değeriyle sitenizin hiçbir yerde çerçevelenmesini engeller. Eski ama yaygın desteklenen bir başlıktır.
  • Content-Security-Policy frame-ancestors. Modern ve esnek yöntemdir. Sitenizi yalnızca izin verdiğiniz kaynakların çerçeveleyebilmesini, ya da hiçbirinin çerçeveleyememesini belirlersiniz.

Bu başlıklar tarayıcıya "bu sayfayı bir çerçeve içinde gösterme" der ve clickjacking'i kökten keser.

2. Kritik işlemlerde ek onay

Para transferi, yetki verme gibi hassas işlemlerde ek bir doğrulama adımı istemek, tek bir çalınmış tıklamanın işlemi tamamlamasını engeller.

3. Güvenlik başlıklarını bütün olarak yönetin

Clickjacking savunması, güvenlik yanlış yapılandırması başlığının bir parçasıdır. Güvenlik başlıkları tüm site genelinde tutarlı ve eksiksiz uygulanmalıdır.

KAOS ile güvenlik başlığı taraması

Clickjacking'e açık uçları, DSET'in yapay zekâ destekli otonom güvenlik tarama motoru KAOS ile ölçekli biçimde tespit ediyoruz. KAOS, sitenizin tüm sayfalarında X-Frame-Options ve Content-Security-Policy frame-ancestors başlıklarının var olup olmadığını, doğru yapılandırılıp yapılandırılmadığını tarar; eksik ya da zayıf koruma bulduğunda bunu kontrollü bir çerçeveleme denemesiyle doğrular ve yalnızca gerçekten çerçevelenebilen sayfayı raporlar. Böylece hangi sayfaların korumasız kaldığını yanlış pozitif gürültüsü olmadan görürsünüz. KAOS insan uzmanın yanında çalışır ve her bulguyu çalışan kanıtla belgeler.

Sık sorulan sorular

Clickjacking sitemin kodundaki bir açık mı? Hayır. Sorun, sayfanızın başkası tarafından çerçeve içine alınabilmesidir. Bunu bir başlıkla engellediğinizde saldırı çalışmaz.

X-Frame-Options ile CSP frame-ancestors ikisi de gerekli mi? Modern tarayıcılar için CSP frame-ancestors yeterlidir, ama eski tarayıcı desteği için X-Frame-Options ile birlikte kullanmak yaygın ve güvenli bir yaklaşımdır.

Clickjacking ile veri çalınır mı? Doğrudan veri okumaz; kullanıcıya farkında olmadan bir işlem yaptırır. Ama bu işlem yetki verme ya da ayar değişikliği ise dolaylı olarak hesap ele geçirmeye yol açabilir.

Mobil uygulamalar etkilenir mi? Klasik clickjacking tarayıcı çerçevelemesine dayanır. Mobil uygulamalarda benzer arayüz aldatmaları olabilir ama mekanizma farklıdır.

Kaynaklar

Sitenizin clickjacking ve güvenlik başlığı yapılandırmasını KAOS ve uzman ekibimizle test ettirmek için DSET ile iletişime geçin. Ankara Hacettepe Teknokent laboratuvarımızdan sızma testi ve güvenli kod denetimi hizmeti veriyoruz.