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.

56 Part I: Introduction to <strong>Threats</strong> <strong>and</strong> CountermeasuresTable 3.2 Creating a <strong>Security</strong> Profile (continued)Category ConsiderationsSessionHow are session cookies generated?managementHow are they secured to prevent session hijacking?How is persistent session state secured?How is session state secured as it crosses the network?How does the application authenticate with the session store?Are credentials passed over the wire <strong>and</strong> are they maintained by theapplication? If so, how are they secured?CryptographyParametermanipulationExceptionmanagementAuditing <strong>and</strong>loggingWhat algorithms <strong>and</strong> cryptographic techniques are used?How long are encryption keys <strong>and</strong> how are they secured?Does the application put its own encryption into action?How often are keys recycled?Does the application detect tampered parameters?Does it validate all parameters in form fields, view state, cookie data, <strong>and</strong>HTTP headers?How does the application h<strong>and</strong>le error conditions?Are exceptions ever allowed to propagate back to the client?Are generic error messages that do not contain exploitable information used?Does your application audit activity across all tiers on all servers?How are log files secured?Step 4. Identify the <strong>Threats</strong>In this step, you identify threats that might affect your system <strong>and</strong> compromise yourassets. To conduct this identification process, bring members of the development <strong>and</strong>test teams together to conduct an informed brainstorming session in front of awhiteboard. This is a simple yet effective way to identify potential threats. Ideally, theteam consists of application architects, security professionals, developers, testers, <strong>and</strong>system administrators.You can use two basic approaches:

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

Saved successfully!

Ooh no, something went wrong!