11.07.2015 Views

Improving Web Application Security: Threats and - CGISecurity

Improving Web Application Security: Threats and - CGISecurity

Improving Web Application Security: Threats and - CGISecurity

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Checklist:<strong>Security</strong> Review for Managed CodeHow to Use This ChecklistThis checklist is a companion to Chapter 7, “Building Secure Assemblies”, <strong>and</strong>Chapter 8, “Code Access <strong>Security</strong> in Practice.” Use it to help you implement asecurity review for managed code in your <strong>Web</strong> application, or as a quick evaluationsnapshot of the corresponding chapters.This checklist should evolve so that you can repeat a successful security review ofmanaged code.General Code Review GuidelinesCheck DescriptionPotential threats are clearly documented. (<strong>Threats</strong> are dependent upon the specific scenario<strong>and</strong> assembly type.)Code is developed based on .NET framework coding guidelines <strong>and</strong> secure coding guidelinesat http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpgenref/html/cpconnetframeworkdesignguidelines.asp.The FXCop analysis tool is run on assemblies <strong>and</strong> security warnings are addressed.Managed Code Review GuidelinesAssembly-Level ChecksCheck DescriptionAssemblies have a strong name. (Dynamically generated ASP.NET <strong>Web</strong> page assembliescannot currently have a strong name.)You have considered delay signing as a way to protect <strong>and</strong> restrict the private key that isused in the strong name <strong>and</strong> signing process.Assemblies include declarative security attributes (with <strong>Security</strong>Action.RequestMinimum) tospecify minimum permission requirements.Highly privileged assemblies are separated from lower privileged assemblies.If the assembly is to be used in a partial-trust environment (for example, it is called from apartial-trust <strong>Web</strong> application), then privileged code is s<strong>and</strong>boxed in a separate assembly.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!