Existe-t-il une API de bac à sable léger et programmable pour la plate-forme Windows? [fermé]
pour exécuter du code non fiable à la maison, j'utilise une machine virtuelle VMWare. Je veux trouver une API de bac à sable léger de rechange pour exécuter des applications non fiables, sans avoir à installer VMWare, ou tout autre type d'outil de virtualisation de l'utilisateur final comme celui-ci. ( Edit: je ne veux pas de ça pour l'accueil d'un OS - je le veux pour exécuter des applications non approuvées).
idéalement, le bac à sable serait (ou pourrait être fait) transparent de sorte que l'application fonctionnant dans le bac à sable ne afficher tout chrome supplémentaire ou des fonctionnalités. (N'ont-ils pas le faire dans Parallels sur le Mac)
mon côté développeur Windows.net souhaite une API, donc au lieu de démarrer une interface graphique spéciale, je peux script des scénarios.
il serait comme la façon dont le navigateur Web Google Chrome contient sa propre technologie aux scripts de bac à sable courant à partir de l'Internet pour protéger le système. Google n'a pas besoin de distribuer VMWare avec leur navigateur et pourtant ils atteignent sécurité du bac à sable pour les applications.
Edit:
à la recherche de quelque chose de léger comme Google Chrome contient avec des fonctionnalités comme l'accès au fichier/réseau/UI considérablement restreint, de faibles privilèges, etc. Ne cherche pas à gérer/héberger son propre système D'exploitation.
7 réponses
Non, il n'y en a pas.
je veux dire, vous pouvez utiliser un compte Windows différent (avec les permissions que vous jugez appropriées), mais alors vous devez être à l'aise que l'application non fiable ne peut pas sortir de cela. Mais vous avez le même problème avec VMWare (il a eu des bugs dans le passé qui vous permettent de sortir). La meilleure chose à faire est d'utiliser une Machine virtuelle.
Google Chrome utilise 4 mécanismes windows pour atteindre cet objectif:
A restricted token
The Windows job object
The Windows desktop object
Windows Vista only: The integrity levels
regardez: https://sites.google.com/a/chromium.org/dev/developers/design-documents/sandbox
Ils ont une description détaillée de ce qu'ils font.
vous pourriez également être intéressé par le Client natif de Google (également connu sous le nom NaCl). Il s'agit d'un projet qui vise à pouvoir exécuter du code x86 (vérifiable) dans un bac à sable.
Je ne l'ai pas mis en œuvre..mais mon $.02.
vous pouvez envisager d'implémenter une station Windows. Une station windows est essentiellement une frontière de sécurité pour contenir des ordinateurs de bureau et des processus Une seule Station Windows est autorisée pour la connexion à la Console (Winsta0) http://msdn.microsoft.com/en-us/library/windows/desktop/ms682573 (v=vs 85).aspx
vous pouvez réaliser, traiter, objet Windows, et Isolation ACL sur une station base. Certaines fonctions API utilisées dans Windows Station sont listées ici.: http://msdn.microsoft.com/en-us/library/windows/desktop/ms687107 (v=vs 85).aspx
Une vue d'ensemble des Sessions,les Ordinateurs de bureau et Stations Windows. http://blogs.technet.com/b/askperf/archive/2007/07/24/sessions-desktops-and-windows-stations.aspx
il y a un exemple de Codeprojet ici avec source: http://www.codeproject.com/Articles/21352/Virtual-Desktop-A-Simple-Desktop-Management-Tool
je recommande D'utiliser API Monitor pour déboguer les appels D'API Win32 http://www.rohitab.com/apimonitor
hth
vous pouvez utiliser Invincea FreeSpace ou le libre Sandboxie . Pas sûr si l'un d'entre eux sont programmables ou non.
ce sont des applications de confinement, c.-à-d. des bacs à sable. Vous pouvez le lire ici: https://www.fas.org/irp/congress/1997_hr/h970211gm.htm
dans une de mes questions sur le" bac à sable", on m'a indiqué bac à sable . Je ne résout pas mon problème, mais c'est peut-être intéressant pour vous?
Je ne sais pas s'il a une API, mais un rapide google indique qu'il est au moins quelque peu automatisable via la ligne de commande.