Nelle mie lezioni di sicurezza IT ho frequentemente ripercorso questi termini e ho avuto difficoltà a distinguere tra loro, quindi ho cercato di capire le loro differenze:
Sandboxing : meccanismo di difesa contro codice mobile , che viene eseguito in un ambiente runtime separato. Codice e dati sono separati per evitare che il programma si modifichi da solo. Questo è usato per piccole applicazioni come le applet nella JVM.
Interpretazione : meccanismo di difesa contro codice mobile . L'accesso diretto all'hardware è impedito e tutti gli indirizzi e le chiamate di sistema vengono interpretati e analizzati. I browser Web utilizzano questa tecnica a scapito delle prestazioni.
Jailing : meccanismo di difesa contro un programma sconosciuto . Tutte le chiamate di sistema di un prigioniero del programma supervisionato vengono controllate da un altro jailer del programma che può anche intercettarle e bloccarle.
Queste definizioni sono valide o ci sono altre differenze / similarità che non ho visto? Soprattutto alcuni scenari del mondo reale sarebbero utili, ad esempio so che il sandboxing è usato nella JVM come parte della sicurezza di Java.