Che cosa sto rischiando se non aggiorno il mio SDK / JDK e il runtime in bundle / JRE ogni volta che c'è un aggiornamento di sicurezza?

2

Sembra che ci sia un nuovo grande buco di sicurezza rattoppato in Java ogni due settimane, e assumerei lo stesso discorso per altre piattaforme di sviluppo. Dopo anni di frustrazione cercando di convincere i clienti a installare e configurare un JRE compatibile sui loro sistemi, abbiamo iniziato a raggrupparne uno con il nostro software. (Con il raggruppamento, intendo che estraiamo una copia di JRE nella nostra directory di installazione: non installiamo JRE e lo configuriamo come predefinito di sistema.)

Il problema è che è una seccatura dover mantenere aggiornato questo JRE perché prima dobbiamo ripetere tutto per assicurarci che l'aggiornamento non abbia infranto nulla (ha rotto alcune delle nostre dipendenze di terze parti nel passato).

Quanto seriamente, se non del tutto, metteremo a rischio i nostri clienti se non aggiorniamo il nostro SDK / JDK e il runtime / JRE che ci associamo al nostro prodotto ogni volta che c'è un aggiornamento di sicurezza? È ragionevole aggiornare solo su un programma periodico, ad esempio una volta ogni 6 mesi?

    
posta rob 18.10.2013 - 19:10
fonte

1 risposta

3

Dipende dalla natura delle falle di sicurezza e da quella della tua applicazione.

I più popolari e principali che sono stati corretti sono relativi alle applet. Ciò vuol dire che c'è un buco nello stack Java (JVM, librerie native, librerie Java, ecc.) Che consente ad un'applet di accedere ad es. file su disco, per eseguire un processo, il tipo di cose che le applet non dovrebbero essere in grado di fare.

Se la tua applicazione è un'applicazione desktop, credo che ci sia un rischio molto basso per un intervallo di aggiornamento di 6 mesi. Il più delle volte, il tipo di buchi nelle applicazioni desktop è legato ai buchi del sistema operativo, ad esempio consentendo a un'applicazione con privilegi più bassi di accedere a una finestra da una privilegiata più elevata. O allo stesso modo, un'applicazione in esecuzione in non amministratore può accedere alle finestre di un'applicazione di un amministratore e elaborare lo spazio degli indirizzi.

D'altro canto, un'altra applicazione che l'utente esegue con tutti i privilegi di cui dispone può fare praticamente qualsiasi cosa. Giocare con la tua applicazione non è il peggiore delle cose che posso immaginare, a meno che non possa lanciare missili o prelevare denaro.

MODIFICA: se la tua applicazione è un server, anche in questo caso alcune delle vulnerabili vulnerabilità potrebbero rappresentare un rischio maggiore. Non lo sapremo mai. Forse c'è qualcosa nei socket di Java che consente l'esecuzione di codice in modalità remota, e quindi considereresti che questo è un rischio molto elevato rispetto a delegare il carico di aggiornamento al tuo client.

    
risposta data 18.10.2013 - 19:28
fonte

Leggi altre domande sui tag