Kritična ranljivost v Javi posledica Oraclove površnosti

Matej Huš

12. jan 2013 ob 10:07:32

V četrtek pozno zvečer so mednarodni centri za posredovanje pri omrežni incidentih (CERT) na spletu objavili opozorilo, da Java vsebuje nerazkrito in nezakrpano ranljivost (0-day). Na spletu že obstajajo orodja, ki omenjeno ranljivost izkoriščajo, zato so do razrešitve situacije priporočili odstranitev ali onemogočitev Jave v brskalnikih. Ameriški CERT redno objavlja podobna opozorila, a je redko tako neposreden, da priporoči odstranitev programa.

V Javi 7 Update 10 in vseh prejšnjih verzijah je namreč luknja, ki napadalcu omogoča izvedbo poljubne kode na oddaljenem računalniku, s čimer lahko prevzame nadzor nad njim. Ranljivost je prisotna v Oraclovem Java Runtime Environmentu 1.7 (JRE), ki je nameščen na mnogo računalnikih, saj omogoča izhod iz peskovnika v Java appletih na spletu. Najpogostejši vektor napada je obisk posebej pripravljene spletne strani, ki zažene zlonamerno javansko kodo, ki omogoči izrabo ranljivosti. Posebej problematična je razširjenost, saj na spletu obstojijo tako predpripravljeni paketi za sistematično izkoriščanje ranljivosti (exploit kits) kakor tudi izvorna koda za izrabo ranljivosti.

Dokler Oracle ne izda popravka, je edina rešitev onemogočitev ali odstranitev Jave. Odzvali so se že proizvajalci brskalnikov. Mozilla je vtičnik za Javo v Firefoxu že uvrstila na seznam blokiranih vtičnikov (s sistemom click-to-play, ki so ga predstavili novembra), podobno je storil tudi Apple.

Oracle, od katerega popravek še čakamo, pa ni brez masla na glavi. Izkazalo se je, da bi bili lahko luknjo zakrpali že oktobra. Če bi tedaj Oracle zakrpal neko drugo starejšo ranljivost (Reflection API, Issue 32), kot se spodobi, bi hkrati onemogočil tudi najnovejšo. Toda oktobra so avgustovsko luknjo popravili površno, zato je danes izbruhnila nova. In ta se danes uporablja tudi za izsiljevanje. Gre za zlonamerne programe (ransomware), ki izkoristijo ranljivosti za namestitev na sistem in ga potem zašifrirajo. Za odklep podatkov od uporabnika terjajo plačilo nekega zneska.