Breaking VISA PIN

02 iulie 2008 în sectorul bancar şi EFTPoS

Mai jos este un articol l-am găsit recent. Aceasta una dintre cele mai complete descrieri ale Valoare

Am crezut ca ar putea-o reproduc aici pentru meu locale de referinţă.

După cum s-au făcut comentarii cu privire la gramaticale folosite în original, am corectat unele erori evidente de a menţine în acelaşi timp, contextul original material.

http://69.46.26.132/ ~ biggold1/fastget2you/tutorial.

--- Textul ----

Cuvânt înainte
V-aţi întrebat vreodată ce s-ar întâmpla dacă ai pierdut sau şi găseşte-l pe cineva. Această persoană ar trebui să poată retrage numerar de la un bancomat ghicitul, cumva, Mai mult decât atât, dacă ai fi fost cineva care descoperă de va încerca să ghicesc şi să ia şansa de a obţine unele uşor de Desigur, răspunsul la ambele întrebări ar trebui să fie "nu". Acest lucru nu se referă la cea de-a doua întrebare, este o chestiune de Alăturat am încerca să răspundă la prima întrebare.

Toate informaţiile utilizate pentru acest lucru este publică şi poate fi găsit în mod liber Restul este o chestiune de si de programare, astfel încât să putem învăţa şi să te distrezi. Eu nu dezvăluie secretele. În plus, obiectivul (şi a acestui lucru este de a demonstra că algoritmi sunt încă destul de puternice pentru a oferi suficiente Ştim cu toţii nu este

Acest lucru analize una dintre cele mai comune algoritmi, folosite de mai multe şi carduri de şi încearcă să afle cum este rezistent la ghicitul atacuri. Prin "ghicită" Eu nu înseamnă a alege aleator şi a încercat-o într-un bancomat. Este bine cunoscut faptul că în general, ne sunt prezentate trei studii clinice pentru a intra în dreptul de dacă nu reuşim ATM ţine un astfel de Ca este de patru cifre lung este uşor să deducem că şansă pentru aleator ghicitul este 3 / 10000 = 0,0003, se pare destul de mici pentru a fi în siguranţă; aceasta înseamnă că trebuie să-ţi pierzi cu mai mult de trei mii de ori ( sau a pierde mai mult de trei mii de carduri, în acelaşi timp:), până când există o şansă rezonabilă de a-şi pierde

Ce Chiar mi-a vorbit de "ghicită" a fost spart codul astfel încât dat nici o puteţi imediat să ştiu asociate Prin urmare, acest document de studii în care această posibilitate, analiza de şi de a propune o metodă de În cele din urmă vom da un instrument care pune în aplicare şi să prezinte rezultatele estimate despre sansa de a sparge sistemul. Reţineţi că, atâta timp cât alte legate de algoritmi (alte formate, cum ar fi IBM sau validare de semnături, cum ar fi sau CVC) sunt similare cu la fel de analiză se poate face elastic aproape aceleaşi rezultate şi concluzii.



Una dintre cele mai comune algoritmi este Valoare Clientul este dat un cod şi a unei Codificate în este un număr din patru cifre, numit Acest număr este o semnătura criptografică a şi alte legate de Când un utilizator introduce sale la ATM-uri citeşte encrypts şi trimite toate aceste informaţii la un computer central. Există un proces este calculat folosind client introdus şi informaţiile despre de criptare cu un Procesul este, comparativ cu stocate în în cazul în care acestea se potrivesc cu centrale de calculator revine la ATM autorizaţie pentru A se vedea mai în detaliu.

De descriere a poate fi găsită în două documente legate în pagina anterioară. În aceasta constă în rezumat de de a 8 byte (64 bit) şir de numit Transformată Parametru (TSP), cu (DEA) în Code Book Mod (BCE), folosind un secret pe 64 biţi cheie. De este derivat din producţia de procesul de care este un octet string 8. Cele patru cifre ale (de la stânga la dreapta) să corespundă cu primele patru cifre zecimale (de la stânga la dreapta) de la ieşirea de la atunci când a considerat ca o hexazecimal 16 de caractere (16 x 4 bit = 64 bit) şir. Dacă nu există patru cifre zecimale între cele 16 de caractere hexazecimale atunci este completat luate (de la stânga la dreapta) şi caractere non zecimal decimalizing le prin utilizarea de conversie A-> 0, B-> 1, C-> 2, D -> 3, E-> 4, F-> 5. Iată un exemplu:

De ieşire de la 0FAB9CDEFFE7DCBA

0975

Strategia de a evita decimalization sărit de caractere până la patru cifre zecimale sunt găsit (care se întâmplă să fie aproape toate ori aşa cum vom vedea mai jos) este foarte inteligent, pentru că se evită o prejudecată în distribuţia de cifre, care a fost dovedit a fi fatale pentru alte sisteme, desi impactul asupra acestui sistem ar fi mult mai mici. Vezi, de asemenea, legate de o problemă nu se aplică la

De TSP, văzut ca un hexazecimal 16 de caractere (64 bit) sir de caractere, este formata (de la stânga la dreapta), cu 11 cifre, de la dreapta PAN (numărul de excluzând ultima cifră (verifica cifre), o cifră de la 1 la 6 care selecteaza secrete criptând cheie şi, în final, cele patru cifre ale Iată un exemplu:

PAN: 1234 5678 9012 3445
Selector cheie: 1
2468

TSP: 5678901234412468

În mod evident, problema de spargere constă în găsirea de secrete cheia de criptare Metoda de care este de a face un brute force căutare a tasta spaţiu. Reţineţi că acest lucru nu este singura metoda, s-ar putea încerca să găsească un punct slab în DEA, mulţi au încercat, dar acest standard vechi este încă utilizat la scară largă (în prezent, a fost înlocuit cu AES şi totusi). Acest lucru este destul de robust, astfel încât brute force este singura metodă viabilă din punct de vedere (există unele atacuri, dar nu o mai bună practică în cazul nostru, pentru o sinteză a se vedea LASEC memoria şi pentru detalii, a se vedea Biham murdare & Shamir 1990, Biham & Shamir 1991, Matsui 1993, Biham & Biryukov 1994 şi Heys 2001).

Cheia selectorul cifre foarte probabil a fost introdus pentru a acoperi posibilitatea de a tasta un compromis. În acest caz, ele au doar de a emite noi carduri, utilizând un alt selector cheie. Anterioarele carduri poate fi înlocuită cu altele noi, sau pur şi simplu de ATM-uri transparent poate scrie o nouă (corespunzător la noua cheie şi menţinerea în acelaşi data viitoare în care clientul utilizează lui / ei Pentru a se agită de toţi utilizatorii ar trebui să fie solicitat pentru a schimba PIN-urile lor, cu toate acestea, ar fi jenant pentru pentru a explica motivul, deci foarte probabil ca ele nu ar face o astfel de cerere.

Pregătirea de


Un brute force constă în criptând TSP cu o cunoscută folosind toate posibilele chei de criptare şi compara fiecare obţinute cu cunoscut În cazul în care un meci este găsit avem un candidat cheie. Dar cât de multe chei am să încerc? Aşa cum am spus mai sus-cheie este de 64 de biţi lung, aceasta ar însemna că trebuie să încercaţi 2 ^ 64 chei. Cu toate acestea acest lucru nu este adevărat. De fapt doar 56 biţi sunt eficiente în chei, pentru că un bit (cel mai puţin important) din fiecare octet lungul istoriei, a fost rezervate ca un control pentru altele; în practică, cele 8 biţi (câte unul pentru fiecare din cele 8 octets) sunt ignorate.

Prin urmare, cheie spaţiu constă din 2 ^ 56 chei. Dacă am încerca toate aceste chei vom găsi una şi doar un singur meci, în funcţie de secret cheie? Desigur, nu. Vom obţine mai multe chei de potrivire. Acest lucru se datorează faptului că este decât o mică parte (un sfert) din ieşire. În plus, este degenerat deoarece unele dintre cifre (cele între 0 şi 5 după ultima, văzut de la stânga la dreapta, cifră între 6 şi 9), poate să provină dintr-o cifră zecimal sau de la un decimalized hexazecimal cifră de iesire. Astfel, multe chei va produce un ieşire care randamentele la acelaşi potrivire

Apoi, ce putem face pentru a gasi adevarata cheie printre cei alte fals pozitive cheile? Pur şi simplu ne-am pentru a cripta un al doilea diferite TSP, de asemenea, cunoscut cu dar numai folosind tastele de candidat care a dat un rezultat pozitiv de potrivire cu prima pereche. Cu toate acestea nu există nici o garanţie, nu vom lua din nou multe pozitive false, împreună cu adevărat cheie. Dacă da, vom avea nevoie de o treime pereche, repetaţi procesul şi aşa mai departe.

Înainte de a începe noastre trebuie să ştii cât de multe perechi vom avea nevoie. Pentru că avem de a calcula pentru aleator ieşire la un randament de potrivire doar de sansa. Există mai multe modalităţi de a calcula acest număr şi aici voi folosi un simplu abordare de uşor de înţeles, dar care necesită unele fundal in de

O poate fi întotdeauna văzut ca raport favorabil de cazuri de posibile cazuri. În problema noastră numărul de cazuri posibile este dat de de 16 elemente (de la 0 la F hexazecimal cifre) într-un grup de 16 dintre ele (cele 16 cifre ale hexazecimal ieşire). Aceasta este data de 16 ^ 16 ~ 1,8 * 10 ^ 19, care, desigur, coincide cu 2 ^ 64 (numere diferite din cele 64 de biţi). Acest set de numere pot fi împărţiţi în cinci categorii:

Cei cu cel puţin patru cifre zecimale (0 la 9), printre cele 16 hexazecimal cifre (0 la F) a ieşire.

Cei cu exact doar trei cifre zecimale.

Cei cu exact doar două cifre zecimale.

Cei cu exact doar o cifră zecimală.

Cei cu nici cifre zecimale (toate între A şi F).

Să se calculeze câte numere se încadrează în fiecare categorie. Dacă vom eticheta hexazecimală de 16 cifre ale ieşire ca X1 la x16 atunci putem eticheta în primele patru cifre zecimale de orice număr dat de prima categorie, astfel cum Xi, Xj, Xk şi XL. Numărul de combinaţii diferite cu acest profil este dat de produs 6 i-1 * 10 * 6j-i-1 * 10 * 6k-j-1 * 10 * 6 lk-1 * 10 * 1616-l în cazul în care 6 ' venit de la serie de posibilităţi pentru o cifră de la A la F, de 10 a venit de la posibilităţile de a 0 la 9 cifre, şi de 16 vine de la posibilităţile de la 0 la F cifre. Acum, numărul total din prima categorie este pur şi simplu dată de însumarea acest produs peste I, J, K, L de la 1 la 16, dar cu i <j <k <l. Daca faci unele math lucru se va vedea acest lucru este egal cu produsul de 104 / 6 cu însumarea i peste 4 la 16 de (i-1) * (i-2) * (i-3) * 6i-4 * 16 16-i ~ 1,8 * 1019.

Analogously numărul de cazuri, în cea de-a doua categorie este data de peste însumarea i, j, k 1 la 16, cu i <j <k a produsului 6i-1 * 10 * 6j-i-1 * 10 * 6k-j -1 * 10 * 616-k pe care o puteţi muncă a fi 16! / (3! * (16-13)!) * 103 * 6 13 = 16 * 15 * 14 / (3 * 2) * 103 * 613 = 56 * 104 * 613 ~ 7,3 * 1015. În mod similar, pentru a treia categorie, avem peste însumarea i, j de la 1 la 16, cu i <j din 6 i-1 * 10 * 6j-i-1 * 10 * 616-j care echivalează cu până la 16! / (2! * (16-14)!) * 102 * 614 = 2 * 103 * 615 ~ 9,4 * 1014. Din nou, pentru cea de-a patra categorie avem însumarea peste i de la 1 la 16 din 6i-1 * 10 * 616-i = 160 * 615 ~ 7,5 * 1013. Şi, în final, suma de cazuri, în cea de-a cincea categorie este dat de de şase elemente (de la A la F cifre) într-un grup de 16, care este, 616 ~ 2,8 * 1012.

Sper că aţi urmat calculele de până la acest punct de vedere, este greu de facut. Acum, ca o dovadă a faptului că totul este în regulă, puteţi sumă a numărului de cazuri în 5 categorii şi-l văd este egal cu numărul total de cazuri posibile am calculat înainte. Fă operaţiunile care utilizează numere de 64 biţi sau de rotunjire (pentru plutitoarelor) sau overflow (pentru întregi) erori nu va lasa sa te exact rezultat.

Pana acum ne-am calculat numărul de cazuri posibile în fiecare din cele cinci categorii, dar suntem interesaţi în a obţine numărul de cazuri favorabile, în loc. Este foarte uşor să obţină cel din urmă din fosta ca aceasta este doar de stabilire a combinaţie de patru cifre zecimale (sau necesare hexazecimal cifre dacă nu există patru cifre zecimale) din în loc de ai lăsat să liberă. În practică, acest lucru înseamnă de 10 de cotitură în formula de mai sus în 1 şi volumul necesar de 6 în 1 a lui dacă nu există patru cifre zecimale. Asta este, am să împartă primul rezultat de 104, cea de-a doua de 103 * 6, al treilea de 102 * 62, una de către cel de-al patrulea 10 * 63 şi cea de-a cincea o cu 64. Apoi, numărul de cazuri favorabile, în cinci categorii sunt de aproximativ 1,8 * 1015, 1,2 * 1012, 2,6 * 1011, 3,5 * 1010, respectiv 2,2 * 109.

Acum avem posibilitatea de a obţine ceea ce este de pentru un ieşire pentru a se potrivi cu o de sansa. Trebuie să adăugaţi cele cinci numere de cazuri favorabile şi împărţi la numărul total de cazuri posibile. Făcând acest lucru vom obţine că este foarte aproximativ 0.0001 sau de una din zece mii. Este ciudat acest bine rotunjite rezultat? Nu la toate, trebuie doar să aruncăm o privire la numere am calculat de mai sus. Prima categorie domină de mai multe ordine de mărime a numărului de cazuri favorabile, şi posibil. Acest lucru este destul de intuitiv ca este evident faptul că este foarte puţin probabil nu are patru cifre zecimale (10 sanse de 16 pe cifre) între 16 hexazecimal cifre. Am văzut anterior că relaţia dintre numărul de cazuri favorabile, posibil şi în prima categorie a fost de o divizie de 10 ^ 4, care a rezultat în cazul în care ne p = 0.0001 vine de la.

Scopul nostru pentru toate aceste calcule, a fost de a afla cât de multe perechi de care avem nevoie pentru a transporta o reuşită brute force Acum avem posibilitatea de a calcula numărul de aşteptat fals pozitive intr-o prima cautare: acesta va fi numărul de studii ori de pentru un singur aleatoare fals pozitive, adică t * p unde t = 2 ^ 56, de dimensiunea cheie spaţiu. Aceasta se ridică la aproximativ 7,2 * 10 ^ 12, un număr destul de mare. De aşteptat număr de fals pozitive, în cea de-a doua de căutare (restricţionat la pozitivă a găsit cheile în primul căutare) va fi (t * p) * p, pentru o treime va fi de căutare ((t * p) * p) * p şi aşa mai departe. Astfel, pentru n căutări de aşteptat numărul de fals pozitive vor fi t * p ^ n.

Putem obţine numărul de căutări necesară pentru a aştepta doar un fals pozitive prin care îşi exprimă ecuaţia t * p ^ n = 1 şi rezolvarea de n. Deci, n este egal cu în baza de 1 p / t, care, prin proprietăţile logaritmilor aceasta randamentelor n = log (1 / T) / log (p) ~ 4.2. Din moment ce nu ne putem face o căutare fracţional, este convenabil pentru a ridica acest număr. Prin urmare, ceea ce este de aşteptat numărul de fals pozitive dacă vom efectua căutări cinci? Este t * p ^ 5 ~ 0.0007 sau aproximativ 1 din 1400. Astfel, folosind cinci perechi este sigură de a obţine cheia cu adevărat secret nu pozitive false.


Odată ce ştim noi avem nevoie de cinci perechi, cum ne-i? Desigur, avem nevoie de cel puţin o cu cunoaşte şi din cauza naturii de care este singurul lucru de care avem nevoie. Cu alte sisteme, precum IBM, vom avea nevoie de cinci cărţi, însă acest lucru nu este necesar cu Trebuie să citiţi şi apoi a schimba patru ori, dar de lectură după fiecare schimbare.

Este necesar pentru a citi de pentru a obţine şi selectorul de cheie de criptare. Puteţi cumpăra o comerciale sau să facă un singur urmând instrucţiunile puteţi găsi în pagina anterioară şi se leagă de aceasta. Odată ce aveţi un vedea această descriere standard de piese magnetice pentru a afla cum să obţineţi de citit. În acest document, în domeniul liniilor 1 şi 2 se spune să fie cinci de caractere de lung, dar, de fapt, adevărata constă în ultimele patru cifre. Prima dintre cele cinci cifre este cheia selector. Am văzut doar cărţi de credit cu o valoare de 1, în această cifră, care este în concordanţă cu standardele şi cu secret cheie fiind compromisă niciodată (şi, prin urmare, acestea nu au nevoie pentru a trece la o altă cheie a schimba selectorul).

Am făcut un simplu program C, getpvvkey.c, pentru a efectua Se compune dintr-o buclă de a incerca toate cheile de la cripta prima TSP, în cazul în care derivate se potriveşte cu adevărat un nou TSP este încercat, şi aşa mai departe, până când există o nepotrivire, caz în care cheia este aruncat şi o nouă este încercat, sau derivate din cele cinci PVVs meci corespunzătoare adevărat PVVs, caz în care ne putem asuma avem secret cheie, cu toate acestea, bucla merge pe până când se epuizează cheie spaţiu. Aceasta se face pentru a ne asigura găsi adevărata cheie, pentru că există o şansă (deşi foarte mici), primul-cheie găsit este un fals pozitiv.

Este de aşteptat de program ar dura foarte mult timp pentru a finaliza şi pentru a minimiza riscurile de o putere de tăiat, computer iesim in oras, etc n-are trecere în fişier getpvvkey.dat din timp în timp (ora exactă, depinde de viteza de calculator, este în jur de o oră pentru cea mai rapidă de calculatoare acum în utilizare). Pentru acelaşi motiv, în cazul în care o cheie este găsit pozitiv este scris pe fişierul getpvvkey.key. Programul afişează numai un mesaj de la început, la care începe de la poziţia adoptată de control fişier dacă este cazul, după care nimic nu mai este afişată.

The este un punct-cheie în program, prin urmare, este foarte important pentru a optimiza viteza. Am testat mai multe implementări: libdes, SSLeay, OpenSSL, cryptlib, NSS, libgcrypt, catacombă, libtomcrypt, cryptopp, UFC-crypt. The funcţii de primele patru sunt bazate pe acelaşi cod de Eric Young şi este cel care a funcţionat cel mai bine (include optimizat C şi de asamblare x86 code). Astfel, am ales libdes, care a fost iniţial de punere în aplicare şi condensat toate codul in fisiere encrypt.c (C versiune) şi x86encrypt.s (x86 asamblare versiune). Codul este uşor modificate pentru a realiza unele îmbunătăţiri într-un brute force iniţial este un post fix, în fiecare comună abrupte TSP şi, prin urmare, se poate face doar o singură dată de la început. O altă îmbunătăţire este că am scris-o complet noua funcţie setkey (am numit-o nextkey), care este optimă pentru un brute force bucla.

Pentru a beneficia de programul de lucru trebuie doar sa corespunzător în locul cinci TSPs şi lor PVVs şi apoi compilaţi-l. Am testat-o numai în platformele UNIX, folosind Makefile Makegetpvvkey pentru a compila (folosi comanda "make-f Makegetpvvkey"). Se poate compila pe alte sisteme, dar este posibil să aveţi nevoie pentru a stabili anumite lucruri. Asiguraţi-vă că definiţia de long64 corespunde unui număr întreg pe 64 biţi. În principiu, nu există nici o dependenţă pe endianness de procesor. Am compilat cu succes şi rulaţi-l pe Pentium-Linux, Alpha-Tru64, mips-Irix-şi Sparc Solaris. Dacă nu aveţi şi nu doriţi să instalaţi Linux (nu ştiţi ce vă lipsesc ;-) încă aveţi posibilitatea de a alege să ruleze Linux de pe CD-ul meu şi de a folosi programul, vezi pagina mea să ruleze Linux, fără ao instala.

Odată ce aţi găsit secretul cheie, dacă doriţi, pentru a găsi al unui arbitrar trebuie doar sa scrie un program similar (scuze nu am scris-o, sunt prea lenesa:), care ar încerca toate 10 ^ 4 PIN-urile prin generarea corespunzătoare TSP, criptând cu (nu mai) secret cheie, care decurg din şi a comparat-o cu în de pe Veţi primi un meci de adevărat Doar un singur meci? Amintiţi-vă ce am văzut mai sus, avem o şansă de 0.0001 că aleator se potriveşte cu Incercam 10000 PINS (şi, prin urmare, TSPs), astfel, ne aşteptăm la 10000 * 0,0001 = 1 fals pozitive, în medie.

Acesta este un rezultat foarte interesant, asta înseamnă că, în medie, fiecare are două valabil PINS: client şi de aşteptat fals pozitive. Eu îi spun "false", dar ţineţi cont de faptul că, atâta timp cât acesta generează adevărat este un cod ca valabil ca al clientului o. În plus, nu există nici o cale de a şti care este, care, chiar şi pentru ATM-uri; doar client stie. Chiar şi în cazul în care fals pozitive nu au fost valabile ca încă aveţi trei studii clinice de la ATM-uri, oricum, destul de, în medie. Prin urmare, am calculat de la începutul acestui document despre ghicitul aleatoriu de trebuie să fie corectate. De fapt, este de două ori ca valoare, de exemplu, este de 0.0006 sau într-una din mai mult de 1600, în condiţii de siguranţă mai scăzut.

Rezultate


Este important pentru a optimiza compilare a programului şi pentru a executa o în cel mai rapid procesor posibil ca urmare a timpului de funcţionare mult de aşteptat. Am constatat că compilator de optimizare pavilion-O devine de o performanţă mai bună, gândit de anumite îmbunătăţiri este realizată adăugând-fomit-frame-pointer pavilion pe Pentium-Linux, de-spike pavilion pe Alpha-Tru64, de-IPA pavilion pe mips-Irix şi-fast-pavilion pe Sparc Solaris. Special steaguri (-DDES_PTR-DDES_RISC1-DDES_RISC2-DDES_UNROLL-DASM) pentru cod au în general, precum şi beneficii. Toţi aceşti indicatori au fost deja testate şi am ales cea mai bună combinaţie pentru fiecare procesor (a se vedea Makefile), dar puteţi încerca la fin tune alte steaguri.

În opinia mea teste cea mai bună performanţă este realizată cu AMD Athlon 1600 Mhz, de peste 3.4 milioane de chei pe secundă. Este interesant sa se rezultate mai bune decât Intel Pentium IV 1800 MHz şi de 2000 MHz (a se vedea figurile de mai jos, faceţi clic pe ele pentru a mari). Cred că aceasta se datorează într-o oarecare I / O saturaţie, cu siguranţă, cache-ul de memorie sau de ca procesor AMD (care are jumătate din cache-ul de la Pentium) sau placa de bază în care se execută, reuşeşte să le evite. În primul figura de mai jos puteţi vedea că rupere viteza de toate procesoarele a mai mult sau mai puţin o relaţie liniară cu procesor de viteză, în afară de cele două Intel Pentium-am menţionat mai înainte. Acest lucru este logic, înseamnă că pentru un dublu procesor viteza veţi primi dublu de rupere de viteză, dar fereşte-te pentru saturaţie adverse, în acest caz este mai bine de AMD Athlon 1600 MHz, care va fi chiar mai ieftin decât Intel Pentium 1800 MHz sau 2000 MHz.

În cea de-a doua cifră putem vedea mai în detaliu ceea ce ne-ar suna intrinsec pauză de putere de la procesor. I a lua această valoare pur şi simplu împărţirea pauză viteza de procesor de viteza, care este, vom ajunge la numărul de cheile încercat pe secundă şi pe MHz. Aceasta este o măsură a performanţei de procesor indiferent de viteza. Rezultatele arată că cel mai bun procesor pentru această sarcină este AMD Athlon, apoi vine Alpha şi foarte aproape după ce este Intel Pentium (cu excepţia celor pentru cea mai mare viteza de cele care funcţionează foarte săraci din cauza efectului de saturaţie). Înainte este procesor MIPS şi în ultimul loc este Sparc. Unele Alpha şi mips procesoare sunt situate la partea de jos a grilei, deoarece acestea sunt mai devreme versiuni nu inclusiv îmbunătăţiri de târziu versiuni. Reţineţi că, am inclus de performanţă de procesoare x86 pentru C şi de asamblare cod ca exista o mare Se pare că gcc nu este un bun generator de cod optimizat maşină, dar, desigur, nu ştim dacă un manual de optimizare a codului de asamblare pentru alte procesoare (Alpha, MIPS, Sparc) ar impulsiona rezultatele lor faţă de compilatoare nativ C (nu am folosi gcc pentru aceste alte platforme), după cum se întâmplă cu procesoare x86.

Actualiza

Aici este un articol în cazul în care aceste tehnici ar fi putut fi folosite.

http://redtape.msnbc.com/2008/08/could-a-hacker.html

Tranzacţie financiară Prelucrarea

02 iulie 2008 în sectorul bancar şi EFTPoS

Am fost recent de lucru în interiorul una dintre cele mai mari banci din
Prin acest lucru am fost uitat la controale şi din jurul de şi carduri de in jurul Asia Pacific.

M-am efectua multe şi a sistemelor de evaluări.
Pe parcursul anilor am considerat mereu de a ca fiind una din principalele considerente.

Pana ieri am mai văzut un sau instrumente. Cred că unele scripted utilizare a acestor instrumente ar putea fi foarte interesant.
Site-ul hziggurat29.com

Multe din alte instrumente de pe acest site sunt, de asemenea, foarte unica si merita o privire.
Big datorită ziggurat29 minunat pentru furnizarea de astfel de instrumente.

Ca multe dintre aceste site-uri sunt de acest gen sunt greu de găsit şi, adesea, par a dispărea-a lungul anilor, am ales să reproduc de pe această pagină şi să ofere locale copii pe fişiere.
Este demn de a vizita periodic site-ul ziggurat29 fiecare acum şi, din nou, pentru a vedea dacă există instrumente suplimentare au fost publicate.

Unul dintre cele mai extraordinare fişiere este Atalla Module şi instrumente. Aşa că mă întreb dacă şi sunt tremurat în ghete. Unele cum nu cred că acest lucru. ;-)

--- Ziggurat29 ---

Acestea sunt toate Windows utilitare de linie de comandă (cu excepţia cazului în care a observat); executa cu optiunea-help
pentru a stabili de utilizare.

DUKPT decripta (<- reale pentru a descărca fişierul)

Acesta este un care va criptate Blocheaza care au fost produse prin intermediul metodă. Am folosit acest scop testarea de iesire a unor Pad software am creat, dar este, de asemenea, la îndemână pentru alte scopuri de depanare.

VISA PVV Calculator (<- real
pentru a descărca fişierul)

Acesta este un care va calcula şi verifica valorile care au fost produse folosind Are o grămadă de functii auxiliare, cum ar fi verificarea şi stabilirea unui PAN (Luhn crearea şi criptând blocuri, decripta şi PIN-urile de la extragerea criptate blocuri, etc

VISA CVV Calculator (<- reale pentru a descărca fişierul)

Acesta este un care va calcula valorile care au fost produse folosind MasterCard CVC utilizează CVV asa ca va lucra pentru că, de asemenea. Aceasta se va calcula CVV3, iCVV, CAVV, deoarece Acestea sunt doar variante pe servicii şi codul
format din data de expirare. este pur şi simplu a compara valoarea calculată cu ceea ce ai primit, aşa că nu există nici un explicite funcţie.

Atalla AKB Calculator (<- reale pentru a descărca fişierul)

Acesta este un care va genera şi Atalla AKB cryptograms. Veţi avea nevoie de plaintext MFK de a efectua aceste operaţiuni. Când a decripta, MAC va fi, de asemenea, verificate şi rezultatele afişate.

BogoAtalla (<- efective de fişier
download)

Aceasta este o Atalla (sau simulator). Acest software (simulare) a cunoscut Atalla Module care este utilizat de către bănci şi pentru procesoare criptografice operaţiuni, precum verificarea / traducerea blocuri, de autorizare a tranzacţiilor efectuate de verificarea
/ CSC numere, şi care efectuează cheie schimb procedurile, a fost produs în scop de testare. Acest lucru nu este de punere în aplicare completă HP Atalla comanda set, ci, mai degrabă de doar
porţiuni care am nevoie. Acestea fiind spuse, este complet, dacă sunt suficient de performante achiziţionarea şi / sau emiterea de funcţii, şi sunt moderne, folosind mai multe sisteme, cum ar fi şi şi necesitatea de a face generaţie, precum şi de traducere.

Aceasta ruleaza ca o ascultare socket şi mânerele de nativ Atalla comanda set. I-au luat unele libertăţi eroare reveni cu valorile şi nu s-au striven de înaltă fidelitate acolo (de exemplu, este posibil să primiţi un răspuns de la diferite eroare nativ dar cu siguranta ar trebui sa ne identice pozitiv
răspunsuri. Unele caracteristici puse în aplicare în mod normal, aici ar fi nevoie de achiziţionarea primei comenzi, dar toate comenzile implementate sunt disponibile aici. Exemple sunt generatoare de valori şi de criptare / decodare plaintext valori.

BogoAtalla pentru Linksys (<- reale pentru a descărca fişierul)

Aceasta este Atalla merge pe Linux şi construi pentru instalare pe un sistem de OpenWRT. Face pentru o foarte ieftine ($ 60 USD) / test aparat.

Local Fişiere

bogoatalla002
atallaakbcalc
bogoatalla_10-1_mipsel
dukptdecrypt
visacvvcalc
visapvvcalc

E-Commerce Glossary

18 iunie 2008 în sectorul bancar şi EFTPoS

Instituţiei absorbante
care deţine partaking într-o financiară, de obicei, prima implicate în de o

Applet
Un mic program de computer care facilitează îndeplinirea sarcinilor special.

Bandwidth
Capacitatea de un pentru a efectua sau a procesului de informare. Cu cât este mai mare lăţime de bandă mai repede grafica-Laden pagini va descărca.

Browser
Scurtă pentru browser o aplicaţie software utilizat pentru a localiza şi a afişa pagini Două dintre cele mai populare browsere sunt Netscape Navigator şi Ambele sunt browsere grafice, ceea ce înseamnă că pot afişa grafică, precum şi În plus, cele mai moderne browsere pot prezenta informaţii multimedia, incluzând sunet şi video, deşi au nevoie de plug-in-uri pentru anumite formate.

Caching
Modul automat de copiere şi stocare a informaţiilor utilizate frecvent pe un sistem de calculator - în general, cache-ul este privit în timp ce navigarea pe (grafica, etc) si utilizate de Services Providers de a reduce cantitatea de solicitate de utilizator pe

Emitentul
care a emis card de şi de

Card
The individual participating in the financial whose is being credited or debited.


The additional information printed on the to be processed. This is used to verify if the was present when the was initiated.  This is the additional digits imprinted on the usually on the reverse side for & Mastercard and on the front for AMEX.

Certificate
An x.509 certificate used to entities such as Merchants and Gateways. Certificates can be used to identify and/or encrypt sensitive such as numbers and personal cardholder information.

CGI
Common Gateway : A protocol that allows a page to run a program on a . Forms, counters, and guest books are common examples of CGI programs.

Any piece of software can be a CGI program if it handles input and output according to the CGI standard. Usually a CGI program is a small program that takes from a and does with it, like putting the content of a form into an e-mail message, or turning the into a database query. CGI “scripts” are just scripts which use CGI. CGI is often confused with Perl, which is a programming language, while CGI is an to the from a particular program.

Client
A computer or software that requests a service of another computer system or process (a “ ”). For example, a workstation requesting the contents of a file from a file is a client of the file . A browser is commonly referred to as a client.

Clients and Servers
In general, all of the machines on the can be categorised as two types: servers and clients. Those machines that provide services (like servers or FTP servers) to other machines are servers. And the machines that are used to connect to those services are clients.

When you connect to Yahoo at www.google.com to read a page, Google is providing a machine (probably a cluster of very large machines), for use on the , to service your request. Google is providing a . Your machine, on the other hand, is probably providing no services to anyone else on the . Therefore, it is a user machine, also known as a client. It is possible and common for a machine to be both a and a client !

Cookie
A file sent by some servers to your computer’s hard drive to enable you to quickly and easily return to particular sites. Cookies give rise to concerns as they are often used to store information used for marketing purposes.

The main purpose of cookies is to identify users and possibly prepare customised pages for them. When you enter a site using cookies, you may be asked to fill out a form providing such information as your name and interests. This information is packaged into a cookie and sent to your browser which stores it for later use. The next time you go to the same site, your browser will send the cookie to the . The can use this information to present you with custom pages. So, for example, instead of seeing just a generic welcome page you might see a welcome page with your name on it.

CRN
The Customer Receipt Number (CRN) is used to assist the holder, the gateway and the to confirm the has been processed and to track the throughout the end-to-end process. This is often used when making enquiries about a or for tracking.

Cybersquatting
Bad faith, abusive domain name registration. Cybersquatters register company and product names as domain names with a view to selling them at inflated prices to the “rightful” owners.

/CVC
The additional information printed on the to be processed. This is used to verify if the was present when the was initiated.  This is the additional digits imprinted on the usually on the reverse side for & Mastercard and on the front for AMEX.

Database
A collection of : part numbers, product codes, customer information, etc. It usually refers to organised and stored on a computer that can be searched and retrieved by a computer program.

Deep link
A hypertext link directly to a page, often bypassing home pages or other identifying pages.

Certificate
A pop up window that allows you to identify the level of used to secure a particular site.

Signature
A complex numeric “signature” designed to be used, in conjunction with special software, to the sender of a message and guarantee that the contents of the message have not been altered during to the recipient. The EU has adopted legislation which makes signatures legally valid. The Bill (Cth) 1999 has the same effect in .

Domain Name
The plain English name given to a host destination on the , for example, www.madrock.net. The suffix, dot.com is known as the generic top level domain, the prefix madrock. The domain name forms part of the Address or URL.

A name that identifies one or more IP addresses. For example, the domain name .com represents about a dozen IP addresses. Domain names are used in URLs to identify particular pages. For example, in the URL http://www.madrock.net, the domain name is madrock.net.

Download
To transfer information from one computer to your computer.

Dynamic page
A document that is created from a database in real-time or “on the fly” at the same time it is being viewed, providing a continuous flow of new information and giving visitors a new experience each time they visit the site.

Dynamic sites offer the user the ability to interact with the site. This interaction can take place in the form of a search for products, a questionnaire that automatically posts results or polls. Basically, dynamic pages and content are generated from the input of the user.

EC
.

Often referred to as simply e- , business that is conducted over the using any of the applications that rely on the , such as e-mail, instant messaging, shopping carts, services, and FTP, among others. can be between two businesses transmitting funds, goods, services and/or or between a business and a customer.

ECI
The Indicator (ECI), is used to determine the source of the original request. This is a program that the banks have developed and have mandated it’s use.

Interchange (EDI)
Systems set up by businesses, which facilitate the exchange of information.


The process of scrambling to prevent it being viewed by unauthorized persons.

Expiry Date
The date printed on the indicating when the will expire. Not to be confused with the issue date found on some cards.

Firewall
An barrier and/or traffic filter.

Forms
Forms are pages comprised of and “fields” for a user to fill in with information. They are an excellent way of collecting and information from people visiting a site, as well as allowing them to interact with pages. Forms are written in HTML and processed by CGI programs.

Frame
A means of dividing a screen into a number of compartments. Frames may give rise to legal disputes if sites created by third parties are framed as your own.

FTP servers
One of the oldest of the services, File Transfer Protocol makes it possible to move one or more files securely between computers while providing file and organisation as well as transfer control.

Fulfilment
1. Process of supplying goods after an order has been received.
2. Process of reacting to a customer’s request, covering everything that has to happen from the time the customer places an order until they are completely satisfied.

Host
Any computer on a that provides services or information to other computers on the . A host is also called a .


The software and/or business processes which combine the ’s (website, back office, etc.) order system with the System.

IP address
Every computer connected to the is assigned a unique number known as an Protocol (IP) address. Since these numbers are usually assigned in country-based blocks, an IP address can often be used to identify the country from which a computer is connecting to the .

Gateway
A system allowing incompatible computer networks to send and receive information.

HTML (Hypertext Markup Language)
Language used to translate documents into a form which can be sent over the .

Hyperlink
A highlighted phrase in a document which permits linking to another document or part of a document.

Content Host (ICH)
Those who host or propose to host content on the . Anybody who is responsible for a site, news group or bulletin board that contains articles, graphics or other content provided by others. The host may/may not also produce their own content and/or provide to the through a carriage service, ie they may also be an .

Service Provider ( )
A company that provides an connection through some kind of carriage service, for example Sprint, Chello Broadband, Telstra Bigpond, Adam , Internode. ’s may/may not also be ICHs.

Mail servers
Almost as ubiquitous and crucial as servers, mail servers move and store mail over networks (via LANs and WANs) and across the .


This is an set up with a to process orders from customers.


The entity receiving payments for goods and/or services.


The ’s into which transactions are credited or debited.


The software installed on the ’s sites or back office system to enable real-time or batched of financial transactions.

Administrator
The individual(s) responsible for the maintenance of the , including issuing and importing certificates.

MTL
Layer (MTL)

PAN
Primary Number (PAN) is the number printed on the customers to reference the cardholder’s financial . This is typically the number.

Gateway
The Gateway provides a central point of contact/ switching with the for the software or devices. The Networks gateway provides advanced in