image

'Oracle rommelt met Java-beveiliging'

donderdag 2 mei 2013, 14:59 door Redactie, 5 reacties

Oracle adviseert Java-programmeurs om Java-applets via een certificaat te signeren, maar deze maatregel zorgt ervoor dat gebruikers minder veilig zijn. Een Java-applet is een programma dat via de Java browserplug-in wordt uitgevoerd. Om drive-by downloads te voorkomen worden ongesigneerde Java-applets niet standaard uitgevoerd, maar moet een gebruiker extra acties verrichten.

Het idee hierachter is dat aanvallers niet over een legitiem certificaat beschikken om een Java-applet te signeren. Gesigneerde Java-applets worden standaard wel door de browserplug-in uitgevoerd. Toch zijn gebruikers beter af met ongesigneerde Java-applets, aldus Will Dormann, analist bij het CERT Coordination Center (CERT/CC).

Rechten
Ongesigneerde Java-applets worden namelijk binnen de sandbox-beveiliging van Java uitgevoerd, terwijl gesigneerde Java-applets onbeperkte toegang hebben. Daardoor wordt het interessant voor aanvallers om gesigneerde Java-applets met een beveiligingslek in de applet zelf te gebruiken, waarschuwt Dormann.

"Een slecht ontworpen Java-applet in een sandbox kan niet zoveel doen, maar een slecht ontworpen en gesigneerd Java-applet kan bijna alles wat ook de 'native' code kan." Het probleem wordt veroorzaakt door een keuze die Oracle maakte door gesigneerde Java-applets automatisch alle rechten te geven.

Beveiliging
"Java vermengt authenticatie met autorisatie", gaat Dormann verder. Het is dan ook niet mogelijk om een gesigneerd Java-applet te maken dat binnen een sandbox, dus met beperkte rechten, wordt uitgevoerd. "De huidige Java-versie dwingt deze rechten niet af op een manier dat deze combinatie kan plaatsvinden."

Dormann adviseert Java-programmeurs dan ook om hun applets die geen rechten nodig hebben niet te signeren. Daarnaast zouden ook de waarschuwingen die gebruikers over de verschillende Java-applets krijgen verwarrend zijn.

"Zoals we eerder hebben gezegd, als je Java niet in je browser gebruikt zet het dan uit. Als je niet weet of je Java in je browser nodig hebt, zet het dan toch uit om te zien wat niet meer werkt. Je zult mogelijk merken dat je er helemaal geen last van hebt."

Reacties (5)
02-05-2013, 16:00 door Skizmo
Dormann adviseert Java-programmeurs dan ook om hun applets die geen rechten nodig hebben niet te signeren.
Ik adviseer java-programmeurs een andere taal te kiezen.
02-05-2013, 16:32 door lucb1e
Door Skizmo:
Dormann adviseert Java-programmeurs dan ook om hun applets die geen rechten nodig hebben niet te signeren.
Ik adviseer java-programmeurs een andere taal te kiezen.
Vervolgens vragen de Java-programmeurs welke taal ook cross-platform werkt op websites, als client, en sockets en dergelijke kan gebruiken.
02-05-2013, 19:13 door Anoniem
Hmm ik ben kennelijk niet de enige die dit vreemd vond in Java.
Signing stelt zowizo al niks voor want iedereen kan een certificaat aanvragen en code signen,
dit wordt verder helemaal niet geaudit ofzo (zoals wellicht zou kunnen bij een appstore).
Maar dat deze gesignede code dan altijd meer mag dat is inderdaad wel vreemd.
Gebruikers lezen de waarschuwingen niet goed of begrijpen niet de impact van wat er beweerd
wordt in die waarschuwing (is voor IT'ers vaak wat moeilijk te begrijpen).

Bovendien geeft Java ook foute meldingen, zoals dat het certificaat waarmee de code gesigned
is dat verlopen zou zijn, terwijl dat helemaal niet zo is. Dat voedt de gebruikers op om dit
soort waarschuwingen te negeren.

En tenslotte willen de meeste gebruikers gewoon iets doen, en hebben geleerd dat ze alleen
maar kunnen doen wat ze willen als ze OK klikken op al die boxjes die er voorbij komen. Als
je ergens NO klikt dan "werkt het niet". Hoe moet een gebruiker nou weten waar het wel en
niet verstandig is om OK te klikken???
03-05-2013, 12:08 door [Account Verwijderd]
[Verwijderd]
06-05-2013, 14:48 door Anoniem
Door lucb1e:
..
Vervolgens vragen de Java-programmeurs welke taal ook cross-platform werkt op websites, als client, en sockets en dergelijke kan gebruiken.
Welkom in 2013! Er zijn tegenwoordig diverse technieken om sockets en dergelijken te gebruiken vanuit Javascript, daar heb je geen Java meer voor nodig.
Reageren

Deze posting is gelocked. Reageren is niet meer mogelijk.