Er netbanker usikre?

Professor og CTO i CyTRAP Labs Urs E. Gattiker retter i denne artikel en skarp kritik af sikkerheden i de danske netbanker.

Pointen er, at man selvfølgelig ikke kan stole på sikkerheden på en kundens computer. Derfor er det ikke tilstrækkeligt med et softwarecertifikat. Man er nødt til at bruge fx et hardware token.
Urs har selvfølgelig fuldstændig ret.

Og Birgitte Mikkelsen fra Finansrådet taler uden om, når hun hævder, at det kommer an på, hvordan man implementerer en sådan løsning. Ok, teknisk set har hun jo ret, idet det ville være idioti at implementere løsningen i form at et hardware token, det skulle fastmonteres i computeren. Men som udgangspunkt er et hardware token selvfølgelig en bedre løsning.

Urs kommer i øvrigt selv med den ultimative pointe:

Urs E. Gattiker påpeger, at lige så snart antallet af netbank-indbrud bliver tilstrækkeligt omfangsrigt, eller der kommer tilstrækkelig med presse på problematikken omkring nøglefilerne, så vil bankerne formentligt begynde at se sig om efter en anden sikkerhedsløsning.

Finansrådet har den holdning , som de har, fordi bankerne kun tabte 3 millioner kroner sidste år. Dertil skal selvfølgelig lægges et ubestemt beløb for dårlig presse.

Men der er et dilemma, som slet ikke bliver nævnt i artiklen.

Hvem skal i sidste ende være ansvarlig for sikkerheden i de danske netbanker?

Jeg har skrevet om det før i en kommentar til mit blogindlæg Sådan forsvandt de millioner.

Det er min klare holdning, at bankerne i sidste ende skal være ansvarlige for sikkerheden i netbankerne, da det er urealistisk at gøre brugerne ansvarlige. De ved jo ikke en pind om it-sikkerhed. Det gør bankerne imidlertid. Ansvaret skal altid hvile hos den, som rent faktisk kan løfte ansvaret.

Det værste, der kunne ske, var, at vi kom i en situation, hvor brugerne ikke kan bevise over for banken, at de er blevet bestjålet. Vi så det dengang de første dankorttyverier, hvor bankkunder hævdede at være blevet bestjålet, selv om de stadig havde deres dankort, og pinkoden var blevet brugt, fandt sted.

Nogle af disse tilfælde var sikkert de første eksempler på det, som vi senere så massivt. At det faktisk var muligt med lidt teknisk snilde at kopiere et dankort og samtidig aflure koden.

Ejere af biler med startspærre, der blev stjålet, kæmpede også til at begynde mod beskyldninger om, at de selv stod bag tyverierne. Vi ved nu alle, at en startspærre bare betyder, at det tager lidt længere tid for biltyven.

Det må aldrig blive sådan, at blot fordi der ikke findes en kendt (og almindelig) angrebstype, så er et system pr. definition sikkert. Eller med andre ord: Ingen har vist, at vores system er usikkert, så det er nok kunden selv, der ikke har rent mel i posen.

Kommentarer (21)
sortSortér kommentarer
  • Ældste først
  • Nyeste først
  • Bedste først
Benjamin Krogh

Jeg fejler lidt i at se pointen med hw tokens. Hvis en har adgang til computeren og dermed kunne skaffe en nøglefil, har vedkommende så ikke også adgang til at skaffe oplysningerne fra en evt. hw token?

Ender sikkerheden ikke på samme niveau i sidste ende?

  • 0
  • 0
Thomas Søndergaard

Humlen med et hardware token er at selve krypteringen foregår på den, istedetfor i computeren. Derfor er det aldrig nødvendigt at overføre den hemmelige private nøgle til PC'en. Det betyder at selv om PC'en er kompromiteret er den private nøgle i sikkerhed.

Hvis en hardware token udelukkende aktiveres via PC'en og ikke via knapper direkte på enheden, som f.eks. Alladin eToken, så vil den (såvidt jeg kan se) kunne misbruges af fjenden, så længe den sidder i USB-stikket. Fjenden har selvfølgelig også brug for den keyphrase den private nøgle er beskyttet af, men den kan vel skaffes med en key-logger.

http://en.wikipedia.org/wiki/Security_token

  • 0
  • 0
Henrik Knopper

SÅ vidt je ghusker har Jyske Bank en løsning hvor en nøglefil på pc'en kombineres med at en engangskode sendes til din mobiltelefon.

Dermed skal fjenden både have adgang til din pc (mindst længe nok til at at kopiere nøglefilen) SAMT råde over din mobiltelefon.

Det lyder for mig som et godt bud på en sikker løsning.

Naturligvis skal det stadigvæk være banken der har ansvaret for sikkerheden - og dermed bevisbyrden - men en 3-faktor sikkerhed (nøglefil + kodeord + engangskode) skulle begge dele være i gode hænder.

  • 0
  • 0
Hans Schou

Det giver fint mening at banken har ansvaret for at sikkerheden er i orden, men sandelige også at staten har ansvaret for at sikkerheden omkring den "digitale signatur" (DS) er i orden. Desværre bruger DS også nøglefiler, så jeg har valgt ikke at have nogen DS.

Jeg har Jyske bank, og ja man kan lave et mand-imellem-angreb, men det ville være så flot gjort, så jeg er villig til at løbe risikoen.

Angående nøglefiler, så fylder Back Orifice snart 10 år, hvilket er den teknink der er brugt til de netbankkrænkelser der har været i DK i 2007.
http://en.wikipedia.org/wiki/Back_orifice

  • 0
  • 0
Emil Begtrup-Bright

Hej,

Hvad med Danske Banks ActivCard løsning? Hvor du har en lille minilommerregner-lignende dims, hvor du taster en selvvalgt 4-cifret pinkode ind. Derefter får du en random generated 10-cifret kode, som så tastes ind i netbanken sammen med et kundeid der består af tal og bogstaver. Er det ikke så sikkert som det kan blive til alm. mennesker, eller er det bare mig der ikke ved nok om det?

  • 0
  • 0
Povl Ole Haarlev Olsen

Det er lang tid siden, jeg skiftede væk fra Den Danske Bank og derfor også lang tid siden jeg havde et ActivCard, men bruges koden ikke kun til at godkende "en overførsel", fremfor "overførsel af 100 kr. til Onkel Ib"?

Hvis koden kun godkender "en overførsel" og ikke præcis hvilken overførsel, så kan systemet stadig misbruges:

Browseren viser på skærmen, at du er ved at sætte X kr. ind på kontonr. Y og beder dig indtaste koden fra ActivCard'et.

Du indtaster koden fra ActivCard'et.

Browseren siger til banken, at det er Z kr., der skal sættes ind på kontonr. Q og godkender overførslen med den kode, du lige selv har indtastet.

Da koden ikke siger noget om hvilken overførsel den hører til, så godtager banken koden og overfører pengene til Q.

Jeg har, som sagt, ikke længere et ActivCard, så jeg ved ikke om ActivCard'et er så simpelt eller om koden afhænger af "tidspunktet", "beløbet", "fra-kontonr", "til-kontonr." og "pin-kode". Koden skal muligvis afhænge af flere ting, men de 5 ting skal i hvert fald være med før det begynder at være nogenlunde sikkert.

Koden må nok endda afhænge af to forskellige tidspunkter. Dels hvad klokken er "lige nu" (+/- tid til at indtaste koden og den slags) og dels hvornår pengene skal sættes ind på den pågældende konto.

  • 0
  • 0
Emil Begtrup-Bright

Jo det er afhængigt af overførslen. Først bruger du metoden jeg beskrev for at logge ind. Når du så skal overføre et beløb, kommer der en popup op. I den popup er der en kode, som skal tastes ind på activcard (efter du er "logget ind" på kortet med din pinkode), og baseret på den giver kortet dig en ny kode der skal tastes ind i popuppen.

Så jo, det betyder vel at der genereres en specifik kode til hver enkelt overførsel? Ved ikke hvilke præmisser denne kode baseres på (jvf dit sidste afsnit), kan ikke finde nogen sammenhæng (hvilket må være en god ting:))

  • 0
  • 0
Michael Deichmann

Jeg tror det Poul angler efter er, at den kode Active Card genererer skal bruge de 5 ting som "frø" for den nøgle der laves. Ellers kan en man-in-the-midle ændre beløb og kontonummer undervejs.
Men transmissionen er jo krypteret Poul, så det er vel ikke en reel mulighed inden for det vindue der er?

  • 0
  • 0
Jens Madsen

Hvis en token, skal være sikker, skal der ikke kun være knapper på token'en. Oplysningerne om kunde, beløb, mv. skal også komme fra disse knapper. Kun det, som tastes på knapperne, er "verificeret".

Har du en token, med en "ok" knap, vil du kunne misbruge token'en, hver gang ejeren trykker på "ok". Ejeren ved ikke, havd de bekræfter. Det er ikke nødvendigvis det som står på skærmen.

Token'en kan forsynes med display, der udskriver de vigtigste oplysninger - kontonummer, navn, og beløb, og så skal der trykkes ok. Hvis den herefter sender dataene krypteret til banken incl. det der står i displayet, og hvis krypteringen ikke lader sig bryde, så vil det være teoretisk sikkert.

Det er en relativ dyr løsning, med en token, der har display og ok / cancel knap, og hvor der er plads til alle relevante oplysninger på displayet.

Den bedste - og billigste løsning - er at sætte token i serie med computerens tastatur. Derved kan alle oplysninger der tastes på tastaturet, sendes krypteret til banken. Det er muligt, at gøre sikkert, ved at "krypteringsnøglen", sender nogle koder af sted, der garanterer at de pågældende data faktisk kommer fra det pågældende tastatur, og den pågældende ejer. Pinkode, kan tastes på tastaturet, og vil automatisk blokeres, inden det når PC'en. Hvis pinkoden er "lang nok", kan man evt. blokere enhver kode, hvor de første cire passer med pinkoden, så den hellerikke kan skrives i et dokument, og derved sendes "udenom" krypteringen. En 10 cifret pinkode, vil evt. kunne blokere efter første 5 cifre - og derved er 100.000 muligheder, for de sidste 5 cifre. Pinkoden, kan evt. startes med en bestemt tast - såsom "Scroll lock", der alligevel aldrig bruges, og derfor aldrig sendes til computeren. Pinkoden må aldrig tastes uden scroll lock. Evt. kan mulighederne kombineres, således der også blokeres, hvis de første cifre passer med pinkode, og dermed sikres den ikke kan indtastes til computeren, når donglen er isat.

Hvis man har brug for sikker mail til banken, kan det gøres del af homebanking programmet. Token'en kan signere de data der kommer fra tastaturet, såfremt mus ikke kan bruges til at flytte cursoren, og der kun kan bruges piletaster mv. som accepteres af mail programmet.

Det er også muligt, at få musen til at kunne virke, hvis denne også føres igennem krypteringen, og få data fra tastatur og mus signeret, således musen kan bruges til at redigere teksten, som signeres af donglen.

Som eksempel, kan alle data fra tastatur og mus, sendes såvel ukrypteret til PC'en, der udskriver på skærmen, og krypteret til banken, der reproducerer det. Banken ser reelt hvordan der redigeres med mus, og reproducerer det, ved at bruge eksakt samme program. Der sættes derfor krav til mail programmet, at det ikke må indeholde stokastiske dele - hvis det gør det, må de beslutninger som sker i denne stokastiske del sendes til banken, og så er det usikkert, da de kommer fra PC'en. Programmet skal virke ens på input fra tastatur+mus ukrypterer på PC'en, og på en "kopi" hos banken, der anvender krypterede data, som laves af donglen. I princippet, kan det også bruges til sikker digital underskrift.

En dogle, der sættes i serie med tastaturet, eller evt. i serie med både tastatur og mus, er utrolig billig. De gamle PS/2 stik er billigst at lave en dongle til. Her kan det gøres for ganske få kroner. Det kan gøres med en billig microcontroler, samt en krypteringschip, eller evt. de to bygget sammen. Måske kan bruges en billig PIC kreds som CPU, og et chip-dankort som krypteringschip. PIC kredsens opgave kræver ikke stor regnekraft, da denne er i dankortet. Dermed er reelt kun at sende data fra tastatur og mus, til kryptering, og herfra til banken.

Det billigste og mest sikre, er en chip i serie med mus+tastatur. Det fungerer genneralt, og kan bruges til mails, og signering af breve, til homebanking osv. meddens metoderne med taster på donglen, eller display på dongle plus taster, ikke er så genneral. Hvis der eksempelvis skal sendes en mail signeret, skal den vises på skærmen på donglen, og dens taster skal bruges til godkendelse. Eller, den skal indeholde tilstrækkeligt antal taster, til at hele mail'en kan tastes på donglen.

Donglen kan evt. indbygges i tastaturet, og musen tilsluttes et USB eller PS/2 stik i tastaturet.

  • 0
  • 0
Povl Ole Haarlev Olsen

"Men transmissionen er jo krypteret Poul, så det er vel ikke en reel mulighed inden for det vindue der er?"
Jo, trafikken er krypteret mellem browseren og bankens webserver, men browseren har jo nødvendigvis de ukrypterede data, ellers ville den ikke kunne vise siden på skærmen.

Spørgsmålet er, om man kan stole på, at ingen af de mere eller mindre fjollede plugins og extensions, man har installeret i sin browser, kan ændre på nogle data inden de sendes (krypteret) videre til banken eller ændre på data, der er modtaget (krypteret) fra banken inden de vises på skærmen.

Man skal ikke have leget med f.eks. Adblock i ret lang tid, før man indser at det er muligt at ændre i det, der kommer fra webserveren, inden det vises på skærmen. Tilsvarende er det heller ikke svært, at ændre på data inden de (krypteres og) sendes til en webserver. Begge dele kan let ske uden at brugeren bliver gjort opmærksom på, at der er noget, der er blevet ændret.

Manden fra man-in-the-middle er altså flyttet fra midten af vejen og helt ind i browseren (man-in-the-browser), så han slipper for at skulle dekryptere noget som helst. Det ordner browseren for ham.

  • 0
  • 0
Jesper H. V. Lauritsen

Ja, netbanker er da helt sikkert usikre. og, Ja, bankerne ved det da helt sikkert, og er da lidt ligeglade...

Hvorfor? Bankerne har ansvaret, men kunderne tager risikoen.

I sidste ende er det altid forbrugerne/kunderne der betaler (solidarisk), der er ikke andre til det -
uanset hvem der har ansvaret.

  • 0
  • 0
Michael Nielsen

Jeg har kontaktet div. organsationer, mht sikkerhed, og it-innovation i Danmark, men ingen er interesseret i en simple løsning på problematikken, som vil gøre livet ret vanskligt for en hacker. I overskrift mode, var løsningen jeg prøvede at forslå som digital signatur i Danmark, og Danske banker.

  1. USB krypto token laves, hvor privat nøglen aldrig kan forlade nøglen (disse eksistere).
  2. En LCD skærm tilføjes, med en linje tekst.
  3. Scroll knapper tilføjes, hvor du kan scrolle i en beskrivelse af transaktionen, feks se til og fra konto numre, på det du signere.
  4. Tilføj en Sign knap, feks via biometrisk scanner, nøglen vil aldrig fortage sig noget hvis du ikke fysisk trykker på knappen og dit fingeraftryk er korrekt..

Fordelen er at da det er en USB løsning, kan den bruges på 99% af maskiner, hvis den laves rigtig, er den ufølesom overfor om det er Linux, Mac, Windows, eller QuarkFu system.

At glemme nøglen i computeren åbner den ikke for trojaner, og derfor kan ikke fjernmisbruges.

Da den bruger asymmetrisk krypterings, og kan benytter mutual authentication, vil alt fra banken til nøglen være krypteret og immun over for man-in-the-middle attacks (requesten er signeret af banken, og nøglen vil aldrig signere noget hvis afsender den ikke kan verificere).

Ved ordenligt biometrics sensor, er den meget vansklig at hacke, selv hvis det har lykkes en hacker at stjæle den fysiske nøgle (selve data'en kan aldrig hentes ud fra nøglen).

Nøglen kan bruges ved usikre terminaler, som feks PC'er i Biblioteker.

Men ingen gider at høre, de vil heller opfinde den dybe tallerken igen, og igen, og lave lappe løsninger, på lappe løsninger, jeg har på fornemmelsen af dem der designer disse løsninger ikke er interesseret i en god løsning, men en forretnings model, hvor de har forsættende intægter, i al-evighed, mens de patcher og patcher systemer.

Prisen in små styktal for denne slags løsning, burde ikke overstige 500dkr, og i det styktal vi snakker om her (1 million +), burde prisen være omkring de 100dkr. Jeg ville gerne betale for sådan en nøgle, for at få en ordenlig sikkerhed, som jeg tror langt de fleste andre gerne ville også.

Nøglen kan også med mindre ændringer bruges, til at lagre, både dine bank nøgler, offentlig signatur, m.v. Kan også udvides til en erstatning til physiske nøgler til huse, og biler, så dit nøgle bundt bliver lille, og chancen for du glemmer den i en computer er minimal, fordi du konstant bruger den. Desuden kan den bruges i feks forretninger som en erstatning for chip dankortet, med væsentlig bedre sikkerhed.

  • 0
  • 0
Thomas Lønskov Luther

Jyske Bank basere intet på at der er installeret noget på maskinen. Den er istedet baseret på brugernavn, engangskort nummer (der hvor du har de 80 engangskoder) og hvis disse passer, så bekræfter du med challenge-response (de giver dig en kode som findes på kortet, du svarer tilbage med tilsvarende kode) og indtaster dit password.

Når først du er logget på, så skal hver transaktion bekræftiges med en challenge-response igen.

Danske Banks Active-card løsning har de så for noget tid siden reduceret sikkerheden. Så nu foregår processen:
1: indtast brugernavn + password
2: På AC indtastes et tal, den beregne et svar som indtastes i browseren (engangskode)
3: Hver transaktion bekræftes med at indtaste dit password.

Så ActiveCard er nu reduceret til login-sikkerhed og ikke (som tidligere) transaktions-sikkerhed... en IMO væsentlig reducering af sikkerheden for brugeren.

  • 0
  • 0
Log ind eller Opret konto for at kommentere