mboost-dp1

NemID og MitM


Gå til bund
Gravatar #1 - Alrekr
3. nov. 2011 22:43
Ingeniøren og Version2 har undersøgt MitM-angreb på NemID og kommer med proof-of-concept:

Beskrivende artikel.

Video som viser proof-of-concept.

DanID afviser (selvfølgelig) kritikken.
Gravatar #2 - Daniel-Dane
3. nov. 2011 22:50
Hold da op. Den med hængelåsen (0:53) slog benene væk under mig.
Gravatar #3 - Killa
4. nov. 2011 00:29
#1
Det er jo en sårbarhed, der har været kendt siden starten.

#2
Alle kan få et certifikat.
Gravatar #4 - kasperd
4. nov. 2011 01:15
Deres afvisning af kritikken demonstrerer, at de ikke har forstået problemet.
Den typiske it-kriminelle går jo efter en model, hvor deres software laver arbejdet, og det I viser her, kræver ægte menneskelig indsats på dansk, 7/24 overvågning, og dertil en stor portion held for at blive til penge.
At angrebet gennemføres manuelt i videoen er jo blot for at man kan følge med i hvad der sker. Der er jo intet i det system som behøver at blive gennemført manuelt.

Hvis formålet var at stjæle penge (og ikke at demonstrere hullet så alle kan følge med), så havde man selvfølgelig automatiseret det.
Gravatar #5 - Emil Melgaard
4. nov. 2011 06:15
#4:

Kan vi ikke være enige om at det ikke er det nemmeste hul at udnytte?

Det kræver at du på en eller anden måde for et forfalsket link, og grunden til at de har gjort det med et bibliotek og ikke en bank er vel for at folk skal være mindre forsigtige. Derfor bliver du så nødt til at gætte hvilken bank personen bruger. Hvis du gætter forkert, vil du få at vide at koden er forkert.

Derudover har du kun ét log in forsøg før du bliver nødt til at bede om en ny nøgle. Ville det ikke være nemmere at bare at stjæle folks dankortoplysninger?

Du må dog meget gerne forklare hvordan du ville have løst det. Det gamle digital signatur løsning var jo ikke meget bedre; der ville man med samme angreb kunne have stjålet personens private nøgle.
Gravatar #6 - myplacedk
4. nov. 2011 07:32
Så længe brugeren selv leverer sit kodeord osv. til "hackeren", så er det noget nær umuligt at beskytte sig imod.

Artiklens forslag er en popup, hvor man skal se om domænenavnet er korrekt. En bad guy vil da bare lade være med at vise popup'en. Eller lave en popup hvor der stor at det er noget andet de skal tjekke. Eller et andet sted de skal kigge efter domænenavnet.

Realistisk set kan man ikke beskytte borgerne mod deres egen dumhed. Man kan gøre noget for at reducere problemet. DanID kan gøre mere end de gør nu. Men der følger elemper med dette, det vil altid være et kompromis. Og så kan man jo altid diskutere hvor meget vægt man skal lægge på de enkelte dele: Sikkerhed, pris, brugervenlighed og besværlighed.

Personligt har jeg ikke den store holdning til hvor balancen skal være her. Jeg synes ikke man skal ofre alverden for det på den tekniske side, men hvis man kan opnå noget væsentligt med lille konsekvens for pris, brugervenlighed og besværlighed skal man da gøre det. Men min grundlæggende holdning er at folk dummer sig, og det kan man ikke gøre noget ved, det må man bare acceptere.

Endeligt skal man huske at ingen der er værd at høre på, nogensinde har påstået at NemID er 100% sikkert. Det samme om noget som helst andet sikkerhedssystem. Og det bliver især aldrig sikkert, når brugere er indblandet. Jo højere sikkerhed du vil have, jo strengere regler får brugerne, og dermed overtræder de reglerne oftere, og dermed får du lavere sikkerhed. Du kan udpege en svaghed ved ethvert sikkerhedssystem.
Gravatar #7 - Hubert
4. nov. 2011 08:38
Emil Melgaard (5) skrev:
#4:

Kan vi ikke være enige om at det ikke er det nemmeste hul at udnytte?

Det kræver at du på en eller anden måde for et forfalsket link, og grunden til at de har gjort det med et bibliotek og ikke en bank er vel for at folk skal være mindre forsigtige. Derfor bliver du så nødt til at gætte hvilken bank personen bruger. Hvis du gætter forkert, vil du få at vide at koden er forkert.

Derudover har du kun ét log in forsøg før du bliver nødt til at bede om en ny nøgle. Ville det ikke være nemmere at bare at stjæle folks dankortoplysninger?

Du må dog meget gerne forklare hvordan du ville have løst det. Det gamle digital signatur løsning var jo ikke meget bedre; der ville man med samme angreb kunne have stjålet personens private nøgle.


Man behøver jo ikke misbruge nøglen første gang. Man kunne jo være så snedig at man bruger første besøg på webbanken til at finde ud af hvilken bank målet bruger og her efter kan man så misbruge adgangen.
Gravatar #9 - Daniel-Dane
4. nov. 2011 21:38
Hubert (8) skrev:
http://www.version2.dk/artikel/danid-og-staten-takker-nej-til-dialog-med-version2-laesere-32439


Jeg synes ikke, at det er en god idé at føje flere elementer til jeres dækning


Security by obscurity much?
Gravatar #10 - Killa
4. nov. 2011 22:30
#9
Mon ikke det er for at undgå at pressen går i selvsving over det her. Der er tale om et "problem", som er tæt på uløseligt hvis det skal fungere i praksis.

Egentlig vil jeg mene det er browserudviklernes fejl, at det ikke er mere tydeligt hvem certifikatet tilhører.
Gravatar #11 - Hubert
5. nov. 2011 08:12
Daniel-Dane (9) skrev:

Security by obscurity much?


Det er vel ikke noget nyt i det her setup..? :)
Gravatar #12 - Hubert
5. nov. 2011 08:13
Killa (10) skrev:
#9
Mon ikke det er for at undgå at pressen går i selvsving over det her. Der er tale om et "problem", som er tæt på uløseligt hvis det skal fungere i praksis.

Egentlig vil jeg mene det er browserudviklernes fejl, at det ikke er mere tydeligt hvem certifikatet tilhører.


danid ville fremstå ualmindeligt mere professionelt hvis de var klar på at svare på kritikken. Men det tør de åbenbart ikke.
Gravatar #13 - apkat
5. nov. 2011 09:05
Det er irriterende at journalister ikke altid ved hvad de skriver om. Jeg vil vædde med der er den sygeste artikel på ekstrabladet omkring at vi alle dør nu og mister alle vores penge osv.



Hubert (12) skrev:
Killa (10) skrev:
#9
Mon ikke det er for at undgå at pressen går i selvsving over det her. Der er tale om et "problem", som er tæt på uløseligt hvis det skal fungere i praksis.

Egentlig vil jeg mene det er browserudviklernes fejl, at det ikke er mere tydeligt hvem certifikatet tilhører.


danid ville fremstå ualmindeligt mere professionelt hvis de var klar på at svare på kritikken. Men det tør de åbenbart ikke.


Det ville vel bare få folk til at gå endnu mere i selvsving.. Men det burde de nok ja.
Ved at afvise kritikken så føler 99% sig sikre igen. (minus dem der ved noget om det)
Ved at fortælle om kritikken så føler 1% sig sikre (minus dem der ikke ved noget om det)
Vel derfor..
Gravatar #14 - kasperd
5. nov. 2011 09:55
Emil Melgaard (5) skrev:
Kan vi ikke være enige om at det ikke er det nemmeste hul at udnytte?
Jeg synes da det så nemt ud i videoen. Den største udfordring er at lave en side der ligner den ægte login dialog, men det burde være forholdsvis overkommeligt.

Emil Melgaard (5) skrev:
Ville det ikke være nemmere at bare at stjæle folks dankortoplysninger?
Jo, men det kan ikke bruges til lige så meget som Nemid. Kortoplysninger er nemme at stjæle på grund af den måde betaling over Internettet håndteres. Men det er bankerne, der hæfter for misbrug i det tilfælde, og det er også bankerne der har muligheden for at indføre et nyt system som er mere sikkert.

Skaden ved misbrug af Nemid kan ikke nødvendigvis rettes op ved blot at refundere et mindre pengebeløb.

Emil Melgaard (5) skrev:
Du må dog meget gerne forklare hvordan du ville have løst det.
Brugernavn, password og engangsnøgle må kun indtastes i en html form på https://www.nets-danid.dk/. Desuden burde det site anvende HSTS, og det skulle være et krav, at alle websites der ønsker at anvende Nemid også bruger HSTS.

Når du logger på https://www.nets-danid.dk/ gemmes en cookie på computeren, der fortæller hvem du er og hvornår du loggede på. Denne cookie skal naturligvis beskyttes imod manipulation ved brug af en MAC (f.eks. HMAC-SHA512). Man kan evt. også kryptere indholdet.

For hvert site du vil bruge Nemid på skal du logge på ved at indtaste et bruger ID. Uanset om bruger ID godkendes eller ej skal du redirectes til https://www.nets-danid.dk/ med en krypteret URL parameter der fortæller hvilket bruger ID du indtastede, og hvor lang tid der må være gået siden du indtastede hhv. password og engangsnøgle. Hvis det indtastede brugerid matcher din cookie og cookie ikke er for gammel redirectes du tilbage til det originale site med en URL parameter der indeholder en signatur, der bekræfter hvem du er.

Hvis cookie ikke opfylder sitets request præsenteres du i stedet for en login dialog. Så vil brugeren i det mindste altid se samme site navn når der logges på, og har dermed en chance for at verificere autenticiteten. Et site kan vælge at sætte maksimumsalderen til 0, hvis de ønsker at kræve password tastet ind hver gang.

Daniel-Dane (9) skrev:
Security by obscurity much?
Det er anden gang på ganske kort tid at Danid vælger security by obscurity: http://newz.dk/forum/software/aabent-brev-til-dani...

Jeg ser en trend. Det er på tide vi får et af de store medier til at skrive en artikel om emnet. En overskrift i retning af "Danid forsøger at fortie sikkerhedsproblemer i Nemid" (eller måske noget kortere) ville være dækkende.
Gravatar #15 - Emil Melgaard
8. nov. 2011 15:14
kasperd (14) skrev:
Brugernavn, password og engangsnøgle må kun indtastes i en html form på https://www.nets-danid.dk/. Desuden burde det site anvende HSTS, og det skulle være et krav, at alle websites der ønsker at anvende Nemid også bruger HSTS.


Det kræver så at brugeren kontrollerer at han er på https://www.nets-danid.dk/ og ikke https://www.nets-dan-id.dk/

Som det er nu har du jo mulighed for at kontrollere signaturen på appletten. Er det ikke næsten lige så godt?
Gravatar #16 - kasperd
8. nov. 2011 15:44
Emil Melgaard (15) skrev:
Det kræver så at brugeren kontrollerer at han er på https://www.nets-danid.dk/ og ikke https://www.nets-dan-id.dk/
Det vil sige at man skal kontrollere noget, der står på skærmen. Og det er det samme domæne man skal kontrollere hver gang.

Det er langt nemmere end at skulle kunne huske det præcise domænenavn på hvert eneste site, der anvender nemid.

Det skal selvfølgelig også fungere sådan, at man kan lave et bookmark til URLen på https://www.nets-danid.dk/. Hvis man tilgår URLen via bookmark behøver man ikke hverken huske eller kontrollere URLen.

Hvis man logger ind fra bookmarket og der således ikke er noget site at redirecte til efter login bør man i stedet præsenteres for lister over sites, der anvender nemid.

Jeg forestiller mig tre lister (der vises som tre søjler ved siden af hinanden hvis vinduet er bredt nok). Første liste er de domæner man selv oftest bruger. Anden liste er offentlige instanser som anvender systemet. Og tredje liste er de mest populære private virksomheder, der anvender systemet. Til sidst kan der være et link til en komplet liste over alle legitime sites, der anvender nemid.

Det ville være mere brugervenligt, mere sikkert, og fungere bedre da det kan laves i html og ikke kræver en java applet.

Som det er nu har du jo mulighed for at kontrollere signaturen på appletten. Er det ikke næsten lige så godt?
Nej.

Signaturen vises jo kun første gang. Når man har godkendt den vises den aldrig mere.

Når man således går ind på et site og ser en login dialog uden at have set en signatur kan man ikke vide om det er fordi det er den man allerede har godkendt, eller om det er fordi det man ser på nu ikke kræver en signatur.

At man ser en signatur og skal godkende appletten skyldes at den får tildelt privilegier, som den slet ikke burde have i første omgang. Et phishing angreb kunne anvende en lookalike applet, som har færre privilegier og dermed ikke kræver godkendelse.

Man kan da ikke længere se forskel på den autentiske applet, som ikke kræver godkendelse fordi den allerede er godkendt, og den forfalskede, som ikke kræver godkendelse fordi den ingen privilegier kræver.

En lookalike behøver ikke engang være en java applet. Det kunne være et baggrundsbillede og en html form eller flash.

Derudover har den signerede applet det problem i forhold til et SSL certifikat, at når først signaturen er lavet forbliver den gyldig uanset hvilket site appletten hentes fra.

Med SSL indeholder certifikatet en offentlig nøgle på serveren, og man skal kommunikere med en server der har den tilhørende hemmelige nøgle hver eneste gang man anvender URLen.

Har man først underskrevet appletten er der ikke længere noget krav om at den hemmelige nøgle er involveret i fremtidig kommunikation. Dette er et problem hvis der viser sig et sikkerhedshul i appletten, hvilket yderligere forværres af at appletten er tildelt rettigheder ud over det nødvendige.
Gå til top

Opret dig som bruger i dag

Det er gratis, og du binder dig ikke til noget.

Når du er oprettet som bruger, får du adgang til en lang række af sidens andre muligheder, såsom at udforme siden efter eget ønske og deltage i diskussionerne.

Opret Bruger Login