HOME WEB NEWS IMAGES CLASSIFIEDS YELLOW PAGESPOLLS - SURVEYS WIKI COUNTRIES PHOTOS US UK INDIA
Avoo.com provides meta search results from various sources

Application_security


Google



1

Application security encompasses measures taken to prevent exceptions in the security policy of an application or the underlying system (vulnerabilities) through flaws in the design, development, or deployment of the application.

Applications only control the use of resources granted to them, and not which resources are granted to them. They, in turn, determine the use of these resources by users of the application through application security.

Contents

Methodology

According to the patterns & practices Improving Web Application Security book, a principle-based approach for application security includes:

  • Know your threats
  • Secure the network, host and application
  • Bake security into your application life cycle


Note that this approach is technology / platform independent. It is focused on principles, patterns, and practices.


For more information on a principle-based approach to application security, see patterns & practices Application Security Methodology

Threats, Attacks, Vulnerabilities, and Countermeasures

According to the patterns & practices Improving Web Application Security book, the following terms are relevant to application security:

  • Asset. A resource of value such as the data in a database or on the file system, or a system resource.
  • Threat. A negative effect.
  • Vulnerability. A weakness that makes a threat possible.
  • Attack (or exploit). An action taken to harm an asset.
  • Countermeasure. A safeguard that addresses a threat and mitigates risk.


Application Threats / Attacks

According to the patterns & practices Improving Web Application Security book, the following are classes of common application security threats / attacks:


Category

Threats / Attacks

Input Validation

Buffer overflow; cross-site scripting; SQL injection; canonicalization

Authentication

Network eavesdropping; brute force attacks; dictionary attacks; cookie replay; credential theft

Authorization

Elevation of privilege; disclosure of confidential data; data tampering; luring attacks

Configuration management

Unauthorized access to administration interfaces; unauthorized access to configuration stores; retrieval of clear text configuration data; lack of individual accountability; over-privileged process and service accounts

Sensitive data

Access sensitive data in storage; network eavesdropping; data tampering

Session management

Session hijacking; session replay; man in the middle

Cryptography

Poor key generation or key management; weak or custom encryption

Parameter manipulation

Query string manipulation; form field manipulation; cookie manipulation; HTTP header manipulation

Exception management

Information disclosure; denial of service

Auditing and logging

User denies performing an operation; attacker exploits an application without trace; attacker covers his or her tracks


Security testing for applications

Security testing techniques scour for vulnerabilities or security holes in applications. These vulnerabilities leave applications open to exploitation. Ideally, security testing is implemented throughout the entire software development life cycle (SDLC) so that vulnerabilities may be addressed in a timely and thorough manner. Unfortunately, testing is often conducted as an afterthought at the end of the development cycle.

Vulnerability scanners, and more specifically web application scanners, otherwise known as penetration testing tools (ie..ethically hacking tools) have been historically used by security organizations within corporations and security consultants to automate the security testing of http request/responses; however, this is not a substitute for the need for actual source code review. Physical code reviews of an application\'s source code can be accomplished manually or in an automated fashion. Given the common size of individual programs (often 500K Lines of Code or more), the human brain can not execute a comprehensive data flow analysis needed in order to completely check all circuitous paths of an application program to find vulnerability points. The human brain is suited more for filtering, interrupting and reporting the outputs of automated source code analysis tools available commercially versus trying to trace every possible path through a compiled code base to find the root cause level vulnerabilities.

The two types of automated tools associated with application vulnerability detection (application vulnerability scanners) are Penetration Testing Tools (otherwise known as Black Box Testing Tools) and Source Code Analysis Tools (otherwise known as White Box Testing Tools). Tools in the Black Box Testing arena include Watchfire, SPI Dynamics, Cenzic, Nikto (open source), N-Stalker [1] and Sandcat [2] (freeware). Tools in the White Box Testing arena include Fortify Software and Ounce Labs.

Banking and large E-Commerce corporations have been the very early adopter customer profile for these types of tools. It is commonly held within these firms that both Black Box testing and White Box testing tools are needed in the pursuit of application security. Typically sited, Black Box testing (meaning Penetration Testing tools) are ethical hacking tools used to attack the application surface to expose vulnerabilities suspended within the source code hierarchy. Penetration testing tools are executed on the already deployed application. White Box testing (meaning Source Code Analysis tools) are used by either the application security groups or application development groups. Typically introduced into a company through the application security organization, the White Box tools complement the Black Box testing tools in that they give specific visibility into the specific root vulnerabilities within the source code in advance of the source code being deployed. Vulnerabilities identified with White Box testing and Black Box testing are typically in accordance with the OWASP taxonomy for software coding errors. White Box testing vendors have recently introduced dynamic versions of their source code analysis methods; which operates on deployed applications. Given that the White Box testing tools have dynamic versions similar to the Black Box testing tools, both tools can be correlated in the same software error detection paradigm ensuring full application protection to the client company.

Security standards and regulations

  • IEEE P1074
  • ISO/IEC 7064:2003 Information technology -- Security techniques -- Check character systems
  • ISO/IEC 9796-2:2002 Information technology -- Security techniques -- Digital signature schemes giving message recovery -- Part 2: Integer factorization based mechanisms
  • ISO/IEC 9796-3:2006 Information technology -- Security techniques -- Digital signature schemes giving message recovery -- Part 3: Discrete logarithm based mechanisms
  • ISO/IEC 9797-1:1999 Information technology -- Security techniques -- Message Authentication Codes (MACs) -- Part 1: Mechanisms using a block cipher
  • ISO/IEC 9797-2:2002 Information technology -- Security techniques -- Message Authentication Codes (MACs) -- Part 2: Mechanisms using a dedicated hash-function
  • ISO/IEC 9798-1:1997 Information technology -- Security techniques -- Entity authentication -- Part 1: General
  • ISO/IEC 9798-2:1999 Information technology -- Security techniques -- Entity authentication -- Part 2: Mechanisms using symmetric encipherment algorithms
  • ISO/IEC 9798-3:1998 Information technology -- Security techniques -- Entity authentication -- Part 3: Mechanisms using digital signature techniques
  • ISO/IEC 9798-4:1999 Information technology -- Security techniques -- Entity authentication -- Part 4: Mechanisms using a cryptographic check function
  • ISO/IEC 9798-5:2004 Information technology -- Security techniques -- Entity authentication -- Part 5: Mechanisms using zero-knowledge techniques
  • ISO/IEC 9798-6:2005 Information technology -- Security techniques -- Entity authentication -- Part 6: Mechanisms using manual data transfer
  • ISO/IEC 14888-1:1998 Information technology -- Security techniques -- Digital signatures with appendix -- Part 1: General]]
  • ISO/IEC 14888-2:1999 Information technology -- Security techniques -- Digital signatures with appendix -- Part 2: Identity-based mechanisms
  • ISO/IEC 14888-3:2006 Information technology -- Security techniques -- Digital signatures with appendix -- Part 3: Discrete logarithm based mechanisms
  • ISO/IEC 17799:2005 Information technology -- Security techniques -- Code of practice for information security management
  • ISO/IEC 24762:2008 Information technology -- Security techniques -- Guidelines for information and communications technology disaster recovery services
  • ISO/IEC 27006:2007 Information technology -- Security techniques -- Requirements for bodies providing audit and certification of information security management systems
  • PCI Data Security Standard (PCI DSS)

See also

External links

Application Security definitions

This article is licensed under the GNU Free Documentation License. It uses material from Wikipedia


Advertise with Us | Search Marketing | Help | Suggest a Site | Privacy Policy
© 2008 www.avoo.com. All rights reserved.