Clickjacking, kullanıcıları, görünmeyen veya başka bir öğe olarak gizlenmiş bir web sayfası öğesini tıklamaları için kandıran bir siber saldırı türüdür. Bu, kullanıcıların farkında olmadan kötü amaçlı yazılım indirmesine, kimlik bilgilerini veya hassas bilgilerini ele vermesine veya istenmeyen eylemler gerçekleştirmesine neden olabilir.
Bu hile sayfası, geliştiricilere kullanıcı arayüzü düzeltme saldırıları olarak da bilinen Clickjacking’e karşı nasıl savunma yapılacağı konusunda rehberlik sağlamayı amaçlamaktadır.
Clickjacking Saldırısı Türleri
1. İzinsiz İframe’ler
Bu tür clickjacking saldırısında, saldırganlar hedef web sayfasını kendi web sayfalarına bir iframe içine yerleştirirler. Kullanıcılar, asıl sayfayı ziyaret ettiklerinde, aslında kötü amaçlı web sayfasının içindeki butonları tıklamış olabilirler.
2. Görünmez İframe’ler
Bu tür clickjacking saldırısında, saldırganlar hedef web sayfasını kendi web sayfalarına bir iframe içine yerleştirirler, ancak iframe’ı görünmez hale getirirler. Kullanıcılar, asıl sayfayı ziyaret ettiklerinde, farkında olmadan kötü amaçlı işlemleri gerçekleştirebilirler.
3. Buton Kapsama
Bu tür clickjacking saldırısında, saldırganlar asıl web sayfasının üzerine, aslında kötü amaçlı işlemleri gerçekleştirecek olan sahte bir buton yerleştirirler. Kullanıcılar, butona tıkladıklarında, istemeden kötü amaçlı işlemleri gerçekleştirmiş olabilirler.
4. Flash Clickjacking
Bu tür clickjacking saldırısında, saldırganlar hedef web sayfasını bir Flash nesnesi içine yerleştirirler. Kullanıcılar, asıl sayfayı ziyaret ettiklerinde, Flash içeriği aracılığıyla istenmeyen işlemleri gerçekleştirebilirler.
5. CSS Z-Index Manipülasyonu
Bu tür clickjacking saldırısında, saldırganlar asıl web sayfasını kendi web sayfalarına yerleştirirler ve CSS z-index özelliğini kullanarak asıl sayfanın üzerine örtücü bir katman yerleştirirler. Bu sayede, kullanıcılar asıl sayfanın üzerinde tıklama yapmış gibi görünse de, aslında kötü amaçlı işlemleri gerçekleştirmiş olabilirler.
Clickjacking saldırıları, kullanıcıların güvenliğini tehdit eden ciddi bir risk oluşturur. Web geliştiricilerin, bu tür saldırılara karşı önlem alması ve güvenlik önlemlerini güçlendirmesi önemlidir.
Clickjacking’e Karşı Savunma
Clickjacking’e karşı savunmada kullanılabilecek üç ana mekanizma vardır:
X-Frame-Options HTTP Üstbilgisi
X-Frame-Options HTTP Üstbilgisi, modern web güvenliğinde önemli bir rol oynar. Bu üstbilgi, bir web sayfasının başka bir web sitesinin çerçevesinde gösterilip gösterilmeyeceğini belirler. Özellikle, bu üstbilgi, tarayıcının sayfanın bir çerçevede yüklenmesine izin verip vermeyeceğini kontrol etmek için kullanılır. X-Frame-Options, web sitesinin kötü amaçlı içeriklerle gösterilme riskini azaltmaya yardımcı olur ve sayfanın güvenliğini artırır.
X-Frame-Options Nedir?
X-Frame-Options, web uygulamalarının başka bir web sitesinin çerçevesinde gösterilip gösterilmeyeceğini belirlemek için kullanılan bir HTTP üstbilgisidir. Bu üstbilgi, tarayıcının bir web sayfasını bir çerçevede yüklemesine izin verilip verilmeyeceğini kontrol eder. Üstbilgi, üç farklı değer alabilir:
- DENY: Bu değer, sayfanın herhangi bir çerçevede gösterilmesini engeller. Tarayıcı, sayfanın başka bir çerçevede yüklenmesine izin vermez.
- SAMEORIGIN: Bu değer, sayfanın yalnızca aynı kök alanı içindeki çerçevelerde gösterilmesine izin verir. Başka bir deyişle, sayfa yalnızca aynı alan adı altında gömülü çerçevelerde görüntülenir.
- ALLOW-FROM uri: Bu değer, sayfanın belirli bir URI altında gösterilmesine izin verir. Bu, sayfanın belirli bir web sitesinde gösterilmesine izin vermek için kullanışlı olabilir.
X-Frame-Options Neden Önemlidir?
X-Frame-Options üstbilgisi, web sitelerinin güvenliğini artırmak için önemli bir önlemdir. Bu üstbilgi, tıpkı Cross-Origin Resource Sharing (CORS) gibi, tarayıcıdaki güvenlik açıklarını azaltır ve kötü amaçlı kullanımları engeller. Özellikle, bu üstbilgi, Clickjacking gibi saldırıları önlemeye yardımcı olur.
Frame-Busting Teknikleri
Frame-busting teknikleri, bir web sayfasının başka bir çerçevede gösterilmesini engellemek için kullanılır. Bu teknikler, genellikle JavaScript kullanılarak veya CSS ile z-index özelliğinin manipülasyonuyla gerçekleştirilir. Frame-busting, tarayıcının asıl sayfayı kapsayan bir çerçeve algıladığında, kullanıcıyı tarayıcının tam penceresine yönlendirerek clickjacking saldırılarını önler.
JavaScript Kullanımı
JavaScript, frame-busting için en yaygın kullanılan yöntemdir. Basit bir JavaScript kodu, tarayıcının anasayfaya geri dönmesini sağlar ve böylece başka bir çerçevede gösterilmesini engeller. Örnek bir JavaScript kodu şu şekildedir:
if (window.top !== window.self) {
window.location.replace('https://www.example.com/');
}
Bu kod, tarayıcının anasayfaya geri dönmesini sağlar ve böylece sayfanın başka bir çerçevede gösterilmesini engeller.
CSS ile Z-Index Özelliğinin Manipülasyonu
CSS ile z-index özelliğinin manipülasyonu da frame-busting için kullanılabilir. Bu yöntemde, sayfanın kendisini kapsayan bir çerçeve algılandığında, CSS ile z-index özelliği ayarlanarak sayfanın ön plana çıkması sağlanır. Böylece, sayfa başka bir çerçevede gösterilmesi durumunda, kullanıcı tarayıcının tam penceresine yönlendirilir.
Frame-busting teknikleri, web geliştiricilerin clickjacking gibi saldırılara karşı etkili bir savunma sağlamasına yardımcı olur.
Content Security Policy (CSP)
Content Security Policy (CSP), web sayfasının kaynaklarının nasıl yüklenmesi gerektiğini kontrol eden bir güvenlik önlemidir. CSP, tarayıcıya hangi kaynakların yüklenmesine izin verileceğini belirtir ve potansiyel olarak kötü niyetli içeriklerin yüklenmesini engeller. CSP’nin kullanımı, clickjacking gibi saldırıları önlemeye yardımcı olabilir.
CSP’nin Avantajları
- Kötü Niyetli İçeriklerin Engellenmesi: CSP, tarayıcıya yüklenmesine izin verilen kaynakları belirleyerek kötü niyetli içeriklerin yüklenmesini engeller. Bu, web sayfasının güvenliğini artırır ve kullanıcıları potansiyel tehlikelerden korur.
- Clickjacking Saldırılarının Önlenmesi: CSP’nin kullanımı, clickjacking gibi saldırıları önlemeye yardımcı olabilir. CSP, sayfanın başka bir çerçevede gösterilmesini engelleyerek kullanıcıları kötü niyetli tıklamalardan korur.
- Güvenilir Kaynakların Belirlenmesi: CSP, web geliştiricilerin güvenilir kaynakları belirlemesine olanak tanır. Bu, sayfanın yalnızca güvenilir kaynaklardan yüklenmesini sağlayarak güvenlik açıklarını azaltır.
- Uygulama Hatalarının Azaltılması: CSP’nin kullanımı, uygulama hatalarının azaltılmasına yardımcı olabilir. CSP, tarayıcıya yüklenmesine izin verilen kaynakları sıkı bir şekilde kontrol ederek potansiyel güvenlik açıklarını belirleyebilir.
CSP’nin doğru bir şekilde yapılandırılması, web sayfalarının güvenliğini artırabilir ve potansiyel saldırılara karşı koruma sağlayabilir.
24 Nisan 2024
Yorum yapılmamış
Yazar: Gökhan AKSOY