Mobile banktjenester sikkerhet og risikovurdering betraktninger

05 august, 2008 i Bank og EFTPoS, Sikkerhet

Når du vurderer Mobil tilhørende risiko, vil en vurdering tilnærming avhenger i stor grad på den løsning som blir opprettet eller forutsatt.
Vanligvis tilnærmingen er basert på lagdelte støtte og omkring teknologi og teknikker som brukes.

Her er noen ting du bør vurdere.

evalueringer generelt fokuserer på to hovedtyper ting.

1 / Sensitivitet av
Hva blir sendt. f.eks. hjemme bankkontonummer, etc.
kan ikke være følsomt overfor men kan bli vurdert av klienten som sensitive.
osv. ... ... ....

2 / mulighet til å tilgang til dataene.
Hva medium som blir brukt?
Er det enkelt å
Hva blir brukt?
Er data baner sikker (klient og back end)?
Er det en 3dje part som er involvert i veksling av transaksjoner?
osv. ... ... ...

Ting du bør vurdere:

  • stiller sendt SMS til klienten, bør ikke brukes som den eneste metoden for å få tilgang til kontoene. En ekstra kundens spesifikke (muligens statisk) pass ord / setninger som bør brukes i tillegg til en dynamisk genererte kan sniffed (avhengig av modus og sted).
  • Hvis WAP er brukt, er alle enheter i stand til Hvis enheter er ikke i stand til skal vi nekte disse enhetene? Hvis klientsiden eller CE, osv.), sikre at dette ikke kan bli svekket av en trojaner og viktige teknikker.
  • Har organisasjonen anses klientsiden sertifikater for å bekrefte at enheten før transaksjoner blir akseptert? Vurder flere enhets-og (svært løsning avhengige).
  • De fleste mobile POS-terminaler kryptere kunden tastet men ikke kryptere alt innen overføring medium er truet, bør vi vurdere om kan være sprekker og hvis ukrypterte er sensitive. Vurder ekstra dvs. bruk av alle melding eller bruke en terminal som utnytter utledet unikt transaksjon
  • Mange programmer har blitt påvirket av typiske hacks som for eksempel økt kapre, ikke tilfeldig økt nøkler (klientsiden server side), osv. ... Disse typiske hacks bør vurderes i Secure SDLC og QA-ansvarlig når du er klar over og / eller distribuert.
  • PBX-systemer og fordelingen kablingen rammer kan ha enheter koblet til å samle inn transaksjoner. Trådløse enheter er nå koblet til disse systemene. Angriperen sitter i bilen sin på parkeringsplassen utenfor. Dette er ofte gjort i super markeder.
  • Trådløst gatewayer hvis ikke kryptert er lett samles inn av hvem som helst innen trådløs rekkevidde. 802,11 og andre trådløse / Infrarødt mediene blir brukt (vurdere medium som brukes).
  • Har organisasjonen anses dynamiske nøkler for mobile brukere? Det er noen veldig lav pris SecureID løsninger tilgjengelig i dag, men kundene trenger for å få disse enhetene på dem når de ønsker å gjøre transaksjon.

Breaking VISA-pin

Juli 02, 2008 i Bank og EFTPoS

Nedenfor er en artikkel jeg fant nylig. Dette et av de mest omfattende beskrivelser av Value hacking.

Jeg trodde jeg ville kopiere det her for min lokale referansen.

Som kommentar har blitt gjort med hensyn til grammatikk brukt i opprinnelige teksten, jeg har rettet opp noen av de åpenbare feilene samtidig opprettholde en sammenheng av det opprinnelige

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

--- tekst ----

Forord
Har du noen gang lurt på hva som ville skje hvis du mister din debetkort, og noen finner det. Vil denne personen kunne trekke kontanter fra en minibank for å gjette, eller annen din? Videre, hvis du var som mener noen ville du forsøke å gjette og ta sjansen å få noen enkle Naturligvis er svaret på begge disse spørsmålene er "nei". Dette arbeidet ikke omhandle andre spørsmål, er det et spørsmål om Dette jeg forsøker å svare på det første spørsmålet.

All informasjon som brukes til dette arbeidet er offentlig og kan fritt funnet Internet. Resten er et spørsmål om programmering, og dermed kan vi noe og ha det moro. Jeg avslører ingen hemmeligheter. Videre er målet (og endelig av dette arbeidet er å vise at er fortsatt sterk nok til å gi tilstrekkelig Vi vet alle er ikke det

Dette arbeidet analyserer ett av de mest vanlige brukt av mange debetkort) og prøver å finne ut hvor motstandsdyktige er å gjette angrep. Ved å "gjette" Jeg trenger ikke bety å velge et tilfeldig og prøver den i en minibank. Det er velkjent at vi generelt er gitt tre påfølgende rettssaker for å angi riktig dersom vi ikke minibank holder Som er firesifret lenge det er lett å utlede at sjansen for et tilfeldig gjettet er 3 / 10000 = 0,0003, synes det lite nok til å være trygge, det betyr at du trenger å miste ditt mer enn tre tusen ganger ( eller å miste mer enn tre tusen kort på samme tid:) inntil det er en rimelig sjanse å tape penger.

Det jeg egentlig menes med "gjette" var å bryte slik at du får noen kan du umiddelbart kjenner den tilhørende Derfor dette dokumentet studier som mulig, analysere og foreslår en metode for Til slutt gir vi et verktøy som implementerer og presentere resultater om anslått sjansen for å ødelegge systemet. Merk at så lenge andre algoritmer (andre for eksempel IBM kort validering signaturer som eller CVC) ligner på den samme analysen som kan gjøres noe som gir nesten samme resultater og konklusjoner.



En av de vanligste er Value Kunden er gitt PIN-kode og en Kodet i er et firesifret nummer, kalt Dette nummeret er en kryptografisk signatur for andre data knyttet til Når en bruker skriver inn hans / hennes minibanken leser krypterer og sender denne informasjonen til en sentral datamaskin. Det en prøveperiode er beregnet ved hjelp av kunden tastet og informasjon med en kryptografisk Rettssaken er sammenlignet med lagret kortet, hvis de samsvarer med den sentrale datamaskinen tilbake til minibanken autorisasjon transaksjonen. Se mer detaljert.

Beskrivelsen av kan finnes i to dokumenter knyttet i den forrige siden. Oppsummert det består i av en 8 byte (64 bit) streng med kalt Transformed Parameter (TSP), med (DEA) i Code Book modus (ECB) hjelp av en hemmelig 64 bits nøkkel. Den er utledet fra utdataene for som er en 8 byte-streng. De fire sifrene i (fra venstre til høyre) tilsvarer de første fire desimaler (fra venstre til høyre) av produksjonen fra når betraktes som en 16 heksadesimale tegn (16 x 4 bit = 64 bit) streng. Hvis det ikke er fire desimaler blant de 16 heksadesimale tegn deretter er fullført tatt (fra venstre til høyre) ikke desimal tegn og decimalizing dem ved hjelp av konvertering A-> 0, B-> 1, C-> 2, D -> 3, E-> 4, F-> 5. Her er et eksempel:

Produksjonen fra 0FAB9CDEFFE7DCBA

0975

Strategien for å unngå decimalization ved å hoppe tegn til fire desimaler er funnet (som tilfeldigvis være nesten alle ganger som vi vil se nedenfor) er veldig smart fordi den unngår en viktig skjevhet i fordelingen av tall som har vist seg å være fatalt for andre systemer, selv om effekten på dette systemet vil være mye lavere. Se også et relatert problem ikke er knyttet til

The TSP, oppfattes som en 16 heksadesimale tegn (64 biter) streng, er dannet (fra venstre til høyre) med 11 høyre sifrene i PAN unntatt det siste sifferet (sjekk tall), ett siffer fra 1 til 6 som velger hemmelig nøkkel kryptering og til slutt de fire sifrene i Her er et eksempel:

PAN: 1234 5678 9012 3445
Key selector: 1
2468

TSP: 5678901234412468

Tydeligvis problemet med å bryte består i å finne den hemmelige nøkkelen for å kryptere Metoden for dette er å gjøre et "brute force" søk på nøkkelen plass. Merk at dette ikke er den eneste metoden, man kunne prøve å finne en svakhet i DEA, mange prøvde, men denne gamle standarden er fortsatt på bred bruk (nå blitt erstattet av AES og men). Dette viser at det er robust nok til at "brute force" er den eneste levedyktige metoden (det finnes noen bedre angrep, men ikke praktisk i vårt tilfelle, for en oversikt se LASEC memo og for det skitne detaljer se Biham & Shamir 1990, Biham & Shamir 1991, Matsui 1993, Biham & Biryukov 1994 og Heys 2001).

Nøkkelen selector sifret var svært sannsynlig innført for å dekke muligheten for en nøkkel kompromiss. I så fall er de bare nødt til å utstede nye kort ved å bruke en annen tast selector. Eldre kort kan erstattes med nye, eller bare minibanken kan transparent skrive en ny (tilsvarende den nye nøkkelen og beholde den samme neste gang kunden bruker hans / hennes For riste sikkerhet alle brukere bør bli bedt om å endre sin PIN-koder, men det ville være pinlig for å forklare, og derfor svært sannsynlig at de ville ikke gjøre slik forespørsel.

Forbereder


En "brute består i å kryptere en TSP med kjente bruke all mulig å kryptere nøkler og sammenligne hvert fått med kjente Når en kamp er funnet vi har en kandidat tasten. Men hvor mange nøkler vi har til å prøve? Som vi sa over tasten er 64 bit lang, vil det vi har å prøve 2 ^ 64 nøkler. Men dette er ikke sant. Faktisk bare 56 biter er effektive i fordi én bit (minst signifikante) ut av hver oktett var historisk forbeholdt en kontrollsum for andre, i praksis de 8 biter (ett for hvert av de 8 octets) blir oversett.

Derfor nøkkelen plass består av 2 ^ 56 nøkler. Hvis vi prøver alle disse tastene, vil vi finne én og bare én kamp, tilsvarende hemmelig nøkkel? Absolutt ikke. Vi vil få mange matchende taster. Dette er fordi er bare en liten del (en firedel) av Videre er det er degenerated fordi noen av sifrene (de mellom 0 og 5 etter det siste, sett fra venstre til høyre, siffer mellom 6 og 9) kan komme fra en desimal siffer eller fra en decimalized heksadesimale siffer av Dermed mange nøkler vil gi en som gir de samme matchende

Så hva kan vi gjøre for å finne den virkelige nøkkelen blant de andre falske nøklene? Bare vi har til å kryptere et andre forskjellige TSP, også med kjente men ved hjelp av kun kandidat nøkler som ga en positiv samsvarer med det første paret. Imidlertid er det ingen garanti vil vi ikke få igjen for mange falske positiver sammen med den virkelige nøkkelen. Hvis det er slik, trenger vi en tredje pair, gjentar du prosessen og så videre.

Før vi starter våre må vi vite hvor mange parene vi trenger. For at vi må beregne for at en tilfeldig utgang for å gi en målrettet bare ved en tilfeldighet. Det er flere måter å beregne dette tallet, og her vil jeg bruke en enkel tilnærming lett å forstå, men som krever noe i matematikk av

En kan alltid bli sett på som forholdet mellom gunstige tilfeller til mulige tilfeller. I vårt problem antall mulige tilfeller er gitt av av 16 elementer (0 til F heksadesimale siffer) i en gruppe på 16 av dem (16 heksadesimale sifre av output). Dette er gitt ved 16 ^ 16 ~ 1,8 * 10 ^ 19, som selvfølgelig faller sammen med 2 ^ 64 (forskjellige tall for 64 biter). Dette settet med tall kan være delt opp i fem kategorier:

De med minst fire desimaler (0 til 9) blant de 16 heksadesimale siffer (0 til F) av

De med nøyaktig bare tre desimaler.

De med nøyaktig bare to desimaler.

De med nøyaktig bare én desimal siffer.

De uten desimaler (alt mellom A og F).

La oss regne ut hvor mange tall faller i hver kategori. Hvis vi markere 16 heksadesimale sifre av som X1 til x16 så vi kan merke de første fire desimaler av et gitt antall den første kategorien som Xi, XJ, Xk og XL. Antall ulike kombinasjoner med denne profilen er gitt ved produktet 6 i-1 * 10 * 6j-i-1 * 10 * 6k-j-1 * 10 * 6 Luk-1 * 10 * 1616-l hvor 6 ' er kommet fra flere muligheter for en A til F siffer, de 10 er kommet fra mulighetene for en 0 til 9 siffer, og 16 kommer fra mulighetene for en 0 til F siffer. Nå er det totale antallet i den første kategorien er bare gitt av summering av dette produktet over i, j, k, l fra 1 til 16, men med i <j <k <l. Hvis du gjør noen matematiske arbeider du vil se denne lik til produktet av 104 / 6 med summering over i fra 4 til 16 av (i-1) * (i-2) * (i-3) * 6i-4 * 16 16-i ~ 1,8 * 1019.

Analogously antall tilfeller i den andre kategorien er gitt av summering over i, j, k fra 1 til 16 med i <j <k av produktet 6i-1 * 10 * 6j-i-1 * 10 * 6k-j -1 * 10 * 616-k som du kan arbeide det ut til å være 16! / (3! * (16-13)!) * 103 * 6 13 = 16 * 15 * 14 / (3 * 2) * 103 * 613 = 56 * 104 * 613 ~ 7,3 * 1015. Tilsvarende for tredje kategorien vi har summering over i, j fra 1 til 16 med i <j av 6 i-1 * 10 * 6j-i-1 * 10 * 616-j som tilsvarer til 16! / (2! * (16-14)!) * 102 * 614 = 2 * 103 * 615 ~ 9,4 * 1014. Igjen, for fjerde kategori har vi en summering over i fra 1 til 16 av 6i-1 * 10 * 616-i = 160 * 615 ~ 7,5 * 1013. Og til slutt mengden av saker i den femte kategorien er gitt av av seks elementer (A til F siffer) i en gruppe på 16, det vil si 616 ~ 2,8 * 1012.

Jeg håper du fulgt beregninger opp til dette punktet, den harde delen er ferdig. Nå som et bevis på at alt er rett, kan du summen av antall tilfeller i 5 kategorier, og se det tilsvarer det totale antallet mulige tilfeller vi beregnet før. Gjøre operasjoner ved hjelp av 64 biters tall eller avrunding (for svever) eller overflow (for heltall) feilene vil ikke la deg få nøyaktig resultat.

Fram til nå har vi beregnet antall mulige tilfeller i hver av fem kategorier, men vi er interessert i å skaffe det antall gunstige tilfeller i stedet. Det er veldig lett å avlede den sistnevnte fra den tidligere så dette er bare oppussing av kombinasjonen av de fire desimaler (eller de nødvendige heksadesimaltall hvis det ikke er fire desimaler) av stedet for å la dem gratis. I praksis betyr dette å snu 10 står i formelen ovenfor i 1 og den nødvendige mengden 6 står i 1's hvis det ikke er fire desimaler. Det er vi nødt til å dele det første resultatet av 104, den andre ved 103 * 6, den tredje ved 102 * 62, den fjerde en av 10 * 63 og den femte av 64. Da antall gunstige tilfeller i de fem kategoriene er omtrent 1,8 * 1015, 1,2 * 1012, 2,6 * 1011, 3,5 * 1010, 2,2 * 109 hhv.

Nå har vi muligheten til å få tak i hva som er for et utgang for å matche en ved en tilfeldighet. Vi må bare legge til de fem numre av gode saker og dele den med det totale antall mulige tilfeller. Gjøre dette får vi sannsynligheten er svært ca 0,0001 eller én av ti tusen. Er det rart dette godt avrundet resultat? Ikke i det hele tatt, bare ta en titt på tallene vi beregnet ovenfor. Den første kategorien dominerer ved flere bestillinger i størrelsesorden antall gunstige og mulige tilfeller. Dette er ganske intuitivt som synes det klart at det er svært lite sannsynlig ikke å ha fire desimaler (10 sjansene ut av 16 per siffer) blant 16 heksadesimale sifre. Vi så tidligere at forholdet mellom antall mulige og gode saker i den første kategorien var en divisjon med 10 ^ 4, det er der vårt resultat p = 0,0001 kommer fra.

Vår målsetting for alle disse beregningene var å finne ut hvor mange parene vi trenger for å drive en vellykket "brute Nå er vi i stand til å beregne den forventede antall falske positiver i en første søket: det vil være det antall ganger for at en enkelt tilfeldig falske positive, dvs. t * p der t = 2 ^ 56, størrelsen på nøkkelen plass. Dette beløper seg til ca 7,2 * 10 ^ 12, en ganske stor tall. Den forventede antall falske positiver i andre søk (begrenset til den positive nøkler funnet i den første søk) vil være (t * p) * p, for en tredje søk blir ((t * p) * p) * p og så videre. Dermed for n søker den forventede antall falske positiver blir t * p ^ n.

Vi kan skaffe det antall søk som kreves for å forvente at bare en falsk positiv ved uttrykker ligningen t * p ^ n = 1 og løse for n. Så n lik til i basen p av 1 / t, som ved egenskapene til logaritmer gir n = log (1 / t) / log (p) ~ 4,2. Siden vi ikke kan gjøre en brøk-søk er det greit å runde opp dette antallet. Derfor hva er forventet antall falske positiver om vi utfører fem søk? Det er ikke * p ^ 5 ~ 0,0007 eller ca 1 av 1400. Således bruker fem parene er trygt å få oppfylt hemmelig nøkkel med ingen falske positiver.


Når vi vet at vi trenger fem parene, hvordan får vi dem? Selvfølgelig må vi ha minst kort med kjent og på grunn av beskaffenheten til som er det eneste vi trenger. Med andre for eksempel IBM, og vi ville trenge fem kort, men dette er ikke nødvendig med Vi må bare lese den og deretter PIN-fire ganger, men leser hver endring.

Det er nødvendig å lese kortet for å få og kryptere nøkkelen selector. Du kan kjøpe en kommersiell eller lage en selv følge instruksjonene finner du i den forrige siden og koblinger der. Når du har leser se denne beskrivelsen av standard magnetiske spor for å finne ut hvordan du får fra leses. I dette dokumentet den feltet i spor 1 og 2 sies å være fem tegn lang, men faktisk sant består av de fire siste sifrene. Den første av de fem sifrene er nøkkelen selector. Jeg har bare sett kort med en verdi på 1 i dette tallet, som er i overensstemmelse med standarden og med den hemmelige nøkkelen aldri blir kompromittert (og derfor er de ikke trenger å flytte til en annen viktig endring velgeren).

Jeg gjorde en enkel C-program getpvvkey.c, for å utføre Det består av en loop til å prøve alle mulige nøkler for å kryptere den første TSP, hvis utledet matcher den sanne en ny TSP er prøvd, og så videre, helt til det er en mismatch, hvor nøkkelen er forkastet, og en ny er forsøkt, eller de fem utledet PVVs samsvarer med tilsvarende sant PVVs, og da kan vi anta at vi fikk hemmelig nøkkel, men loop går videre til den opp nøkkelen plass. Dette er gjort for å forsikre seg om vi finner den virkelige nøkkelen fordi det er en sjanse (men svært lav) den første nøkkelen funnet er en falsk positiv.

Det er ventet at programmet vil ta svært lang tid å fullføre og å minimere risikoen for en strøm kuttes, maskinen henger seg, osv. det gjør sjekkpunkter i filen getpvvkey.dat fra tid til annen (det nøyaktige tidspunktet avhenger av hastighet av datamaskin, er det rundt en time for de raskeste datamaskiner som nå er i bruk). Av samme grunn dersom en positiv nøkkelen er funnet som den er skrevet på filen getpvvkey.key. Programmet viser bare én melding ved inngangen, startpunktet posisjon hentet fra Checkpoint fil hvis noen, etter at noe mer blir vist.

The er et sentralt punkt i programmet, er det derfor svært viktig for å optimalisere hastighet. Jeg testet flere implementasjoner: libdes, SSLeay, openssl, cryptlib, NSS, libgcrypt, catacomb, libtomcrypt, cryptopp, UFC-krypten. The funksjoner av de fire første er basert på samme kode av Eric Young, og er den som ga best resultat (inkluderer optimalisert C og x86 monterer code). Derfor jeg valgte libdes som var den opprinnelige gjennomføring og kondensert alle relevante koden i filene encrypt.c (C-versjon) og x86encrypt.s (x86 monterer versjon). Koden er litt endret for å oppnå noen forbedringer i et "brute de første er en fast felles bratt i hvert TSP og kan derfor bli gjort bare én gang på begynnelsen. En annen forbedring er at jeg skrev en helt ny setkey funksjon (jeg kalte det nextkey) som er optimalt for et "brute force" loop.

For å få programmet arbeider du bare skrive inn i de tilsvarende plass fem TSPs og deres PVVs og deretter kompilere den. Jeg har testet det bare i UNIX-plattformer ved hjelp av Makefile Makegetpvvkey for å kompilere (bruk kommandoen "make-f Makegetpvvkey"). Det kan kompilere på andre systemer, men du må kanskje fikse noen ting. Være sikker på at definisjonen av long64 tilsvarer et 64 bits heltall. I prinsippet er det ingen avhengighet på endianness av prosessoren. Jeg har blitt utarbeidet og kjøre den på Pentium-Linux, Alpha-Tru64, MIPS-Irix og SPARC-Solaris. Hvis du ikke har og ikke ønsker å installere Linux (du vet ikke hva du mangler ;-) du har fortsatt mulighet til å kjøre Linux på CD og bruke programmet, se siden min å kjøre Linux uten å installere den.

Når du har funnet den hemmelige hvis du vil finne for et vilkårlig bare nødt til å skrive et lignende program (Beklager at jeg ikke har skrevet det, jeg er for lat:) som ville prøve alt 10 ^ 4 PIN-koder ved å generere tilsvarende TSP, og krypterer den med (ikke lenger) hemmelig nøkkel, deriving den og sammenligne den med i kortet. Du vil få en kamp for den sanne Bare én match? Husk hva vi så ovenfor, har vi en sjanse til 0,0001 at en tilfeldig matcher Vi prøver 10000 PIN-koder (og dermed TSPs) og dermed forventer vi 10000 * 0,0001 = 1 falsk positiv i gjennomsnitt.

Dette er et meget interessant resultat, betyr det at det i gjennomsnitt hvert har to gyldig PIN-koder: kunden og forventet falske positive. Jeg kaller det "falske", men merk at så lenge den genererer den sanne det er PIN-kode som gyldig som kunde er én. Videre er det ingen måte å vite noe som er der, selv for minibanken; eneste kunde kjenner. Selv om de falske positive ble ikke gyldig som vil du fortsatt ha tre utprøvinger i minibank uansett nok i gjennomsnitt. Derfor vi beregnet ved begynnelsen av dette dokumentet om tilfeldige gjettet av til å bli korrigert. Egentlig er det to ganger denne verdien, dvs. det er 0,0006 eller en av mer enn 1600, fortsatt trygt lav.

Resultater


Det er viktig å optimalisere kompilering av programmet og kjøre det i den raskeste prosessoren på grunn av lang forventet kjøre tid. Jeg fant ut at kompilatoren optimalisering flagg-O får bedre ytelse, trodde noen bedring er oppnådd å legge til-fomit-ramme-pekeren flagget på Pentium-Linux, de-spiss flagget på Alpha-Tru64, den IPA-flagget på MIPS-Irix og-rask-flagget på SPARC-Solaris. Spesielle flagg (-DDES_PTR-DDES_RISC1-DDES_RISC2-DDES_UNROLL-DASM) for generelt har fordeler også. Alle disse flaggene har allerede blitt testet og jeg valgte den beste kombinasjonen for hver prosessor (se Makefile), men du kan prøve å fine tune andre flagg.

Ifølge mine tester de beste resultatene er oppnådd med AMD Athlon 1600 MHz prosessor, som overstiger 3,4 millioner nøkler per sekund. Interessant det blir bedre resultater enn Intel Pentium IV 1800 MHz og 2000 MHz (se figur nedenfor, klikke på dem for større versjon). Jeg mener at dette skyldes enkelte I / O-metning, sikkert hurtigbuffer eller at AMD-prosessor (som har en halv buffer av Pentium) eller hovedkortet som det er i drift, klarer å unngå. I den første figuren nedenfor kan du se at bryte hastighet på alle prosessorer har mer eller mindre en lineær relasjon med prosessor hastighet, unntatt for de to Intel Pentium jeg nevnt før. Dette er logisk, det betyr at for en dobbelt prosessor hastighet får du dobbelt bryte fart, men pass på metning effekter, i dette tilfellet er det bedre for AMD Athlon 1600 MHz, noe som vil bli enda billigere enn Intel Pentium 1800 MHz eller 2000 MHz.

I den andre figuren ser vi i mer detalj hva vi ville kalle egenverdi bryte strømmen til prosessoren. Jeg får denne verdien bare dele bryte hastighet av prosessor hastighet, som er, får vi antall prøvde per sekund og per MHz. Dette er et mål på ytelsen til prosessoren uavhengig av dens hastighet. Resultatene viser at den beste prosessor for denne oppgaven er AMD Athlon, deretter kommer det alfa og svært tett etter at den er Intel Pentium (unntatt for høyere hastighet de som utfører svært dårlig på grunn av metning i kraft). Neste er MIPS-prosessoren og i den siste plassen er SPARC. Noen Alpha og MIPS-prosessorer er plassert nederst på skalaen fordi de tidlige utgivelsene ikke inkludert ekstrautstyr for sent versjoner. Merk at jeg inkluderte resultatene av x86-prosessorer for C og monterer koden så er det en stor Det synes som gcc er ikke en god generator av optimalisert maskin kode, men selvfølgelig vet vi ikke om en manuell optimalisering av monterer koden for andre prosessorer (Alpha, MIPS, SPARC) ville øke sine resultater i forhold til de opprinnelige C-kompilatorer (Det gjorde jeg ikke bruke gcc for disse andre plattformer) som det skjer med x86-prosessor.

Oppdatering

Her er en artikkel hvor disse teknikkene kan ha blitt brukt.

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

Finansiell transaksjonsbehandling

Juli 02, 2008 i Bank og EFTPoS

Jeg har nylig blitt arbeider inne en av de større banker i
Gjennom dette arbeidet har jeg vært ute på kontroller og rundt av debetkort rundt i Asia og stillehavsområdet.

Jeg får utføre mange og vurderinger.
I løpet av de årene jeg har alltid ansett beskyttelse av som en av de viktigste hensyn.

Inntil i går hadde jeg aldri sett en eller Jeg tror noen skript bruk av disse verktøyene kan være svært interessant.
Nettstedet hziggurat29.com

Mange av de andre verktøyene på dette nettstedet er også veldig unik og verdt en titt.
Stor takk til ziggurat29 gis kjempebra verktøy.

Som mange av disse områdene er av denne natur er vanskelige å finne og ofte ser ut til å forsvinne over årene, har jeg valgt å gjenskape fra denne siden og gi lokale kopier på filene.
Det er verdt å jevnlig besøke ziggurat29 området hver vår og nå igjen for å se om noen flere verktøy er lagt ut.

Et av de mer ekstraordinære filer er Atalla og (simulering) verktøy. Så jeg lurer på om og er skjelver i sine støvler. Noen hvordan jeg tror ikke det. ;-)

--- Ziggurat29 ---

Disse er alle Windows-kommandolinjeverktøy (unntatt der det er angitt); kjøre med-hjelp-alternativet
for å bestemme bruken.

DUKPT dekryptere (<- selve filen lastes ned)

Dette er verktøy som vil Kryptert Stenger som er produsert via Jeg brukte dette for å teste produksjonen av noen programvaren jeg hadde skapt, men er også nyttig for andre debugging formål.

VISA pvv Kalkulator (<- den faktiske
Filen du laster ned)

Dette er verktøy som skal beregne og kontrollere Verdier som er produsert ved hjelp av Den har en haug med ekstra funksjoner, for eksempel bekreftelse og løse et PAN (Luhn oppretting og kryptere dekryptering og utpakking av PIN-koder fra kryptert etc.

VISA CVV Kalkulator (<- selve filen lastes ned)

Dette er verktøy som vil beregne Verdier som er produsert ved hjelp av MasterCard CVC bruker CVV så det vil arbeide for at så godt. Det vil beregne CVV3, iCVV, CAVV, siden Dette er bare variasjoner på service-kode og
Formatet på utløpsdato. er ganske enkelt å sammenligne de beregnede verdien med det du har mottatt, så det er ikke eksplisitt funksjon.

Atalla AKB Kalkulator (<- selve filen lastes ned)

This is a that will both generate and Atalla AKB cryptograms.  You will need the plaintext MFK to perform these operations.  When decrypting, the MAC will also be checked and the results shown.

BogoAtalla (<- the actual file to
download)

This is an Atalla (or simulator).  This software (simulation) of the well-known Atalla Module ( ) that is used by banks and processors for cryptographic operations, such as verifying/translating blocks, authorising transactions by verifying
/CSC numbers, and performing key exchange procedures, was produced for testing purposes.  This implementation is not of the complete HP Atalla command set, but rather the just
portions that I myself needed.  That being said, it is complete enough if you are performing acquiring and/or issuing functions, and are using more modern schemes such as and , and need to do generation, , and translation.

This runs as a listening socket and handles the native Atalla command set.  I have taken some liberties with the error return values and have not striven for high-fidelity there (ie, you may get a different error response from native ), but definitely should get identical positive
responses.  Some features implemented here would normally require purchasing premium commands, but all commands here implemented are available.  Examples are generating values and encrypting/decrypting plaintext values.

BogoAtalla for Linksys (<- the actual file to download)

This is the Atalla ported to Linux and build for installation on an OpenWRT system.  Makes for a really cheap ($60 USD) /test device.

Local Files

bogoatalla002
atallaakbcalc
bogoatalla_10-1_mipsel
dukptdecrypt
visacvvcalc
visapvvcalc

E-Commerce Glossary

Jun 18, 2008 in Banking and EFTPoS

Acquiring Institution
The which holds the partaking in a financial , typically the first involved in the of a .

Applet
A small computer program which facilitates the performance of particular tasks.

Bandwidth
The capacity of a to carry or process information. The higher the bandwidth the faster graphics-laden pages will download.

Browser
Short for browser, a software application used to locate and display pages. The two most popular browsers are Netscape Navigator and Microsoft . Both of these are graphical browsers, which means that they can display graphics as well as . In addition, most modern browsers can present multimedia information, including sound and video, though they require plug-ins for some formats.

Caching
The automatic copying and storage of frequently used information onto a computer system – Typically caching is seen whilst surfing the (graphics, etc.) and used by Services Providers ( ’s) to reduce the amount of requested from the user onto the .

Issuer
The which issued the cardholder’s and .

Cardholder
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 microsoft.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 .

Integration
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 car