Kredi kartları brute-force türü saldırılara karşı savunmasız
(metin.nextc.org)- PCI DSS, kart verilerinin saklanmasını ve gösterilmesini kısıtlasa da, BIN, son 4 hane ve son kullanma tarihi gibi izin verilen bilgiler bile başka iş yerlerinde ek ödeme denemelerinin sürdürülmesine yetebiliyor
- Ele geçirilmiş bir hesapta saldırgan, bankanın 3D Secure sayfası üzerinden kartın kullanılabilir olup olmadığını, banka adını, maskelenmiş kart numarasını ve tam son kullanma tarihini elde etti; yaklaşık 6 saat sonra da birden fazla iş yerinde kimlik doğrulama denemeleri başlattı
- Ödeme kartı numarası (PAN), IIN, hesap tanımlayıcısı ve Luhn kontrol basamağı yapısına sahip; ödeme ağ geçidi yanıtları hangi değerin yanlış olduğunu ayırt ediyorsa PAN, son kullanma tarihi ve CVV tahmini kolaylaşıyor
- Gerçek test hızı saniyede 6 deneme, API başına ise yaklaşık saniyede 2 deneme seviyesindeydi; proxy ile IP değişirken kart numarası da sürekli farklılaştığı için iş yeri açısından brute-force tespiti zorlaşıyor
- Saldırgan, 3D Secure istisnası olan iş yerlerini kullanarak düşürülmüş limitin tamamını elektronik cüzdana aktardı; chargeback ile para iade edildi ancak bankanın CVC2 hız sınırı birkaç dakikalık engelleme düzeyinde kaldı
PCI DSS'nin engelledikleri ve geride bıraktıkları
- PCI DSS, kredi kartı gibi hassas bankacılık verileri işlenirken gereken asgari güvenlik önlemlerini tanımlayan sektör standardıdır; hesap ele geçirilse veya kart verileri üçüncü taraflara geçse bile tüm bilgilerin açığa çıkmaması için saklama ve gösterimi sınırlar
- PCI DSS 4'e göre ekranda ya da makbuzda gösterilebilecek bilgiler maskelenmiş PAN, kart sahibinin adı, servis kodu ve son kullanma tarihidir; PAN içinde BIN ve son 4 hane gösterilebilir
- Gösterilemeyen bilgiler ise tam track verisi, kart doğrulama kodu ve PIN/PIN block ile sınırlıdır
- Hem e-ticaret siteleri hem de fiziksel makbuzlar aynı sorundan etkilenebilir; yalnızca hesap ele geçirilmesi değil, imha edilmemiş makbuzlar üzerinden de bazı kart bilgileri açığa çıkabilir
Olayın akışı
- Mağdur, limit kısıtlamalı bir sanal kredi kartı kullanıyordu, iki aşamalı doğrulama olan 3D Secure'u etkinleştirmişti ve kartı yalnızca bilinen iş yerlerinde kaydederek kullanıyordu
- Yıllar önce açılmış bir hesabın ele geçirilmesinin ardından, kartın kayıtlı olduğu web sitesinden satın alma denemesi SMS'i geldi; mağdur hemen giriş yapıp parolasını değiştirdi, satın alma durumunu kontrol etti ve ardından sanal kart limitini ciddi biçimde düşürdü
- Kartı tamamen devre dışı bırakmamasının nedeni, kartın tüm bilgilerinin sızdırılmadığını düşünmesiydi
- İlk ihlalden yaklaşık 6 saat sonra, kullanılmamış çeşitli iş yerlerinden 3 ila 4 adet 3D Secure SMS denemesi geldi; hepsi başarısız oldu ancak sonrasında saldırı yöntemini anlamada önemli bir ipucu sağladı
- Birkaç dakika sonra banka aranıp kart tamamen devre dışı bırakılırken, saldırgan 3D Secure olmayan başka iş yerlerini kullanarak düşürülmüş limitin tamamını çoklu ödemelerle çekti
- Para, nakde çevrilebilen bir marketin elektronik cüzdanına aktarıldı; mağdur chargeback talep ettikten sonra banka parayı iade etti
Saldırganın elde ettiği bilgiler
- Saldırgan, ele geçirdiği hesapta ödeme denemesi yapıp bankanın 3D Secure sayfasını gördükten sonra siparişi iptal edip ayrıldı
- Bu süreçte kartın hâlâ kullanılabilir olduğunu, banka adını, maskelenmiş kart numarasını ve tam son kullanma tarihini elde etti
- Genel olarak bir kart ödemesinin başarıyla tamamlanması için tam 16 haneli PAN, son kullanma tarihi, CVC2 numarası ve 3D Secure'da kullanılan cep telefonu gibi bilgilerin gerektiği düşünülebilir
- Gerçek saldırıda ise yalnızca bu bilgilerin bir kısmıyla başka iş yerlerinde ek denemeler sürdürülebildi
PAN yapısı ve tahmin edilebilirlik
- Ödeme kartı numarası (PAN), kredi kartı, banka kartı, saklı değer kartı ve hediye kartı gibi kartlarda kullanılan bir tanımlayıcıdır
- PAN, ISO/IEC 7812 kapsamındaki ortak numaralandırma şemasını kullanır ve iç yapısı şöyledir
- 6 ya da 8 haneli Issuer Identification Number (IIN)
- En fazla 12 haneli bireysel hesap tanımlayıcısı
- Luhn algoritmasıyla hesaplanan 1 haneli kontrol basamağı
- Mağdurun bankası yalnızca kart numarasıyla ödemeye izin vermiyor; PAN, son kullanma tarihi ve CVV'yi birlikte istiyordu
- Bazı bankalar ve ödeme ağ geçitleri yalnızca kart numarasıyla da ödemeyi işleyebiliyor; bu da mağdurun özellikle inanmakta zorlandığı noktaydı
Ödeme ağ geçidi yanıtlarının oluşturduğu brute-force koşulları
- Mağdurun bankası, gereken değerleri eksik ya da hatalı olan ödemeleri reddediyordu ancak yanıt koduyla hangi kısmın yanlış olduğunu bildiriyordu
- Yanıt örnekleri şunlardı
- “Geçerli bir kredi kartı değil”
- “Kartın süresi dolmuş”
- “Diğer tüm bilgiler doğru ama CVV yanlış”
- Bu tür yanıtlar, saldırganın kart numarası, son kullanma tarihi ve CVV arasında hangi değerin doğru ya da yanlış olduğunu ayırt etmesine yarayabilir
- Gerçek saldırgan saniyede 6 deneme, API başına ise yaklaşık saniyede 2 deneme yapıyordu
- Bu hız, iş yeri açısından tespit edilmesi zor bir düzeyde; çünkü proxy nedeniyle kaynak IP değişiyor, brute-force doğası gereği kart numarası da sabit kalmıyor ve istek sıklığı da oldukça düşük oluyor
3D Secure istisnalı iş yerlerinin rolü
- Bankada 3D Secure istisnası olan iş yerlerinin bir listesi bulunuyor ve bu iş yerleri banka tarafından güvenilir kabul edildiği için 3D Secure olmadan ödeme ve abonelik alabiliyor
- Chargeback oluştuğunda sorumluluğu bu iş yerleri üstleniyor
- Saldırgan, 3D Secure olmayan iş yerlerini kullanarak kart limitindeki tutarı elektronik cüzdana aktardı
Sonraki müdahale ve kalan sorunlar
- Chargeback sayesinde para hızla iade edildi
- Kart ödemelerini nakde çevirebilen sistemin yetkisiz para çekimi için kullanıldığı ilgili iş yerine bildirildi ancak iş yeri bankaya danışılması gerektiğini söyledi
- E-ticaret sitesine, son kullanma tarihiyle birlikte kart numarasının 10 hanesini göstermenin saldırıyı kolaylaştırdığı iletildi ancak site bunu zafiyet olarak kabul etmedi ve PCI DSS 3 ile 4 standartlarına uygun şekilde bilerek tasarlandığını söyledi
- Ödeme API'si geliştirenler ya da ödeme sektöründe çalışanlar buna şaşırmadı; bazı iş yerleri son kullanma tarihi olmadan da işlem yapılabildiğini belirtti
- Olaydan sonra kredi kartı ödemelerini nakde çeviren ilgili taraf bunu artık 3D Secure olmadan işlemiyor
- Mağdurun bankası hâlâ CVC2 brute-force denemelerine karşı nispeten gevşek bir hız sınırı uyguluyor; bu sınıra takılındığında ilgili kart yalnızca birkaç dakikalığına geçici olarak engelleniyor
Henüz yorum yok.