Hrvatska akademska i istraživačka mreža
  NASLOVNICA MAPA WEBA TRAŽILICA KONTAKTI CARNET WEB
Hrvatska akademska i istraživačka mreža
 
menu 4
Sigurnost
menu 4
Distribucija
menu 4
Pomoć
menu 4
Dokumenti
menu 4
menu 4

 

 

30-11-04 12:30
Ranjivost Java Plug-ina u preglednicima

piše IVOR MILOŠEVIĆ

Sun Microsystemsov Java Plugin služi kao veza između Java tehnologije i web preglednika, te omogućava izvođenje Java Appleta. Java plugin je dostupan za mnogobrojne platforme (između ostaloga i: Windows NT/2000/XP, UNIX/Linux, Sun Solaris, MacOSX, IBM AIX, OS/390, HP-UX, Cisco) te podržava sve prominentnije web preglednike.

Ranjivost u Java plug-inu omogućava napadaču kreiranje appleta sposobnoga da onemogući sigurnosna ograničenja Jave. Napad se može pokrenuti za pregledavanja web stranica koje je kreirao napadač. Kako se JavaAppleti uobičajeno učitaju i pokreću automatski, daljnja interakcija nije potrebna.

Tako formirani Applet tada može izvesti bilo koju akciju koju bi mogao i korisnik: pregledavanje, čitanje ili promjena datoteka, upload udaljenih programa na napadnuto računalo te njihovo pokretanje, ili slanje podataka izvan napadnutog sistema. Kako je Java multiplatformni paket i jezik, ta je ranjivost zajednička raznim operacionim sustavima i arhitekturama.

Postoji veliki broj privatnih Java paketa u Java VM-u, namijenjenih isključivo internom korištenju virtual machine. Java Appleti u normalnom stanju nisu u mogućnosti pristupati tim paketima upravo zbog sigurnosnih razloga. Pokušaj da im se pristupi rezultira u AccessControlException.

Sigurnosni je problem u tome da kod JavaScripta može zaobići kontrolu pristupa koristeći takozvani reflection API.
Slijedeći primjer JavaScripta dobavlja reference na navodno ograničenu privatnu klasu "sun.text.Utility":

 [script language=javascript]
 var c=document.applets[0].getClass().forName('sun.text.Utility');
 alert('got Class object: '+c)
 [/script]

Ovo ne može uspjeti normalnom Java Appletu, a ne bi trebalo ni JavaScriptu. Kod JavaScripta sad može kreirati instancu klase, koju zatim može proslijediti appletu koji će je koristiti.

Na taj način napadač može koristiti druge privatne klase za iskorištavanje ove ranjivosti. Neke od njih dopuštaju direktan pristup memoriji ili sadrže metode modificiranja privatnih polja drugih Javinih objekata. Tako se i jednostavno isključuje Java security manager, nakon čega više nema ograničenja za akcije appleta.

Ranjive verzije Java plugin-a su 1.4.2_04 and 1.4.2_05. Browseri IE i Firefox testirani su na OS-ima Windows i linux, te su se pokazali ranjivima. Opera, zbog činjenice da koristi drukčiji način pristupa JavaScriptu, zahtijeva malo drukčiji pristup toj ranjivosti, ali ulaz također postoji.

Sun Microsystemsi su uklonili ranjivost u J2SE 1.4.2_06, dostupnog sa: http://java.sun.com/j2se/1.4.2/download.html





[Lista]
Ovu uslugu CARNeta realizira Sveučilišni računski centar Sveučilišta u Zagrebu
  Copyright ©2005. CARNet. Sva prava zadržana. Impressum.
Mail to
sys-portal@CARNet.hr