IBM X-Force-avdeling kom nylig med IT-sikkerhetsrapporten IBM X-Force Threat Intelligence Quarterly 1Q 2014 som er basert på funnene som er gjort mot slutten av 2013. Rapporter berører en rekke områder, fra skadevareleveranser til risikoer knyttet til mobile enheter. Men det mest oppsiktsvekkende funnet er knyttet til Java.
Mye har blitt skrevet om Java Runtime Environment og sikkerhet de siste tre-fire årene, men det har vært langt mer stille det siste året. Oracle har tilsynelatende fått kontroll over sårbarhetene. Det er fortsatt mange, men de blir normalt fjernet før de blir offentlig kjent.
Likevel er Java fortsatt den mest brukte inngangsporten i dataangrep hvor det utnyttes sårbarheter, ifølge rapporten til IBM. I desember skal Java ha blitt utnyttet i 50 prosent av tilfellene. For selv om Oracle kommer med sikkerhetsoppdateringen, betyr det ikke at brukerne installerer dem. Dessuten er det egenskaper ved Java som gjør slike angrep enklere enn mye annen programvare. Dette kommer i tillegg til at Java Runtime Environment fortsatt er svært utbredt og ofte eksponert mot weben.
Høy risiko
I et blogginnlegg som handler om nettopp disse funnene, skriver IBM-eide Trusteer rett ut at Java er en høyrisiko-applikasjon som blottlegger virksomheter for avanserte angrep. Ifølge selskapet og rapporten til IBM er det nemlig ikke slik at mengden av sårbarheter som har blitt oppdaget i Java Runtime Environment har blitt redusert. Tvert ble det funnet mer enn tre ganger så mange sårbarheter i Java i fjor som i 2012, 208 til sammen. Riktignok er det langt mellom nulldagssårbarhetene for tiden – i skrivende stund 282 dager siden sist, men de øvrige sårbarhetene er like farlige så lenge man ikke sørger for at Java-installasjonen er oppdatert. I fjor kom det tall om at bare 10 prosent av alle med Java installert på pc-en, jevnlig installerer oppdateringer.
To varianter
Ifølge Trusteer åpner Java-sårbarhetene for to ulike hovedgrupper av angrepskode, system («native») og applikasjon.
De fleste angrep som utnytter sårbarheter i systemspesifikke applikasjoner, som nettlesere eller Microsoft Office, utnytter teknikker som forårsaker buffer-overflytsfeil, «use-after-free» og en hel del annet. Disse er rettet mot minnet til applikasjonene.
De fleste vanlige operativsystemer har derfor det siste tiåret eller så tatt i bruk en rekke midler som skal hindre utnyttelse av slike sårbarheter. ASLR (Address Space Layout rRandomization) og DEP (Data Execution Prevention) er de mest kjente, men Trusteer nevner også flere andre.
Når det gjelder Java, er det ifølge IBMs tall bare fire prosent av angrepene som er rettet mot minnet til applikasjonene. I de resterende 96 prosent av angrepenes, forsøkes det i stedet å knekke Javas «security manager».
Vanskelig å forsvare seg
Java-applikasjoner kjører inne i en virtuell maskin, JVM. Ifølge Trusteer er Java security manager en klasse som administrerer de ytre grensene til JVM, blant annet ved å kontrollere hvordan Java-appletkoden, som kjøres inne i JVM-en, kan samhandle med ressurser på utsiden av JVM-en. Dersom det finnes sårbarheter som svekker sikkerhetsmodellen til Java, kan disse utnyttes til å kjøre kritiske operasjoner som ikke skal kunne utføres, uten at noe hindrer dette.
I det hele tatt skal det være vanskelig å forsvare seg mot dette, fordi de angrepskode gis ubegrensede privilegier, noe som gjør at aktiviteten ser legitim ut for operativsystemet.
Trusteer tilbyr selvfølgelig verktøy som kan redusere faren, ved å stoppe kjøring av ukjent kode. Men dette er nok en løsning først og fremst for bedrifter.
Noen råd
Vanlige pc-brukere i Norge trenger i utgangspunktet Java kun i forbindelse med BankID. Har man BankID på mobil, noe de fleste mobiloperatører og en rekke nettbanker støtter, behøver man vanligvis ikke Java på pc-en i tillegg. Da bør man avinstallere programvaren.
Bruker man Java til å kjøre lokale applikasjoner, men ikke i nettleseren, kan nettleserstøtten deaktiveres. I Windows er det enklest å gjøre dette fra Kontrollpanelet, hvor man finner Java-innstillingene. Under fanen Security kan man ta vekk haken for «Enable Java content in the browser». Det vil i så fall løse mye. Man kan også deaktivere Java-pluginen direkte i nettleserne. Nøyaktig hvordan dette gjøres, varierer dog litt fra nettleser til nettleser.
De som er nødt til å bruke Java i nettleseren, bør vurdere å gjøre dette i en nettleser som ikke brukes til annet enn å besøke akkurat disse tjenestene, for eksempel nettbanken. Alle besøk på andre nettsteder bør gjøres i en annen nettleser, hvor Java er deaktivert.
Uansett, dersom er usikker på om du har den nyeste versjonen av Java installert, eller om du har Java i det hele tatt – besøk denne siden i alle fall hver tredje måned for å sjekke. Er det en foreldet versjon som er installert, må du enten oppdatere eller slette den.