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.

32 Part I: Introduction to <strong>Threats</strong> <strong>and</strong> CountermeasuresElevation of PrivilegeWhen you design an authorization model, you must consider the threat of an attackertrying to elevate privileges to a powerful account such as a member of the localadministrators group or the local system account. By doing this, the attacker is able totake complete control over the application <strong>and</strong> local machine. For example, withclassic ASP programming, calling the RevertToSelf API from a component mightcause the executing thread to run as the local system account with the most power<strong>and</strong> privileges on the local machine.The main countermeasure that you can use to prevent elevation of privilege is to useleast privileged process, service, <strong>and</strong> user accounts.Disclosure of Confidential DataThe disclosure of confidential data can occur if sensitive data can be viewed byunauthorized users. Confidential data includes application specific data such ascredit card numbers, employee details, financial records <strong>and</strong> so on together withapplication configuration data such as service account credentials <strong>and</strong> databaseconnection strings. To prevent the disclosure of confidential data you should secure itin persistent stores such as databases <strong>and</strong> configuration files, <strong>and</strong> during transit overthe network. Only authenticated <strong>and</strong> authorized users should be able to access thedata that is specific to them. Access to system level configuration data should berestricted to administrators.Countermeasures to prevent disclosure of confidential data include:● Perform role checks before allowing access to the operations that could potentiallyreveal sensitive data.● Use strong ACLs to secure Windows resources.● Use st<strong>and</strong>ard encryption to store sensitive data in configuration files <strong>and</strong>databases.Data TamperingData tampering refers to the unauthorized modification of data.Countermeasures to prevent data tampering include:● Use strong access controls to protect data in persistent stores to ensure that onlyauthorized users can access <strong>and</strong> modify the data.● Use role-based security to differentiate between users who can view data <strong>and</strong>users who can modify data.

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

Saved successfully!

Ooh no, something went wrong!