Quanto è sicuro è un dominio di applicazione in modalità sandbox con SecurityPermissionFlag.Execution?

StackOverflow https://stackoverflow.com/questions/2396155

Domanda

Ho un plug-in vettoriale stabilita utilizzando System.AddIn che accetta il corpo di un metodo predefinito, munges il corpo del metodo in codice standard, genera l'assemblaggio ed esegue il metodo.

La riferimenti di montaggio System e System.Core ed è in modalità sandbox con

var pset = new PermissionSet(PermissionState.None);
pset.AddPermission(new SecurityPermission(SecurityPermissionFlag.Execution));

L'unica eccezione che può trovare riferimento che poteva possibile abbattere l'host è un overflow dello stack, che potrebbe essere invocata qualsiasi numero di mezzi creativi, ad esempio chiudendo il corpo e dichiarando un metodo ricorsivo ecc ...

E poi ci sono i possibili vettori di attacco esposti dal assemblee di riferimento, System e System.Core.

La mia domanda è:? Quanto è sicuro questo e quali sono alcuni esempi di codice dannoso in grado di abbattere i modi di accoglienza e possibili per prevenire tali attacchi

UPDATE:. Anche per chi ha familiarità con l'aggiungere quadro gestito, si applica la stessa domanda a AddInSecurityLevel.Internet

È stato utile?

Soluzione

E 'di solito non è difficile per un componente aggiuntivo per bombardare l'host. Tutto ciò che deve fare è avviare una discussione e rendere un'eccezione non gestita. Jesse Kaplan ha bloggato su un possibile contromisura per questo tipo di errori. Sandboxing era coperto da Shawn Farkas in questo post del blog .

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top