[Javalist] Java 1.7 security bug

Peter Verhas peter at verhas.com
2012. Aug. 30., Cs, 12:51:51 CEST


http://nakedsecurity.sophos.com/2012/08/28/unpatched-java-exploit-spreads-like-wildfire/?utm_source=Naked+Security+-+Sophos+List&utm_medium=email&utm_campaign=080ad38316-naked%252Bsecurity

Milyen jó, hogy minden, széles körben használt szoftvert, amit a nyugati világ kifejleszt a Kínai Népköztársaság szorgos munkatársai rendkívül részletes biztonsági auditnak vetnek alá.

Az az apró pici probléma, hogy a riporting stílusuk egy kicsit rendhagyó. Legalábbis nem a megszokott a mi kultúránkban. De hát ez a kultúrák különbsége.

És akkor most az összes böngészőben Java applet futtatása kikapcsol.


Daniel McAllister Java 1.6 ftw. Amúgy meg elvileg bármennyire "biztonságos" Java-t futtatni, mert hogy sandboxban fut meg miegymás, de sosem futtatok third party (nem saját, céges stb.) Java-t.
12 perce 
Peter Verhas
Mit jelent az, hogy sandbox-ban fut?

Azt jelenti, hogy 1.) a JVM nem hajlandó futtatni olyan kódot, amelyik privilegizált, csak a runtime (kvázi "kernel mód") számára szánt osztályokat akar használni, 2.) a java.lang.System SecurityManager
ellenőrzi, hogy milyen fájlt akar írni a program, milyen más erőforráshoz akar hozzáférni. Például azt is ellenőrzi, hogy át akarja-e a program állítani a SecurityManager-t.

Az 1. pontot könnyen ki lehet kerülni, mert minden belső osztályra reflectionnal hivatkozok, így a bytekódban nem jelenik meg olyan osztályra való hivatkozás, amit a JVM class loader kivág. A stringeket már nem ellenőrzi, mert az már program analízis lenne, és soha az életben nem töltődne be és indulna el egy program sem. Már az is időigényes, amit most megtesz.

A 2. pont úgy van implementálva (nem is lehet másként), hogy minden olyan eljárás, ami valami védett információhoz tud hozzáférni (pl. át tudja állítani a System osztály statikus security mezőjét) előtte megkérdezi a SecurityManager-t (ha van, és nem null a System security), hogy szabad-e. A mostani hiba abból fakad, hogy kínai kollégáink találtak az  1.7.0.6 release-ben egy olyan metódust, amelyik az 1.6-ban még nem volt, és amelyikkel úgy lehet átállítani a security manager-t, hogy előtte nem kérdezik meg tőle, hogy ki lehet-e őt kapcsolni.

Innen kezdve pedig szabad a pálya.

"de sosem futtatok third party (nem saját, céges stb.) Java-t"

Biztos vagy benne, vagy csak nem vetted észre?

Verhás Péter
peter at verhas.com
+36(30)9306805
skype: verhas




--------- következő rész ---------
Egy csatolt HTML állomány át lett konvertálva...
URL: <http://lists.javaforum.hu/pipermail/javalist/attachments/20120830/64918c5f/attachment.html>


További információk a(z) Javalist levelezőlistáról