webrtc ile csp'yi bypass eden yeni ödeme çalma malware'i
arkadaşlar, e-ticaret sitelerinde yeni bir malware türü keşfedilmiş. webrtc data channel’larını kullanarak hem payload yüklüyor hem de çaldığı kredi kartı bilgilerini sızdırıyor. en kötü tarafı da csp (content security policy) kontrollerini bypass ediyor.
olay ne tam olarak
sansec’in güvenlik araştırmacıları yeni bir payment skimmer (ödeme bilgisi çalan malware) bulmuş. klasik http istekleri veya image beacon’ları yerine webrtc data channel’larını kullanıyormuş. yani normal güvenlik kontrolleri bu trafiği görmüyor bile.
spoiler: bu malware özellikle e-ticaret sitelerini hedef alıyor. müşterileriniz ödeme yaparken kredi kartı bilgileri çalınabiliyor.
teknik detaylar
saldırı nasıl çalışıyor
- webrtc data channel kullanımı: klasik http yerine webrtc peer-to-peer bağlantı kurarak payload indiriyor
- csp bypass: content security policy kuralları http/https trafiğini kontrol eder ama webrtc data channel’ları bu kontrolün dışında kalıyor
- veri sızdırma: çalınan kredi kartı bilgileri yine webrtc üzerinden gönderiliyor, network loglarında gözükmüyor
neden bu kadar tehlikeli
- csp’yi bypass ediyor (yani güvenlik duvarınız işe yaramıyor)
- klasik network monitoring araçlarıyla tespit edilemiyor
- http trafiği olmadığı için waf’lar görmüyor
- peer-to-peer iletişim olduğu için merkezi bir c2 sunucusu yok
etkilenen sistemler
| Platform | Durum |
|---|---|
| E-ticaret siteleri | ✅ Risk altında |
| Ödeme sayfaları | ✅ Hedef |
| Magento | ✅ Etkileniyor |
| WooCommerce | ✅ Etkileniyor |
| Shopify | ⚠️ Kontrol edin |
| Özel e-ticaret yazılımları | ✅ Risk var |
yapmanız gerekenler
1. acil kontroller
# javascript dosyalarınızda webrtc kullanımını kontrol edin
grep -r "RTCPeerConnection\|RTCDataChannel" /var/www/html/
# network trafiğinde webrtc bağlantılarını izleyin
tcpdump -i any 'udp and (port 3478 or port 5349)'
# tarayıcı console'da webrtc bağlantılarını listeleyin
# chrome devtools > network > ws/wss filtresi
2. csp politikanızı güncelleyin
webrtc’yi engellemek için csp header’ınıza şunu ekleyin:
# nginx için
add_header Content-Security-Policy "connect-src 'self'; default-src 'self';" always;
# apache için
Header set Content-Security-Policy "connect-src 'self'; default-src 'self';"
dikkat: eğer sitenizde meşru webrtc kullanımı varsa (video chat vs.) bu ayar işlevselliği bozabilir. önce test edin.
3. javascript integrity kontrolü
<!-- tüm external script'lere SRI ekleyin -->
<script src="https://example.com/script.js"
integrity="sha384-oqVuAfXRKap7fdgcCY5uykM6+R9GqQ8K/uxy9rx7HNQlGYl1kPzQho1wx4JwY8wC"
crossorigin="anonymous"></script>
4. monitoring ve loglama
# webrtc bağlantılarını loglamak için
# nginx log format'ınıza ekleyin
log_format security '$remote_addr - $remote_user [$time_local] '
'"$request" $status $body_bytes_sent '
'"$http_referer" "$http_user_agent" '
'"$http_sec_websocket_protocol"';
geçici çözümler
yamayı hemen uygulayamayanlar için:
webrtc’yi tamamen engelleyin: eğer kullanmıyorsanız firewall’dan webrtc portlarını kapatın (udp 3478, 5349)
javascript dosyalarını hash’leyin: tüm js dosyalarının hash’ini alın ve değişiklik kontrolü yapın
# günlük kontrol scripti
#!/bin/bash
find /var/www/html -name "*.js" -type f -exec sha256sum {} \; > /tmp/js_hashes.txt
diff /var/www/backups/js_hashes_original.txt /tmp/js_hashes.txt
- waf kuralları: webrtc keyword’lerini engelleyin (ama false positive yaratabilir)
# modsecurity kuralı örneği
SecRule REQUEST_URI|ARGS|REQUEST_BODY "@rx (?:RTCPeerConnection|RTCDataChannel|createDataChannel)" \
"id:1001,phase:2,deny,status:403,msg:'Potential WebRTC Skimmer Detected'"
ek öneriler
- her gün javascript dosyalarınızın integrity’sini kontrol edin
- müşteri ödeme sayfalarında ekstra monitoring yapın
- ani javascript değişikliklerinde alert alın
- third-party script’leri minimize edin
- mümkünse payment gateway’i iframe ile izole edin
edit: sansec’in tam raporunu okuyun, içinde daha detaylı ioc’ler (indicators of compromise) var.
edit 2: bu saldırı türü yeni olduğu için henüz cve numarası yok, ama teknik detaylar için sansec’in raporuna bakın.
sektör tepkileri
bu tür bypass teknikleri giderek yaygınlaşıyor. geleneksel güvenlik kontrolleri artık yeterli olmuyor. özellikle e-ticaret sitesi işletiyorsanız:
- düzenli penetration test yaptırın
- bug bounty programı açın
- güvenlik ekibinizi webrtc güvenliği konusunda eğitin
kaynaklar
- Sansec Blog - WebRTC Skimmer Analysis
- The Hacker News - Orijinal Haber
- MDN - Content Security Policy
- OWASP - Magecart Prevention
agalar ciddi ciddi e-ticaret siteniz varsa bu konuya bakın. müşteri kredi kartı bilgileri çalınırsa hem maddi hem de itibar kaybı oluyor. önce test ortamında kontrolleri yapın, sonra production’a geçin. yedek almayı unutmayın.
sorularınız varsa yorumlarda buluşalım. başka bir webrtc güvenlik açığı haberi gelirse güncellerim.
Bu içerik yapay zeka tarafından oluşturulmuştur.
