Cassio Goldschmidt June 29 th, 2009. Introduction 2.

29
Tracking the Progress of an SDL Program Lessons from the Gym Cassio Goldschmidt June 29 th , 2009

Transcript of Cassio Goldschmidt June 29 th, 2009. Introduction 2.

Page 1: Cassio Goldschmidt June 29 th, 2009. Introduction 2.

Tracking the Progress of an SDL Program

Lessons from the GymCassio Goldschmidt

June 29th, 2009

Page 2: Cassio Goldschmidt June 29 th, 2009. Introduction 2.

2

Introduction

Page 3: Cassio Goldschmidt June 29 th, 2009. Introduction 2.

3

Who am I?

Cassio Goldschmidt– Sr. Manager, Product Security

– Chapter Leader, OWASP Los Angeles

• Education– MBA, USC

– MS Software Engineering, SCU

– BS Computer Science, PUCRS

– Certified Software Sec. Lifecycle Professional – CSSLP, (ISC)2

• When I’m not in the office…– Volleyball (Indoor, Beach)

– Coding

– Gym…

Page 4: Cassio Goldschmidt June 29 th, 2009. Introduction 2.

4

Typical Project Lifecycle

DESIGN CODE TEST SUPPORT

Page 5: Cassio Goldschmidt June 29 th, 2009. Introduction 2.

5

How your workout looks like

Exercise: Pile Squat

Repetitions: 35

Weight: 20 lbs

May 13th Workout

Exercise: Barbell Squat

Repetitions: 35

Weight: 150 lbs

Exercise: Rev. Curl

Repetitions: 20

Weight: 25 lbs

Page 6: Cassio Goldschmidt June 29 th, 2009. Introduction 2.

6

How your METRICS should look like

Exercise: Pile Squat

Repetitions: 35

Weight: 20 lbsMay 13

th Sec. Metrics

Exercise: Barbell Squat

Repetitions: 35

Weight: 150 lbs

Exercise: Rev. Curl

Repetitions: 20

Weight: 25 lbs

Exercise type:CWE

Page 7: Cassio Goldschmidt June 29 th, 2009. Introduction 2.

7

How your METRICS should look like

CWE: 79 - XSS

Repetitions: 35

Weight: 20 lbsMay 13

th Sec. Metrics

Exercise: Barbell Squat

Repetitions: 35

Weight: 150 lbs

Exercise: Rev. Curl

Repetitions: 20

Weight: 25 lbs

Number of Reps:Number of Findings

Page 8: Cassio Goldschmidt June 29 th, 2009. Introduction 2.

8

How your METRICS should look like

CWE: 79 - XSS

Findings: 10

Weight: 20 lbsMay 13

th Sec. Metrics

Exercise: Barbell Squat

Repetitions: 35

Weight: 150 lbs

Exercise: Rev. Curl

Repetitions: 20

Weight: 25 lbs

Exercise Intensity:CVSS

Page 9: Cassio Goldschmidt June 29 th, 2009. Introduction 2.

9

How your METRICS should look like

CWE: 20 – Input Val

Findings: 1

CVSS: 8.6

May 13th Sec. Metrics

CWE: 79 - XSS

Findings: 3

CVSS:

CWE: 314

Findings: 1

CVSS: 2.3

DESIGN

Threat Model

TEST

Pen Test

Support

Vul. Mgmt

Page 10: Cassio Goldschmidt June 29 th, 2009. Introduction 2.

Common Weakness Enumeration

Page 11: Cassio Goldschmidt June 29 th, 2009. Introduction 2.

11

Common Weakness EnumerationWhat is it?

• A common language for describing software security weaknesses

• Maintained by the MITRE Corporation with support from the National Cyber Security Division (DHS).

• Hierarchical– Each individual CWE represents a single vulnerability type

– Deeper levels of the tree provide a finer granularity

– Higher levels provide a broad overview of a vulnerability

Page 12: Cassio Goldschmidt June 29 th, 2009. Introduction 2.

12

Common Weakness EnumerationPortion of CWE structure

Page 13: Cassio Goldschmidt June 29 th, 2009. Introduction 2.

13

Common Weakness EnumerationWhat data is available for each CWE?

• Weakness description• Applicable platforms and programming languages• Common Consequences• Likelihood of Exploit• Coding Examples• Potential Mitigations• Related Attacks• Time of Introduction• Taxonomy Mapping

Link to CWE Page on XSS

Page 14: Cassio Goldschmidt June 29 th, 2009. Introduction 2.

14

Common Weakness Enumeration How useful is this information?

Pie Chart showing the frequency of CWEsfound in penetration tests

Page 15: Cassio Goldschmidt June 29 th, 2009. Introduction 2.

Common Vulnerability Scoring System

Page 16: Cassio Goldschmidt June 29 th, 2009. Introduction 2.

16

• Objective (and “perfect enough”) metric• A universal way to convey vulnerability severity

– Can be used for competitive analysis

• CVSS score ranges between 0.0 and 10.0– Can be expressed as high, medium, low as well

• Composed of 3 vectors– Base

• Represents general vulnerability severity: Intrinsic and immutable

– Temporal• Time-dependent qualities of a vulnerability

– Environmental• Qualities of a vulnerability specific to a particular IT environment

Common Vulnerability Scoring System (CVSS)What is it?

Page 17: Cassio Goldschmidt June 29 th, 2009. Introduction 2.

17

Common Vulnerability Scoring System (CVSS)BASE Vector

Access Vector

Access Complexity

Authenti…

Network High None

Adjacent Network

Medium Single Instance

Local Low Mult. Instances

Undefined Undefined Undefined

Confident… Integrity Availability

None None None

Partial Partial Partial

Complete Complete Complete

Undefined Undefined Undefined

Exploitability Impact

• Sample Score: 7.5• Sample Vector: (AV:N/AC:L/Au:N/C:P/I:P/A:P)• Every CVSS score should be accompanied by the

corresponding vector

Page 18: Cassio Goldschmidt June 29 th, 2009. Introduction 2.

18

Common Vulnerability Scoring System (CVSS)The Calculator

Page 19: Cassio Goldschmidt June 29 th, 2009. Introduction 2.

Training and Metrics.

Page 20: Cassio Goldschmidt June 29 th, 2009. Introduction 2.

20

Training and MetricsA special activity in the SDL

• Security training is what food is to a workout• Same workout metrics do not apply• Quality of your intake affects overall performance• Staff needs ongoing training

Page 21: Cassio Goldschmidt June 29 th, 2009. Introduction 2.

21

Training and Metrics Security Learning Process

Page 22: Cassio Goldschmidt June 29 th, 2009. Introduction 2.

22

Training and Metrics Security Learning ProcessUnderstand who is the audience

• Previous knowledge about secure coding and secure testing

• Programming languages in use• Supported platforms• Type of product

Page 23: Cassio Goldschmidt June 29 th, 2009. Introduction 2.

23

Training and Metrics Security Learning Process

Train everyone involved in the SDL• Developers: Secure Coding, Threat Model• QA: Security Testing, Tools• Managers: Secure Development Lifecycle (also known as Symmunize)

Page 24: Cassio Goldschmidt June 29 th, 2009. Introduction 2.

24

Training and Metrics Security Learning ProcessQuality Assurance - Capture the flag

• Use Beta software• Approximately 3 hours long• Top 3 finders receive prizes and are invited

to explain what techniques and tools they used to find the vulnerabilities to the rest of the group

Page 25: Cassio Goldschmidt June 29 th, 2009. Introduction 2.

25

Training and Metrics Security Learning Process Pos Class Survey

• Anonymous• Metrics

• Class content • Instructor knowledge • Exercises

Page 26: Cassio Goldschmidt June 29 th, 2009. Introduction 2.

26

Training and Metrics Security awareness is more than training

Knowledge Sharing Activities

Tech Exchanges

Cutting Edge

CTO Newsletter Articles

Page 27: Cassio Goldschmidt June 29 th, 2009. Introduction 2.

Conclusions and final thoughts

Page 28: Cassio Goldschmidt June 29 th, 2009. Introduction 2.

28

Why This Approach Makes Sense?

DESIGN CODE TEST SUPPORT

• Compare Apples to Apples• Quantify results in a meaningful way to “C” executives

– Past results can be used to explain impact of new findings

– Can be simplified to a number from 1-10 or semaphore (green, yellow and red).

– Can be used for competitive analysis• Harder to game CVSS• CWE can be easily mapped to different taxonomies

Page 29: Cassio Goldschmidt June 29 th, 2009. Introduction 2.

Copyright © 2007 Symantec Corporation. All rights reserved.  Symantec and the Symantec Logo are trademarks or registered trademarks of Symantec Corporation or its affiliates in the U.S. and other countries.  Other names may be trademarks of their respective owners.This document is provided for informational purposes only and is not intended as advertising.  All warranties relating to the information in this document, either express or implied, are disclaimed to the maximum extent allowed by law.  The information in this document is subject to change without notice.

Thank You!

Cassio Goldschmidt

[email protected]

[email protected]