Secure Development Lifecycle. Eoin Keary & Jim Manico



Similar documents
! Resident of Kauai, Hawaii

Microsoft SDL: Agile Development

Secure Development LifeCycles (SDLC)

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

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

Adobe Systems Incorporated

Building Security into the Software Life Cycle

Application Security Testing as a Foundation for Secure DevOps

Starting your Software Security Assurance Program. May 21, 2015 ITARC, Stockholm, Sweden

Effective Software Security Management

Reducing Application Vulnerabilities by Security Engineering

Black Box versus White Box: Different App Testing Strategies John B. Dickson, CISSP

MIS Systems & Infrastructure Lifecycle Management 1. Week 13 April 14, 2016

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

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

HP Application Security Center

Agile Security Successful Application Security Testing for Agile Development

Development Processes (Lecture outline)

External Supplier Control Requirements

Building a Mobile App Security Risk Management Program. Copyright 2012, Security Risk Advisors, Inc. All Rights Reserved

TECHNICAL AUDITS FOR CERTIFYING EUROPEAN CITIZEN COLLECTION SYSTEMS

Threat Modeling. Deepak Manohar

Learning objectives for today s session

Web Application security testing: who tests the test?

Integrating Application Security into the Mobile Software Development Lifecycle. WhiteHat Security Paper

ASSURING SOFTWARE QUALITY USING VISUAL STUDIO 2010

SECURITY AND RISK MANAGEMENT

112 BSIMM Activities at a Glance

ETHICAL HACKING APPLICATIO WIRELESS110 00NETWORK APPLICATION MOBILE MOBILE0001

IBM Rational AppScan: Application security and risk management

(Instructor-led; 3 Days)

Strategic Information Security. Attacking and Defending Web Services

Threat and Vulnerability Management (TVM) Protecting IT assets through a comprehensive program. Chicago IIA/ISACA

elearning for Secure Application Development

A Strategic Approach to Web Application Security The importance of a secure software development lifecycle

The Top Web Application Attacks: Are you vulnerable?

Enterprise Application Security Program

The AppSec How-To: 10 Steps to Secure Agile Development

From Chaos to Clarity: Embedding Security into the SDLC

Application Code Development Standards

The Security Development Lifecycle

Secure Code Development

Passing PCI Compliance How to Address the Application Security Mandates

Th3 - Open Source Tools for Test Management

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

Integrating Security Testing into Quality Control

HP Fortify Application Security Lucas v. Stockhausen PreSales Manager HP Fortify EMEA Enterprise Security

Certified Information Systems Auditor (CISA)

Microsoft Security Development Lifecycle for IT. Rob Labbé Application Consulting and Engineering Services

IT Security Risk Management Model for Cloud Computing: A Need for a New Escalation Approach.

SAST, DAST and Vulnerability Assessments, = 4

Software Development: The Next Security Frontier

Web Application Security

05.0 Application Development

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

PASTA Abstract. Process for Attack S imulation & Threat Assessment Abstract. VerSprite, LLC Copyright 2013

How to Build a Trusted Application. John Dickson, CISSP

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

Turning the Battleship: How to Build Secure Software in Large Organizations. Dan Cornell May 11 th, 2006

JOB DESCRIPTION APPLICATION LEAD

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

Corporate Overview. MindPoint Group, LLC 8078 Edinburgh Drive, Springfield, VA Office: Fax:

Web Application Attacks and Countermeasures: Case Studies from Financial Systems

Securing the Cloud Infrastructure

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

ISSECO Syllabus Public Version v1.0

How to achieve PCI DSS Compliance with Checkmarx Source Code Analysis

New Zealand Company Six full time technical staff Offices in Auckland and Wellington

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

Protecting Your Organisation from Targeted Cyber Intrusion

Beyond ISO Intel's Product Security Maturity Model (PSMM)

Mean Time to Fix (MTTF) IT Risk s Dirty Little Secret Joe Krull, CPP, CISSP, IAM, CISA, A.Inst.ISP, CRISC, CIPP

Network Security Audit. Vulnerability Assessment (VA)

The Security Development Lifecycle. OWASP 24 June The OWASP Foundation

How To Protect Your Data From Attack

Big Data, Big Risk, Big Rewards. Hussein Syed

Complete Web Application Security. Phase1-Building Web Application Security into Your Development Process

ITIL. Lifecycle. ITIL Intermediate: Continual Service Improvement. Service Strategy. Service Design. Service Transition

Software Security Touchpoint: Architectural Risk Analysis

Seven Practical Steps to Delivering More Secure Software. January 2011

Application Security Audit Fault Injection Model, Fuzz Generators & Static Code Analysis. Training Brochure

Web Application Security

InfoSec Academy Application & Secure Code Track

How Microsoft runs IT. Ludwig Wilhelm CIO Central & Eastern Europe Microsoft IT

Matt Bartoldus

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

G- Cloud Specialist Cloud Services. Security and Penetration Testing. Overview

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

5 Simple Steps to Secure Database Development

Transcription:

Secure Development Lifecycle

Jim Manico @manicode OWASP Volunteer Global OWASP Board Member OWASP Cheat-Sheet Series Manager VP of Security Architecture, WhiteHat Security 16 years of web-based, database-driven software development and analysis experience Secure coding educator/author Kama'aina Resident of Kauai, Hawaii Aloha!

Security in the SCLC Essential that security is embedded in all stages of the SDLC Requirements definition Design Development Testing Implementation BE FLEXIBLE! The cost of removing an application security vulnerability during the design phase ranges from 30-60 times less than if removed during production. NIST, IBM, and Gartner Group

If you do not have a published SDLC for your organization then you will NOT be successful.

SDLC building blocks Supporting quotes and research (+) Secure Coding Guidelines (-) Secure Coding checklist (+) Non Functional Requirements (++) Static Code Analysis (+) Dynamic Code Analysis (+) Security Awareness Training (++) Threat Modeling (+/-) Application Security Risk Matrix (++) Published SDLC (++) Recommended: Center of Excellence (++)

Security in the SCLC Secure Requirements Review Secure Design Review Secure Code Review Penetration Testing Requirements Definition Design Develop Test Deploy/ Implement Maintain

Security in the SDLC Application Portfolio Analysis External Security Review Static Code Analysis Security Metrics Development Pre- Implement Risk Mgt. User Risk Analysis Design Risk Analysis Developer Training Test Reviews Application Infrastructure Management Coding Standards Development Architecture Risk Analysis Test Planning Penetration Tests Penetration Tests Business Requirements & Use Cases Design Test Plans Coding Testing Deployment & Maintenance

Security quality gates High-Level Security Risk Analysis Controls Selection Security Design Review Penetration Testing Risk-Based Security Test Plan Source Code Review Third Party Assessment GATE 1 Agreement Concept / Priority GATE 2 Agreement Project Definition GATE 3 Agreement Preliminary Design GATE 4 Agreement Approve Build Project Definition Preliminary Design Detailed Design & Development Deployment COMPANY Software Development Lifecycle (SDLC)

Agile Security Security Sprint Approach Security Sprint Approach: Dedicated sprint focusing on application security. Stories implemented are security related. Code is reviewed. Stories may include: Input validation story, Logging story, Authentication story, Authorisation and some technical risks such as XSS, SQLI etc. Every Sprint Approach Every Sprint Approach: Similar to Microsoft Security Development Lifecycle (SDL). Consists of the requirements and stories essential to security. No software should ever be released without requirements being met. Sprint is two weeks or two months long. Every security requirement in the every- Sprint category must be completed in each and every Sprint. Or the Sprint is deemed incomplete, and the software cannot be released.

Requirements Security Sprint SDL Requirements Why? Repetition not necessary Must occur at the beginning of the project Not possible at the beginning of the project Examples: Configure bug tracking system (3 months) Identify security/privacy experts (1 month) Baseline threat model (3 months) Establish a security response plan (6 months) Every-Sprint SDL Requirements Examples: Update the threat model Communicate privacy-impacting design changes to the team s privacy advisor Fix all issues identified by code analysis tools for unmanaged code Follow input validation and output encoding guidelines to defend against cross-site scripting attacks

Non-Functional Requirements (++) Most effective of all building blocks Container for other SDLC building blocks. Can include application security guidelines, secure coding checklist, security policies, etc. Effective NFRs will document the requirement *and* explain why the requirement is necessary.

Security requirements Establishing the security requirements for the application What are the key security risks within the application? Type of information application is processing Functionality Use case modelling Involve group risk and/or internal audit to avoid later conflict What are the Group standards (e.g. password lengths, security schemes), legal and regulatory security requirements? Is the project acceptable from an information security perspective and what are the key security requirements which should be deployed?

Security architecture How do the application components fit together Web server Database Underlying operating systems Middleware Interfaces with backend systems Web Server Application Server Web service endpoint Public user and customers ASP. ASP. ASP. NET NET NET ASP. ASP. Classic NET NET ASP SQL Server Web service endpoint Web service endpoint Web service endpoint ASP. ASP. ASP. NET NET NET SQL Server External organisations ASP. ASP. Visual NET NET basic Content manager File System iseries DB2 MQ Series

Deployment

Logical Zones Compartmentalise Minimise attack surface Levels of trust Defence in depth

Security design Building security into the design of the application Threat modeling has four major steps: Decomposing the application Categorizing threats Ranking threats Mitigation Designing the countermeasures to mitigate threats identified and address the security requirements Planning the security testing phase (i.e. how to test the countermeasures designed) Output is the security technical specifications and security test plans

Threat modeling (+/-) Hit or miss at most locations Can be informal process Combines nicely with NFRs Discussing NFR often leads to threat modeling discussion

Application Security Risk Matrix (++) External facing Data: Non sensitive Data: sensitive Internal facing Data: Non sensitive Data: sensitive

Development Ensuring that code is developed securely and implementing the security controls identified during the design phase Developer security awareness programs Unit testing of security features of the application Security audit and code reviews Secure coding standards Automated code review tools Independent code review by third party or IT security

Security awareness training (++) Instructor-led training Course curriculum for each job responsibility Very useful for educating on attack techniques and unexpected behavior Rewards for training

Your goal should be to provide anyone that can influence application security, e.g. project managers, development managers, application developers, server configuration, release management, QA, etc. with the training, awareness and resources they need to be successful.

Secure Coding Guidelines (-) Overlooked by developers Static and not helpful 100+ pages that can be language specific Most surprising discovery over the last 5 years *Can* be successful if collaborative/wiki format and regularly updated

Secure Coding Checklist (+) Simple 1-2 page document Useful if combined with a peer code review prior to code check-in.

Testing Ensure the application meets the security standards and security testing is performed Has the security design been implemented correctly in the application components? Execution of test plans created during the design phase Independent penetration testing, including infrastructure assessment Security release and sign off before deployment to the production environment

Why Code review The Cost of Software Bugs We cant hack ourselves secure, and if we could it would cost too much Source: Applied Software Measurement, Capers Jones, 1996

Static Code Analysis (SCA) (+) SDLC requires SCA Must be baked into acceptance criteria for code to leave the SDLC. Assurance to QA that code is ready for testing SCA can be integrated into the build process (each automated build spawns Static Code Analysis)

Dynamic Code Analysis (+) Looks for unexpected application behavior within the interface Dynamic analysis can happen multiple times during each iteration Assurance to QA that code is ready for testing Dynamic analysis can offer 24/7 monitoring Be tied to incident management process

Center of Excellence (++) COE Steering Committee COE Drivers COE Members Remove barriers between departments Positively impact change

Monitor and Tune ALL the things

Splunk

Trending and anomalies

Continuing Education Websites The Open Web Application Security Project (http://www.owasp.org) OWASP SAMM (http://www.opensamm.org) Online Documents & Books OWASP Code Review Guide & OWASP Testing Guide

Continuing Education Tools Burp suite (http://www.portswigger.net) HTTrack (http://www.httrack.com/) Webscarab(http://www.owasp.org/) Conferences OWASP (http://www.owasp.org/conferences.html) PodCasts OWASP (http://www.owasp.org/index.php/owasp_podcast) PaulDotCom (http://pauldotcom.com/podcast/)