Ödeme sayfaları doğrudan hassas finansal bilgilere erişim sağladığı için yüksek değerli ve cazip hedeflerdir. Bu yüzden saldırganlar uzun süredir ödeme sayfalarını hedef almaktadır.
Magecart, 2015 yılında ortaya çıkan ve ilk olarak Magento tabanlı e-ticaret sitelerini hedef alan kötü niyetli hacker grubudur. Zamanla bu saldırılar daha da gelişerek üçüncü parti kütüphaneler veya hizmetler üzerinden kötü amaçlı JavaScript kodlarıyla ödeme sayfalarına sızmaya ve kullanıcıların kart bilgilerini çalmaya evrilmiştir. Neredeyse Javascript kullanmayan bir site olmaması da bu saldırıların etkisini artırmakta, saldırganlara geniş bir hedef alanı sunmaktadır. Magecart, zamanla sadece bu grubu değil, benzer yöntemlerle gerçekleştirilen tüm dijital kart kopyalama (e-skimming) saldırılarını tanımlamak için kullanılan genel bir terim haline gelmiştir.
E-Skimming Saldırılarının Etkileri
-
2018’de gerçekleşen British Airways saldırısı, Magecart saldırılarının en çok ses getirenlerinden biri olup, 380.000 işlemi etkilemiş ve Birleşik Krallık Bilgi Komiserliği Ofisi (ICO) tarafından £183 milyon para cezasına yol açmıştır.
-
2020 yılında Hanna Anderson, Kaliforniya Tüketici Gizliliği Yasası (CCPA) kapsamında açılan davayı çözmek için 400.000 ABD doları ödemeyi kabul etmiştir. Yalnızca iki ay içinde 200.000 kart bilgisinin kopyalandığı düşünülmektedir.
-
Sansec’in 2022 tarihli raporuna göre, 70.000’den fazla e-ticaret sitesi ele geçirilmiştir, tedarik zinciri saldırıları da dahil edildiğinde bu sayı 100.000’i bulmaktadır.
PCI DSS 4.0 E-Skimming Gereklilikleri
PCI DSS 4.0’da, PCI SSC (Ödeme Kartı Endüstrisi Güvenlik Standartları Konseyi), bu tür skimming tipi saldırıların hedef alanını daraltmayı amaçlayan yeni gereksinimler getirmiş ve ödeme sayfaları için bir tanım sağlamıştır. Ödeme sayfaları, kullanıcıdan hesap verilerini toplayan veya bu verileri sonradan ileten öğeler veya scriptler içeren web arayüzleridir. Bu, tek bir sayfa veya bir iframe içinde görüntülenen bir bileşen olabilir. Şimdi bu gereksinimlere göz atalım.
Gereksinim 6.4.3
Kullanıcının tarayıcısında yüklenecek ve çalıştırılacak tüm ödeme sayfası scriptleri aşağıdaki şekilde yönetilmelidir:
-
Her scriptin yetkilendirildiğini doğrulayan bir yöntem uygulanmalıdır.
-
Her scriptin bütünlüğünü garanti eden bir yöntem uygulanmalıdır.
-
Tüm scriptlerin envanteri, her birinin neden gerekli olduğuna dair yazılı gerekçe ile birlikte tutulmalıdır.
Gereksinim 11.6.1
Bir değişiklik ve manipülasyon (tamper) tespit mekanizması aşağıdaki şekilde konumlandırılmalıdır:
-
HTTP başlıkları (HTTP headers) ve tarayıcı tarafından alınan ödeme sayfalarının içeriğinde yapılan yetkisiz değişiklikleri (güvenlik ihlali göstergeleri, eklemeler, silmeler ve içerik değişiklikleri dahil) çalışanlara bildirmek üzere bir uyarı mekanizması uygulanmalıdır.
-
Mekanizma, alınan HTTP başlıklarını ve ödeme sayfalarını değerlendirecek şekilde yapılandırılmalıdır.
-
Mekanizma bu işlevleri şu şekilde gerçekleştirebilir:
En azından her yedi günde bir veya
Periyodik olarak (Gereksinim 12.3.1’de belirtilen tüm unsurlarla belirlenen risk analizine göre)
Jscrambler ve PCI DSS 4.0
Jscrambler, gelişmiş polymorphic JavaScript obfuscation (çok biçimli JavaScript karmaşıklaştırma) ile üçüncü parti script korumasını birleştiren bir client-side protection (istemci tarafı koruma) ve uyumluluk platformudur. Bu platform, mevcut ve gelişen istemci taraflı tehditler, veri sızıntıları, yanlış yapılandırmalar, otomatik tehditler ve fikri mülkiyet hırsızlığı gibi risklere karşı koruma sağlar.
Şimdi Jscrambler’ın yukarıdaki PCI DSS maddelerini nasıl adreslediğini inceleyelim.
Gereksinim 6.4.3
- Tüm scriptlerin envanteri, her birinin neden gerekli olduğuna dair yazılı gerekçe ile birlikte tutulmalıdır.
Jscrambler içindeki Payment Page Manager, keşfedilen tüm bileşenleri “vendor services” (sağlayıcı hizmetleri) olarak gruplandırır; bu da sayfadaki tüm script’lerin (hem birinci parti hem de üçüncü parti scriptler) envanter görünümünü sağlar.
- Her scriptin bütünlüğünü garanti eden bir yöntem uygulanmalıdır.
Jscrambler bunu, yalnızca script’lerin kendileri üzerinde bütünlük kontrolleri yapmakla kalmayıp, aynı zamanda script’lerin davranışlarındaki değişiklikleri de tespit ederek çözer. Bu, birinci ve üçüncü parti script’ler tarafından sağlanan script’leri de içerir.
- Her scriptin yetkilendirildiğini doğrulayan bir yöntem uygulanmalıdır.
Jscrambler, script’lerin yetkilendirilmesinin yönetimi için merkezi bir panel sunar. PCI DSS 4’te, ödeme sayfasındaki tüm script’lerin gerekçesi olması gerekir.
Gereksinim 11.6.1
- HTTP başlıkları (HTTP headers) ve tarayıcı tarafından alınan ödeme sayfalarının içeriğinde yapılan yetkisiz değişiklikleri (güvenlik ihlali göstergeleri, eklemeler, silmeler ve içerik değişiklikleri dahil) çalışanlara bildirmek üzere bir uyarı mekanizması uygulanmalıdır.
Jscrambler platformu, yetkisiz script davranışları tespit edildiğinde gerçek zamanlı uyarılar gönderecek şekilde yapılandırılabilir ve bu, potansiyel tehditlere hızlı bir şekilde yanıt verilmesine yardımcı olur. Platform, gözlemlenen başlıkları önceden yapılandırılmış güvenlik hassasiyeti taşıyan HTTP başlıkları ve değerleriyle karşılaştırarak herhangi bir değişikliği kontrol eder
□