Question

I ai un plug-in vector établi en utilisant System.AddIn qui accepte le corps d'une méthode prédéfinie, munges le corps de la méthode dans le code de passe-partout, génère l'assemblage et exécute le procédé.

Les références de montage System et System.Core et est sandbox avec

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

La seule exception que je peux trouver référence à qui pourrait peut faire tomber l'hôte est un débordement de la pile, ce qui pourrait être invoqué un certain nombre de moyens de création, par exemple fermer le corps et la déclaration d'une méthode récursive etc ...

Et puis il y a les vecteurs d'attaque possibles exposés par les ensembles référencés, System et System.Core.

Ma question est: Comment est-ce sécuritaire et quels sont quelques exemples de code malveillant qui pourraient potentiellement faire baisser les moyens d'accueil et possibles pour empêcher de telles attaques

MISE À JOUR:. Aussi pour ceux qui sont familiers avec le cadre AddIn géré, appliquer la même question à AddInSecurityLevel.Internet

Était-ce utile?

La solution

Il est généralement pas difficile pour un complément de bombarder l'hôte. Tout ce qu'il a à faire est de commencer un fil et le faire jeter une exception non gérée. Jesse Kaplan a blogué sur une contre-mesure possible pour ce genre d'échecs. Sandboxing était couvert par Shawn Farkas ce billet de blog .

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top