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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

58 Part I: Introduction to <strong>Threats</strong> <strong>and</strong> CountermeasuresYou must also ensure that your network is not vulnerable to threats arising frominsecure device <strong>and</strong> server configuration. For example, are unnecessary ports <strong>and</strong>protocols closed <strong>and</strong> disabled? Are routing tables <strong>and</strong> DNS server secured? Arethe TCP network stacks hardened on your servers? For more information aboutpreventing this type of vulnerability, see Chapter 15, “Securing Your Network.”Identify Host <strong>Threats</strong>The approach used throughout this guide when configuring host security (that is,Microsoft Windows 2000 <strong>and</strong> .NET Framework configuration) is to divide theconfiguration into separate categories to allow you to apply security settings in astructured <strong>and</strong> logical manner. This approach is also ideally suited for reviewingsecurity, spotting vulnerabilities, <strong>and</strong> identifying threats. Common configurationcategories applicable to all server roles include patches <strong>and</strong> updates, services,protocols, accounts, files <strong>and</strong> directories, shares, ports, <strong>and</strong> auditing <strong>and</strong> logging.For each category, identify potentially vulnerable configuration settings. From these,identify threats.Top vulnerabilities to consider include:● Maintaining unpatched servers, which can be exploited by viruses, Trojan horses,worms, <strong>and</strong> well-known IIS attacks.● Using nonessential ports, protocols, <strong>and</strong> services, which increase the attack profile<strong>and</strong> enable attackers to gather information about <strong>and</strong> exploit your environment.●●Allowing unauthenticated anonymous access.Using weak passwords <strong>and</strong> account policies that lead to password cracking,identity spoofing, <strong>and</strong> denial of service attacks if accounts can be locked outdeliberately.Identify <strong>Application</strong> <strong>Threats</strong>In the previous steps, you defined the architecture, data flow, <strong>and</strong> trust boundaries ofyour application. You also created a security profile that describes how theapplication h<strong>and</strong>les core areas, such as authentication, authorization, configurationmanagement, <strong>and</strong> other areas.Now use the broad STRIDE threat categories <strong>and</strong> predefined threat lists to scrutinizeeach aspect of the security profile of your application. Focus on application threats,technology-specific threats, <strong>and</strong> code threats. Key vulnerabilities to consider include:● Using poor input validation that leads to cross-site scripting (XSS), SQL injection,<strong>and</strong> buffer overflow attacks.● Passing authentication credentials or authentication cookies over unencryptednetwork links, which can lead to credential capture or session hijacking.● Using weak password <strong>and</strong> account policies, which can lead to unauthorizedaccess.

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

Saved successfully!

Ooh no, something went wrong!