What Causes Software Vulnerabilities? _____________________ ___________ ____________ _______________   flaws in developers own code   flaws resulting.

Slides:



Advertisements
Similar presentations
Principles of Computer Security: CompTIA Security + ® and Beyond, Third Edition © 2012 Principles of Computer Security: CompTIA Security+ ® and Beyond,
Advertisements

Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP.
12 November 2009 Bryan Sullivan Senior Security Program Manager, Microsoft SDL.
ITIL: Service Transition
The Systems Security Engineering Capability Maturity Model (ISO 21827)
1 IS371 WEEK 8 Last and Final Assignment Application Development Alternatives to Application Development Instructor Online Evaluations.
Security Engineering II. Problem Sources 1.Requirements definitions, omissions, and mistakes 2.System design flaws 3.Hardware implementation flaws, such.
1 SOFTWARE QUALITY ASSURANCE Basic Principles. 2 Requirements System Design Detailed Design Implementation Installation & Testing Maintenance SW Quality:
Software Engineering For Beginners. General Information Lecturer, Patricia O’Byrne. – Times: –See noticeboard outside.
Secure System Administration & Certification DITSCAP Manual (Chapter 6) Phase 4 Post Accreditation Stephen I. Khan Ted Chapman University of Tulsa Department.
Copyright  Larry Dribin, Ph.D. SE470_EngFlows_v1.ppt SE470 EngFlows - 1 Excellence in Software Engineering Repeatable Level Defined Level Manage.
Computer Security: Principles and Practice
DITSCAP Phase 2 - Verification Pramod Jampala Christopher Swenson.
Software Process and Product Metrics
Introduction to Software Testing
Instituting Controls in Systems Development Gurpreet Dhillon Virginia Commonwealth University.
IS 2620: Developing Secure Systems Jan 13, 2009 Secure Software Development Models/Methods Week 2: Lecture 1.
What Causes Software Vulnerabilities? _____________________ ___________ ____________ _______________   flaws in developers own code   flaws resulting.
Chapter 2 The process Process, Methods, and Tools
Information Systems Security Computer System Life Cycle Security.
CLEANROOM SOFTWARE ENGINEERING.
 Protect customers with more secure software  Reduce the number of vulnerabilities  Reduce the severity of vulnerabilities  Address compliance requirements.
1 Chapter 2 The Process. 2 Process  What is it?  Who does it?  Why is it important?  What are the steps?  What is the work product?  How to ensure.
Thomas Levy. Agenda 1.Aims: Reducing Cyber Risk 2.Information Risk Management 3.Secure Configuration 4.Network Security 5.Managing User Access 6.Education.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
Roles and Responsibilities
12,000 anonymized surveyed results Worldwide user base Cloud Security Readiness Tool Security trends report:
Security Development Lifecycle: Changing the Software Development Process to build in Security from the start Eric Bidstrup Ellen Cram Kowalczyk Security.
Relationships July 9, Producers and Consumers SERI - Relationships Session 1.
Microsoft Security Development Lifecycle
Web Security for Network and System Administrators1 Chapter 2 Security Processes.
Software Engineering Quality What is Quality? Quality software is software that satisfies a user’s requirements, whether that is explicit or implicit.
Basic of Software Testing Presented by The Smartpath Information System An ISO 9001:2008 Certified Organization
© Mahindra Satyam 2009 Configuration Management QMS Training.
QA Methodology By Rajib Roy Independent Consultant Qcon.
Security Development Life Cycle Baking Security into Development September 2010.
Business Analysis. Business Analysis Concepts Enterprise Analysis ► Identify business opportunities ► Understand the business strategy ► Identify Business.
Connecting with Computer Science2 Objectives Learn how software engineering is used to create applications Learn some of the different software engineering.
Principles of Computer Security: CompTIA Security + ® and Beyond, Third Edition © 2012 Principles of Computer Security: CompTIA Security+ ® and Beyond,
LOGO TESTING Team 8: 1.Nguyễn Hoàng Khánh 2.Dương Quốc Việt 3.Trang Thế Vinh.
Copyright © EWA IIT, Inc. June 17, 2002 © 2002  IIT, Inc. EWA Information & Infrastructure Technologies, Inc. 3 FOR OFFICIAL USE ONLY June 17, 2002 ©
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
Chapter 21: Evaluating Systems Dr. Wayne Summers Department of Computer Science Columbus State University
By Ramesh Mannava.  Overview  Introduction  10 secure software engineering topics  Agile development with security development activities  Conclusion.
Copyright 2015, Robert W. Hasker. Classic Model Gathering Requirements Specification Scenarios Sequences Design Architecture Class, state models Implementation.
Security Development Lifecycle. Microsoft SDL 概觀 The SDL is composed of proven security practices It works in development organizations regardless of.
How We Got Here PC and Internet changed the rules –Viruses, information sharing, “outside” and “inside” indistinguishable –Vulnerability research for.
RATIONAL UNIFIED PROCESS PROCESS FRAMEWORK OVERVIEW.
 System Requirement Specification and System Planning.
Computer Security: Principles and Practice First Edition by William Stallings and Lawrie Brown Lecture slides by Lawrie Brown Chapter 17 – IT Security.
ISO17799 / BS ISO / BS Introduction Information security has always been a major challenge to most organizations. Computer infections.
Implementing Trustworthiness – Building and Delivering Secure Software Glenn Pittaway – Trustworthy Computing (TwC), Microsoft Corporation MSSD-3 — третья.
Security Development Lifecycle (SDL) Overview
CSCE 548 Secure Software Development Security Operations
ITIL: Service Transition
Software Quality Control and Quality Assurance: Introduction
CSCE 548 Secure Software Development Risk-Based Security Testing
CS4311 Spring 2011 Process Improvement Dr
TechStambha PMP Certification Training
CSE 403 Software Engineering
CSCE 548 Secure Software Development Test 1 Review
The Microsoft® Security Development Lifecycle (SDL)
CMMI – Staged Representation
Introduction to Software Engineering
Introduction to Software Testing
Moving from “Bolt-on” to “Build-in” Security Controls
Herding Cats and Security Tools
Lesson 1 Understanding Software Quality Assurance
Baisc Of Software Testing
IS 2620: Developing Secure Systems
Presentation transcript:

What Causes Software Vulnerabilities? _____________________ ___________ ____________ _______________   flaws in developers own code   flaws resulting from interactions with other systems   production deadlines   cost limitations _________   lack of basic security awareness   not aware of threats inherent to underlying technologies   unfamiliar with best mitigation practices

Software Assurance Responsibilities of the software engineer   minimize functional flaws   minimize development time and cost   maximize performance   maximize maintainability   maximize usability   maximize testability, portability, reusability   minimize security vulnerabilities

Software Engineering Where are the security breaches? Note that functional requirements define what the software is suppose to do.

How to be responsible (as a software engineer) Know your language! Know your environment! Follow sound software engineering habitually Follow sound security engineering habitually Test, test, test!   test for correctness (what it’s ___________)   test for security (what it’s ________________) Keep current with relevant attack methods

Software Engineering Crash Course What do we know about software engineering? There are many well defined lifecycle models. All lifecycle models have activities and processes in common. In general all of these models largely ignore security. What has been done to “build security in”? SSE-CMM Microsoft Trustworthy Computing Incremental Approach

SSE-CMM (ISO/IEC std) Systems Security Engineering Capability Maturity Model SSE-CMM (ISO/IEC std) Systems Security Engineering Capability Maturity Model buildsecurityin.us-cert.gov/bsi/articles/knowledge/sdlc/326-BSI.html Project and Organization ProcessSecurity Engineering Process  ensure quality  manage configuration  manage project risk  monitor & control technical effort  plan technical effort  define systems engineering process  manage product line evolution  manage support environment  provide ongoing knowledge  coordinate with suppliers Engineering Process  specify security needs  provide security input  monitor security posture  administer security control  coordinate security Assurance Process  verify and validate security  build assurance arguments Risk Process  assess threat  assess vulnerability  assess impact  assess risk

Microsoft Lifecycle Design PhaseDevelopment Phase Test Phase Maintenance Phase design complete test plans complete code complete ship ongoing activity security develop security tests security  raise awareness  find & fix vulnerabilities  eliminate bad habits security

Use a separate security team perform _____________ establish secure coding ________ ask security-related ________ Additional Thoughts (about the process) …and make them responsible. Secure Analysis observe secure design _________ Secure Design awareness of known attacks Secure Implementation no _____________ Secure Testing _____________tests reviews for secure design and coding principles track security bugs

SDL for Agile ResponseReleaseVerificationImplementationDesign RequirementsTraining Core Security Training Establish Security Requirements Perform Attack Surface Analysis/Re duction Use Threat Modeling Establish Design Requirements Use Approved Tools Create Quality Gates/Bug Bars Perform Security and Privacy Risk Assessments Deprecate Unsafe Functions Perform Static Analysis Perform Dynamic Analysis Perform Fuzz Testing Conduct Attack Surface Review Create Incident Response Plan Conduct Final Security Review Certify Release and Archive Execute Incident Response Plan