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.

194 Part III: Building Secure <strong>Web</strong> <strong>Application</strong>sPrivileged OperationsPrivileged operations are shown in Table 8.2, together with the associatedpermissions that calling code requires.Table 8.2 Privileged Operations <strong>and</strong> Associated PermissionsOperationRequires PermissionCreating <strong>and</strong> controlling applicationdomains<strong>Security</strong>Permission with<strong>Security</strong>PermissionFlag.ControlAppDomainSpecifying policy application domainsAsserting security permissionsCreating <strong>and</strong> manipulating evidenceCreating <strong>and</strong> manipulating principalobjectsConfiguring types <strong>and</strong> channelsremotingManipulating security policySerializationThreading operationsReflectionCalling unmanaged code<strong>Security</strong>Permission with<strong>Security</strong>PermissionFlag.ControlDomainPolicy<strong>Security</strong>Permission with <strong>Security</strong>PermissionFlag.Assertion<strong>Security</strong>Permission with<strong>Security</strong>PermissionFlag.ControlEvidence<strong>Security</strong>Permission with<strong>Security</strong>PermissionFlag.ControlPrincipal<strong>Security</strong>Permission with<strong>Security</strong>PermissionFlag.RemotingConfiguration<strong>Security</strong>Permission with<strong>Security</strong>PermissionFlag.ControlPolicy<strong>Security</strong>Permission with<strong>Security</strong>PermissionFlag.SerializationFormatter<strong>Security</strong>Permission with<strong>Security</strong>PermissionFlag.ControlThreadReflectionPermission<strong>Security</strong>Permission with<strong>Security</strong>PermissionFlag.UnmanagedCodeRequesting PermissionsWhen you design <strong>and</strong> develop your assemblies, create a list of all the resources thatyour code accesses, <strong>and</strong> all the privileged operations that your code performs. Atdeployment time, the administrator may need this information to appropriatelyconfigure code access security policy <strong>and</strong> to diagnose security related problems.The best way to communicate the permission requirements of your code is to useassembly level declarative security attributes to specify minimum permissionrequirements. These are normally placed in Assemblyinfo.cs or Assemblyinfo.vb.This allows the administrator or the consumer of your assembly to check whichpermissions it requires by using the Permview.exe tool.

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

Saved successfully!

Ooh no, something went wrong!