Secure Code Development



Similar documents
External Supplier Control Requirements

Passing PCI Compliance How to Address the Application Security Mandates

North Dakota 2013 IT Security Audit Vulnerability Assessment & Penetration Test Project Briefing

Auditing After a Cyber Attack JAX IIA Chapter Meeting Cybersecurity and Law Enforcement

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

The Top Web Application Attacks: Are you vulnerable?

SecurityMetrics Vision whitepaper

PCI-DSS and Application Security Achieving PCI DSS Compliance with Seeker

Where every interaction matters.

How to Build a Trusted Application. John Dickson, CISSP

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

White Paper. Guide to PCI Application Security Compliance for Merchants and Service Providers

WhiteHat Security White Paper. Top 11 PCI DSS 3.0 Changes That Will Affect Your Application Security Program

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

Web App Security Audit Services

A Systems Engineering Approach to Developing Cyber Security Professionals

Web Engineering Web Application Security Issues

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

OWASP Top Ten Tools and Tactics

Reducing Application Vulnerabilities by Security Engineering

WEB SECURITY CONCERNS THAT WEB VULNERABILITY SCANNING CAN IDENTIFY

(Instructor-led; 3 Days)

University of California, Riverside Computing and Communications. IS3 Local Campus Overview Departmental Planning Template

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

Barracuda Web Site Firewall Ensures PCI DSS Compliance

Adobe Systems Incorporated

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

Visa U.S.A Cardholder Information Security Program (CISP) Payment Application Best Practices

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

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

Secure Development LifeCycles (SDLC)

Secure Web Applications. The front line defense

What is Web Security? Motivation

Web Application Security

elearning for Secure Application Development

When is Agile the Best Project Management Method? Lana Tylka

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

MANAGED SECURITY TESTING

External Supplier Control Requirements

Integrating Security Testing into Quality Control

FINAL DoIT v.8 APPLICATION SECURITY PROCEDURE

Rational AppScan & Ounce Products

How to achieve PCI DSS Compliance with Checkmarx Source Code Analysis

Certified Information Systems Auditor (CISA)

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

WHITE PAPER. FortiWeb and the OWASP Top 10 Mitigating the most dangerous application security threats

From Agile by Design. Full book available for purchase here.

Security Issues with Integrated Smart Buildings

Web Application Security. Vulnerabilities, Weakness and Countermeasures. Massimo Cotelli CISSP. Secure

Security Testing and Vulnerability Management Process. e-governance

Build (develop) and document Acceptance Transition to production (installation) Operations and maintenance support (postinstallation)

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

Software Development Life Cycle at SSPL. An Summary of Methodologies We Offer

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

IBM Innovate AppScan: Introducin g Security, a first. Bobby Walters Consultant, ATSC bwalters@atsc.com Application Security & Compliance

G-Cloud Definition of Services Security Penetration Testing

Preventive Approach for Web Applications Security Testing OWASP 10/30/2009. The OWASP Foundation

Agile and Secure Can We Be Both? Chicago OWASP. June 20 th, 2007

OWASP AND APPLICATION SECURITY

93% of large organisations and 76% of small businesses

ArcGIS Server Security Threats & Best Practices David Cordes Michael Young

Is Drupal secure? A high-level perspective on web vulnerabilities, Drupal s solutions, and how to maintain site security

Effective Software Security Management

The Software. Audit Guide. ASQ Quality Press. Milwaukee, Wisconsin. John W. Helgeson

Application Security Testing. Generic Test Strategy

Strategic Information Security. Attacking and Defending Web Services

DFW INTERNATIONAL AIRPORT STANDARD OPERATING PROCEDURE (SOP)

Web application security: automated scanning versus manual penetration testing.

CSUSB Web Application Security Standard CSUSB, Information Security & Emerging Technologies Office

Six Essential Elements of Web Application Security. Cost Effective Strategies for Defending Your Business

Agile and Secure: OWASP AppSec Seattle Oct The OWASP Foundation

Threat Modeling. Deepak Manohar

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

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

Agile and Secure: Can We Be Both?

Web Application Security

05.0 Application Development

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

Auditing the Security of an SAP HANA Implementation

Guidelines for Website Security and Security Counter Measures for e-e Governance Project

TASK TDSP Web Portal Project Cyber Security Standards Best Practices

ETHICAL HACKING APPLICATIO WIRELESS110 00NETWORK APPLICATION MOBILE MOBILE0001

Table of Contents. Page 2/13

Adobe ColdFusion. Secure Profile Web Application Penetration Test. July 31, Neohapsis 217 North Jefferson Street, Suite 200 Chicago, IL 60661

Magento Security and Vulnerabilities. Roman Stepanov

SECURE APPLICATION DEVELOPMENT CODING POLICY OCIO TABLE OF CONTENTS

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)

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.

WHITE PAPER FORTIWEB WEB APPLICATION FIREWALL. Ensuring Compliance for PCI DSS 6.5 and 6.6

Thick Client Application Security

Network Test Labs (NTL) Software Testing Services for igaming

National Endowment for the Arts Evaluation Report. Table of Contents. Results of Evaluation Areas for Improvement Exit Conference...

Transcription:

ISACA South Florida 7th Annual WOW! Event Copyright Elevate Consult LLC. All Rights Reserved 1

Agenda i. Background ii. iii. iv. Building a Business Case for Secure Coding Top-Down Approach to Develop Secure Code Developing a Secure Code Initiative v. Integrating Best Coding Practices into the Software Development Life Cycle (SDLC) vi. Secure Code Awareness and Training for Developers vii. Conduct an Independent Secure Code Audit viii. Auditing Software After a Breach ix. Summary x. References Copyright Elevate Consult LLC. All Rights Reserved 2

Background What is software security? Protecting software against malicious attack so that the software continues to function correctly The ability of the software to ensure the Confidentiality, Integrity, and Availability of the sensitive data on the system Copyright Elevate Consult LLC. All Rights Reserved 3

Background Measuring software security Dependability Trustworthiness Resilience Conformance Software Assurance Copyright Elevate Consult LLC. All Rights Reserved 4

Background Perspective Case Study: Target Data Breach Target said 40 million credit and debit card accounts had been affected by a data breach that happened between November 27 th and December 15 th, 2013. The Consumer Bankers Association estimated that the cost of card replacement for its members has reached $172 M. When the final tally is in, Target's breach may eclipse the theft at TJX, which compromised more than 90 million records. - The Associated Press Copyright Elevate Consult LLC. All Rights Reserved 5

Building a Business Case for Secure Coding The cost of insecure software Software consumers are demanding software assurance Fixing bugs and flaws is very costly after implementation Compliance with technology security standards Copyright Elevate Consult LLC. All Rights Reserved 6

Top-Down Approach to Develop Secure Code Make enterprise security the responsibility of leaders at a governance level Develop a secure code initiative and create a secure coding team (not just developers) Empower IT leadership with a budget and the political capital to succeed Use a benchmark to evaluate the performance of the organization s secure code initiative. For example, Building Security In Maturity Model (BSIMM) Copyright Elevate Consult LLC. All Rights Reserved 7

Developing a Secure Code Initiative Select a framework to help the organization formulate and implement a strategy for software security. For example, Open Software Assurance Maturity Model (OpenSAMM) Adopt a secure coding standard Integrate secure coding best practices into the SDLC Implement an awareness and training program for secure code development Integrate collaborative testing tools and techniques to facilitate code reviews (automated processes) Copyright Elevate Consult LLC. All Rights Reserved 8

Integrating Best Coding Practices into the SDLC Software Development Models: Waterfall model Spiral model Rapid application development Agile development And others Copyright Elevate Consult LLC. All Rights Reserved 9

Integrating Best Coding Practices into the SDLC Agile Development Model: Agile Manifesto (2001): Promotes software development following these principles: Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan Copyright Elevate Consult LLC. All Rights Reserved 10

Integrating Best Coding Practices into the SDLC Agile Development Model Agile Methods Security Concerns: Agile is about building software quickly Move fast and iterate Respond to feedback Emphasis on velocity and business value Deliver software before it is finished Copyright Elevate Consult LLC. All Rights Reserved 11

Integrating Best Coding Practices into the SDLC Agile Scrum Scrum is an agile method for project management It is a TEAM based collaborative approach Iterative and incremental Always focus on delivery Copyright Elevate Consult LLC. All Rights Reserved 12

Integrating Best Coding Practices into the SDLC Agile Scrum Sprints are the basic units of development in Scrum Usually from 2 to 4 weeks long The release date of a product determines the number of Sprints Sprint planning sessions assign tasks to developers At the end of each sprint there is a customer (product owner) demo Requirements may change after the demo phase Copyright Elevate Consult LLC. All Rights Reserved 13

Integrating Best Coding Practices into the SDLC Agile Scrum Scrum Master Role Facilitate sprint planning, retrospective and sprint demos Assist the product owner with keeping the backlog groomed Ensure cross-team coordination Reach out to the larger company network for impediment removal Etc. Copyright Elevate Consult LLC. All Rights Reserved 14

Integrating Best Coding Practices into the SDLC What about software security? Incorporate Security activities into all phases of the SDLC process, from initiation to disposal, regardless of the software development method used. Agile Method: Development life cycle is divided into increments or iterations, in which each of these increments touches on each of the conventional phases of development. Copyright Elevate Consult LLC. All Rights Reserved 15

Integrating Best Coding Practices into the SDLC What about software security? Incorporate Security activities into all phases of the SDLC process, from initiation to disposal, regardless of the software development method used. Traditional Methods: Development life cycle is divided into systems analysis and requirements definition, systems design, development, integration and testing, acceptance, installation, deployment, evaluation, and disposal. Copyright Elevate Consult LLC. All Rights Reserved 16

Integrating Best Coding Practices into the SDLC Software Requirements Definition Consider security requirements, not just functional requirements Authentication Role Based access controls Separation of duties Automated data integrity checks Copyright Elevate Consult LLC. All Rights Reserved 17

Integrating Best Coding Practices into the SDLC System Design Perform software architecture risk analysis Review exception handling for application overrides Evaluate: Functional and security requirements Component interfaces Component communications and dependencies Component responsibilities Copyright Elevate Consult LLC. All Rights Reserved 18

Integrating Best Coding Practices into the SDLC System Implementation Perform code reviews before application goes into deployment Pay attention to backdoors in the source code Look out for shortcuts to get the product out the door Don t accept the comment But the user would never do that! Copyright Elevate Consult LLC. All Rights Reserved 19

Integrating Best Coding Practices into the SDLC System Deployment Review separation of duties during deployment Examine backup procedures and documentation Test passwords used on the sandbox environment Monitor application behavior for unexpected results Copyright Elevate Consult LLC. All Rights Reserved 20

Integrating Best Coding Practices into the SDLC System Maintenance Conduct regular code reviews Evaluate change management controls Review major changes to components of the application Copyright Elevate Consult LLC. All Rights Reserved 21

Secure Code Awareness and Training for Developers Awareness + Training = Education Embed training into the SDLC Education should be an ongoing process Measure the effectiveness of this program Outcome of Training = Accountability Copyright Elevate Consult LLC. All Rights Reserved 22

Conduct an Independent Secure Code Audit Purpose: Security Flaws and Bugs: Discover flaws in the programming that may be lead to security exploitations. For example: Unsecure and unvalidated input or output - Cross-site scripting, SQL injection Improper Exception Handling - Debugging and error messages Insecure communication protocols- Clear-text and unauthenticated protocols Broken or incomplete authentication controls - User ID manipulation Flawed session management - Session or Cookie hijacking Bounds checking - Buffer or Integer overflows Weak storage encryption - Broken or insecure encryption algorithms Copyright Elevate Consult LLC. All Rights Reserved 23

Auditing Software after a Breach Forensic investigative and analytical skills and abilities are needed Technical skills Building a digital audit trail Understand computer fraud techniques Understand information collected from various computer logs Understand the inner workings of web servers, firewalls, attack methodology, security procedures & penetration testing 24

Auditing Software after a Breach Forensic investigative and analytical skills and abilities are needed Conduct a review of: Computer Incident Response Plan and its performance after a successful cyber attack Chain-of-custody process Information Security Policies and Procedures Secure Code Awareness and Training for Developers Organizational and legal protocols for incident handling Other elements of the Secure Code Development Program 25

Summary Software assurance implies dependability, trustworthiness, resilience, and conformance Consumers are demanding better software security Security is the responsibility of leaders at a governance level Integrate secure coding best practices early Embed software architecture and code risk analysis into the SDLC Develop a secure code awareness and training program for all stakeholders Conduct independent secure code audits Assume the organization will have a security breach, so be prepared Copyright Elevate Consult LLC. All Rights Reserved 26

References ISO/IEC 9126 Special Publication 800-64 Copyright Elevate Consult LLC. All Rights Reserved 27

Q & A Copyright Elevate Consult LLC. All Rights Reserved 28

THANK YOU! Copyright Elevate Consult LLC. All Rights Reserved 29