Come funziona la sandbox del motore di app di Google? Cosa dovrei fare per creare la mia sandbox di questo tipo (per consentire ai miei clienti di eseguire le loro app sul mio motore senza dar loro la possibilità di formattare la mia unità disco)? È solo magia di caricatore di classe, manipolazione di byte o qualcosa del genere?Come funziona la sandbox del motore di app di google?
risposta
Nel caso Java, penso che la maggior parte sia fatta limitando le librerie disponibili. Poiché Java non ha il concetto di puntatore e non è possibile caricare codice compilato in modo nativo (solo bytecode JVM), non è possibile uscire dalla sandbox. Aggiungi un po 'di pianificazione dei processi serrati e il gioco è fatto!
Immagino che la parte più difficile sia scegliere le librerie, per renderle utili mentre si è al sicuro.
Nel caso Python, hanno dovuto modificare la VM stessa, perché non era progettata pensando alla sicurezza. Fortunatamente, hanno Guido stesso a farlo.
Probabilmente avrete bisogno di una combinazione di un classloader restrittivo e una conoscenza approfondita dello Java Security Architecture. Probabilmente eseguirai la tua JVM con un SecurityManager molto severo specificato.
Nota importante: SecurityManager NON consente di limitare l'utilizzo della memoria heap o l'utilizzo della CPU. Non hai altra scelta che generare processi separati per ciascuna di queste attività/script. – Zorkus
per consentire in modo sicuro i miei clienti di eseguire le loro applicazioni sul mio motore senza dare loro la possibilità di formattare il mio disco
Ciò può essere ottenuto facilmente usando il Manager Java Security. Vedere la risposta this per un esempio.
Può essere raggiunto, ma non facilmente, anche con 'SecurityManager' è un bel problema. – Gautam
- 1. Database esterno del motore di Google App
- 2. Utilizzo del sottodominio nel motore di app di google
- 3. Implementazione OSS del motore di app di Google?
- 4. Come utilizzare la sessione sul motore di app Google
- 5. Motore di modelli per Google App Engine
- 6. xstream sul motore di app Google
- 7. progettazione per la gestione delle eccezioni - motore di app google
- 8. Encoder di accettazione del motore di app
- 9. Prestazioni del caricatore di massa del motore di app
- 10. Controllo della cache nel motore di app di google
- 11. Eliminazione ricorsiva nel motore di app di google
- 12. Motore di Google App Come contare SUM dal datestore?
- 13. Utilizzo di Google Chrome Sandbox
- 14. Dati exif dell'immagine nel motore di app di google
- 15. Utilizzo di servizi Web Amazon come back-end del motore di app di Google
- 16. Posso eseguire php mysql nel motore di app di google
- 17. arricciatura sul motore di app
- 18. Uso di Hunch sul motore di Google App
- 19. Posso utilizzare org.apache.http.client.HttpClient nel motore di app di google?
- 20. Qual è l'espansione del modello e come possiamo ridurla se la nostra applicazione del motore di app di google?
- 21. Versione in conflitto del potenziatore di datanucleus in un progetto del motore di app google mobile
- 22. Operazioni di archivio dati eccessive di piccole dimensioni del motore di app di Google
- 23. javascript lato server sul motore di Google App
- 24. Aggiunta di un sottodominio al mio progetto del motore di app di google?
- 25. Query del motore di app di Google (non filtro) per i figli di un'entità
- 26. Perché non posso eseguire un progetto del motore di app di google su localhost?
- 27. come posso scaricare un'immagine del motore di google compute
- 28. Qual è il modo migliore per profilare/ottimizzare l'applicazione del motore di app di google?
- 29. Conseguenze per la modifica di un modello sul motore di app Google
- 30. Avvio del motore di app di Google: nome utente o password non validi
Ho rimosso il tag del gas perché non penso che sia l'acronimo di sandbox dell'applicazione google, e non credo che l'assemblatore di GNU sia correlato a questa domanda. –
Spiacente, potrei aver digitato qualcosa, ho creato questa domanda attraverso un dispositivo portatile senza tastiera. – Shahbaz