Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP.

Slides:



Advertisements
Similar presentations
Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP.
Advertisements

QuEdge Testing Process Delivering Global Solutions.
SDL in an Agile World MSSD-3 третья по счету конференция, посвященная всестороннему обсуждению популярной и важной темы – минимизация уязвимостей программного.
Software Development Practices and Methodologies Svetlin Nakov Telerik Corporation
Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation.
Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP.
Chapter 2 Modeling the Process and Life Cycle Shari L. Pfleeger
Software Engineering CSE470: Process 15 Software Engineering Phases Definition: What? Development: How? Maintenance: Managing change Umbrella Activities:
Chapter 4 Quality Assurance in Context
29 September Interactions  There is no “right answer”  Typically people and product are fixed  … can adapt process  (which is where we will.
CS 325: Software Engineering January 13, 2015 Introduction Defining Software Engineering SWE vs. CS Software Life-Cycle Software Processes Waterfall Process.
Interoperability. What is testing? Where have we come from? Where are we now? Why is nFocus at MSAIC? Overview.
Copyright  2002, Medical Present Value, Inc. All rights reserved. Copyright © 2010 Texas Education Agency. All rights reserved. TEA confidential and proprietary.
What is Agile? Agile is a software methodology based on iterative and incremental development, where requirements and solutions evolve through collaboration.
© 2013 IBM Corporation Tivoli and Maximo Quality Improvement Initiatives March 2014.
12 November 2009 Bryan Sullivan Senior Security Program Manager, Microsoft SDL.
Alternate Software Development Methodologies
Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP.
Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the Creative Commons Attribution-ShareAlike.
Copyright © 2006 Software Quality Research Laboratory DANSE Software Quality Assurance Tom Swain Software Quality Research Laboratory University of Tennessee.
Iterative development and The Unified process
Objectives Explain the purpose and various phases of the traditional systems development life cycle (SDLC) Explain when to use an adaptive approach to.
Xtreme Programming. Software Life Cycle The activities that take place between the time software program is first conceived and the time it is finally.
Agile Testing with Testing Anywhere The road to automation need not be long.
PopMedNet Software Development Life Cycle Chayim Herzig-Marx Harvard Pilgrim Health Care Institute Daniel Dee Lincoln Peak Partners.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
CompSci 230 Software Design and Construction
Information Systems Security Computer System Life Cycle Security.
Dillon: CSE470: SE, Process1 Software Engineering Phases l Definition: What? l Development: How? l Maintenance: Managing change l Umbrella Activities:
© Blackboard, Inc. All rights reserved. Back to the Feature: An Agile, User-centric Software Development Lifecycle Cindy Barry Senior Product Manager Martha.
Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP.
Understand Application Lifecycle Management
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
Teaching material for a course in Software Project Management & Software Engineering – part II.
Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation.
Microsoft Security Development Lifecycle
IS 2620: Developing Secure Systems Jan 13, 2011 Secure Software Development Models/Methods Week 2: Lecture 2.
Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the Creative Commons Attribution-ShareAlike.
CS 3610: Software Engineering – Fall 2009 Dr. Hisham Haddad – CSIS Dept. Chapter 2 The Software Process Discussion of the Software Process: Process Framework,
Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP.
Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP.
Lecture 2 –Approaches to Systems Development Method 10/9/15 1.
Systems Analysis and Design in a Changing World, 6th Edition
Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP.
Copyright 2007 © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP.
1 Software Engineering and Security DJPS April 12, 2005 Professor Richard Sinn CMPE 297: Software Security Technologies.
Theories of Agile, Fails of Security Daniel Liber CyberArk.
WATERFALL DEVELOPMENT MODEL. Waterfall model is LINEAR development lifecycle. This means each phase must be completed before moving onto the next!!! WHAT.
Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP.
Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation.
Modelling the Process and Life Cycle. The Meaning of Process A process: a series of steps involving activities, constrains, and resources that produce.
Phoenix Scrum User Group Simplifying Scrum Online May 21 st 2009.
Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
Introduction Requirements and the Software Lifecycle (3)
Copyright 2015, Robert W. Hasker. Classic Model Gathering Requirements Specification Scenarios Sequences Design Architecture Class, state models Implementation.
AGILE PROJECT MANAGEMENT WITH TEAM FOUNDATION SERVER 2010 Brian Keller Microsoft.
What’s New in SPEED APPS 2.3 ? Business Excellence Application Services.
Agile Center of Excellence. Richard K Cheng Agile is just a high level concept.
The Microsoft® Security Development Lifecycle (SDL)
Applied Software Implementation & Testing
The Intel Security Group’s Agile SDL Harold A
How to Successfully Implement an Agile Project
Moving from “Bolt-on” to “Build-in” Security Controls
Secure Coding: SDLC Integration Sixfold Path
Introducing ISTQB Agile Foundation Extending the ISTQB Program’s Support Further Presented by Rex Black, CTAL Copyright © 2014 ASTQB 1.
Herding Cats and Security Tools
Software Engineering Fundamentals
Overview Activities from additional UP disciplines are needed to bring a system into being Implementation Testing Deployment Configuration and change management.
Adapting Agile in Pharmaceutical Industries
Presentation transcript:

Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP Foundation OWASP Agile + SDL Concepts and Misconceptions Avi Douglen Aware Security (972) Nir Bregman Senior Project Manager, HP (972) /09/2011

OWASP 2 Agenda  Introduction  Misconceptions  Problems  Concepts  Solution

OWASP INTRODUCTION 3

OWASP “Agile” – A Definition “… a group of software development methodologies based on iterative development, where requirements and solutions evolve through collaboration between self-organizing cross-functional teams.” – Wikipedia 4

OWASP Agile Methodology – Key Features  Early feedback  Prioritized “backlog”  Inherent improvement process  Adaptive to changes  Short, incremental iterations or sprints  ‘Release like’ version every iteration  Team selects “user stories” 5

OWASP “SDL” – A Definition “A Security Development Lifecycle is a software development process to reduce software maintenance costs and increase reliability of software concerning software security.” - Wikipedia 6

OWASP SDL – Microsoft Model 7

OWASP SDL – OWASP Model (CLASP) 8

OWASP SDL – Key Features  Activities for each development phase  Relatively formal process  Carefully controlled development 9

OWASP SDL – Main Activities  General  Designing SDLC model  Policies & guidelines  Training & education  Tools & products  Requirements Analysis  Classification  Security planning  Security requirements  Architecture  Initial Threat Modeling  Secure Architecture  Design  Detailed Threat Modeling  Mitigation of threats  Secure Design  Formulating security guidelines  Security Design Review  Coding  Secure Coding  Unit security tests  Initial security code review  Security push  Testing  Regression testing  Final security code review  Deployment inspection  Black box penetration tests  Final Security Review  Maintenance  Security response  Secure change management  Security bug tracking  Metrics  Process improvement 10

OWASP MISCONCEPTIONS 11

OWASP Agile is… … really just “Waterfall”, repeated over and over again 12

OWASP SDL is… Only good for “Waterfall” process 13

OWASP Agile is… Like the “Wild West” of programming 14

OWASP SDL is… Control freaks 15

OWASP Agile is… Inconsistent 16

OWASP SDL is… Not flexible 17

OWASP Agile is… Out of control 18

OWASP SDL is… Very heavy process 19

OWASP Agile means… No documentation 20

OWASP SDL means… lots of boring documents 21

OWASP Agile is… 22 An excuse to take shortcuts

OWASP SDL is… Full of duplicate activities 23

OWASP Agile means… No planning 24

OWASP SDL is… Unnecessary, for good programmers 25

OWASP Agile is… Never ending 26

OWASP SDL is… Slowing down real development 27

OWASP Agile is… a set of ceremonies and disconnected techniques 28

OWASP SDL is… a set of ceremonies and disconnected tasks 29

OWASP PROBLEM 30

OWASP Agile + SDL = FAIL! SDL  Heavy Agile  Light 31

OWASP Agile + SDL = FAIL! SDL  Strict process Agile  Adaptive process 32

OWASP Agile + SDL = FAIL! SDL  Structured phases Agile  Short iterations 33

OWASP Agile + SDL = FAIL! SDL  Lots of activities Agile  “Just enough” 34

OWASP Agile + SDL = FAIL! SDL  Predefined checkpoints Agile  Predefined priorities 35

OWASP Agile + SDL = FAIL! SDL  Centralized control Agile  Independent teams 36

OWASP Agile + SDL = FAIL! SDL  Lots o’ docs Agile  Not so much 37

OWASP Agile + SDL = FAIL! SDL  Assurance Agile  Responsibility 38

OWASP Agile + SDL = …? Putting SDL on top of Agile kind of feels like… 39

OWASP 40

OWASP We’ve been doing it wrong! 41

OWASP CONCEPTS 42

OWASP Agile Philosophy For SDL  “Early Feedback” already built in  Add Security to cross-functional team  Always do “just enough” work  Focus on the current sprint backlog  Prioritize, don’t micro-manage 43

OWASP Training Independent developers: Just teach them how to do things right 44

OWASP Mapping SDL to Agile Discovery Security planning 45

OWASP Mapping SDL to Agile Acceptance Tests Security requirements 46

OWASP Mapping SDL to Agile Non-functional stories Security features 47

OWASP Mapping SDL to Agile Integration QA Security testing 48

OWASP Mapping SDL to Agile  UserStory “Done definition”  Sprint entry criteria  Release completion criteria Security tasks 49

OWASP Mapping SDL to Agile “Abuser” stories Countermeasures 50

OWASP Frequency-based “Wedges” 51

OWASP SUGGESTED SOLUTION 52

OWASP Ramp-up / Prerequisites  Security advisor  Coding guidelines  Regulations and policies  Training 53

OWASP First Discovery  Security plan  Baseline Threat Model  Security response plan 54

OWASP Discovery  Design review for User Stories  User Stories for security features  Review changes to Tech.Spec  Update Threat Model for features 55

OWASP Sprint Entry Criteria  Automated static code analysis  Fix all High+ security bugs 56

OWASP UserStory Done Definition  Secure coding  Focused manual code reviews (via “eXtreme Programming”)  Build security Unit Tests  Pass security user story tests 57

OWASP Integration QA  In-depth manual code review  Penetration testing  Review default configuration 58

OWASP Release Completion Criteria  Ensure recent training  Response plan is updated  High-level security review (FSR) 59

OWASP “Bucket” Requirements  Verification bucket  Design bucket  Planning bucket  Security bug bar  Privacy test plan  DRP / BCP 60  Review crypto design  Strong names  Privacy review  Fuzzing  Binary analysis  COM object testing

OWASP Security “Spike”  Entire Sprint focused on security  Handle “Security Debt”  Intensive search for vulnerabilities  Do cross-feature requirements 61

OWASP Summary  “Classic” SDL was about external control  Agile SDL is about internal control  Change from prescriptive to descriptive  Teams are expected to do the right thing  Can be even stronger than “Classic” SDL 62

OWASP Questions? 63