Techniques for safely hosting untrusted add-ins with the .NET Framework 2.0
Through the use of dynamic assembly loading and reflection, managed code provides a way for you to easily allow your application to be extended by add-ins. However, when you allow your application to run arbitrary code through an add-in model, you expose the user's computer to potentially unknown code, running the risk that malicious code will use your application as an entry point to the user's data. There are several techniques you can use to reduce the attack surface of your application and protect against malicious or otherwise unstable code corrupting your user's computer—or possibly stealing sensitive data.
By Shawn Farkas at Microsoft.
[ Read more ]