Illustrasjonsbilde: Skilt med Java-maskoten Duke utenfor Oracle-hovedkvarteret i Redwood Shores, California, sommeren 2017.
Illustrasjonsbilde: Skilt med Java-maskoten Duke utenfor Oracle-hovedkvarteret i Redwood Shores, California, sommeren 2017. (Foto: Justin Sullivan/Getty Images/AFP)

«Object serialization»

Vurderer å fjerne den kanskje største sikkerhetsrisikoen i Java

Oracles sjefarkitekt kaller gammel og mye brukt Java-funksjonalitet for en forferdelig tabbe.

Med versjon 1.1 fikk Java støtte for en funksjonalitet som kalles for objektserialisering (Object Serialization). I alle fall den opprinnelige hensikten var å tilby en datalagringsmetode som både skulle være enkel å bruke og enkel å implementere, samtidig som at den skulle eliminere bekymringene rundt filformater. 

I praksis dreier det seg om å kode objekter om til en bytestrøm som kan overføres over nettet eller lagres direkte i en database. 

Selv om tanken var god, er historien til objektserialiseringen i Java fylt med problemer – sikkerhetsproblemer.

Forferdelig tabbe

I et intervju med Infoworld sier Mark Reinhold, sjefarkitekt i Javas-plattformgruppen ved Oracle, at serialiseringen utgjør en forferdelig tabbe som ble gjort i 1997. Han mener at minst hver tredje sårbarhet i Java, og kanskje så mange så annenhver sårbarhet, har sitt utspring i denne funksjonaliteten. 

Nettstedet Bleeping Computer nevner i denne artikkelen spesielt serialiserings-/deserialiseringssårbarhetene som ble funnet i 2015/2016 og som førte til at store mengder av Java-baserte applikasjoner måtte oppdateres. 

Problemet var at angripere kunne laste opp ondsinnede data i en rekke Java-baserte applikasjoner. Disse dataene ble så serialisert og lagret i applikasjoner. Men straks de ble hentet fram igjen og deserialisert, så ville den samme applikasjonen også kjøre den ondsinnede koden gjemt blant dataene. 

Ifølge Bleeping Computer skal mange virksomheter, ikke minst mange av de aller største virksomhetene, ha blitt berørt av at denne sårbarheten også fantes i Apache Struts-rammeverket.

Project Amber

Resultatet av denne tidligere sårbarheten er et ønske om å fjerne dagens støtte for serialisering fra Java. Ifølge Infoworld gjøres dette som en del av Java-prosjektet Project Amber, som blant annet skal innføre dataklasser i Java.

Project Amber skal ifølge Infoworld inkludere et lite serialiseringsrammeverk som støtter en graf med slike dataklasser, eller «records», som de også kalles. I dette rammeverket skal utviklere kunne plugge inn en valgfri serialiseringsmotor som støtter formater som JSON eller XML.

Ifølge Reinhold er det uklart når denne funksjonaliteten vil bli innført.

I mellomtiden kan Java-applikasjoner benytte serialiseringsfilteret som ble innført i Java i 2016. Dette skal gjøre valideringen av inndata enklere.

Les også: Java SE 10 er her allerede

Nyhet! 50% mer innhold i Digi Ekstra til lavere pris!

Få 700,- i rabatt

Bestill innen 1. september

Kommentarer (1)

Kommentarer (1)
Til toppen