2min

Oracle is van plan om de Serialisatie-feature van Java niet meer te ondersteunen. Dit vanwege de vele kwetsbaarheden die hieruit voortkomen. Serialisatie wordt gebruikt voor het coderen van objecten in een opeenvolging van bytes, maar het zou de oorzaak zijn van op zijn minst een derde van de security-problemen in Java.

Dat stelt Mark Reinhold, Chief Architect van de Java Platform Group bij Oracle, tegenover InfoWorld. Hij denkt zelfs dat het de helft van alle problemen van Java kan veroorzaken. Veel programmeertalen maken eveneens gebruik van Serialisatie. Echter, het is vooral bij Java een erg groot probleem. Toch ondervinden onder meer .NET en Ruby er ook last van.

Oplossing

Reinhold spreekt zodoende over een “vreselijke fout” die in 1997 gemaakt werd. Daarom is er een lange termijn doel om te stoppen met Serialisatie, iets wat onderdeel is van Project Amber. Bij dit project staan features voor productiviteit centraal. Om van de huidige Serialisatie-technologie af te komen zal Oracle een klein framework plaatsen, die records ondersteunt en het voor ontwikkelaars mogelijk maakt een Serialisatie-engine naar keuzen in te pluggen. Hiermee zijn formaten als JSON en XML mogelijk.

Recentelijk werd er een mechanisme aan Java toegevoegd om tegen de kwetsbaarheden te verdedigen. Als Serialisatie gebruikt wordt in een netwerk en niet-vertrouwde Serialisatie-datastreams geaccepteerd moeten worden, dan wordt er gefilterd op klassen. Reinhold kan nog niet zeggen wanneer het stoppen met Serialisatie-ondersteuning gebeurt.

Java wordt al langere tijd achtervolgd door bugs, waardoor een dergelijke oplossing wel eens uitkomst kan bieden. Zo kwam de January 2018-security update nog met 237 fixes, 28,5 procent daarvan had betrekking op Deserialisatie.