Védtelenek a Javát futtató Windowsok
Javát futtató Firefoxon vagy Internet Exploreren keresztül rosszindulatú kód injektálható a rendszerbe, amely a felhasználó jogosultságaival lefut. A lehetőség két éve van meg a windowsos Java fejlesztői eszközökben, és másfél éve a felhasználói JRE terjesztésben.
Nem bug, hanem feature
A Google egy alkalmazottja, Tavis Ormandy pénteken tette közzé a sebezhetőséget, amelyről korábban értesítette az Oracle-t, az azonban közölte, hogy a következő frissítési ciklusáig nem kíván soron kívüli javítást kiadni, mivel a hibát nem találta eléggé magas prioritásúnak. Ezzel Ormandy nem értett egyet, mivel szerinte a hiba túlságosan egyszerűen megtalálható és stabilan kiaknázható ahhoz, hogy júliusig várni lehessen a foltra.
A biztonsági réssel a legnagyobb probléma, hogy nem szimpla programozási hibáról van szó, amelyet kihasználva például puffertúlcsordulást, jogosultságemelést vagy szolgáltatásmegtagadást lehet indítani, nem a Java Web Startban (Java Networking Launching Protocol futtatása) található képességről. A Java 6 Update 10 óta, amely a fejlesztői eszközökben két éve, a futtatás környezeteknél pedig másfél éve bukkant fel, megjelent a Java Deployment Toolkit, amely Active X vezérlőt és NPAPI bővítményt is tartalmaz az Internet Explorer és Firefox böngészőkhöz, és lehetővé teszi, hogy azokon keresztül teljesen automatikusan települjön és elinduljon bármilyen Java program, ha kell, frissítve a JRE-t.
Úgy tűnik, a Sun olyannyira meg akarta könnyíteni a fejlesztők dolgát, hogy ne legyen probléma egy online terjesztett Java alkalmazás futtatásával, hogy eközben teljesen tönkretette a disztribúciós megoldás biztonságát. A támadó olyan JavaScriptet tud fabrikálni, amellyel rosszindulatúan tudja felparaméterezni a Toolkiten keresztül a Java Web Start alkalmazást, mivel a Toolkit nem ellenőrzi megfelelően a paramétereket, és a JRE pedig megbízhatónak fogja tartani ezeket a paramétereket.
Működik
Mindez lehetővé teszi, hogy a támadó például régebbi JRE-verzióra váltson vissza a felhasználó gépén az alkalmazás futtatásához, amely más ismert réseket tartalmazhat, de lehetőséget ad tetszőleges JAR-fájl futtatására is, lokális jogosultságokkal. Ormandy készített egy példakódot is, amellyel bebizonyítja a rés kiaknázhatóságát. A támadás sok más \"proof of concept exploit\" kódhoz hasonlóan megpróbálja megnyitni a Windows beépített számológépét, a Calc.exe állományt.
A szkript Internet Exploreren és Firefoxon is működik, ugyanakkor úgy tűnik, nem száz százalékos megbízhatósággal, valamikor nagy késleltetéssel fut le, néha pedig hibaüzenetet dob. Magas biztonsági beállítással az IE8 Windows XP rendszeren védettnek bizonyult, Windows 7-en pedig nem sikerült működésre bírni a kódot, hibaüzenetet adott minden alkalommal a JAR fájl megnyitásakor. Ormandy szerint ugyanakkor minden Windows-kiadáson kockázatot jelenthet a Java 6 Update 10 óta. Java-támogatás nélküli böngészők alapesetben biztosan nem támadhatóak.
A problémára megoldás csak a támadási felület megszüntetésével lehetséges, a legegyszerűbb kétségtelenül a Java-környezet átmeneti eltávolítása, amíg nem jelenik meg javítás. Ormandy alternatívaként azt javasolja, hogy a registryben (rendszerleíró adatbázis) tiltsuk a Deployment Toolkitet a tiltóbit (killbit) beállításával az ActiveX-vezérlők közt, a Firefox és más NPAPI-t használó böngészők esetén pedig az ndpeloytk.dll fájlhoz való hozzáférést tiltsuk le a házirend ACL-eken keresztül. Ez működésképtelenné teszi a Deployment Toolkit bővítmények működését, de a sebezhetőség is megszűnik. Szintén növeli a támadással szembeni biztonságot, ha a felhasználó erősen korlátozott telepítési és futtatási jogokkal rendelkezik.