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.

Chapter 2: <strong>Threats</strong> <strong>and</strong> Countermeasures 17●●●●Repudiation. Repudiation is the ability of users (legitimate or otherwise) to denythat they performed specific actions or transactions. Without adequate auditing,repudiation attacks are difficult to prove.Information disclosure. Information disclosure is the unwanted exposure of privatedata. For example, a user views the contents of a table or file he or she is notauthorized to open, or monitors data passed in plaintext over a network. Someexamples of information disclosure vulnerabilities include the use of hidden formfields, comments embedded in <strong>Web</strong> pages that contain database connection strings<strong>and</strong> connection details, <strong>and</strong> weak exception h<strong>and</strong>ling that can lead to internalsystem level details being revealed to the client. Any of this information can bevery useful to the attacker.Denial of service. Denial of service is the process of making a system or applicationunavailable. For example, a denial of service attack might be accomplished bybombarding a server with requests to consume all available system resources orby passing it malformed input data that can crash an application process.Elevation of privilege. Elevation of privilege occurs when a user with limitedprivileges assumes the identity of a privileged user to gain privileged access to anapplication. For example, an attacker with limited privileges might elevate his orher privilege level to compromise <strong>and</strong> take control of a highly privileged <strong>and</strong>trusted process or account.STRIDE <strong>Threats</strong> <strong>and</strong> CountermeasuresEach threat category described by STRIDE has a corresponding set of countermeasuretechniques that should be used to reduce risk. These are summarized in Table 2.1. Theappropriate countermeasure depends upon the specific attack. More threats, attacks,<strong>and</strong> countermeasures that apply at the network, host, <strong>and</strong> application levels arepresented later in this chapter.Table 2.1 STRIDE <strong>Threats</strong> <strong>and</strong> CountermeasuresThreatCountermeasuresSpoofing user identity Use strong authentication.Do not store secrets (for example, passwords) in plaintext.Do not pass credentials in plaintext over the wire.Protect authentication cookies with Secure Sockets Layer (SSL).Tampering with dataUse data hashing <strong>and</strong> signing.Use digital signatures.Use strong authorization.Use tamper-resistant protocols across communication links.Secure communication links with protocols that provide messageintegrity.(continued)

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

Saved successfully!

Ooh no, something went wrong!