888-PIVOT-POINT
Company Services Market Resources Contact Us Client Area
Penetration Testing
Application-level

Even after the network is "locked down", critical business applications are wide open on the ports necessary to provide critical functionality. Custom business applications, often web based, are generally developed with an emphasis on functionality with security as a distant consideration.

Accordingly, externally exposed business applications often represent the largest single risk to most business organizations. Increasingly organizations are turning to independent third parties with expertise in application security to vet critical applications during design, development, and pre and post deployment.

There are four broad classes of Assessment that are often conducted in an overlapping manner to ensure the resultant security of a business critical application:

Architecture Assessments

Application Architecture Assessments are the single best mechanism to ensure the security of the resultant application. By engaging subject matter expertise during the design phase, security and audit requirements can be fully accounted for before development begins. This proactive approach generally provides a near instantaneous ROI in risk mitigation and savings in downstream corrective action.

Elements of an Architectural Assessment may include:

  • Requirements Review

  • Control Objectives Review

  • Regulatory Compliance Review

  • Application Risk Assessment

  • Connectivity Review (network & Application layer

  • Security Fundamentals Review (Authentication, Confidentiality, Integrity, Non-Repudiation)

  • Development Plans / Methodology (including review against SDLC)

  • Application Architecture (including language choices, modularization, implementation)

  • Non-Application Level Security (Network layer including IDS, IPS, etc.)

Application Penetration Tests

Application Penetration Testing (APT) is analogous to a (and often includes) network penetration test, and is an all out assault on an application. APT's are often conducted pre and/or post deployment and are intended to uncover vulnerabilities inherent in an application.

Typical vulnerabilities identified include:

  • SQL Injection Attacks - Allows Access to the OS or Sensitive Data

  • Access Control Flaws (Brute Force Potential, Password flaws, Authentication Bypass (application), Authentication Bypass (data) - Allow direct access to Sensitive Data

  • Hidden Field Hijacks - Allows Malicious eShoplifting

  • Cookie Poisoning / Manipulation - Allows user impersonation

  • Cross Site Scripting - Allows site defacement, server side exploits, and can be used in combination with other flaws for user impersonation

  • Denial of Service (Network, Application) -- Allows the application/server to be crashed

  • Application Architecture Leakage (Forceful Browsing, Error Messages, URL Content Inspection) - Allows a malicious user to gain valuable information to be used to exploit other flaws

  • 3rd party Mis-configuration (Apache, IIS, IDE's) - Allows server side exploits, access to the OS, and access to Sensitive Data

  • Buffer Overflows - Allows privileged access to the OS

The scope of an Architectural Assessment may include:

  • Network Layer

  • Network Segment (DMZ, Extranet)

  • Front-End & Back-End Systems (Authentication Servers, Application Servers, Web Servers)

  • Database

Application Controls Auditing

Even in the event that the process up to the point of deployment has been flawless, the application is only assured of being "secure" for a brief period of time. That is the Policies & Procedures that are inherent in the overall Control Environment for the Application also need to be validated to ensure that the application will remain secure.

The scope of an Application Controls Audit may include:

  • Planning (Risk Assessment, Control Objectives, Requirements Definition, SDLC Compliance, Regulatory Compliance)

  • Network Environment & Management Processes (System Auditing, System Monitoring, Change Management, Patch Management)

  • End Users & Administration (Authentication, Security Awareness, Segregation of Duties)

  • System Interfaces (System Security, Authentication, Data validation)

  • File Handling (Access Control, Integrity, Confidentiality)

  • Backup and Recovery (Disaster recovery & Business Continuity)

  • System Monitoring (System Auditing, Vulnerability Assessments)

  • Input Controls (Data Validation, Boundary Enforcement)

  • Third Party Management (Service Level Agreements, Monitoring)

Code Reviews

For those applications where critical is CRITICAL (life, ongoing business operations) code reviews (when performed in concert with the other three assessment methodologies) is the most comprehensive mechanism to absolutely ensure the security of an application.

Application code level reviews provide the highest level of assuredness of detection of the following application vulnerabilities:

  • Input Attacks
  • Access Control
  • Memory Leaks
  • User Security
  • Buffer Overflows
  • SQL Injection
  • Data Storage
  • Forced Browsing
  • Information Leakage
  • File Access

The scope of a Source Code Review may include:

  • Source Code Scanning - leverages automated vulnerability detection/Quality Assurance source code scanners that identify potentially dangerous functions and methods relating to an application.

  • Source Code Audit - an independent review of the application source code by our team, to verify compliance with software design documentation and programming standards. This mechanism can often be used to catch inconsistencies inherent in a team based approach that can cause unexpected logic flaws.

  • Source Code Walkthrough - a manual error detection technique where program logic is traced manually by a team with a small set of test cases, while the state of program variables is manually monitored, to analyze the programmer's logic and assumptions. This methodology is typically used to detect logic errors in an applications most critical processes.

  • Source Code Inspection - a very formal, manual error detection technique where the programmer reads source code, statement by statement, to the team who ask questions analyzing the program logic, analyzing the code with respect to a checklist of historically common programming errors, and analyzing its compliance with coding standards. Walkthrough elements are generally included in this approach as well.



Copyright © 2000 - 2008 Pivot Point Security, Inc.   (Privacy)
Call toll-free 888-PIVOT-POINT / 888-748-6876   (Details)
Sign up for our
E-Mail Newsletter: