Če me poznate ali ste me prebrali prejšnja objava , veste, da sem pred pridružitvijo ApeeScape delal za zelo zanimivo podjetje. Pri tem podjetju je naš ponudnik plačilnih transakcij obdelal transakcije v višini 500.000 USD na dan. Del moje naloge je bil, da sem naš ponudnik Skladno s PCI-DSS - to je v skladu s standardom za plačilne kartice - varnost podatkov.
Lahko rečemo, da to ni bilo delo za tiste s srcem. V tem trenutku sem precej seznanjen s kreditnimi karticami (CC), vdori v kreditne kartice in spletna varnost na splošno . Navsezadnje je bila naša naloga zaščititi podatke naših uporabnikov, preprečiti njihovo vdor, krajo ali zlorabo.
Lahko si predstavljate moje presenečenje, ko sem videl članek Bennetta Haseltona iz leta 2007 o Slashdot: Zakaj je CC številk še vedno tako enostavno najti? . Skratka, Haselton je lahko našel številke kreditnih kartic prek Googla, najprej z iskanjem prvih osmih številk kartice v obliki 'nnnn nnnn', kasneje pa z uporabo nekaterih naprednih poizvedb, ki temeljijo na obsegih številk. Na primer, lahko bi uporabil '4060000000000000..4060999999999999', da bi poiskal vseh 16-mestnih Številke primarnega računa (PAN) od CHASE (katere karte se začnejo s 4060). Mimogrede: tukaj je celoten seznam ID številke izdajatelja .
Takrat nisem veliko razmišljal, saj je Google takoj začel filtrirati vrste poizvedb, ki jih je uporabljal Bennett. Ko poskušate z Googlom poiskati takšen obseg, Google prikaže stran z napisom »Ste slaba oseba«.
Pred približno šestimi meseci, ko sem se spominjal s starim prijateljem, mi je spet prišel na misel ta kramp številke kreditne kartice. Kmalu zatem sem odkril nekaj zaskrbljujočega. Ni strašno zaskrbljujoče, zagotovo pa zaskrbljujoče - zato sem obvestil Google in čakal. Po enem mesecu brez odziva sem jih znova obvestil brez uspeha.
Z manjšim popravkom starega trika Haseltona sem lahko našel številke kreditnih kartic Google, številke socialne varnosti in vse druge občutljive podatke, ki nas zanimajo.
Zato sem obvestil Google in čakal. Po enem mesecu brez odziva sem jih znova obvestil brez uspeha. Z manjšim popravkom starega trika Haseltona sem lahko našel številke kreditnih kartic Google, številke socialne varnosti in vse druge občutljive podatke.Včeraj je nekaj mojih prijateljev ( buhera.blog.hu in _2501) so me opozorili na novejšo objavo Slashdot: Številke kreditnih kartic še vedno omogoča Google .
Avtor članka, spet Bennett Haselton, ki je prvotni članek napisal že leta 2007, trdi, da je številke kreditnih kartic še vedno mogoče Googlati. Ne morete uporabiti vdora za poizvedbe obsega številk, vendar je vseeno mogoče. Namesto da uporabite preproste obsege, morate za poizvedbo uporabiti določeno oblikovanje. Nekaj takega: “1234 5678” (opazite prostor na sredini). Za to poizvedbo se pojavi veliko zadetkov, vendar jih je zelo malo. Med tekmovalci so telefonske številke, poštne številke in podobno. Ni izredno zaskrbljujoče. Toda tukaj prihaja do zloma kreditne kartice.
Zanimalo me je, ali je še vedno mogoče dobiti številke kreditnih kartic po spletu tako, kot smo jih lahko leta 2007. Kot vsak dober inženir ponavadi pristopam k stvari z uporabo pravilno zasnovanega in inteligentnega načrta, ki ga je treba izvesti z največjo natančnostjo. Če ste preizkusili to metodo, boste morda vedeli, da lahko resnično propade - v tem primeru vaše skrbno načrtovanje in trud propadeta.
V IT imamo težnjo k pretirani intelektualizaciji, tudi če to ni ravno upravičeno. Videl sem, da moji prijatelji in kolegi popolnoma lomijo programe z na videz naključnimi vhodi. Njihov uspeh je bil osupljiv, trud, ki so ga vložili, pa skoraj nič. Takrat sem se naučil, da je treba, da odpreš vrata, včasih preprosto potrkati.
Prejšnji odstavek je bil spretno prikrit poskus, da bi bil videti manj idiot, ko pokažem svoje 'elitne hakerske sposobnosti'. Ups.
Najprej sem preizkusil več pristopov, ki temeljijo na poizvedbah. Nato sem pogledal napredne poizvedbe in skoraj vse, kar bi lahko prišli čez kakšno uro. Nobena od njih ni prinesla pomembnih rezultatov.
In potem sem imel noro idejo.
Kaj če bi prišlo do neskladja med filtrirnim motorjem in dejanskim zaledjem? Kaj pa, če sporočilo, ki sem ga prejel od Googla (»Ti si slaba oseba«), ni iz samega zaledja, temveč iz določenega filtrirnega mehanizma, ki ga je Google uporabil za cenzuriranje poizvedb, kot je moja?
Z arhitekturnega vidika bi bilo zelo smiselno. In takšne napake so precej pogoste - v ITSEC jih vidimo ves čas, zlasti v IDS / IPS rešitve, ampak tudi v običajni programski opremi. Obstaja postopek filtriranja, ki obdeluje podatke in jih daje v zaledje le, če meni, da so podatki sprejemljivi / nenamerni. Vendar vmesnik in strežnik za filtriranje skoraj nikoli ne razčlenita vnosa na popolnoma enak način. Tako lahko navidezno veljaven vhod gre skozi filter in na zaledju povzroči pustoš, ki učinkovito obide filter.
Običajno lahko to vrsto vedenja sprožite tako, da vnesete svoj vnos v različnih kodiranjih. Na primer: namesto da bi uporabili decimalna števila (0–9), kako bi bilo, če bi jih pretvorili v šestnajstiško, osmiško ali binarno? No, ugani kaj ...
Poiščite to in Google vam bo povedal, da ste slaba oseba: »4060000000000000..4060999999999999«
Poiščite to in Google vas bo z veseljem obvezal: »0xe6c8c69c9c000..0xe6d753e6ecfff«.
Edino, kar morate storiti, je pretvoriti številke kreditnih kartic iz decimalnih v šestnajstiške. To je to.
Rezultati vključujejo ...
Resnično strašljive stvari.
Vem, da ta napaka ne bo navdihnila nobene varnostne raziskave, toda tu ste. Google je naredil ta boo-boo in me ni pozabil niti pisati nazaj. No, zgodi se. Kljub temu ne zavidam varnostnikom pri velikem G-ju. Imeti morajo veliko stvari, na katere morajo biti pozorni. Tule objavljam informacije o tej krambi številke kreditne kartice, ker:
Ta trik lahko uporabite za iskanje telefonskih številk, SSN-jev, TFN-jev in še več. Kot je zapisal Bennett, je te številke veliko težje spremeniti kot svojo kreditno kartico, za katero lahko preprosto pokličete svojo banko in jo prekličete.
OPOZORILO: Številke lastne kreditne kartice NE Google v celoti!
Poiščite CC CC, začenši s 4060: 4060000000000000..4060999999999999? 0xe6c8c69c9c000..0xe6d753e6ecfff
Nekaj madžarskih telefonskih številk ponudnika ‘Telenor’? Brez težav: 36200000000..36209999999? 0x86db02a00..0x86e48c07f
Poiščite SSN-je. K sreči ti ne dajo veliko pomembnih rezultatov: 100000000..999999999? 0x5f5e100..0x3b9ac9ff
Obstaja veliko, veliko več.
Če se vam zdi kaj zelo zaskrbljujoče ali če vas zanima vdranje kreditne kartice, pustite to v komentarjih ali me kontaktirajte po e-pošti na [e-pošta zaščitena] ali na Twitterju na @synsecblog . Klicanje policije je v teh primerih običajno zaman, vendar bi bilo vredno poskusiti. Trgovec ali ponudnik kartic je običajno bolj pripravljen odpraviti težavo.
No, Google mora to očitno popraviti, morda s pomočjo velikih igralcev, kot sta Visa in Mastercard. Pravzaprav Haselton v obeh zgoraj povezanih člankih ponuja številne zanimive predloge.
Kaj pa morate storiti (in zakaj sem napisal to objavo), je razširjeno. Goljufije s kreditnimi karticami so velika panoga in preprosto zavedanje vam lahko reši, da ne postanete žrtev. Nadalje, če imate spletno mesto za e-poslovanje ali urejate kakršno koli obdelavo kreditne kartice, prosimo, poskrbite, da ste na varnem . PCI-DSS je dobra smernica, vendar še zdaleč ni popolna. Poleg tega je vedno dobro, če Googlovo spletno mesto poiščete z napredno poizvedbo »site: mysite.com« in poiščete občutljive številke. Obstaja zelo, zelo majhna verjetnost, da boste kaj našli, če pa jo najdete, morate takoj ukrepati.
Pa še malo prijaznega nasveta: Moral bi nikoli podatke o svoji kreditni kartici izdajte komur koli. Moj nasvet bi bil, da uporabite PayPal ali podobno storitev, kadar koli je to mogoče. Za dodatne informacije si lahko ogledate te povezave:
In nekaj splošnih nasvetov: ne prenašajte stvari, ki jih niste zahtevali, ne odpirajte e-poštnih sporočil in ne pozabite, da vaša banka nikoli ne bo zahtevala vašega gesla.
Mimogrede: če menite, da ni nikogar dovolj neumnega, da bi nasedel teh tehnikam vdiranja kreditnih kartic ali dal podatke o svojih kreditnih karticah na internetu, si oglejte @NeedADebitCard .
Ostanite na varnem!
CCV pomeni Vrednost preverjanja kartice. Številka CCV je običajno na hrbtni strani kreditne ali debetne kartice. CCV je običajno trimestno število, čeprav nekatere kartice, kot je American Express, uporabljajo štirimestne CCV. CCV se običajno uporablja za preverjanje, ali imajo spletni kupci kartico.
PCI DSS je kratica za Standard za varnost podatkov o plačilnih karticah. PCI DSS zagotavlja, da vse strani, ki sodelujejo pri obdelavi, prenosu in shranjevanju podatkov o kreditnih karticah, delujejo v varnem okolju.
Preprosto povedano, skladnost s PCI zahteva, da vsa podjetja, ki sprejemajo plačila s kreditnimi ali debetnimi karticami, zagotovijo industrijsko standardno varnost. Svet za varnostne standarde PCI trenutno določa 12 zahtev za skladnost s PCI.