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.

70 Part II: Designing Secure <strong>Web</strong> <strong>Application</strong>sThis chapter presents a set of secure architecture <strong>and</strong> design guidelines. They havebeen organized by common application vulnerability category. These are key areasfor <strong>Web</strong> application security <strong>and</strong> they are the areas where mistakes are most oftenmade.How to Use This ChapterThis chapter focuses on the guidelines <strong>and</strong> principles you should follow whendesigning an application. The following are recommendations on how to use thischapter:● Know the threats to your application so that you can make sure these areaddressed by your design. Read Chapter 2, “<strong>Threats</strong> <strong>and</strong> Countermeasures,” togain underst<strong>and</strong>ing of the threat types to consider. Chapter 2 lists the threats thatmay harm your application; keep these threats in mind during the design phase.● When designing your application, take a systematic approach to the key areaswhere your application could be vulnerable to attack. Focus on deploymentconsiderations; input validation; authentication <strong>and</strong> authorization; cryptography<strong>and</strong> data sensitivity; configuration, session, <strong>and</strong> exception management; <strong>and</strong>adequate auditing <strong>and</strong> logging to ensure accountability.Architecture <strong>and</strong> Design Issues for <strong>Web</strong> <strong>Application</strong>s<strong>Web</strong> applications present designers <strong>and</strong> developers with many challenges. Thestateless nature of HTTP means that tracking per-user session state becomes theresponsibility of the application. As a precursor to this, the application must be ableto identify the user by using some form of authentication. Given that all subsequentauthorization decisions are based on the user’s identity, it is essential that theauthentication process is secure <strong>and</strong> that the session h<strong>and</strong>ling mechanism used totrack authenticated users is equally well protected. Designing secure authentication<strong>and</strong> session management mechanisms are just a couple of the issues facing <strong>Web</strong>application designers <strong>and</strong> developers. Other challenges occur because input <strong>and</strong>output data passes over public networks. Preventing parameter manipulation <strong>and</strong>the disclosure of sensitive data are other top issues.Some of the top issues that must be addressed with secure design practices are shownin Figure 4.1.

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

Saved successfully!

Ooh no, something went wrong!