understanding software vulnerabilities

17
UNDERSTANDING YOUR SOFTWARE VULNERABILITIES From Identification to Verification to Remediation (Part 2 in our 3-part series)

Upload: thomas-bain

Post on 19-Jun-2015

131 views

Category:

Documents


0 download

DESCRIPTION

This deck was presented during a webinar session yesterday by Joe Basirico, VP, Security Services with Security Innovation. I built it to: build on use cases presented in pt 1 session; present a five-step best practices approach to determining how you prioritize your software testing strategy; and then how you map SI's TeamMentor product to remediating vulnerable code with the prescriptive guidance and code snippets that ship as part of the content libraries in TeamMentor.

TRANSCRIPT

Page 1: Understanding Software Vulnerabilities

UNDERSTANDING YOUR SOFTWARE VULNERABILITIESFrom Identification to Verification to Remediation

(Part 2 in our 3-part series)

Page 2: Understanding Software Vulnerabilities

TODAY’S PRESENTER

Joe BasiricoVP, Security ServicesSecurity Innovation

Page 3: Understanding Software Vulnerabilities

TODAY’S AGENDA

1.Challenges organizations are facing in identifying, verifying and fixing vulnerable software code.

2.Four defined use cases - where does your organization fit in?

3.Five key best practices you should consider in determining your approach.

4.Practical demonstration:

‣ A series of simulated tests‣ Measuring the impact of those results

‣ Interpreting test results

‣ Correlation of results through TeamMentor for remediation

Development and Security teams are looking for a better process to fix software vulnerabilities.

Page 4: Understanding Software Vulnerabilities

WHO WE AREApplication Security Experts• 10+ Years vulnerability research • Security Testing Methodology adopted by

SAP, Microsoft, Symantec• Authors of 8+ books

Products and Services• Standards - Best Practices• Education - CBT & Instructor-Led• Assessment - Software and SDLC

Reducing Application Security Risk• Critical Vulnerability Discovery• Secure SDLC Rollout• Internal Competency Development

Page 5: Understanding Software Vulnerabilities

OUR APPROACH• Standards: Create security

policies, align dev activities with standards and compliance requirements, fix vulnerabilities.

• Education: Create internal expertise through eLearning, Instructor-led and virtual classroom training.

• Assessment: Assess software apps against online and other threats and recommend remediation techniques.

Page 6: Understanding Software Vulnerabilities

COMMON USE CASES1.Development teams don’t know

where to go for best practices guidance on software vulnerabilities.

2.There’s a need to communicate and share intelligence around specific vulnerabilities with your team.

3.Teams need to fix vulnerabilities and map to internal policies.

4.There’s a market need for making more sense of static analysis results to get to full-circle remediation.

Page 7: Understanding Software Vulnerabilities

WHERE CAN DEVELOPERS GO FOR THE GUIDANCE THEY NEED?

• A software vulnerability has been identified.

• You need to verify it and need more information about it.

• What do you do, and where do you go for guidance?

Use Case 1- Security Team

Page 8: Understanding Software Vulnerabilities

HOW CAN YOU SHARE THE INFORMATION?

Use Case 1I - Security Team

• You’ve verified a software vulnerability.

• You need to communicate the details of that vulnerability or set of vulnerabilities to your team.

• How is this accomplished most effectively?

Page 9: Understanding Software Vulnerabilities

INTEGRATING WITH WHAT YOU ALREADY HAVE

Use Case III - Development Team

• You’ve verified a given vulnerability, and can now prioritize it.

• You have knowledge internally, or security policies you need to map to.

• How can I do this in a streamlined way?

Page 10: Understanding Software Vulnerabilities

DOING MORE WITH YOUR TEST RESULTS

Use Case IV - Development Team with Tools

• The tool reports findings.

• You need to make more sense of the results.

• The findings point to guidance specific to the findings.

• Fix what you’ve found. Re-scan.

Page 11: Understanding Software Vulnerabilities

DETERMINE YOUR RISK TOLERANCEUnderstand your level of risk first. Determine your apps second.

• Take an inventory of your high-risk applications.

• Determine the business criticality of those applications.

• What’s your attack probability and how do you define your attack surface?

• Consider the overall business impact, security threats and compliance mandates.

• Rank your applications accordingly.• Start thinking about the most effective set of testing tools.

Page 12: Understanding Software Vulnerabilities

DEFINE DATA AND APPLICATIONSClassify your data relative to sensitivity, usage and risk metrics.

Then prioritize your applications.

• How sensitive is your data in a given application(s)?

• Does that data pertain to internal mandates or federal regulations?

• Threat modeling can determine threats, attacks, and the frequency and severity they are executed with.

• Rank and prioritize your applications accordingly.

• Compile the most effective set of testing tools.

Page 13: Understanding Software Vulnerabilities

PRIORITIZE YOUR APPLICATIONSRank your applications using a formulaic approach to measuring risk.

Threat Rating

Sensitive Data

Lifespan Compliance Stringency

Customer-Facing

Tier 1 Restricted Long High Yes

Tier 2 Private Mid Medium Yes

Tier 3 Public Short N/A No

Application Criteria

Page 14: Understanding Software Vulnerabilities

MAP ACTIVITY TO YOUR CRITERIAImplement your security testing strategy.

Depth, Breadth, Frequency

Threat Rating

Static Analysis

Dynamic Analysis

Manual Pen Test

Threat Modeling

Complete/Frequency

Complete/Frequency

Complete/Frequency

Complete/Frequency

Tier 1Required/Major code changes

Required/Major code changes

Required/Per Milestone

Required/Per Release

Tier 2Suggested/Monthly

Required/Quarterly

Required/Per Release

Suggested/Per Release

Tier 3Optional/Quarterly

Required/Annually

Optional/As Needed

Optional/As Needed

Page 15: Understanding Software Vulnerabilities

SELECT YOUR TOOLSSelecting your tool(s) should be the final step before you start testing.

• Apply your rankings to your tools selection.

• Determine your combination of automated vs manual tools. - Consider how many applications, how much code and time-to-result.

- Do you need them to run on their own, or are they better used for a singular, manual purpose?

- Assume that automated tools cannot target business logic attacks.

• Interpret your scan results with remediation in mind

Page 16: Understanding Software Vulnerabilities

SECURE DEVELOPMENT GUIDANCEA Real-Time In-Practice Companion Containing 4500+ Articles

of Prescriptive Guidance and Code

Page 17: Understanding Software Vulnerabilities

• Full set of guidance libraries (4500+ articles)• Single user, cloud instance, business unit, and enterprise-wide

pricing available• Partner organization licensing• Contact us: [email protected]

TRY TEAMMENTOR TODAY!

• OWASP Guidance Library (Creative Commons content)• Install locally or use web version• Watch a video: http://bit.ly/Vra3OS • Download it: https://teammentor.net/

Evaluation Version:

Enterprise and Partner Versions: