Beni tanıyorsan veya okuduysan önceki yazı ApeeScape'e katılmadan önce çok ilginç bir şirkette çalıştığımı biliyorsunuz. Bu şirkette, ödeme sağlayıcımız günlük 500.000 $ civarında işlem gerçekleştirdi. İşimin bir parçası, sağlayıcımızı PCI-DSS uyumlu —Yani, Ödeme Kartı Endüstrisi - Veri Güvenliği Standardı ile uyumludur.
Bunun kalbi zayıflar için bir iş olmadığını söylemek güvenlidir. Bu noktada, Kredi Kartları (CC), Kredi Kartı korsanlığı ve genel olarak web güvenliği . Sonuçta, bizim işimiz kullanıcılarımızın verilerini korumak, saldırıya uğramasını, çalınmasını veya kötüye kullanılmasını önlemekti.
Bennett Haselton’ın Slashdot ile ilgili 2007 tarihli makalesini gördüğümde şaşırdığımı tahmin edebilirsiniz: CC Numaralarını Bulmak Neden Hala Bu Kadar Kolay? . Kısacası Haselton, Kredi Kartı numaralarını Google üzerinden, öncelikle 'nnnn nnnn' biçiminde bir kartın ilk sekiz hanesini arayarak ve daha sonra sayı aralıkları üzerine kurulu bazı gelişmiş sorgular kullanarak bulabildi. Örneğin, 16 basamağın tamamını bulmak için '4060000000000000..4060999999999999' kullanabilir Birincil Hesap Numaraları (PAN'ler) CHASE'ten (kartları 4060 ile başlar). Bu arada: işte tam listesi Sertifikayı veren kuruluş kimlik numaraları .
O zamanlar, Google, Bennett'in kullandığı sorgu türlerini hemen filtrelemeye başladığından, pek düşünmemiştim. Google'ı buna benzer bir aralıkta kullanmayı denediğinizde, Google 'Sen kötü birisin' gibi bir şeyler söyleyen bir sayfa sunardı.
Yaklaşık altı ay önce eski bir arkadaşla anılarken, bu kredi kartı numarası hacklemesi tekrar akla geldi. Kısa süre sonra endişe verici bir şey keşfettim. Korkunç derecede endişe verici değil, ama kesinlikle endişe verici - bu yüzden Google'a haber verdim ve bekledim. Yanıt alamadığım bir ayın ardından, onları tekrar boşuna bilgilendirdim.
Haselton’un eski numarasında küçük bir değişiklik yaparak, Google Kredi Kartı numaralarını, Sosyal Güvenlik numaralarını ve diğer ilgili hassas bilgileri alabildim.Bu yüzden Google'a haber verdim ve bekledim. Yanıt alamadığım bir ayın ardından, onları tekrar boşuna bilgilendirdim. Haselton'ın eski numarasında küçük bir değişiklik yaparak, Google Kredi Kartı numaralarını, Sosyal Güvenlik numaralarını ve diğer hassas bilgileri alabildim.
Makalenin yazarı, yine orijinal makaleyi 2007'de yazan Bennett Haselton, kredi kartı numaralarının hala Google'da aranabileceğini iddia ediyor. Sayı aralığı sorgusunu kullanamazsınız, ancak yine de yapılabilir. Basit aralıklar kullanmak yerine, sorgunuza belirli biçimlendirme uygulamanız gerekir. Şöyle bir şey: '1234 5678' (ortadaki boşluğa dikkat edin). Bu sorgu için çok sayıda isabet gelir, ancak çok azı gerçekten ilgi çekicidir. Yarışmacılar arasında telefon numaraları, posta kodları vb. Son derece endişe verici değil. Ama işte kredi kartı hilesi geliyor.
Kredi kartı numaralarını 2007'de yapabildiğimiz şekilde çevrimiçi olarak almanın hala mümkün olup olmadığını merak ediyordum. Herhangi bir iyi Mühendis olarak, genellikle en yüksek hassasiyetle mükemmel bir şekilde yürütülmesi gereken, düzgün yorumlanmış ve akıllı bir plan kullanarak yaklaşırım. Bu yöntemi denediyseniz, gerçekten çok başarısız olabileceğini biliyor olabilirsiniz - bu durumda dikkatli planlamanız ve çabanız boşa gider.
İçinde O tam olarak garanti edilmese bile aşırı entelektüelleştirme eğilimindeyiz. Arkadaşlarımın ve meslektaşlarımın görünüşte rastgele girdiler kullanarak uygulamaları tamamen kırdığını gördüm. Başarı oranları çarpıcıydı ve buna harcadıkları çaba sıfıra yakındı. İşte o zaman bir kapıyı açmayı öğrendim, bazen sadece kapıyı çalmalısın.
Önceki paragraf, 'seçkin bilgisayar korsanlığı becerilerimi' sergilediğimde beni daha az aptal gibi göstermeye yönelik akıllıca gizlenmiş bir girişimdi. Oops.
İlk olarak, çeşitli aralık-sorgu tabanlı yaklaşımlar denedim. Sonra, gelişmiş sorgulara ve bir saat içinde bulabileceğiniz hemen hemen her şeye baktım. Hiçbiri önemli sonuçlar vermedi.
Ve sonra çılgın bir fikrim vardı.
Ya filtreleme motoru ile gerçek arka uç arasında bir uyumsuzluk varsa? Ya Google'dan aldığım mesaj ('Sen kötü bir insansın') arka uçtan değil de Google'ın benimki gibi sorguları sansürlemek için uyguladığı belirlenmiş bir filtreleme motorundan geliyorsa?
Mimari açıdan çok mantıklı olurdu. Ve bunun gibi hatalar oldukça yaygındır - bunları ITSEC'de her zaman görüyoruz, özellikle IDS / IPS çözümler, aynı zamanda ortak yazılımlarda. Verileri işleyen ve yalnızca verilerin kabul edilebilir / kötü niyetli olmadığını düşünmesi durumunda arka uca veren bir filtreleme prosedürü vardır. Ancak, arka uç ve filtreleme sunucusu neredeyse hiçbir zaman girdiyi tam olarak aynı şekilde ayrıştırmaz. Böylece, görünüşte geçerli olan bir girdi, filtreden geçebilir ve filtreyi etkin bir şekilde atlayarak arka uçta hasara yol açabilir.
Girişinizi çeşitli kodlamalarda sağlayarak genellikle bu tür davranışları tetikleyebilirsiniz. Örneğin: ondalık sayılar (0-9) kullanmak yerine, onları onaltılık, sekizlik veya ikiliye dönüştürmeye ne dersiniz? Öyleyse tahmin et…
Bunu arayın, Google size kötü bir insan olduğunuzu söyleyecektir: '4060000000000000..4060999999999999'
Bunu arayın ve Google, '0xe6c8c69c9c000..0xe6d753e6ecfff' zorunlu kılmaktan mutluluk duyacaktır.
Yapmanız gereken tek şey, kredi kartı numaralarını ondalıktan onaltılıya çevirmektir. Bu kadar.
Sonuçlar şunları içerir ...
Gerçekten ürkütücü şeyler.
Bu hatanın herhangi bir güvenlik araştırmasına ilham vermeyeceğini biliyorum, ama işte karşınızda. Google bu yuhalama yaptı ve bana cevap yazmayı bile ihmal etti. Peki, olur. Yine de büyük G'deki güvenlik görevlilerini kıskanmıyorum. Dikkat etmeleri gereken çok şey olmalı. Bu kredi kartı numarası hackiyle ilgili olarak buraya yazıyorum çünkü:
Bu numara telefon numaralarını, SSN'leri, TFN'leri ve daha fazlasını aramak için kullanılabilir. Ve, Bennett'in yazdığı gibi, bu numaraları değiştirmek, bankanızı arayabileceğiniz ve kartı iptal edebileceğiniz Kredi Kartınızdan çok daha zordur.
UYARI: Kendi kredi kartı numaranızı tam olarak Google’a ETMEYİN!
4060: 4060000000000000..4060999999999999 ile başlayan bir CC PAN mı arıyorsunuz? 0xe6c8c69c9c000..0xe6d753e6ecfff
'Telenor' sağlayıcısından bazı Macar telefon numaraları? Sorun değil: 36200000000..36209999999? 0x86db02a00..0x86e48c07f
SSN'leri arayın. Neyse ki, bunlar pek çok anlamlı sonuç getirmiyor: 100000000..999999999? 0x5f5e100..0x3b9ac9ff
Çok daha fazlası var.
Çok endişe verici bir şey bulursanız veya kredi kartı korsanlığını merak ediyorsanız, lütfen yorumlarda bırakın veya şu adresten e-posta ile bana ulaşın: [e-posta korumalı] veya Twitter'da @sebnemziyagil . Bu gibi durumlarda polisi aramak genellikle boşuna olsa da denemeye değer olabilir. Verilen satıcı veya kart sağlayıcısı genellikle sorunu çözmeye daha isteklidir.
Google, muhtemelen Visa ve Mastercard gibi büyük oyuncuların yardımıyla bunu düzeltmek zorunda. Aslında Haselton, yukarıda bağlantısı verilen iki makalede bir dizi ilginç öneri sunuyor.
Bununla birlikte, yapmanız gereken (ve bu yazıyı neden yazdım) herkese duyurmaktır. Kredi Kartı dolandırıcılığı büyük bir sektördür ve basit farkındalık sizi kurban olmaktan kurtarabilir. Ayrıca, bir e-ticaret siteniz varsa veya herhangi bir kredi kartı işlemiyle ilgileniyorsanız, lütfen güvende olduğunuzdan emin olun . PCI-DSS iyi bir kılavuzdur, ancak mükemmel olmaktan uzaktır. Ayrıca, hassas sayıları aramak için 'site: mysite.com' gelişmiş sorgusu ile sitenizi Google için her zaman iyi bir fikirdir. Bir şey bulmanızın çok, çok zayıf bir ihtimali var - ama bulursanız, hemen harekete geçmelisiniz.
Ayrıca, biraz dostça bir tavsiye: Yapmalısınız asla kredi kartı bilgilerinizi kimseye vermeyin. Tavsiyem mümkün olduğunca PayPal veya benzer bir hizmeti kullanmak olacaktır. Daha fazla bilgi için bu bağlantılara göz atabilirsiniz:
Ve birkaç genel ipucu: İstemediğiniz şeyleri indirmeyin, spam e-postaları açmayın ve bankanızın asla şifrenizi istemeyeceğini unutmayın.
Bu arada: Bu kredi kartı hackleme tekniklerine kanacak veya kredi kartı bilgilerini internette verebilecek kadar aptal kimsenin olmadığını düşünüyorsanız, bir göz atın @Kafadergisi .
Güvenli insanlar kalın!
CCV, Kart Doğrulama Değeri anlamına gelir. CCV numarası genellikle bir kredi veya banka kartının arkasında bulunur. CCV genellikle üç basamaklı bir sayıdır, ancak American Express gibi bazı kartlar dört basamaklı CCV'ler kullanır. CCV, kartın çevrimiçi alışveriş yapanların elinde olduğunu doğrulamak için yaygın olarak kullanılır.
PCI DSS, Ödeme Kartı Endüstrisi Veri Güvenliği Standardı anlamına gelir. PCI DSS, kredi kartı verilerinin işlenmesi, aktarımı ve depolanmasıyla ilgili tüm tarafların güvenli bir ortamda çalışmasını sağlar.
Basitçe ifade etmek gerekirse, PCI uyumluluğu, kredi kartı ve banka kartı ödemelerini kabul eden tüm şirketlerin endüstri standardı güvenlik sağlamasını gerektirir. PCI Güvenlik Standartları Konseyi şu anda 12 PCI uyumluluk gereksinimini zorunlu kılmaktadır.