More Repeatable Vulnerability Assessment An introduction



Similar documents
Development. Resilient Software. Secure and. Mark S. Merkow Lakshmikanth Raghavan. CRC Press. Taylor& Francis Croup. Taylor St Francis Group,

Promoting Application Security within Federal Government. AppSec DC November 13, The OWASP Foundation

Promoting Application Security within Federal Government. AppSec DC November 13, The OWASP Foundation

FINAL DoIT v.4 PAYMENT CARD INDUSTRY DATA SECURITY STANDARDS APPLICATION DEVELOPMENT AND MAINTENANCE PROCEDURES

Software Vulnerabilities in Programming Languages and Applications

Case Study: Treating Challenges in Software Trustability

Penetration Testing Guidelines For the Financial Industry in Singapore. 31 July 2015

How the CC Harmonizes with Secure Software Development Lifecycle

Understanding How They Attack Your Weaknesses: CAPEC Sean Barnum MITRE

Rapid Security Framework (RSF) Taxonomie, Bewertungsparameter und Marktanalyse zur Auswahl von Fuzzing-Tools

Attack Vector Detail Report Atlassian

05.0 Application Development

Columbia University Web Security Standards and Practices. Objective and Scope

Magento Security and Vulnerabilities. Roman Stepanov

Template for PFI Final Incident Report for Remote Investigations

Software security. Buffer overflow attacks SQL injections. Lecture 11 EIT060 Computer Security

A Test Suite for Basic CWE Effectiveness. Paul E. Black.

Secure Web Application Coding Team Introductory Meeting December 1, :00 2:00PM Bits & Pieces Room, Sansom West Room 306 Agenda

Standard: Web Application Development

Payment Card Industry (PCI) Data Security Standard PFI Final Incident Report. Template for PFI Final Incident Report. Version 1.1.

Points of View. CxO s point of view. Developer s point of view. Attacker s point of view

elearning for Secure Application Development

WHITE PAPER. FortiWeb and the OWASP Top 10 Mitigating the most dangerous application security threats

Essential IT Security Testing

Columbia University Web Application Security Standards and Practices. Objective and Scope

SAST, DAST and Vulnerability Assessments, = 4

Real World Software Assurance Test Suite: STONESOUP

Payment Card Industry (PCI) Data Security Standard PFI Final Incident Report. Template for PFI Final Incident Report. Version 1.0.

CS 356 Lecture 23 and 24 Software Security. Spring 2013

A Study on the Secure Software Development Life Cycle for Common Criteria (CC) Certification

Security Vulnerabilities in Open Source Java Libraries. Patrycja Wegrzynowicz CTO, Yonita, Inc.

DFW INTERNATIONAL AIRPORT STANDARD OPERATING PROCEDURE (SOP)

Adobe Systems Incorporated

Software Assurance Tools: Web Application Security Scanner Functional Specification Version 1.0

Using the Juliet Test Suite to compare Static Security Scanners

Source Code Security Analysis Tool Functional Specification Version 1.0

Web Application Report

The Electronic Arms Race of Cyber Security 4.2 Lecture 7

Where every interaction matters.

- Table of Contents -

How to break in. Tecniche avanzate di pen testing in ambito Web Application, Internal Network and Social Engineering

MANAGED SECURITY TESTING

CYBER TRENDS & INDUSTRY PENETRATION TESTING. Technology Risk Supervision Division Monetary Authority of Singapore

Pentests more than just using the proper tools

Pentests more than just using the proper tools

How To Ensure Your Software Is Secure

Web App Security Audit Services

ETHICAL HACKING APPLICATIO WIRELESS110 00NETWORK APPLICATION MOBILE MOBILE0001

How To Ensure That Your Computer System Is Safe

Smart (and safe) Lighting:

Certified Secure Web Application Security Test Checklist

Application Security Testing. Generic Test Strategy

OWASP TOP 10 ILIA

Threat Modeling/ Security Testing. Tarun Banga, Adobe 1. Agenda

Host Hardening. Presented by. Douglas Couch & Nathan Heck Security Analysts for ITaP 1

Spigit, Inc. Web Application Vulnerability Assessment/Penetration Test. Prepared By: Accuvant LABS

Members of the UK cyber security forum. Soteria Health Check. A Cyber Security Health Check for SAP systems

Lost in Translation: Understanding the Hacker Mindset

Is Drupal secure? A high-level perspective on web vulnerabilities, Drupal s solutions, and how to maintain site security

Secure Content Automation Protocol (SCAP): How it is increasingly used to automate enterprise security management activities

How to achieve PCI DSS Compliance with Checkmarx Source Code Analysis

2,000 Websites Later Which Web Programming Languages are Most Secure?

Professional Penetration Testing Techniques and Vulnerability Assessment ...

JVA-122. Secure Java Web Development

ACS-3921/ Computer Security And Privacy Lecture Note 8 October 28 th 2015 Chapter 9 Firewalls and Intrusion Prevention Systems

The purpose of this report is to educate our prospective clients about capabilities of Hackers Locked.

Sitefinity Security and Best Practices

Network Security Audit. Vulnerability Assessment (VA)

Comparison of Secure Development Frameworks for Korean e- Government Systems

Criteria for web application security check. Version

Ruby on Rails Secure Coding Recommendations

Kenna Platform Security. A technical overview of the comprehensive security measures Kenna uses to protect your data

Smartphones (Android) in Wars: Software Assurance Challenges

TECHNICAL AUDITS FOR CERTIFYING EUROPEAN CITIZEN COLLECTION SYSTEMS

Creating Stronger, Safer, Web Facing Code. JPL IT Security Mary Rivera June 17, 2011

WhiteHat Security White Paper. Top 11 PCI DSS 3.0 Changes That Will Affect Your Application Security Program

Coverity Scan. Big Data Spotlight

Overview of the Penetration Test Implementation and Service. Peter Kanters

Juniper Networks Secure

Computer Security. Draft Exam with Answers

Check list for web developers

Out of the Fire - Adding Layers of Protection When Deploying Oracle EBS to the Internet

Web Application Vulnerability Testing with Nessus

WEB SECURITY CONCERNS THAT WEB VULNERABILITY SCANNING CAN IDENTIFY

Software & Supply Chain Assurance: Mitigating Risks Attributable to Exploitable ICT / Software Products and Processes

ASP.NET MVC Secure Coding 4-Day hands on Course. Course Syllabus

EC-Council CAST CENTER FOR ADVANCED SECURITY TRAINING. CAST 619 Advanced SQLi Attacks and Countermeasures. Make The Difference CAST.

Integrating Security Testing into Quality Control

WHITE PAPER FORTIWEB WEB APPLICATION FIREWALL. Ensuring Compliance for PCI DSS 6.5 and 6.6

Using Static Code Analysis Tools for Detection of Security Vulnerabilities

ArcGIS Server Security Threats & Best Practices David Cordes Michael Young

Last update: February 23, 2004

CISQ Specifications for Automated Quality Characteristic Measures

Web Application Hacking (Penetration Testing) 5-day Hands-On Course

Information Security. Training

Web Application Guidelines

Static Analysis Tool Exposition (SATE) 2008

White Paper. Guide to PCI Application Security Compliance for Merchants and Service Providers

D. Best Practices D.1. Assurance The 5 th A

Transcription:

Försvarets Materielverk/CSEC 2008 Document ID CB-039 Issue 0.4 More Repeatable Vulnerability Assessment An introduction Helén Svensson 1

Section Agenda Background Introduction to the following aspects CVE/CWE/CAPEC CWE/SANS TOP 25 ISO technical paper on Vulnerability Analysis How to apply the above aspects in the scheme Education Guidelines Expectations on evaluators Expectations on developers Questions? 2

Background CSEC vill skapa verktyg för Enhetligt arbetssätt kring sårbarhetsanalyser Gemensam grund för kompetensutveckling Flera länder tittar på att nytta CVE/CWE/CAPEC vid framtagning av PP Dagens presentation visar ett möjligt sätt att använda CVE/CWE/CAPEC som ett verktyg för sårbarhetsanalys och gemensam grund för kompetensutveckling Denna presentation är food-for-thought - CSEC har inte något krav på att ITSEF ändrar arbetssätt baserat på denna presentation Ska ses som information och diskussionsunderlag 3

CVE Common Vulnerabilities and Exposures Goals: Uniquely naming every publicly known information security vulnerability and exposure. Injecting CVE names into security and vendor advisories. Establishing CVE usage in information security products as common practice. Having CVE usage permeate policy guidelines about methodologies and purchasing, included as requirements for new capabilities, and introducing CVE into training, education, and best practices suggestions. Convincing commercial software developers to use CVE names in their fix-it sites and update mechanisms. 4

CVE Identifiers Each CVE Identifier includes: CVE Identifier number (i.e., "CVE-1999-0067"). Indication of "entry" or "candidate" status. Brief description of the security vulnerability or exposure. Any pertinent references (i.e., vulnerability reports and advisories or OVAL-ID). 5

Today CVE: Is the industry standard for vulnerability and exposure names Provides a common language for security products and services Provides a baseline for evaluating the coverage of tools and services Result: better coverage, easier interoperability, enhanced security. 6

CWE Common Weakness Enumeration Launched March 2006 with Draft 1 Establishes acceptable definitions and descriptions of these common weaknesses Objective: help shape and mature the code security assessment industry and also dramatically accelerate the use and utility of software assurance capabilities for organizations in reviewing the software systems they acquire or develop. Result: A common language for describing weaknesses A standard measuring stick for tools targeting these vulnerabilities A baseline standard for weakness identification, mitigation and prevention efforts 7

CWE Structure Description Alternate terms Time of introduction Applicable platforms Common consequences Likelihood of exploit Enabling Factors for Exploitation Detection Methods Demonstrative Examples Observed Examples (CVEs) Potential Mitigations Background Details Weakness Ordinalities Relationships Causal Nature Taxonomy Mappings Related Attack Patterns (CAPECs) References Content History 8

CWE/SANS Top 25 1(2) Top 25 Most Dangerous Software Errors CWE-89 Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection') CWE-78 Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection') CWE-120 Buffer Copy without Checking Size of Input ('Classic Buffer Overflow') CWE-79 Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting') CWE-306 Missing Authentication for Critical Function CWE-862 Missing Authorization CWE-798 Use of Hard-coded Credentials CWE-311 Missing Encryption of Sensitive Data CWE-434 Unrestricted Upload of File with Dangerous Type CWE-807 Reliance on Untrusted Inputs in a Security Decision CWE-250 Execution with Unnecessary Privileges CWE-352 Cross-Site Request Forgery (CSRF) 9

CWE/SANS Top 25 2(2) CWE-22 Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal') CWE-494 Download of Code Without Integrity Check CWE-863 Incorrect Authorization CWE-829 Inclusion of Functionality from Untrusted Control Sphere CWE-732 Incorrect Permission Assignment for Critical Resource CWE-676 Use of Potentially Dangerous Function CWE-327 Use of a Broken or Risky Cryptographic Algorithm CWE-131 Incorrect Calculation of Buffer Size CWE-307 Improper Restriction of Excessive Authentication Attempts CWE-601 URL Redirection to Untrusted Site ('Open Redirect') CWE-134 Uncontrolled Format String CWE-190 Integer Overflow or Wraparound CWE-759 Use of a One-Way Hash without a Salt 10

CWE/SANS 16 "On the Cusp" weaknesses Weaknesses that almost made it to the CWE/SANS TOP25 CWE-770: Allocation of Resources Without Limits or Throttling CWE-129: Improper Validation of Array Index CWE-754: Improper Check for Unusual or Exceptional Conditions CWE-805: Buffer Access with Incorrect Length Value CWE-838: Inappropriate Encoding for Output Context CWE-330: Use of Insufficiently Random Values CWE-822: Untrusted Pointer Dereference CWE-362: Concurrent Execution using Shared Resource with Improper Synchronization ('Race Condition') CWE-212: Improper Cross-boundary Removal of Sensitive Data CWE-681: Incorrect Conversion between Numeric Types CWE-476: NULL Pointer Dereference CWE-841: Improper Enforcement of Behavioral Workflow CWE-772: Missing Release of Resource after Effective Lifetime CWE-209: Information Exposure Through an Error Message CWE-825: Expired Pointer Dereference CWE-456: Missing Initialization 11

Top 25 CWE Details Summary 12

Top 25 CWE Details Prevention and Mitigations 13

Top 25 CWE Details Related CWEs Related CAPECs 14

CAPEC Common Attack Pattern Enumeration and Classification Developed by MITRE Initial release March/April 2007 Goal: Representing the attacker s perspective in a formalized and constructive way to provide expert-level understanding and guidance to software development personnel of all levels as to how their software is likely to be attacked, and thereby equip them to build more secure software List of patterns employed by attackers when compromising systems Generated from in-depth analysis of specific real-world exploit examples 15

CAPEC Structure Through analysis of observed exploits, the following typical information is captured for each attack pattern: Identifying Information Pattern ID Pattern name Describing Information Description Related weaknesses Related vulnerabilities Methods of attack Examples instances References Prescribing Information Solutions and mitigations 16

CAPEC Structure Scoping and Delimiting Information Typical Severity Typical Likelihood of Exploit Attack Prerequisites Attacker Skill or Knowledge Required Resources Required Attack Motivation-Consequences Context Description Purpose CIA Impact Technical Context Keywords Pattern Abstraction Level Administrative Information Source 17

CAPEC Structure Supporting Schema Elements Describing Information Injection Vector Payload Activation Zone Payload Activation Impact Diagnosing Information Probing Techniques Indicators-Warnings of Attack Obfuscation Techniques Enhancing Information Related Attack Patterns Relevant Security Requirements Relevant Design Patterns Relevant Security Patterns Related Security Principles Related Guidelines 18

Refining software vulnerability analysis under ISO/IEC 15408 and ISO/IEC 18045 Technical report covering vulnerability assessment based on CWE and CAPEC Usage in conjunction with and as an addendum to CC Does not intend to satisfy the full range of requirements under the AVA_VAN family Does not intend to restrict the activities performed by evaluators (Intend to provide a minimal baseline of AVA_VAN evaluation) Current status Draft technical report Currently undergoing a 3-month DTR ballot P-members of JTC 1 and SC 27 are requested to submit their votes by 2012-05-01 Is on the agenda for the ISO/IEC SC27 meetings in Stockholm in May 19

Refining software vulnerability analysis under ISO/IEC 15408 and ISO/IEC 18045 Syfte add refinement and clarification of the Potential vulnerability identification from public sources (AVA_VAN.1.2E/2.2E/3.2E/4.2E) and Penetration testing (AVA_VAN.1.3E/2.4E/3.4E/4.4E) evaluator actions to objectively search for, identify, filter and test potential vulnerabilities utilizing international ad hoc standard resources for software weaknesses and attack patterns. The set of relevant software weaknesses and attack patterns identified through this guidance represent a minimal set for analysis under the AVA_VAN assurance family in an ISO/IEC 15408 evaluation. Additional weaknesses and attack patterns may be determined relevan relevant weaknesses and attack patterns identified and tested for during development can provide an head start template for a TOE-specific set of relevant weaknesses and attack patterns for use in the security evaluation 20

Existing structured assurance cases assurance case structured set of claims, arguments and a corresponding body of evidence to demonstrate that a system satisfies specific claims with respect to its security properties If a structured assurance case exists for the TOE then the CWEs and CAPECs identified in the structured assurance case should be considered the relevant set for the IT security evaluation. If multiple structured assurance cases exists for the TOE then the CWEs and CAPECs identified in the most TOEspecific structured assurance case should be considered the relevant set for the IT security evaluation. 21

Identify relevant weaknesses and attack patterns from public sources Identify initial set This is performed using CWE and CAPEC to enumerate a very broad set of software weaknesses and attack patterns that may be relevant across a wide range of TOE contexts. Filter initial set To bound the set of potential vulnerabilities to a reasonable scope for the IT security evaluation, the initial set of potentially relevant weaknesses and attack patterns identified 22

Initial set - CWE CWE weaknesses where the following criteria are all true: CWE weaknesses with a minimum adequate level of defined detail: Weakness_Abstraction is defined and equal to "Base" or "Variant" Applicable_Platforms is defined Detection_Methods is defined Related_Attack_Patterns is defined CWE weaknesses whose technical context factors are relevant to the TOE and its operational environment Ensure that the initial set contains CWE weaknesses that are identifiable from TOE-relevant CVE vulnerabilities. 23

Initial set - CAPEC CAPEC attack patterns where the following criteria are all true: CAPEC attack patterns with a minimum adequate level of defined detail: Pattern_Completeness is defined and equal to "Complete" Pattern_Abstraction is defined and equal to "Standard" or "Detailed" Attack_Execution_Flow is defined Technical_Context is defined Related_Weaknesses is defined CAPEC attack patterns whose technical context factors are relevant to the TOE and its operational environment Check the initial set for any CAPEC entries referenced by identified CWEs but not in the initial set and the revers. If found, consider to include them in the initial set. 24

Filter initial set Filter relevant weaknesses Filter out CWE weaknesses which do not contain Detection_Method schema elements specifying automated or black box forms of analysis. Filter out CWE weaknesses which are not relevant due to measures in the operational environment, either IT or non-it, preventing exploitation of the potential vulnerability in that operational environment. The evaluator must clearly record the specific reasoning involved for each weakness excluded. 25

Filter initial set Filter relevant attack patterns Filter out CAPEC attack patterns whose intent and nature of impact are not relevant to the security sensitivity and critical security properties of the TOE. Filter out CAPEC attack patterns which are not relevant due to measures in the operational environment, either IT or non-it, preventing effective implementation of the attack pattern in that operational environment. The evaluator must clearly record the specific reasoning involved for each attack pattern excluded. 26

Penetration testing Documentation of the test cases identification of the weakness (CWE) that the TOE is being tested for identification of the attack pattern (CAPEC) the test case is instantiating the detailed attack execution flow being carried out in the test case 27

Possible usage of CWE in the scheme: Education CWE/SANS TOP 25 Goal the evaluator shall be able to explain in detail how the 25 CWEs works for example how they are introduced the environment in which they are relevant How they are exploited by an attacker how they can be identified during the evaluation self-study A test will be provided by CSEC 28

Guideline - effective vulnerability assessment A guideline is under development ISO technical paper on Vulnerability Analysis CWE/CAPEC should be used during the evaluation Use of other relevant sources for Vulnerability Analysis CVE should be used Product specific sources of information should be used when applicable, examples: www.openssl.org, www.openssh.org, openldap.org Will contain examples to illustrate the use of CVE/CWE/CAPEC and other sources The evaluator shall take the guideline into account during AVA-VAN The certifier will use the guideline as part of the Technical oversight 29

Expectations on Evaluators Continually work on the ability to perform vulnerability analysis Understand the weaknesses described in CWE/SANS TOPS 25 Preferably also understand the weaknesses described in CWE/SANS 16 "On the Cusp" Also use other sources for information about weaknesses Use relevant public sources during evaluations to identify potential vulnerabilities the guideline - effective vulnerability assessment will be a starting point for this 30

Developers Awarenes of the weakensses and vulnerabilitis that could be introduces during a products life cycle is essential when developing a secure product CWE/CAPEC and the other sources can be usefull to the developers during Education of the developers Design Implemenation Testing: Use CWE as a checklist Find related weaknesses that might be present as well Links to attack vectors (CAPECs), aka how to attack Can be used as a metric for reporting found vulnerabilities 31

Questions? 32