Dokumentation: Så meget ved DanID om din pc

DanID indsamler 16 hardware-værdier på din Windows-pc og 13 på din Mac til brug ved efterforskning. Meningsløst over for dygtige it-kriminelle, lyder kritik.

Detaljerede oplysninger om din computers indmad opsamles rutinemæssigt af NemID-appletten, som flere end tre millioner danskere bruger til at logge på netbanken og offentlige hjemmesider som Skat.dk.

Det viser en gennemgang af den kildekode, som Version2 i sidste uge kunne afsløre bag fire tilforladeligt udseende billedfiler af GIF-typen, der ligger placeret lokalt på brugerens pc.

Læs også: DanID camouflerer programkode på din pc som billedfiler

»Det er meget sandsynligt, at GIF-filernes eneste opgave er at generere en pc-checksum,« siger Mathias Svensson til Version2.

Han er datalogistuderende ved Københavns Universitet og har forelagt Version2 resultatet af sin gennemgang af filernes indhold. Samtidig er han formand for datalogistudiets hackerklub, Pwnies.

Hidtil ukendt omfang

Detaljerne omfatter blandt andet dine ramblokkes serienumre, din processors id-nummer og serienumrene på BIOS og motherboard.

Dem bruger DanID til at beregne en såkaldt pc-checksum - en værdi, der kan bruges til unikt at identificere netop din pc i tilfælde af efterforskning ved misbrug af for eksempel netbank.

Det er der intet hemmeligt i, for det fremgår af DanID's privatlivspolitik.

Omfanget af indsamlingerne har dog ikke været kendt uden for DanID's mure før nu.

Det viser sig, at der på 32-bit Windows og Mac-platformen indsamles henholdsvis 16 og 13 unikke informationer om brugernes hardware i computeren.

Bruger du Linux på din pc, slipper du billigere. Her indsamles blot seks informationer.

Konkret har Mathias Svensson taget fat i hver fil og arbejdet sig baglæns fra maskinkoden i filerne og omskrevet den til en mere letlæselig pseudokode i programmeringssproget Python; det, der også kaldes reverse engineering.

Læs også: Sikkerhedsekspert: Skjult NemID-kode på din pc er en rigtig dårlig idé

Dermed har han populært sagt omdannet symboler og volapyk til kildekode, som programmører kan læse og forstå.

Ud af maskinkodens dis dukker der adskillige programkald til systemet op, som altså afslører hvilke oplysninger om brugerens pc, DanID indsamler.

DanID understreger i sin privatlivspolitik, at der er tale om 'ikke personoplysninger'. Det fremgår også, at pc-checksummen indgår i mængden af oplysninger, der kan bruges ved efterforskning af misbrug. Er det overhovedet et problem, at DanID indsamler de her oplysninger?

»DanID's hovedargument for at indsamle dem er, at hardwareværdierne kan bruges til efterforskning, men det er ufatteligt nemt at omgå,« siger Mathias Svensson.

For eksempel kan erfarne it-kriminelle blot opsætte et virtualiseret miljø på computeren, hvor hackeren selv indstiller alle hardwareværdierne, forklarer Mathias Svensson.

Dermed kan misbrug af NemID sløres, for så vidt angår muligheden for at spore det tilbage til en bestemt pc.

Mathias Svensson medgiver, at pc-checksummen kan være effektiv nok i de tilfælde, hvor Fru Jensen på et falsk grundlag hævder ikke at have overført et pengebeløb fra sin netbank.

Så der kan godt være en god mening med at indsamle oplysningerne trods alt?

»Det kan selvfølgelig fungere som et indicium på, om for eksempel en netbankoverførsel er sket på det rigtige eller forkerte grundlag. Men det vil klart ikke virke i forhold til de professionelle it-kriminelle,« siger Mathias Svensson.

Det er ikke lykkedes at få DanID til at kommentere på antallet af systemkald og deres funktionalitet.

Version2 viser her Mathias Svenssons pseudokode til de systemkald, der udføres i GIF-filerne på de forskellige platforme.

Windows (32-bit):

 (0, GetComputerName)
(1, GetProductID)
(2, get_cpuid_stuff)
(3, WQL_func("Win32_NetworkAdapter", "DeviceID"))
(4, WQL_func("Win32_BIOS", "SerialNumber"))
(5, disc_stuff1) # Får antallet af bytes per sector ved hjælp af funktionen "GetDiskFreeSpaceExA"
(6, WQL_func("Win32_Battery", "DeviceID"))
(7, WQL_func("Win32_BaseBoard", "SerialNumber"))
(8, WQL_func("Win32_Keyboard", "DeviceID"))
(9, WQL_func("Win32_SoundDevice", "DeviceID"))
(10, WQL_func("Win32_USBController", "DeviceID"))
(11, WQL_func("Win32_ComputerSystem", "Model"))
(12, get_username)
(13, get_language)
(14, get_screen_size)
(15, WQL_func("Win32_NetworkAdapter", "ProductName"))

Mac OS X:

(0, sys_func("Software", "Computer Name"))
(1, uname_stuff)
(2, cpuid_stuff)
(3, sys_func("Network", "MAC"))
(4, sys_func("Hardware", "Boot ROM Version"))
(6, sys_func("Power", "Serial Number"))
(11, sys_func("Hardware", "Model Identifier"))
(12, get_uid)
(14, sys_func("Displays", "Resolution"))
(15, sys_func("Bluetooth", "Address"))
(16, sys_func("Hardware", "SMC Version"))
(17, sys_func("Memory", "Serial Number"))
(18, sys_func("Software", "Kernel Version"))

GNU/Linux:

 (0,get_hostname_stuff),
(1,get_uname_stuff),
(2,get_cpuid_stuff),
(5,get_harddrive_stuff),
(12,get_uid_stuff),
(16,get_mac_address_stuff)

Tips og korrekturforslag til denne historie sendes til tip@version2.dk
Kommentarer (32)
sortSortér kommentarer
  • Ældste først
  • Nyeste først
  • Bedste først
Martin Kofoed

Hvor lang tid tror I, der går, før PET får en dommerkendelse, der tillader at skyde en plug-in ud på udvalgte maskiner for at overvåge disse?

Det er muligt med den nuværende arkitektur, så det er nok ikke et spørgsmål OM.

  • 15
  • 1
Henrik Sørensen

For eksempel kan erfarne it-kriminelle blot opsætte et virtualiseret miljø på computeren, hvor hackeren selv indstiller alle hardwareværdierne, forklarer Mathias Svensson.

Det kræver også "lige" at hackeren har opsnappet de værdier fra sit offers computer, hvilket vel ikke er helt trivielt hvis alt han har at arbejde med er det phishing-site V2 har demonstreret.

  • 7
  • 9
Jesper Stein Sandal

Det kræver også "lige" at hackeren har opsnappet de værdier fra sit offers computer, hvilket vel ikke er helt trivielt hvis alt han har at arbejde med er det phishing-site V2 har demonstreret.

Hej Henrik

Det scenarie, som omtales i artiklen, er en hacker, som vil undgå, at DanID efterfølgende kan bruge checksummen til at bevise, at angrebet er foregået fra hackerens pc.

Checksummen er netop beregnet til at kunne identificere en pc ud fra en unik værdi.

Ved at angribe via en virtuel maskine kan hackeren skabe en ny checksum for hvert angreb, og den maskine, checksummen identificerer, forsvinder sammen med den virtuelle maskine. Dermed kan DanID ikke bruge checksummen til at identificere den fysiske hardware.

  • 25
  • 2
Jacob Pind

Er det alene penge som der bliver gået efter, vil det jo nok være tale om en engangs transaktion i homebanken, så det kan da være så ligegyldigt med de værdier af pc checksum.

De indgår jo ikke i sikkerheden, men kun som evt symtom behandling, hvor de ville kunen sig ja det var fra en anden maskine de penge blev flyttede rundt.

Så hele den plugin struktur er særdelese suspekt, de vil kunne havde fået den applet checked og certifikeret, men når de load yderliger ting efterfølgende er det jo meningsløst. Det er kun den initiale applet som er signeret, den som har BootApplet.java i sig, alt hvad den loader efterfølgende er ikke signert.

  • 0
  • 0
Morten Sørensen

Nu ser jeg ikke mig selv som helt IT-idiot, men er VM virkelig den eneste mulighed for at komme uden om denne helt tåbelige hardware id-indsamling? Eller kan jeg blokere specifikke requests via software - en slags hardware id-firewall?

Jeg synes måske ikke lige helt det er så super relevant igen at DanID skal have oplysninger om hvilken BIOS jeg bruger, hvilken hardware id mit tastatur på bærbaren har osv.

  • 4
  • 2
Henrik Stig Jørgensen

Så hele den plugin struktur er særdelese suspekt, de vil kunne havde fået den applet checked og certifikeret, men når de load yderliger ting efterfølgende er det jo meningsløst. Det er kun den initiale applet som er signeret, den som har BootApplet.java i sig, alt hvad den loader efterfølgende er ikke signert.

For at give en applet tilladelse til at køre udenfor sandboxen skal den være signeret. Når man alligevel tillader appletten at køre udenfor sandboxen kan det være ligemeget hvad den derefter bootstrapper - man har jo givet den tilladelse til hvadsomhelst.

Applet-signaturen tjener altså til formål at kunne afvikle appletten udenfor sandboxen, og det er en fejl at tro at applet-signaturen kan bruges som en slags fingeraftryk af den kode der reelt eksekveres på maskinen - pga. bootstrapping.

  • 7
  • 0
Anton Lauridsen

Nogle gange kan man finde et værktøj der giver dig mulighed for at ændre MAC adressen på dit netværkskort, men ellers vil du nok ikke kunne gøre så meget uden at benytte en virtuel maskine.

Uden at have checket det, vil jeg tro at appletten enten crasher eller kommer med en fejl hvis du finder en måde at blokere for kaldene.

  • 3
  • 0
ab ab

Det scenarie, som omtales i artiklen, er en hacker, som vil undgå, at DanID efterfølgende kan bruge checksummen til at bevise, at angrebet er foregået fra hackerens pc.

Checksummen er netop beregnet til at kunne identificere en pc ud fra en unik værdi.

Hvis det vitterlig alene er en checksum og ikke de enkelte værdier, som registreres, kan den it-kriminelle vel nøjes med at skifte brugernavn eller ram-klodser fra angreb til angreb?

  • 5
  • 0
Jon Bendtsen

og hvis PET har nok bevis materiale til at få en dommerkendelse så er dem der bliver overvåget under bestyrket mistanke og så har PET al mulig ret til at aflytte dem...

Ja, præcis lige som da politiet indsamlede "snavs" på personer som retten senere afviste?

Jeg mindes også noget om at PET "brød ind" hos en venstreorienteret organisation under eller omkring topmødet som senere er blevet underkendt af retten da de ansøgte om en ransagningskendelse.

  • 6
  • 0
Michael Thomsen

Mathias Svensson medgiver, at pc-checksummen kan være effektiv nok i de tilfælde, hvor Fru Jensen på et falsk grundlag hævder ikke at have overført et pengebeløb fra sin netbank.

Dette er ikke korrekt. Selvom checksummen peger direkte på hendes computer kan der sagtens være tale om, at det er kriminelle, som har overført pengene. En simpel opskrift kan ses her:

http://www.version2.dk/artikel/danid-vi-holder-sikkerheden-hemmelig-goer...

Jeg synes ærlig talt, at v2 skulle se at prikke lidt til DanID for at få opklaret hvad de har tænkt sig at bruge checksummerne til. Hvis det er til ovenstående kan de ligeså godt droppe systemet. Når de har droppet det behøver de slet ikke en java-applet længere. Bonus: NemID virker på langt flere systemer.

  • 7
  • 0
Michael Nielsen

Og de sage at vi var paranoide da man påviste muligheden for dette for nogle år siden nu.... lol...

VirtualBox - is your friend.

Jeg er ikke IT kriminel, men jeg kan ikke døje at andre piller ved mine maskiner.

  • 5
  • 3
Kristoffer Søholm

Jeg forstår ikke hvordan man har fundet på, at en login-løsning til netbanker skal kunne køre skjult arbitrær kode på folks computere. Jeg overvejer lidt om man burde køre et script, der tjekker om filerne har ændret sig hver gang man bruger NemID, så man i det mindste får et overblik hver gang de kører noget nyt.

  • 3
  • 0
Andreas Jensen

Tja, man kan jo patche den relevante "billedefil" til altid at sende en forkert checksum, hvilket ikke burde være umuligt at gøre for en dygtig IT-kriminel.

Men en virtuel maskine ville nok være en del nemmere.

  • 5
  • 0
Jesper Poulsen

Nu ser jeg ikke mig selv som helt IT-idiot, men er VM virkelig den eneste mulighed for at komme uden om denne helt tåbelige hardware id-indsamling? Eller kan jeg blokere specifikke requests via software - en slags hardware id-firewall?

De filer der afvikles her afvikles med de samme rettigheder som den bruger der logger ind med NemID. Hvorvidt indsamlingen kan begrænses eller forhindres afhænger af operativsystemet. Jeg kunne forestille mig at SELinux var mindre sårbart overfor indsamlingen.

Det letteste er, at smække en virtuel maskine op. Jeg anvender selv en Xubuntu 10.04 LTS på en VirtualBox under Ubuntu 10.04 LTS. De eneste umiddelbare hager der er ved en VM er RAM-forbruget til den pågældende VM og diskpladsen til den virtuelle disk. Min NemID-VM (der kun bruges til netbank) får tildelt 256 MiB RAM til systemet og 12 MiB til grafik. Det mærker jeg ikke noget til. Den virtuelle disk er på 4 GiB. Det mærker jeg heller ikke noget til.

  • 2
  • 0
Baldur Norddahl

Det virker som en del misser pointen her. En indbrudstyv kan også tage handsker på og undgå at sætte fingeraftryk. Det betyder ikke at fingeraftryk er helt ubrugeligt i efterforskningsøjemed.

DanID må jo tænke at deres system kan afsløre en brugbar andel af bedrageriforsøg, også selvom det ikke kan afsløre alle.

Jeg vil ikke forsvare DanID. Kun påpege hvad det er de vil opnå med deres "fingeraftrykningssystem". Og at det i det store billede er ligegyldigt om der er nogle nørder der kan omgå det ved at køre i en VM. Du kan også bare gå ned på det lokale bibliotek, før du laver dit bedrageri (eller tage handsker på før du begår indbrud).

En anden ting er så at denne "målet helliger midlet" mentalitet hos DanID ikke kan forsvares. De har på ingen måde godtgjort at de har et så omfattende problem med NemID svindel, at det er nødvendigt at snage rundt i vores computere. Eller at det er en effektiv metode der står mål med det tillidsbrud, og brud på privatlivets fred, som metoden indbefatter.

  • 9
  • 0
Michael N. Steen

Det her lugter meget stærkt af, at DanID prøver at beskytte deres kunder, bankerne, mod at vi brugere snyder. Hvis jeg ringer til banken og siger, at jeg ikke har overført 100.000 til Ukraine (undskyld Ukraine, bare et eksempel), det må være kriminelle, og banken så siger: "Vores data viser, at overførslen er sket fra din computer", så har jeg en dårlig sag.

Hvis jeg prøver at sløre min identitet, ved at der bliver sendt en ny checksum hver gang, og samme situation opstår, kan banken jo blot sige: "Du bruger en ny computer hver gang, så det kan lige så godt være dig", selv om den kriminelle sidder i Ukraine (undskyld Ukraine, bare et eksempel), så har jeg stadig en dårlig sag.

Jeg mener ikke vi opnår meget ved at mukke over DanIDs snagen, hvor uetisk den end måtte forekomme. Det virkelige problem - eller et af dem, for der er mange - er, at de bruger tid og kræfter på den slags julelege, i stedet for af lave nogle forholdsvis simple tiltag, der kan beskytte os, brugerne, bedre. Det har ikke skortet på forslag som f.eks. en fast login-side.

Jeg ved godt at flere siger, man ikke skal lappe på en rådden plimsoller, og jeg er enig, men er man ude på havet, og skuden er ved at synke, vil man værdsætte alt, der kan holde den flydende, til man når i land og kan bygge en ny og bedre.

Den må gerne blive knust i brændingen, bare vi når velbeholdent i land.

  • 7
  • 0
Sune Marcher

Jeg må indrømme jeg ikke helt ved hvad jeg skal synes om fingerprintingen.

De indsamlede værdier er der ikke noget specielt farligt i, og da slet ikke hvis det hele hashes før det bliver sendt til NemID. Og hvis fingerprintet kan bruges til at afvise misbrugs-transaktioner, har det en berettigelse.

Ja, en IT-kriminel kan i teorien opsnappe din fingerprint og bruge den - men det vil for det første kræve at der bliver installeret malware på din maskine, hvilket er mere komplekst end "blot" at sætte et phishing site op. Og som det ser ud lige pt., hvad får en kriminel så ud af at bruge dit fingerprint? (Jeg tænker det normale berigelseskriminalitets scenarie her, ikke targetted attack der går ud på at ødelægge en persons liv.)

Fingerprint delen ser jeg altså ikke som en sort/hvid sag, der er både fordel og ulemper.

Det rigtigt store problem, som der risikerer at drukne hvis man fokuserer for meget på fingerprintingen og det data der bliver opsamlet, er leveringsmekanikken, og hvad den kan misbruges til. Her synes jeg til gengæld det er ret sort/hvidt.

Eller rettere, sort.

  • 3
  • 0
Baldur Norddahl

Jeg holder med Michael - hvorfor har de brugt så mange kræfter på julelege?

De personer som ikke kan finde ud af at undgå dette "fingeraftryk" er de samme som ikke kan finde ud af at slette en simpel cookie. Der er desuden også mulighed for at lave en ret præcis profil alene ud fra de oplysninger man får fra browseren (http://panopticlick.eff.org/).

Så er det grunden til at vi skal leve med den elendige java applet?!

De kunne have lavet en helt almindelig HTTPS baseret løsning og fået ligeså god mulighed for at fingerprinte dumme brugere. Ikke for at retfærdiggøre at de overhovedet gør det.

Tænk hvor meget længere de var nået hvis de bare havde implementeret en helt almindelig OpenID (http://en.wikipedia.org/wiki/Openid) / OpenAuth (http://en.wikipedia.org/wiki/Openauth) løsning.

  • 3
  • 0
Jesper Mørch

Ja, en IT-kriminel kan i teorien opsnappe din fingerprint og bruge den - men det vil for det første kræve at der bliver installeret malware på din maskine, hvilket er mere komplekst end "blot" at sætte et phishing site op.

Var Malware egentlig ikke netop en af de væsentligste årsager til at man overhovedet skulle udskifte den Digitale Signatur og de mange versioner af Netbank til fordel for NemID? - Altså foruden at den også skulle beskytte mod bl.a. MitM-angreb ...

Som det ser ud med NemID nu, har den vist fejlet på alle de punkter hvor den skulle gavne og styrke sikkerheden!

  1. NemID ER et MitM-angreb og kan dermed ikke beskytte mod det. Det har V2 med al tydelighed bevist.
  2. Med installeret malware kan det lade sig gøre at fake en webside totalt, og dermed oprette en applikation som udgiver sig for at være f.eks. netbankens hjemmeside og dermed lænse ALT.

Alternativt, hvis man virkelig vil rykke, kan man kombinere malware med en falsk NemID-webside (altså, hvor der benyttes NemID), f.eks. et bibliotek. Et MitM-angreb kan til dels automatiseres, da alle data man propper ind, kan manipuleres. Kombinér det med lidt Flash-misbrug, og du har direkte adgang til en lang række webcams. Så tilføjes lidt software til ansigts-genkendelse (for at genkende NemID-logoet) og OCR (til at aflæse papkortet) i kombination med lidt automatiseret registrering af adgangskode og brugernavn, og du ejer en identitet.

Flash-misbruget har været udbredt i et års tid eller mere, og både software til ansigtsgenkendelse og OCR er frit tilgængeligt på nettet. Med en lille smule malware, kan hosts-filen manipuleres, så nemid.nu pludselig peger på IP-adressen for nemid.ru.

Jeg er ikke IT-kriminel, jeg er ikke et IT-geni og jeg er ikke på nogen måde ekstrem i min tankegang. Alligevel har det kun taget mig et øjeblik at opstille ovenstående tænkte scenario, som let kan overtage et væld af NemID'er.

Når jeg kan fremkomme med ovenstående UDEN at have en kriminel tankegang, gruer jeg lidt for hvad en hardcore IT-kriminel kan have udtænkt i løbet af de 1½ år NemID har eksisteret!!!

Derfor er og bliver NemID en tikkende bombe under hele det danske samfund, og jeg fristes til at sige, at jeg faktisk håber at der meget meget snart sker et gigantisk misbrug af NemID, så vi kan få stoppet det galskab før det er for sent!

  • 4
  • 2
Sune Marcher

Så tilføjes lidt software til ansigts-genkendelse (for at genkende NemID-logoet) og OCR (til at aflæse papkortet) i kombination med lidt automatiseret registrering af adgangskode og brugernavn, og du ejer en identitet.

Lige denne del synes jeg, som det eneste, er ret søgt. Jeg har lidt svært ved at forestille mig at vil kunne få affotograferet andet end, i bedste/værste fald, bagsiden af NemID nøglekortet.

  • 1
  • 1
Jesper Mørch

Lige denne del synes jeg, som det eneste, er ret søgt. Jeg har lidt svært ved at forestille mig at vil kunne få affotograferet andet end, i bedste/værste fald, bagsiden af NemID nøglekortet.

Stuxnet har vist os at malware m.m. godt kan have flere maskerede, intelligente og gennemtænkte angrebs-vektorer.

Du vil vel ikke hævde at der ikke er nogen brugere som har deres papkort liggende på bordet foran sig på et eller andet tidspunkt imens de er på login-siden?

Hele "appletten" kunne med al sandsynlighed skrives i Flash og kun foretage sig nogle helt enkle ting, nemlig at tænde webcam, og så ellers formidle tekst-data mellem en skummel server og den intet-anendes skærm. Det eneste nye i den tankegang er kombinationen, for alle elementer har været brugt før, enten ifm. malware (MitM, flash, kontrol over webcam etc.) eller ifm. blokeringen af spam (OCR).

Hvis det så skulle gøres virkelig effektivt, kunne IT-kriminelle med fordel benytte et bot-net til lynhurtigt at afkode hvor et evt. papkort befandt sig i videobillederne, og til lynhurtigt at OCR-skanne kortet.

Teknologien eksisterer som bekendt allerede, så hvis der er penge i det (og det tror jeg der er med ca. 3 mio brugere), vil vi med al sandsynlighed se adskillige angreb på NemID-konstruktionen.

Hvis de mange script-kiddies så undlod at lave halvfærdige angreb, men i stedet slog koldt vand i blodet og faktisk fik lavet noget velfungerende første gang, ville det få hele NemID-konstruktionen til at fejle så voldsomt, at der ville blive grebet politisk ind.

Hvis blot 1% af brugerne (eller 30.000 mennesker) fik lænset deres konti på en dags tid eller to, ville det få katastrofale konsekvenser for NemId-konstruktionen som vi kender den i dag. Det ville til gengæld kunne generere nogle ret seriøse beløb, hvis 30.000 netbank-kunder mistede nogle tusinde kr hver...

Som en anden har nævnt herinde, er det meget lettere at slippe afsted med små overførsler, end med de store. Til gengæld giver de store mange flere penge her og nu.

Og, indtil videre har jeg kun nævnt pengebeløb ... Jeg bryder mig slet ikke om tanken om, hvad der kunne ske hvis en fjendtlig efterretningstjeneste gik målrettet efter personoplysninger, eller hvad med de personer som ønsker at finde så meget snavs som muligt om så mange mennesker som muligt, for at kunne udnytte det til egen vinding.

Jeg ved godt at "007 - Tomorrow Never Dies" kun er en film, men forfatterne har vel stadig fundet deres inspiration et eller andet sted i virkelighedens verden.

  • 3
  • 1
Sune Marcher

Du vil vel ikke hævde at der ikke er nogen brugere som har deres papkort liggende på bordet foran sig på et eller andet tidspunkt imens de er på login-siden?

Bestemt ikke - men når jeg tænker over hvor webcams normalt er monterede, og hvad de peger mod, tror det er en sjældenhed at nøglekortet er i webcamets synsfelt... bortset fra hvis brugeren holder det op for at læse nøgler, hvor det så sandsynligvis kun er bagsiden, der er synlig.

Hvis det så skulle gøres virkelig effektivt, kunne IT-kriminelle med fordel benytte et bot-net til lynhurtigt at afkode hvor et evt. papkort befandt sig i videobillederne, og til lynhurtigt at OCR-skanne kortet.

Ville være fjollet - for høj latency og for meget traffik i konstant at distribuere video. Og det burde fint kunne klares på de lokale klienter anyway.

  • 1
  • 2
Log ind eller Opret konto for at kommentere