Newsgroup: it.comp.sicurezza.varie
Titolo: perplessita'

Leggendo un articolo dalla rivista "io programmo" mi sono imbattuto in una 
serie di affermazioni che mi hanno lasciato assai perplesso.
L'articolo tratta della sicurezza di java, e a lasciare perplessi gia' 
basterebbe il fatto che consigli, come soluzione ai problemi di sicurezza 
del suddetto linguaggio, la disabilitazione dello stesso dal browser!! 
Ma la perplessita' prosegue nel verificare come asserisca che un applet java 
possa veicolare trojan horse. Ora cio' non dovrebbe essere praticamente 
impossibile invece? (salvo forse bug nella jvm?)
Java non e' invece uno dei linguaggi piu' sicuri per l'uso in rete, visto 
che e' stato progettato apposta per questo?
Ammetto di essere anche confuso su java oltre che perplesso nei confronti 
della suddetta rivista, pero' mi sembrava di aver capito proprio cosi'.
hola

impossibile invece? (salvo forse bug nella jvm?)
Perche' dovremmo escludere bug nella VM nel considerare la
pericolosita' di un'applet java?
A parte gli errori di implementazione della VM, penso che vi sia stato
anche qualche errore di progettazione stessa, dove cioe' non c'e' un
vero bug, ma la vulnerabilita' e' intrinseca al progetto, o meglio
alle specifiche di progettazione.
BTW occhio a non confondere il Linguaggio Java con l'interfaccia di
programmazione disponibile per Java, una vulnerabilita' nelle API di
J2SE (JVM originale della Sun), non significa che Java sia un
linguaggio insicuro.
-- 
Linux Registered User #181013
[Exokernels] Although one approach to eliminating bloated, buggy,
unreliable operating systems is to make them smaller. A more radical
one is to eliminate the operating system altogether.

 linguaggio, la disabilitazione dello stesso dal browser!! 
Non hanno tutti i torti. Mi spiego.
Intanto è bene fare un minimo di distinzione; gli applet è un subset di
applicazione di java relativamente ristretto, sebbene il 90% della gente
conosca java come il "linguaggio degli applet" in realtà questo
tipo di applicazione del linguaggio è un "deprecata" rispetto ad altre.
Gli applet sono pesi, hanno dei limiti di impiego, quando va bene perchè
le jvm che li ospitano sono spesso bacate.
Dove sta la sicurezza di java (inteso come applet)? Nel fatto che l'applet
gira all'interno di una jvm con delle strette policy di sicurezza. Non può
accedere al disco, non può accedere alle risorse locali, non può
connettersi a nessun server se non quello di provenienza. Tuttavia il
linguaggio è completo: non solo, anche la jvm del browser è completa. Cosa
vuol dire completa? Semplicemente, che ha tutte le carte in regola per
fare tutto quello che il linguaggio consente, ma se l'applet ci prova è
sua responsabilità fermarlo *a* *run* *time*. Un applet opportunamente
firmato e autorizzato può fare tutto quello che consente un linguaggio
sufficientemente completo come java (che da questo punto di vista manca
solo di funzionalità a basso livello peculiari del sistema operativo, però
esiste l'interfaccia nativa...).
E questo è un punto. L'altro punto sono i buchi della jvm, credo che da
questo punto di vista le jvm dei browser non ispirano certo il massimo
della fiducia. In pratica: conoscendo una vulnerabilità della jvm un
applet può essere un invidiabile cavallo di troia.