Malware kan binnendringen en automatisch uitgevoerd worden op pc's via Java. Het gaat om een instellingsfout van Java-maker Oracle, ook aanwezig in de nieuwste Java-versie.

De Java-software (de zogeheten runtime, JRE) op een pc kan namelijk configuratiebestanden inladen. Het doet dat echter vanuit de map waar die configuratie vandaan komt, merkt Acros Security op, die deze kwetsbaarheid ontdekt. Zo'n 'current working directory' kan ook een gedeelde map elders zijn, bijvoorbeeld van – of ingesteld door – een kwaadwillende. Normaliter ligt de locatie van zo'n werkmap aan banden, maar Java werkt ook via browsers waardoor Java-applets op webpagina's meespelen.

Goedgelovig
Een aanvaller kan via deze 'goedgelovige' instelling van Java eigen bestanden en zelfs complete programmacode laten meeliften. Daarbij kan de automatisch ingeladen configuratie voor de Java virtual machine (Hotspot) ervoor zorgen dat die code ook uitgevoerd wordt. De Hotspot-configuratiebestanden voeren de Java virtual machine (Jvm) instellingen voor het draaien van Java zelf. Daarbij kunnen ze ook bestaande instellingen terzijde schuiven.

Acros heeft dit zelf uitgeprobeerd, met succes. Via de instelling 'OutOfMemoryError' valt een actie op te geven, zoals het uitvoeren van eigen code. Die malafide instelling wordt dan pas uitgevoerd als de Java virtual machine wordt voorzien van legitiem lijkende Java-code die voor een geheugenprobleem zorgt. Het securitybedrijf heeft hier een eigen test-applet voor geschreven.

Proof-of-concept
"Hoe stel je de 'current working directory' voor JRE in op een locatie die in handen is van een aanvaller?", blogt Acros. "Normaliter, als Java-applicaties handmatig of als een service worden gestart, is dat nogal moeilijk of zelfs onmogelijk. In het eerste geval staat de 'working directory' ingesteld op de locatie van het commando-prompt-venster van de gebruiker. In het laatste geval is de huidige werkmap 'overgeërfd' van het proces dat de Java-service start, en kan het niet worden beïnvloed door een aanvaller met lagere privileges – zeker niet op afstand."

Doordat alle grote browsers Java ondersteunen, is deze kwetsbaarheid ook via het internet te benutten. Acros heeft dit succesvol getest en de daarbij gebruikte bestanden ook beschikbaar gesteld. De zelfgeschreven testcode bestaat uit slechts vier bestanden: de malware.exe, een html-pagina die een geheugenvollopende Java-applet laadt en het Hotspot-configuratiebestand dat de instructie voor malware-uitvoering voert aan de Jvm.

Safari, Firefox, IE, Chrome
Bij de test is Apple's browser Safari gebruikt als vehikel om de eigen Java-code te bezorgen bij de Jvm op Windows. "Deze aanval valt op dezelfde manier uit te voeren via Mozilla Firefox – elke versie." Daarbij is er nog wel de technische nuance dat Firefox een extern Java.exe-proces start wat dan de malafide .exe uitvoert. Het effect is echter hetzelfde.

"Verder werkt deze aanval ook via Internet Explorer en Google Chrome, hoewel die browsers hun 'current working directory' instellen op een veilige locatie. Dat betekent dus extra werk voor een aanvaller." Acros stelt daar later meer informatie over te brengen.

Het bedrijf benadrukt dat de browsers niet 'schuldig' zijn, maar simpelweg misbruikt worden voor de bezorging van de malware. De fout zit bij Java. Het is aan Oracle om deze configuratiefout te herstellen, maar dit is niet zo makkelijk als het lijkt. "Sommige developers en hun applicaties vertrouwen waarschijnlijk op deze functie, dus het schrappen ervan kan die applicaties opbreken."

Reactie Oracle
Java-eigenaar Oracle reageert op vragen van Webwereld over de ernst van deze kwetsbaarheid en de eventuele of mogelijke tegenmaatregelen. De EMEA-tak (Europe, Middle-East and Africa) van het bedrijf antwoordt dat het kritieke patches uitbrengt op regelmatige basis.

"Die patch updates omvatten security- en non-security fixes, Als dit een kwetsbaarheid is dan wordt het meegenomen in één van die updates." De meest recente update is in juni uitgekomen en de volgende staat gepland voor oktober, laat Oracle weten.

Geen échte exploit
Security-expert Dan Kaminsky stelt dat de door Acros ontdekte kwetsbaarheid een interessante aanvalsvector is, maar oordeelt dat het geen échte exploit is. Hij redeneert dat het html-testbestand dat Acros de eindgebruiker aanreikt dan net zo goed een malware.exe met een html-icoontje kan zijn. "Al het andere is dan onnodige 'verhulling' (obfuscation)", schrijft de expert die eerder een basaal lek in internetadresboek DNS heeft ontdekt.

Acros-ceo Mitja Kolsek reageert dat .exe-bestanden vaak gefilterd worden door securitymaatregelen zoals firewalls, maar dat dit niet geldt voor html-bestanden. Hij erkent de kritiek van Kaminsky dat er voor deze aanval enige mate van 'social engineering' nodig is. Recente incidenten hebben aangetoond dat dit vaak succesvol is, ook bij securityleveranciers zelf. Kaminsky laat bezorging van het malafide html-bestand via de mail – en weergave dus uitvoering ervan door een mailclient – buiten beschouwing.

À la dll-lek
Deze kwetsbaarheid in Java doet denken aan het vorig jaar opgedoken dll-lek in Windows en diverse applicaties daarvoor. Die kwetsbaarheid is eigenlijk twee jaar geleden ontdekt en toen gelijk gemeld aan Microsoft. Pas in de zomer van vorig jaar is er rumoer over ontstaan, door analyse van een Windows-patch voor de complexe Stuxnet-worm.

Daarbij leek de zwakke plek eerst aanwezig in 'slechts' 40 applicaties, maar dat bleken er al snel enkele honderden applicaties te zijn. Dit waren programma's van Microsoft zelf, maar ook van bijvoorbeeld Adobe, Apple en Mozilla, Citrix, Google, VLC en IBM.

Speelt nu nog
Het probleem was dat die applicaties dll's (dynamic link libraries) niet aanroepen met het volledige directory-pad, maar met alleen de bestandsnaam. Malafide dll-bestanden kunnen, voorzien van de juiste naam, daardoor meeliften op die legitieme software. Acros heeft in mei dit jaar aangetoond dat deze kwetsbaarheid nog steeds bestaat, ondanks diverse patches van softwareleveranciers.

Webwereld

Published On: 13-07-11|Categories: nieuws|

Deel dit bericht