Java SE 8, Aggiornamento 51 È stata aggiunta la protezione "Native Sandbox" per PC Windows. Aspetta cosa?

24

Quindi stavo facendo una piccola ricerca sulle differenze (se ce ne sono) tra i modelli sandbox per applicazioni Windows 8 / 8.1 e applicazioni Windows 10 quando mi sono imbattuto in qualcosa di piuttosto interessante: quando Oracle ha spedito l'aggiornamento 8 del pacchetto Java 51 alcuni mesi aggiunta una nuova funzione che sembra aver volato via sotto il radar:

New Features and Changes

Operating system's restricted environment (Native Sandbox)

JDK 8u51 introduced the following changes to Native Sandbox:

Native sandbox is available on Windows platform only.

Native sandbox can be enabled or disabled through Java Control Panel->Advanced settings->Enable the operating system's restricted environment (native sandbox) or by setting deployment.security.use.native.sandbox property to true in deployment.properties file.

Native sandbox is disabled by default.

When native sandbox is enabled, the sandbox applets or web-start applications will run in a restricted environment, that is provided by the operating system. This will not affect the all-permission applications and they will continue to run as before.

Il link è qui . Contiene un po 'di più (molto poco più) informazioni. E cercare di trovare documentazione o discussioni altrove è apparso ... beh, praticamente niente. Niente. Se non fosse per quel frammento di testo nelle note di rilascio sopra e l'esistenza della nuova opzione nell'interfaccia utente non ci sarebbe motivo di pensare che fosse stata rilasciata una nuova funzionalità. Strano.

Ad ogni modo, mettendo da parte il motivo per cui c'è un'incredibile mancanza di informazioni in merito a questa funzione "Native Sandbox", qualcuno in realtà ha qualche idea in più di cosa sia e cosa fa? Sposta la VM e le librerie Java nell'area privilegiata "Protected Mode" sorta-semi-sandbox utilizzata da IE? Utilizza i modelli di app di Windows 8 / 8.1 e / o Windows 10 per mettere la VM Java e gli elementi di accompagnamento in una nuova sandbox per le applicazioni Windows. (So che Microsoft ha detto che nel 2016 sarà disponibile una funzionalità per inserire i programmi desktop tradizionali in sandbox e distribuirli attraverso lo store di Windows 10, quindi forse mettere il lettore Java in una sandbox di Windows 10 potrebbe non essere fuori discussione.) Qualcos'altro completamente? In entrambi i casi, la VM sarebbe ancora lì, in esecuzione all'interno della sandbox supplementare? Sono un po 'sconcertato.

E perché Oracle non ha detto nulla su questo, tranne (apparentemente) su una singola pagina? La funzione è ovviamente nel prodotto. Perché è disabilitato per impostazione predefinita? Dovrebbe essere in prova, in qualche modo? Chiunque?

EDIT:

Facendo una ricerca Google leggermente diversa, per ironia della sorte, si è presentata una domanda molto simile già richiesto su Stack Exchange da qualcun altro ma senza risposta. Ci scusiamo se duplicato quella domanda ... ma qualcuno sa qualcosa di più su questo?

    
posta mostlyinformed 15.09.2015 - 00:49
fonte

3 risposte

2

Dato che sembri uno sviluppatore Java, sai che il codice Java può modificare le cose a livello di sistema. Se un'applet è dannosa, approfitta di questo fatto per provare ad accedere al sistema client. Questo tipo di attacco è difficile da fermare perché quando l'applet è in esecuzione, è già troppo tardi. Questa sandbox nativa è un altro livello di protezione fornito dal sistema operativo Windows che fa in modo che se un'applet si interrompe da un browser, non dovrebbe essere in grado di fare qualcosa di male dato che si trova all'interno di una sandbox. Se è progettato per interagire con il sistema e viene approvato per farlo anche se è impostata una sandbox, allora sarà in grado di fare in modo che l'applet sia autorizzato a farlo dall'elenco dei siti di eccezioni o dall'ambiente di esecuzione. Set di regole di distribuzione. Quindi, per impostazione predefinita, puoi eseguire applet nella sandbox con questa impostazione solo per assicurarti di essere protetto in più fino a quando Oracle non decide di attivarlo per tutti, ma tieni presente che se lo fai, alcuni di quelli che devono interagire con il sistema non funzionerà a meno che non venga approvato o tu gli dica di consentire anche loro.

Disabilitarlo per impostazione predefinita consentirà l'aggiornamento delle applet legacy e (trarne vantaggio / preparazione) prima che venga abilitato di default se Oracle sceglie di farlo, o se una sicurezza su un utente consapevole vuole usare un "pericoloso" applet, possono farlo con la certezza che non (si spera) rovinino il loro sistema.

Attualmente molte applet probabilmente non si trovano nell'ESL o molti ambienti non sono configurati per l'utilizzo di DRS, quindi impostandolo disabilitato per impostazione predefinita possono assicurarsi che non interromperà nulla (ancora). Un altro motivo potrebbe essere che questa opzione non è ancora completamente supportata da Windows, e hanno fatto la loro parte e Windows ha solo bisogno di recuperare il tempo o stanno ancora aggiustando i dettagli prima di cambiare lo switch. Ci sono ancora molti altri motivi per cui l'impostazione predefinita adesso ha senso, ma non lo sapremo fino a quando non diranno di più. La mia ipotesi è che siano avviati fino a quando l'ESL è abbastanza grande da essere sicuri di installarlo senza che le persone che non leggeranno le note di patch chiedano un'infinità di domande sul perché così e così non funziona più su questo o quel sito .

Modifica: Dopo un po 'di più, si scopre che la sandbox di Windows 10 esiste già per le applicazioni di Windows Store, informazioni qui e qui , che ora può essere utilizzato dalle applet Java se scritto correttamente e configurato senza problemi. Quindi sarà nella sandbox App-V utilizzata dalle applicazioni di Windows Store e dalle nuove applicazioni desktop su Windows 10 poiché sembra essere la nuova Sandbox predefinita di Windows.

    
risposta data 25.09.2015 - 22:27
fonte
1

Ero curioso di me stesso, quindi ho cercato di scoprirlo. Questi tipi di app Java vengono sempre eseguiti in una sandbox nel senso che sono isolati nella JVM. Quindi, la domanda è quale supporto di Windows stanno usando. Ogni progetto sembra farlo in modo un po 'diverso. Ecco una vecchia pagina che esamina la modalità utente di Windows, la modalità kernel, il sandboxing e il modello Chrome. Ti insegnerò molto. Da lì, basta aggiornare la conoscenza con i punti salienti delle funzionalità di sicurezza delle versioni successive di Windows.

link

Tutto quello che ho trovato per te. Quando ero su Windows, usavamo principalmente Sandboxie, DefenseWall, ecc. Per il sandboxing. Probabilmente proverei a usare anche Microsoft EMET e XAX, se fossi ancora sulla piattaforma.

    
risposta data 23.09.2015 - 01:49
fonte
1

Per quello che posso dire, è tutto ciò che Oracle ha pubblicato su di esso. Dice che è applicabile solo alle applet e alle app di avvio web, il che spiega il motivo per cui ci sono così poche informazioni a riguardo, dal momento che il plug-in del browser è l'unica parte di Oracle Java che non è open source in questi giorni. Sembra un tentativo di puntellare la sandbox dell'applet usando le funzionalità native di Windows.

Non dovrebbe avere alcun impatto su altri usi Java, come le applicazioni desktop e server, anche se usano SecurityManager , poiché il codice sembra essere limitato al plugin del browser.

    
risposta data 25.09.2015 - 14:58
fonte

Leggi altre domande sui tag