Ich habe einen Plug-In-Vektor, der mit System.AddIn erstellt wurde, der den Rumpf einer vordefinierten Methode akzeptiert, den Methodenkörper in den Standardcode einprogrammiert, die Assembly generiert und die Methode ausführt.Wie sicher ist eine AppDomain-Sandbox mit SecurityPermissionFlag.Execution?
Die Assembly verweist System
und System.Core
und Sandkasten mit
var pset = new PermissionSet(PermissionState.None);
pset.AddPermission(new SecurityPermission(SecurityPermissionFlag.Execution));
Die einzige Ausnahme, die ich Bezug auf das möglich finden kann, könnte den Host bringen ist ein Stapelüberlauf, die eine beliebige Anzahl von kreativen Mitteln geltend gemacht werden könnte , z.B Schließen des Körpers und Deklaration einer rekursiven Methode usw. ...
Und dann gibt es die möglichen Angriff Vektoren durch die referenzierten Baugruppen, System
und System.Core
ausgesetzt.
Meine Frage ist: Wie sicher ist das und was sind Beispiele für bösartigen Code, der möglicherweise den Host und mögliche Wege zur Verhinderung solcher Angriffe herunterbringen könnte?
UPDATE: wenden Sie die gleiche Frage auch an diejenigen, die mit dem Managed AddIn Framework vertraut sind, an AddInSecurityLevel.Internet
.