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.

222 Part III: Building Secure <strong>Web</strong> <strong>Application</strong>sTraditional principal-based security, such as that provided by the operating system,authorizes access to resources based on user identity. For example, programslaunched by a local administrator have no limitations on the local machine.Unfortunately, if the administrator’s identity is spoofed <strong>and</strong> a malicious user is ableto execute code using the administrator’s security context, the malicious user also hasno restrictions. This is where code access security is important because it can provideadditional restrictions <strong>and</strong> security based on the code itself, rather than the userrunning the code.With Microsoft .NET Framework version 1.1, administrators can configure policy forASP.NET <strong>Web</strong> applications <strong>and</strong> <strong>Web</strong> services, which might consist of multipleassemblies. They can also grant code access security permissions to allow theapplication to access specific resource types <strong>and</strong> to perform specific privilegedoperations.Note <strong>Web</strong> applications <strong>and</strong> <strong>Web</strong> services built using .NET Framework version 1.0 always run withunrestricted code access permissions. This is not configurable.Using code access security with <strong>Web</strong> applications helps you provide applicationisolation in hosted environments where multiple <strong>Web</strong> applications run on the same<strong>Web</strong> server. Internet service providers (ISPs) that run multiple applications fromdifferent companies can use code access security to:● Isolate applications from each other.For example, code access security can be used to ensure that one <strong>Web</strong> applicationcannot write to another <strong>Web</strong> application’s directories.● Isolate applications from system resources.For example, code access security can restrict access to the file system, registry,event logs, <strong>and</strong> network resources, as well as other system resources.Code access security is one mechanism that can be used to help provide applicationisolation. Microsoft Windows Server 2003 <strong>and</strong> Internet Information Services (IIS)6.0 also provide process isolation for <strong>Web</strong> applications. Process isolation combinedwith code access security provides the recommended model for application isolation.For more information, see Chapter 20, “Hosting Multiple ASP.NET <strong>Application</strong>s.”

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

Saved successfully!

Ooh no, something went wrong!