Software Security Touchpoint: Architectural Risk Analysis



Similar documents
Development Processes (Lecture outline)

Cyber Security: Software Risk Management for Utilities

Scaling a Software Security Initiative: Lessons from the BSIMM

Software Security Testing: Seeking security in an insecure world

Attack Trends software security? Gary McGraw, Ph.D. Chief Technology Officer, Cigital Cigital

Security Testing. How security testing is different Types of security attacks Threat modelling

Microsoft STRIDE (six) threat categories

Web application testing

Secure Programming Lecture 9: Secure Development

In Building Security In, Gary McGraw proposes three pillars to use throughout the lifecycle: I: Applied Risk Management

Threat Modeling. Frank Piessens ) KATHOLIEKE UNIVERSITEIT LEUVEN

How to Build a Trusted Application. John Dickson, CISSP

Threat Modeling. Categorizing the nature and severity of system vulnerabilities. John B. Dickson, CISSP

Reviewing Code for Security. John Steven Senior Director Advanced Technology Consulting Cigital Inc.

Web Application Security

Introduction to Web Application Security. Microsoft CSO Roundtable Houston, TX. September 13 th, 2006

Application Code Development Standards

Passing PCI Compliance How to Address the Application Security Mandates

What is Web Security? Motivation

How to start a software security initiative within your organization: a maturity based and metrics driven approach OWASP

Mobile Application Threat Analysis

Application Security Testing

Risk Based Security Testing

Cutting Edge Practices for Secure Software Engineering

Building Security into the Software Life Cycle

Course Modules for Software Security

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

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

Integrating Web Application Security into the IT Curriculum

8070.S000 Application Security

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

IJMIE Volume 2, Issue 9 ISSN:

Developing Secure Software, assignment 1

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

(WAPT) Web Application Penetration Testing

Integrating Web Application Security into the IT Curriculum

Entire contents 2011 Praetorian. All rights reserved. Information Security Provider and Research Center

90% of data breaches are caused by software vulnerabilities.

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

Rational AppScan & Ounce Products

elearning for Secure Application Development

Protect Your Organization With the Certification That Maps to a Master s-level Education in Software Assurance

Sitefinity Security and Best Practices

Threat Modeling. 1. Some Common Definition (RFC 2828)

Exploiting Online Games: Cheating massively distributed systems

Threat Modeling: The Art of Identifying, Assessing, and Mitigating security threats

Threat Modelling (Web)Apps Myths and Best Practices OWASP The OWASP Foundation Matthias Rohr

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

Software Security. Building Security In. Gary McGraw. A Addison-Wesley

A PRACTICAL APPROACH TO INCLUDE SECURITY IN SOFTWARE DEVELOPMENT

KEN VAN WYK. Fundamentals of Secure Coding and how to break Software MARCH 19-23, 2007 RESIDENZA DI RIPETTA - VIA DI RIPETTA, 231 ROME (ITALY)

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

Strategic Information Security. Attacking and Defending Web Services

Network Test Labs (NTL) Software Testing Services for igaming

Web App Security Audit Services

WEB SECURITY CONCERNS THAT WEB VULNERABILITY SCANNING CAN IDENTIFY

Network Security Audit. Vulnerability Assessment (VA)

Chapter 1 Web Application (In)security 1

Web Application Security

External Supplier Control Requirements

Secure Code Development

Integrating Security into the Application Development Process. Jerod Brennen, CISSP CTO & Principal Security Consultant, Jacadis

SAFECode Security Development Lifecycle (SDL)

The introduction covers the recent changes is security threats and the effect those changes have on how we protect systems.

OWASP AND APPLICATION SECURITY

The Top Web Application Attacks: Are you vulnerable?

ensuring security the way how we do it

Application Security: What Does it Take to Build and Test a Trusted App? John Dickson, CISSP Denim Group

Open Source Security Study How Are Open Source Development Communities Embracing Security Best Practices?

Web Application Report

3. Broken Account and Session Management. 4. Cross-Site Scripting (XSS) Flaws. Web browsers execute code sent from websites. Account Management

Software Development: The Next Security Frontier

Don t Get Burned! Are you Leaving your Critical Applications Defenseless?

Securing Your Web Application against security vulnerabilities. Ong Khai Wei, IT Specialist, Development Tools (Rational) IBM Software Group

OWASP Top Ten Tools and Tactics

Adobe Systems Incorporated

OWASP Cornucopia. Ecommerce Website Edition. The OWASP Foundation. OWASP London 3rd June 2013

Threat Modeling for Secure Embedded Software

ArcGIS Server Security Threats & Best Practices David Cordes Michael Young

Homeland Security Red Teaming

Barracuda Web Site Firewall Ensures PCI DSS Compliance

Software Application Control and SDLC

Web Application Security

Building & Measuring Security in Web Applications. Fabio Cerullo Cycubix Limited 30 May Belfast

DEVELOPING SECURE SOFTWARE

Integrating Tools Into the SDLC

Columbia University Web Security Standards and Practices. Objective and Scope

Integrating Security Testing into Quality Control

Transcription:

Software Security Touchpoint: Architectural Risk Analysis Gary McGraw, Ph.D. Chief Technology Officer, Cigital

Founded in 1992 to provide software security and software quality professional services Recognized experts in software security and software quality Widely published in books, white papers, and articles Industry thought leaders Cigital

ARA in Context: State of the Practice

A shift from philosophy to HOW TO Integrating best practices into large organizations Microsoft s SDL Cigital s touchpoints OWASP adopts CLASP

What works: BSIMM Building Security In Maturity Model Real data from real initiatives

IMPLEMENTATION BUGS Buffer overflow String format One-stage attacks Race conditions TOCTOU (time of check to time of use) Unsafe environment variables Unsafe system calls Cross-site scripting SQL injection Two kinds of security defects ARCHITECTURAL FLAWS Misuse of cryptography Compartmentalization problems in design Privileged block protection failure (DoPrivilege()) Catastrophic security failure (fragility) Type safety confusion error Insecure auditing Broken or illogical access control (RBAC over tiers) Method over-riding problems (subclass issues) Signing too much code 50% 50%

The bugs/flaws continuum gets() attacker in the middle BUGS FLAWS Commercial SCA tools: Fortify, Ounce Labs, Coverity Open source tools: ITS4, RATS, grep() Architectural risk analysis Customized static rules (Fidelity)

Software security touchpoints

Architectural Risk Analysis

1. Bad metrics hurt 2. Secure-by default frameworks 3. Nobody uses WAFs 4. QA can t do software security 5. Evangelize over audit BSIMM: Ten surprising things 6. ARA is hard 7. Practitioners don t talk attacks 8. Training is advanced 9. Pen testing is diminishing 10. Fuzz testing http://www.informit.com/articles/article.aspx?p=1315431

Architectural Risk Analysis For more information, see http://www.cigital.com/services/security/ 11

Touchpoint: Architectural risk analysis Start by building a onepage overview of your system Then apply the threestep process Attack resistance Ambiguity analysis Weakness analysis

Step one: get an architecture Forrest level view Up out of the code Widespread use of common components helps (but also has security impact!) Spring Hibernate Log4J OpenSSL Design patterns also help Touchpoint: Architectural risk analysis

Design diagrams need security too Deployment Descriptor Configuration data User Form request Form View Form User Creds Authentication Status User Creds Authentication Status Identity Store 14

Three steps to ARA Attack Resistance (use a CHECKLIST) Apply a list of known attacks (like STRIDE) Calculate risk-based impact Ambiguity Analysis (multiple PERSPECTIVES) Find attacks based on how the system works Expose invalid assumptions Underlying Analysis Framework Weakness Attack Resistance Analysis Ambiguity Analysis Weakness Analysis (DEPENDENCIES) Think through dependencies: toolkits and frameworks In, Over, Under, Outside 15

Attack resistance: build an attack checklist Understand known attacks Designers what controls are needed to prevent common attacks? Attackers what to try again Example: Microsoft SDL s STRIDE model Spoofing, tampering, repudiation, info disclosure, denial of service, elevation of privilege Start with common taxonomies 7 Pernicious Kingdoms; McGraw 19 Deadly Sins; Howard, LeBlanc, Viega 48 Attack Patterns; McGraw/Hoglund Common Weakness Enumeration http://cve.mitre.org/cwe 16

Attack resistance: common design elements Flag design elements that are historically vulnerable to attack Enterprise applications share many of the same design elements Distributed architecture Dynamic code generation and interpretation APIs across stateless protocols Rich Internet Applications Service-oriented Architecture 17

Example: distributed architecture risks Distributed systems are susceptible to network-based attacks Eavesdropping Tampering Spoofing Hijacking Observing Relevant Attack Patterns Interposition attacks Network sniffing Replay attacks Interposition Attack Replay Attack 18

Ambiguity analysis: model your stuff Modeling techniques help expose an application s area of potential vulnerability Multiple points of view (and sets of experience) help Trust Modeling identifies the boundaries for security policy for function and data Data Sensitivity Modeling indentifies privacy and trust issues for application data Threat Modeling identifies the attacker s perspective and areas of weakness 19

Scammer Parameter Manipulation Identity Thief Hacker User 6 Internet 5 HTML AJAX SOP Browser Messaging Paid Pages Search Profile Free Pages Sign Up Free Search Chemistry Hosting Data Center 2 Member No Authorization 4 2 3 1 Chemistry Database User Identity Verifier Identity Service Member Meyer s Briggs Personality Test Malicious Admin Application Ex: Threat modeling Threat: agents of malicious intent Asset: function and data the threat desires Point of Attack: Design element requiring hardening and/or the method of attack Thursday, 20

Internet HTML AJAX SOP Browser Messaging Paid Pages Search Profile Free Pages Sign Up Free Search Chemistry Hosting Data Center Member No Authorization Chemistry Database User Identity Verifier Identity Service Member Meyer s Briggs Personality Test Application Ex: modeling users Threats = malicious users Like users, they have capabilities within the system Threats have a goal that usually involves subverting a security control or finding a loophole in the system 21

Internet Hosting Data Center Ex: assets Scammer Identity Thief Hacker HTML AJAX SOP Browser Messaging Paid Pages Search Profile Free Pages Sign Up Free Search Member Chemistry Database User Identity Verifier Identity Service Member Meyer s Briggs Malicious Admin Application s functions Sensitive data Data controlling the application s state Users and the assets of the other systems the users access User 6 Assets of the User No Authorization Chemistry Personality Test Application 22

Scammer Parameter Manipulation Identity Thief Hacker User 6 Internet 5 HTML AJAX SOP Browser Messaging Paid Pages Search Profile Free Pages Sign Up Free Search Chemistry Hosting Data Center 2 Member No Authorization 4 2 3 1 Chemistry Database User Identity Verifier Identity Service Member Meyer s Briggs Personality Test Malicious Admin Application Ex: points of attack Associate threat and assets (determine what the attacker can do) Ponder nearest, easiest targets first Designers: place controls around assets Attackers: start with direct attacks and graduate to multistep 23

Software is built upon layers of other software Framework analysis Application Framework (Struts/Spring) Application Operating System Language Runtime Application Middleware (Application Server) What kind of flaws exist? Known vulnerabilities in open-source or product versions Weak security controls provided with the framework Framework features that must be disabled or configured to their secure form 24

Framework analysis: interfaces & contracts Place components or application relative to dependencies It is important to see the relationship of an application or component with other callers of shared code and data Identify libraries and secure library versions Show runtime in diagram where there are security implications: Framework controls VM or other security sandboxes Client-side runtime 25

Framework security controls The application environment provides controls. What are the limitations? Cryptography Example: JCA Authentication and Authorization Example: JAAS Input Validation and Output Encoding.NET validaterequest Sandboxing JavaScript Same Origin Policy 26

Combine risks and rank Take all of your findings and consider business impact Rank the findings Come up with solutions See chapter 5 of Software Security http://www.informit.com/articles/article.asp?p=446451

Code review Widespread Customized tools Training ARA Components help Apprenticeship Training Pen testing No longer solo Security testing Training Abuse cases and security requirements Training Touchpoints adoption

Where to Learn More

informit & Justice League www.informit.com No-nonsense monthly security column by Gary McGraw www.cigital.com/justiceleague In-depth thought leadership blog from the Cigital Principals Scott Matsumoto Gary McGraw Sammy Migues Craig Miller John Steven

IEEE Security & Privacy Magazine + 2 Podcasts Building Security In Software Security Best Practices column edited by John Steven www.computer.org/security/bsisub/ www.cigital.com/silverbullet www.cigital.com/realitycheck

Software Security: the book How to DO software security Best practices Tools Knowledge Cornerstone of the Addison- Wesley Software Security Series www.swsec.com

Cigital s Software Security Group invents and delivers Software Quality Management For more WE NEED GREAT PEOPLE See the Addison-Wesley Software Security series Send e-mail: gem@cigital.com So now, when we face a choice between adding features and resolving security issues, we need to choose security. -Bill Gates