Ups, NemID! Ekspert anbefaler dig at slette Java fra din browser

Illustration: Virrage Images/Bigstock
Den anerkendte sikkerhedsekspert Mikko Hyppönen fra F-Secure råder brugere til at slette Java, der er teknologien under NemID.

Fortsatte problemer med sikkerheden ved Java får nu den finske sikkerhedsekspert Mikko Hyppönen til at råde brugerne til at fjerne teknologien helt fra deres browsere.

»Har du brug for Java i din browser? Seriøst, har du? Hvis ikke, så fjern det,« lyder den kontante melding fra Mikko Hyppönen i et nyt blogindlæg.

Dermed sender Mikko Hyppönen, der til daglig er chefforsker i antivirusfirmaet F-Secure med over 20 års erfaring med it-sikkerhed, en bredside af sted mod den softwareteknologi, der er fundamentet under NemID.

Herhjemme bruges Java blandt andet af NemID, der benyttes af flere end tre millioner danskere til at logge på netbank og offentlige hjemmesider som Skat.

Java er en fællesbetegnelse for et programmeringssprog og et afviklingsmiljø, der blandt andet kan installeres i webbrowsere. Det er sidstnævnte, der gør NemID-appletten i stand til at køre i brugerens browser via et plugin.

Hackernes favorit

Java har i mange år været et yndet mål blandt hackere, ikke mindst fordi teknologien er så udbredt, og brugerne samtidig er dårlige til at holde softwaren opdateret.

Ifølge sikkerhedseksperten demonstrerer nye sårbarheder som den såkaldte Java Rhino, hvor galt det står til i Java-land.

»Faren ved Java bliver godt illustreret med den seneste Java Rhino-sårbarhed. Hvis du kører Java, men ikke den seneste version, er du sårbar. Så enten bliver du nødt til hele tiden at tjekke, at du har den seneste Java-version - eller skille dig af med Java,« skriver Mikko Hyppönen.

Problemet er langt fra teoretisk, påpeger han.

Med programmet Blackhole, der er udviklet af it-kriminelle, viser sikkerhedseksperten, at Java Rhino-sårbarheden er flere hestehoveder foran andre teknologier som PDF og Flash, der normalt også betragtes som sårbare.

Java Rhino udgør omkring 83 procent af de sårbarheder, der bliver udnyttet af hackere til at kapre sagesløse brugeres pc'er, mens PDF på andenpladsen ligger og roder rundt nede omkring 12 procent.

Brug særskilt browser til NemID

Mikko Hyppönen vurderer, at de fleste brugere har Java installeret i browseren, selvom de ikke har brug for den. Den type brugere kan med sindsro afinstallere Java.

Er man alligevel tvangsindlagt til at bruge Java, anbefaler sikkerhedseksperten, at det sker i en særskilt browser, som kun bruges til det ene formål.

Er du for eksempel glad for Internet Explorer til hverdag, så hold Java væk fra den og benyt i stedet Firefox eller Chrome, når du for eksempel skal logge på netbank med NemID.

»Har du brug for Java til en specifik web-applikation? For eksempel en netbank eller en intranet-app? Så lad Java ligge på dit system, men fjern Java-plugin'et fra den browser, du bruger til hverdag. Og brug så en anden browser udelukkende til det formål,« skriver Mikko Hyppönen.

Svenskerne droppede Java som teknologi til deres version af NemID, BankID, for et par år siden. Problemerne med sikkerheden var en af de tungtvejende årsager.

Læs også: Java-baseret NemID-teknologi for usikker til svenskerne

Også det danske it-sikkerhedsfirma Secunia har tidligere kritiseret i Version2's spalter, at NemID er baseret på Java.

Læs også: Sikkerhedsekspert: Håbløst at basere NemID på Java

Mikko Hyppönen anbefaler Google-browseren Chrome, fordi den tilbyder et mere sikkert sandboxing-miljø, der forholdsvis effektivt spærer sårbare programmer inde i deres eget, lukkede miljø. Han påpeger, at mange Java-sårbarheder derfor ikke kan udnyttes i Chrome.

Læs også: Chrome spærrer nu Flash inde i sandkasse

Version2 afventer en kommentar fra Nets DanID, der står bag NemID.

Det er ikke lykkedes at indhente en uddybende kommentar fra Mikko Hyppönen.

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

Der er efterhånden en hel del årsager til at NemID kun bør bruges med en VM.

De fleste Windows-brugere skulle ikke have så svært ved at få en VirtualBox til at virke, men ellers er der mange andre muligheder. Om ikke andet, så kan det gøres meget smertefrit.

  • 9
  • 1
Randahl Isaksen

Mikko Hyppönen overser flere vigtige fakta. For det første har Java gennem flere år været i stand til at opdatere sig selv, hvorved brugeren automatisk kommer til at benytte seneste version. Dette virker både på Windows og på Mac. Dertil kommer, at Java jo ikke i sig selv er farligt. Det, der er farligt, er situationer hvor en bruger surfer ud på et ondsindet site, der ønsker at hacke ens computer. Hr. og Fru Hansen, der besøger dr.dk og Facebook har altså intet at frygte.
Vi skal være taknemmelige for, at NemID benytter Java. Havde NemID valgt browserens indbyggede JavaScript teknologi, ville systemet have været langt mere usikkert, fordi JavaScript ikke har de samme sikkerhedsegenskaber som Java.
Det er en evigt tilbagevendende nyhed, at NemID skulle være så og så dårligt. Husk nu lige, hvordan verden var før NemID, da vi havde en digital signatur, som ingen almindelige danskere kunne finde ud af at bruge. Nu har vi fået et fælles login, der virker i flere forskellige browsere, på flere forskellige operativsystemer, og som alle danskere kan benytte gratis.
Jeg tror den egentlige nyhed er, at journalister, der mangler noget at skrive om, alt for let bliver et talerør for såkaldte sikkerhedseksperter, der gerne vil promovere sig selv gennem skandalehistorier. Stram op Version2!

  • 11
  • 28
Steffen Gerved Arnholtz

Problemet ved Java (Applets(NemID)) er at de for de rettigheder som den pågældende bruger har, og kan tilgå alle filer(brugerens?) hvis de er signeret. Som NemID applet'en er.

Og en søgning på google, "Java Applet Exploit", giver en masse sider og artikler om at udnytte java. Så jo, java er usikkert. Som så mange andre sprog med stor sandsynlighed også er.

Men hvorfor mener du at JavaScript skulle være mere usikkert? Så vidt jeg ved, har flere banker benyttet det før NemID.

  • 10
  • 0
Michael Lykke

Jeg tror den egentlige nyhed er, at journalister, der mangler noget at skrive om, alt for let bliver et talerør for såkaldte sikkerhedseksperter, der gerne vil promovere sig selv gennem skandalehistorier. Stram op Version2!

Jeg tror næppe en annerkendt sikkerhedsekspert med 20 års erfaring har brug for at promovere sig via skandalehistorier. Mon ikke nærmere problemet er at du beskæftiger dig med Java som dit primære område og derfor har svært ved at tage imod en kritik af den teknologi du basere din karriere på? Stram op Randahl! ;)

Det er jo langt fra den ene person som er kritisk over for java og usikkerheden - Det bør du også være bekendt med.

  • 6
  • 10
Peter Müller

Havde NemID valgt browserens indbyggede JavaScript teknologi, ville systemet have været langt mere usikkert, fordi JavaScript ikke har de samme sikkerhedsegenskaber som Java.

Den vil jeg meget gerne have uddybet.

Med anderledes sikkerhedsegenskaber, henviser du så til at javascripts sandbox, som låser adgang til sidens scope, er mere usikkert end javas komplette læse/skrive adgang med brugerens komplette rettigheder på maskinen?

Denne forskel på egenskaber ser jeg umiddelbart som en ting der taler kraftigt for javascript i stedet for.

  • 7
  • 3
Jakob Damkjær

Så den faktiske konklusion er at eftersom danskere en masse har behov for java så er det en risiko vi må leve med.

På samme måde som mange mener de har brug for flash, selv om andre sikkerheds forskere har sagt at det bedste man kan gøre for sikkerheden (og stabilitet) er at fjerne flash...

Så hele præmissen for artiklen er ret meget lagt i ruiner da pga NemID har danskere behov for java...

Apropo chrome, hvordan er det en Go ide (hvis man nu er lidt sikkerheds mindet) at bruge en browser der både installere flash og et rotkit der gemmer admin rettighedder så det kan selv opdatere uden brugergodkendelse....

Desuden så er man altid udsat for sikkerhedsproblemer hvis man ikke opdatere sine programmer selv på Linux og android.... Sooo water is wet sun is hot... Bad journalists are lazy og jeg kan godt forstå hvis NemID ikke gider svare hver gang en "sikkerhedsforsker" skriver at himlen falder og ulven kommer... Specielt når det kun er gamle versioner af java der er problematiske...

  • 3
  • 7
Randahl Isaksen

@Steffen Gerved Arnholtz – fordi alt det, der foregår direkte i browseren lettere kan monitoreres og manipuleres. Men du har selvfølgelig ret i, at enhver teknologi indebærer en teknologisk risiko. Det er bare ikke nogen korrekt konklusion, at fordi NemID (som alt andet) kan hackes, så er det udtryk for et teknologisk fejlvalg. De fleste teknologier kan jo anvendes både rigtigt og forkert.

  • 3
  • 5
Jens Madsen

Nærmere fordi bank-sektoren / DanID hænger håbløst fast i fortiden( Java).
I deres verden findes der KUN java, og ALT skal helst laves i Java, koste hvad det vil.

Har tidligere været artikler om( google det), at selvom man opdaterer java, så ligger de forrige versioner stadig på maskinen, INKL sikkerhedshuller.
Hackerne skal bare skrive deres JAVA-exploit, så den kræver en gammel version af java, og vupti, så er den fisk fanget.

BankID's funktionalitet kan i stor udstrækning sagtens klares af javascript, er i princippet "bare" nogle midlertidige id'er, som er blevet udstedt til Bank/server, fra BankID, som kommer ud til slutbruger/browser, som så igen valideres mod BankID, og igen på vej tilbage gennem Bank/Server valideres(via BankID), at udstedte ID'er er ens.
Banalt simpelt, og skulle nu godt kunne klares rent i Javascript, uden brug af det håbløse java.

I min verden, så har Java/Flash INGEN berettigelse til at være i en browser.

  • 7
  • 7
Henrik Winther Jensen

Java er da efterhånden et gammelt sprog, men jeg kender ikke noget andet generelt anvendeligt sprog som byder på væsentlige fordele i forhold til Java. Selvfølgelig findes der da sprog som PHP der udfylder en niche bedre end Java, men PHP vil ikke kunne anvendes i så mange sammenhænge som Java kan. Der er da masser af mennesker der er dybt forelsket i et andet sprog (undertegnede inklusive :-). Men Java mangler ikke noget, er rimeligt udbredt og ind til videre har Oracle afstået fra at forpeste vores tilværelse med fjollede indfald så jeg ser ingen grund til at hoppe af vognen for nuværende.

  • 4
  • 1
Nikolaj Brinch Jørgensen

Hackerne skal bare skrive deres JAVA-exploit, så den kræver en gammel version af java, og vupti, så er den fisk fanget.


He he, så kan vi godt se bort fra resten af dit indlæg.

Banalt simpelt, og skulle nu godt kunne klares rent i Javascript, uden brug af det håbløse java.

I min verden, så har Java/Flash INGEN berettigelse til at være i en browser.


Du har ikke megen forstand på bla. Java vel?

En sikkerhedsbrist er denne. Jeg sidder med en sprit ny maskine, med en Enterprise Windows 7, jeg er ikke lokal administrator og kan ikke installere software. Jeg kan faktisk ikke engang slette shortcuts på mit skrivebord. Chrome kunne jeg godt installere? Hvordan kan det lige lade sig gøre? jeg kan ikke sætte den til standardbrowser, men jeg kan godt installere den direkte fra Internet Explorer 8.

  • 5
  • 2
Chano Klinck Andersen

Vrøvl, det er fordi Chrome kan installere sig enten system wide, eller i brugerens egen hjemme mappe. Hvis man ikke har administrator rettigheder, så vil den installere sig i din brugermappe, hvor du kan installere alle de programmer du måtte have lyst til. Det er også derfor den kan opdateres automatisk.

Jeg har endnu til gode at se chrome installeret i programmer mappen, opdatere sig selv. Den kan dog sagtens installere en opdateret version i bruger mappen, og hvis man kører system versionen, så lukke og åbne den nyere version i brugermappen.

Så egentligt handler det vel bare om, at Google har forstået systemet med differantierede brugerrettigheder, og forstår at skrive deres software så det passer ind i denne virkelighed?

  • 8
  • 0
Jens Madsen

@Henrik Winther Jensen: Læs nu hvad jeg skriver ;)
Jeg skriver at Java i min verden ikke har nogen berigtigelse i klienten/BROWSEREN.

Server-side har jeg det fint med Java, c#, php, eller hvad man nu har mest lyst til. Hvad sprog angår, så har jeg kun få krav, det skal være let at gå til, og have et fornuftigt framework/IDE.
Det skal ikke tage flere dages læsning, før man kan være produktiv.
Og om noget så er kodet i c# eller Java, på serversiden er ligegyldigt, resultatet kan stadig være en omgang ugennemtænkt gylde, med overodentligt smalle flaskehalse( se f.eks. på arkitekturen i nemHandel - er frit tilgængeligt), hvor man kun kan slå korsets tegn og tænke W.T.F. ?!?

@Nikolaj Brinch Jørgensen: Trådte jeg dig over tæerne ?
Det må du altså undskylde, men java er altså ikke det bedste værktøj til at løse alle opgaver i hele verden. Hvis du har hovedet begravet i java-jord, som en anden struds, så er det dit problem, men kan kun anbefale dig at prøve lidt andet end java ;)

  • 3
  • 1
Anonym

Almindelige brugere har ikke en chance for at vurdere hvad der er rigtigt og forkert at bruge.
Java er der, og det skal man tage højde for.
Det skal kun benyttes til det som det er godt til, så bruger man jo bare noget andet hvor det er bedre. Altså til langt det meste ;)

Helt at afinstallerer Java er nok ikke en realistisk løsning, som vil finde almindelig udbredelse. Desværre.

At benytte Java i forbindelse med klientsoftware der stiller krav til brugerens sikkerhed, er tilsvarende heller ikke realistisk.
Men det er ikke en beslutning som fru Jensen eller Petersen har mulighed for at tage.

Fru Jensen eller Petersen, klikke på alt der popper op på skærmen, er det præsenteret rigtigt, så får alle "Brugerbetingelser" et flueben og et JA.

  • 0
  • 0
Thue Kristensen

Vi skal være taknemmelige for, at NemID benytter Java. Havde NemID valgt browserens indbyggede JavaScript teknologi, ville systemet have været langt mere usikkert, fordi JavaScript ikke har de samme sikkerhedsegenskaber som Java.

Det er så vidt jeg kan se ikke sandt. Så vidt jeg kan se, så ville det være muligt at lave en sikker version af NemID vha JavaScript. Hvad er det for nogle egenskaber ved Java som du mener giver ekstra sikkerhed?

  • 0
  • 0
Robert Larsen

...er ikke målet for de exploits som Mikko henviser til.
Signering af applets giver Java ekstra muligheder, og det er pr. design.

Problemet, som Mikko taler om, er en fejl i implementeringen af Java (en fejl fra Sun/Oracle), og som gjorde, at man kunne bryde ud af Javas sandbox og sikkerhedsmodel, og få udført kode UDEN at man skulle acceptere en signeret applet. Læs evt. mere her: https://community.rapid7.com/community/metasploit/blog/2011/11/30/test-r...

Sådanne fejl findes også i mange andre produkter. Flash og Adobe Acrobat Reader har været notoriske, men det er Java altså også.

  • 0
  • 0
Thue Kristensen

@Steffen Gerved Arnholtz – fordi alt det, der foregår direkte i browseren lettere kan monitoreres og manipuleres. Men du har selvfølgelig ret i, at enhver teknologi indebærer en teknologisk risiko. Det er bare ikke nogen korrekt konklusion, at fordi NemID (som alt andet) kan hackes, så er det udtryk for et teknologisk fejlvalg. De fleste teknologier kan jo anvendes både rigtigt og forkert.

Men hvis angriberen har kontrol nok til at manipulere browserens indhold, så kan han jo bare lave noget HTML som signer Java-appletten, som demonstreret af Version2. Jeg kan ikke se hvordan det skulle give ekstra sikkerhed at bruge Java her.

Rent empirisk så synes jeg at det er dokumenteret at det er farligt for brugerne at have Java installeret. Og lige meget hvor tit og hurtigt du opdateret Java (hvilket ikke beskytter dig mod diverse zero-day angreb som kommer en gang imellem), så vil du være mindre sikker end vhis du slet ikke have Java installeret.

  • 0
  • 2
Andreas Dyhrberg

Usikkerheden i Java ligger nok mest i hvad Oracle kan finde på. Om Java er så usikker som her påståes kan diskuteres ud fra forskellige konkrete eksempler: Den ene gang er det sikkert, den anden gang er det usikkert.
For dem som gerne vil passe på deres "digitale" liv, står sikkerhed højest. De andre har sikkert (fnis) ikke noget imod at hackere får et "kig" ind i deres liv. Canonical snakker også om sikkerhedsrisiko m.h.t. Java, og Oracle skifter Java-"kernen" til OpenJDK.
Kig her: http://www.omgubuntu.co.uk/2011/12/java-to-be-removed-from-ubuntu-uninst...

  • 0
  • 0
Heine Andersen
  • 0
  • 0
Anonym

I forbindelse med NemId, så er valget hvor man benytter Java på klientmaskinerne, et meget dårligt valg.

Der er ikke grund til at benytte noget som helst Software, eller Hardware, på nogen klientmaskine. Det er muligt at identificerer uden brug af software på en klientmaskine, hvorfor denne sikkerhedsbrist ikke bør eksistere.

Hvorfor man egentlig har valgt Java, i den gang skrammel man har valgt skal udgøre grundlaget i SlemID, er dog lidt uforståeligt.
Der er mange andre sprog, som kan tilbyde en langt bedre løsning, også på tværs af platforme.
Jeg kan kun se en grund til at man har valgt Java, og det er fordi man vil fremstille produktet billigst muligt, uden at skelne til kvaliteten.

Java er simpelthen den billigste løsning at skrive "software" i og den løsning man har haft mulighed for at benytte, da man i forbindelse med NemID har haft alvorlige leveringsproblemer, alene fordi man ikke kom i gang med at skrive klpentsoftwaren fra starten. Man benyttede tiden til at skrive en masse andet software, som egentlig ikke hører til under NemID, og var/er håbløst bag ud.
Fordi man er årevis bagud, og benytter en elendig løsning, som man ikke selv har styr på, så vil NemID aldrig blive en fungerende løsning, der tilfredsstiller de oprindelige leveringskrav, ej heller basale sikkerhedsprincipper.
Java er nemt og hurtigt at kode i, det tilbyder en række fordele, men det tilbyder ingen fordele i forhold til sikkerhed.
Vil man skrive Software der tilbyder rimelig sikkerhed, skal man have fat et helt andet sted i forhold til programmering.

Men igen, det er helt unødvendigt at benytte klientsoftware i forbindelse med identificering, det lader sig enkelt gøre uden. Også med en loginløsning.

  • 0
  • 1
Nikolaj Brinch Jørgensen

Det må du altså undskylde, men java er altså ikke det bedste værktøj til at løse alle opgaver i hele verden. Hvis du har hovedet begravet i java-jord, som en anden struds, så er det dit problem, men kan kun anbefale dig at prøve lidt andet end java ;)


Nej slet ikke. Det virker nu mere til at jeg trådte din uvidenhed over tæerne :-)
Jeg er på ingen måde specielt glad for Java, det du beskriver omkring er Java er bare forkert, det er det eneste jeg opponerer imod. Det kunne have været en hvilken som helst teknologi.
Du spreder FUD, jeg er meget stor modstander af FUD.

Klientteknologier får mindre og mindre berettiglese i browseren, men har hitorisk haft en berettigelse.
Java har haft mere berettigelser end andre teknologier fordi:
1. Det er cross platform
2. Det er open source.
I mine øjne er dette meget vigtige parametre som hverken Flash, Silverlight, ActiveX eller andre lever op til.

Fremtiden bringer nye Web teknlogier med HTML 5, så er det klart vi vil behøve rige klienter mindre.

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