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.

46 Part I: Introduction to <strong>Threats</strong> <strong>and</strong> Countermeasures●●●Vulnerability. A weakness in some aspect or feature of a system that makes athreat possible. Vulnerabilities might exist at the network, host, or applicationlevels.Attack (or exploit). An action taken by someone or something that harms an asset.This could be someone following through on a threat or exploiting a vulnerability.Countermeasure. A safeguard that addresses a threat <strong>and</strong> mitigates risk.Consider a simple house analogy: an item of jewelry in a house is an asset <strong>and</strong> aburglar is an attacker. A door is a feature of the house <strong>and</strong> an open door represents avulnerability. The burglar can exploit the open door to gain access to the house <strong>and</strong>steal the jewelry. In other words, the attacker exploits a vulnerability to gain access toan asset. The appropriate countermeasure in this case is to close <strong>and</strong> lock the door.How to Use This ChapterThis chapter outlines a generic process that helps you identify <strong>and</strong> document threatsto your application. The following are recommendations on how to use this chapter:●●●Establish a process for threat modeling. Use this chapter as a starting point forintroducing a threat modeling process in your organization if you do not alreadyhave one. If you already have a process, then you can use this as a reference forcomparison.Use the other chapters in this guide to familiarize yourself with the mostcommon threats. Read Chapter 2, “<strong>Threats</strong> <strong>and</strong> Countermeasures,” for anoverview of common threats that occur at the network, host, <strong>and</strong> applicationlevels.● For more specific threats to your network, see “<strong>Threats</strong> <strong>and</strong> Countermeasures”in Chapter 15, “Securing Your Network.”● For more specific threats to your <strong>Web</strong> server, application server, <strong>and</strong> databaseserver, see “<strong>Threats</strong> <strong>and</strong> Countermeasures” in Chapter 16, “Securing Your <strong>Web</strong>Server,” Chapter 17, “Securing Your <strong>Application</strong> Server,” <strong>and</strong> Chapter 18,“Securing Your Database Server.”● For more specific threats to your assemblies, ASP.NET, serviced components,remoted components, <strong>Web</strong> Services, <strong>and</strong> data access, see “<strong>Threats</strong> <strong>and</strong>Countermeasures” in Chapter 7, “Building Secure Assemblies;” Chapter 10,“Building Secure ASP.NET Pages <strong>and</strong> Controls;” Chapter 11, “BuildingSecure Serviced Components;” Chapter 12, “Building Secure <strong>Web</strong> Services;”Chapter 13, “Building Secure Remoted Components;” <strong>and</strong> Chapter 14,“Building Secure Data Access.”Evolve your threat model. Build a threat model early <strong>and</strong> then evolve it as you go.It is a work in progress. <strong>Security</strong> threats evolve, <strong>and</strong> so does your application.Having a document that identifies both what the known threats are <strong>and</strong> how theyhave been addressed (or not) puts you in control of the security of yourapplication.

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

Saved successfully!

Ooh no, something went wrong!