Ha la Java Virtual Machine Java fare più o meno sicura dal punto di vista del sistema di sicurezza?

January 1

Ha la Java Virtual Machine Java fare più o meno sicura dal punto di vista del sistema di sicurezza?


La macchina virtuale Java è un computer simulato nel software. Quando si esegue un programma Java, il computer avvia la macchina virtuale e la macchina virtuale esegue il programma. Il design della macchina virtuale Java rende più sicuro di eseguire codice sul tuo sistema.

sistema di sicurezza

La sicurezza del sistema è una combinazione delle due cose: la protezione contro crash accidentale o il fallimento a causa di errori nel codice, e la protezione contro codice dannoso da virus o hacker. guasto accidentale è abbastanza facile da causare involontariamente in molti linguaggi di programmazione per uso improprio di memoria o tramite altri errori. Il codice nocivo fa danni per uso improprio del intenzionalmente memoria in modo ingannevole, o semplicemente per ottenere l'accesso al computer con "metodi nativi", i comandi che utilizzano programmi di chiedere alla macchina di fare le cose.

Gestione della memoria

La macchina virtuale Java fa diverse cose per la protezione contro queste minacce. In primo luogo, non lasciare che la memoria ad accesso programmi che non dovrebbero, o l'accesso in modi difficili (i programmi non possono aggiungere puntatori insieme per ottenere gli indirizzi di memoria per cose che non dovrebbero accesso). Inoltre, la funzione "garbage collection" tiene automaticamente traccia di gestione della memoria e ricicla ciò che un programma non usa più. Queste caratteristiche impediscono un sacco di errori programmatore e potenziali tattiche degli hacker.

sandbox

Un altro vantaggio della sicurezza dalla macchina virtuale Java è che serve come un "sandbox". Quando si apre una pagina web con un applet, per esempio, viene eseguito all'interno della macchina virtuale e non può fare nulla al di fuori. Esso si limita alla sandbox, e può solo "giocare" al suo interno. In questo modo, anche se l'applet cerca di danneggiare la memoria o semplicemente si blocca, la macchina virtuale potrebbe smettere ma il sistema va avanti senza problemi.

Metodi nativi

metodi nativi sono il codice che può essere chiamato dalla macchina virtuale Java, ma vengono elaborati dal sistema su cui è in esecuzione. Possono essere un punto debole, che serve come un modo per uscire dalla sandbox. I metodi nativi utilizzati dai processi built-in di Java sono tutti confermati per contenere codice maligno. E 'possibile per una persona a fare i propri metodi nativi, ma il sistema di sicurezza di Java può impedire questo. Applet, per esempio, non sono autorizzati a installare eventuali nuovi metodi nativi.