Software Development: The Next Security Frontier Glenn Johnson Certification Consultant (ISC)2 Americas James E. Molini,

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.
Security and Personnel
Current Security Threats WMO CBS ET-CTS Toulouse, France May 2008 Allan Darling, NOAA’s National Weather Service WMO CBS ET-CTS Toulouse, France.
Smart Grid - Cyber Security Small Rural Electric George Gamble Black & Veatch
Risk Management a Case Study DATALAWS Information Technology Law Consultants Presented by F. F Akinsuyi (MSc, LLM)MBCS.
Hands-On Ethical Hacking and Network Defense
Security Controls – What Works
1 Building with Assurance CSSE 490 Computer Security Mark Ardis, Rose-Hulman Institute May 10, 2004.
Security Engineering II. Problem Sources 1.Requirements definitions, omissions, and mistakes 2.System design flaws 3.Hardware implementation flaws, such.
Pertemuan Matakuliah: A0214/Audit Sistem Informasi Tahun: 2007.
Stephen S. Yau CSE , Fall Security Strategies.
Effort in hours Duration Over Weeks Or Months Inception Launch Web Lifecycle Methodology Maintenance Phases Copyright Wonderlane Studios.
Security Certification
Software Security Course Course Outline Course Overview Introduction to Software Security Common Attacks and Vulnerabilities Overview of Security.
Fraud Prevention and Risk Management
Security Risk Management Marcus Murray, CISSP, MVP (Security) Senior Security Advisor, Truesec
CSSLP Deconstructed The And other topics related to Software Security
Internal Auditing and Outsourcing
D ATABASE S ECURITY Proposed by Abdulrahman Aldekhelallah University of Scranton – CS521 Spring2015.
Resiliency Rules: 7 Steps for Critical Infrastructure Protection.
W. Hord Tipton, CISSP- ISSEP, CAP, CISA (ISC)² Executive Director.
Chapter © 2012 Pearson Education, Inc. Publishing as Prentice Hall.
NUAGA May 22,  IT Specialist, Utah Department of Technology Services (DTS)  Assigned to Department of Alcoholic Beverage Control  PCI Professional.
SEC835 Database and Web application security Information Security Architecture.
Enterprise Computing Community June , 2010February 27, Information Security Industry View Linda Betz IBM Director IT Policy and Information.
Copyright © 2006 CyberRAVE LLC. All rights reserved. 1 Virtual Private Network Service Grid A Fixed-to-Mobile Secure Communications Framework Managed Security.
Information Systems Security Computer System Life Cycle Security.
A Framework for Automated Web Application Security Evaluation
 Computer security policy ◦ Defines the goals and elements of an organization's computer systems  Definition can be ◦ Highly formal ◦ Informal  Security.
The Guide to the Software Engineering Body of Knowledge
PATCH MANAGEMENT: Issues and Practical Solutions Presented by: ISSA Vancouver Chapter March 4, 2004.
Roles and Responsibilities
Security Professional Services. Security Assessments Vulnerability Assessment IT Security Assessment Firewall Migration Custom Professional Security Services.
Important acronyms AO = authorizing official ISO = information system owner CA = certification agent.
Certification and Accreditation CS Phase-1: Definition Atif Sultanuddin Raja Chawat Raja Chawat.
Sample Security Model. Security Model Secure: Identity management & Authentication Filtering and Stateful Inspection Encryption and VPN’s Monitor: Intrusion.
Microsoft Security Development Lifecycle
ISO17799 Maturity. Confidentiality Confidentiality relates to the protection of sensitive data from unauthorized use and distribution. Examples include:
CISSP Thomas Moore. Thomas Moore, Ph.D., EMBA BCSA BCSP LCNAD CISM CISSP LMNOP (Licensed Microsoft Network Operations Professional) B.S. No, really, in.
Ali Pabrai, CISSP, CSCS ecfirst, chairman & ceo Preparing for a HIPAA Security Audit.
Engineering Essential Characteristics Security Engineering Process Overview.
CSCE 522 Secure Software Development Best Practices.
Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP.
Randy Beavers CS 585 – Computer Security February 19, 2009.
Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation.
Introduction: Information security services. We adhere to the strictest and most respected standards in the industry, including: -The National Institute.
Information Systems, Security, and e-Commerce* ACCT7320, Controllership C. Bailey *Ch in Controllership : The Work of the Managerial Accountant,
Introduction to Information Security
CSCE 548 Secure Software Development Security Operations.
SecSDLC Chapter 2.
International Security Management Standards. BS ISO/IEC 17799:2005 BS ISO/IEC 27001:2005 First edition – ISO/IEC 17799:2000 Second edition ISO/IEC 17799:2005.
1 1 Cybersecurity : Optimal Approach for PSAPs FCC Task Force on Optimal PSAP Architecture Working Group 1 Final Report December 10 th, 2015.
Introduction and Overview of Information Security and Policy By: Hashem Alaidaros 4/10/2015 Lecture 1 IS 332.
Chapter 19: Building Systems with Assurance Dr. Wayne Summers Department of Computer Science Columbus State University
High Assurance Products in IT Security Rayford B. Vaughn, Mississippi State University Presented by: Nithin Premachandran.
Chapter © 2012 Pearson Education, Inc. Publishing as Prentice Hall.
What Causes Software Vulnerabilities? _____________________ ___________ ____________ _______________   flaws in developers own code   flaws resulting.
Sicherheitsaspekte beim Betrieb von IT-Systemen Christian Leichtfried, BDE Smart Energy IBM Austria December 2011.
The NIST Special Publications for Security Management By: Waylon Coulter.
Important acronyms AO = authorizing official ISO = information system owner CA = certification agent.
© ITT Educational Services, Inc. All rights reserved. IS3220 Information Technology Infrastructure Security Unit 10 Network Security Management.
CS457 Introduction to Information Security Systems
Software Development: The Next Security Frontier
Secure Software Confidentiality Integrity Data Security Authentication
Chapter 19: Building Systems with Assurance
AppExchange Security Certification
How to Mitigate the Consequences What are the Countermeasures?
What is Interesting in the CCSP certification?
Security week 1 Introductions Class website Syllabus review
Presentation transcript:

Software Development: The Next Security Frontier Glenn Johnson Certification Consultant (ISC)2 Americas James E. Molini, CISSP, CSSLP Microsoft Member, (ISC)² Advisory Board of the Americas

Global leaders in certifying and educating information security professionals with the CISSP ® and related concentrations, CSSLP CM, CAP ®, and SSCP ®. Celebrating our 20 th Anniversary – not-for-profit consortium of industry leaders. More than 60,000 certified professionals in over 130 countries. Board of Directors - top information security professionals worldwide. All of our information security credentials are accredited ANSI/ISO/IEC Standard with the CISSP being the first technology-related credential to receive this accreditation.

Over 70% of security vulnerabilities exist at the application layer* *Source: Gartner Group, 2005

De-perimiterization of networks places more burden on the security of individual machines and applications Malware increased by % over the past year More incidents of data loss could result in greater government oversight and regulation –38 out of 50 states in US have now enacted breach disclosure laws 2008 (ISC)² Global Information Security Workforce Study (GISWS) report found significant costs result from data breaches –US $50 to $200 per record lost (not including reputation damage and loss of trust or loss of contracts)

XSS Attacks (Ongoing) –Cross Site Scripting (XSS) is becoming the new “buffer overflow” –In 2007, XSS accounted for 80% of documented vulnerabilities –Proper web site coding practices reduce the risk from XSS SQL Injection Attacks (Ongoing) –Recently several security sites were attacked using this technique –Data entry fields on websites are loaded with SQL commands –Bypasses the firewall and many web gateways –Input validation reduces the exposure from this attack Recent worms exploit patching latency –Conflicker worm released 1 month after the patch from Microsoft –This exposes a flaw in patch management practices Software Vulnerabilities: Opening the Door to Criminals

What Is Software Security? Security is a distinct property of a software system or application. It is composed of Confidentiality, Integrity, Availability, Authenticity, and other related attributes*. Software Security vs. Secure Software –Secure software can be delivered by rigorously applying all the techniques of a software security plan Software Security vs. Secure Coding –Secure coding is one aspect of an overall software security plan Software Security vs. Software Quality –High quality software can also be insecure –Security requires specialized skills *Definition derived from description provided in Software Assurance BoK from DHS.

Common misconception that writing secure code is the only answer Many eyeballs won’t solve the security problem. (e.g. recent DNS bug took 10 years to discover) Software security requires: 1) Policy -- pertinent and enforceable 2) Process -- formal and structured 3) People -- trained and qualified (first line of defense and organization’s most critical asset) Can’t We Just Learn How to Write Secure Code?

Can Secure Systems Really Prevent Intrusions? Total Firewall-A Firewall-B00000 Vulnerabilities listed by US Natl. Vulnerability Database: To perform your own search, visit: Two Firewalls. Two manufacturers. Two development methodologies. One was based on a Trusted OS & Security Development Lifecycle. One was not.

COMMON ELEMENTS OF A SOFTWARE SECURITY PROGRAM

Overview What does it take to build secure software? Developing a professional standard in software development. Elements of effective software security programs. Security programs are valuable both for commercial software and in-house development

Secure Software Concepts Confidentiality, Integrity, Availability Authentication, Authorization, and Auditing Security Design Principles Risk Management (e.g., vulnerabilities, threats and controls) Regulations, Privacy, and Compliance Software Architecture (e.g., layers) Software Development Methodologies Legal (e.g., Copyright, IP and trademark) Standards (e.g., ISO 2700x, OWASP) Security Models (e.g., Bell-LaPadula, Clark-Wilson & Brewer-Nash) Trusted Computing (e.g., TPM, TCB) Acquisition (e.g., contracts, SLAs and specifications)

Getting Started Training and Awareness –Start with basic concepts –Train developers and testers first Appoint or hire a Security Lead –Becomes local authority on software security –Coordinates security activities and drive SDL –Establishes risk management process

Secure Software Requirements Policy Decomposition –Confidentiality, Integrity, Availability Requirements –Authentication, Authorization, and Auditing Requirements –Internal and External Requirements Identification and Gathering –Data Classification –Use Cases –Abuse Cases (inside and outside adversaries)

Secure Software Requirements: Getting Started Build boilerplate requirements for use in new projects Understand how requirements differ for: –In-house development –Product Development –Software Acquisition Develop common abuse cases Begin Risk Management Process –Threat Model Development –Feature/Component Risk Analysis

Secure Software Design Design Processes –Attack surface evaluation, Threat modeling, Control Identification, Control prioritization Design Considerations –Confidentiality, Integrity, Availability, Authentication, Authorization, and Auditing –Security design principles, Interconnectivity, Security management interfaces, Identity management Architecture –Distributed, Service-oriented, Rich Internet applications, Pervasive computing –Integration with existing architectures –Software as a Service Technologies –IAM, Audit, DRM, Flow control (e.g., proxies, firewalls, middleware) –Data protection (e.g., DLP, encryption and database security) –Computing environment (e.g., programming languages, virtualization, and operating systems –Integrity (e.g., code signing)

Secure Software Design: Getting Started Saltzer & Schroeder: Security Design Principles Economy of mechanism Fail Safe Defaults Complete Mediation Open Design Separation of Privilege Least Privilege Least Common Mechanism Psychological acceptability

Secure Coding: Key Concepts Declarative versus programmatic security (e.g., bootstrapping, cryptographic agility, and handling configuration parameters) Common software vulnerabilities and countermeasures Defensive coding practices (e.g., type safe practices, locality, memory management, error handling) Exception management Configuration management (e.g., source code and versioning) Build environment (e.g., build tools) Code/Peer review Code Analysis (static and dynamic) Anti-tampering techniques (e.g., code signing) Interface coding (e.g., proper authentication and third party API)

Secure Coding: Getting Started Never build your own crypto or authentication mechanisms Develop a list of banned functions Train developers to avoid most common flaws Develop with least privilege

Secure Software Testing: Key Concepts Testing for Security Quality Assurance –Functional Testing (e.g., reliability, logic, performance and scalability) –Security Testing (e.g., white box and black box) –Environment (e.g., interoperability) –Bug tracking (e.g., defects, errors and vulnerabilities) –Attack surface validation Test types –Penetration Testing –Fuzzing, Scanning, Simulation Testing (e.g., environment and data) –Testing for Failure –Cryptographic validation (e.g., environment and data) Impact Assessment and Corrective Action Standards for software quality assurance (e.g., ISO 9126, SSE-CMM and OSSTMM) Regression testing

Secure Software Testing: Getting Started Use security testing tools to discover common vulnerabilities. Implement static analysis testing for all Internet facing code. Add security bug categories to the bug tracking system

Secure Software Acceptance & Deployment: Key Concepts Pre-release or pre-deployment –Completion Criteria (e.g., documentation, BCP) –Risk Acceptance –Documentation (e.g., DRP and BCP) Post-release –Validation and Verification (e.g., Common Criteria) Independent testing (e.g., third-party) Installation and Deployment –Bootstrapping (e.g., key generation, access management) –Configuration Management (e.g., elevated privileges, hardening, platform change)

Secure Software Acceptance & Deployment: Getting Started Develop an official security signoff during release Define rules for software security acceptance Implement a security documentation standard

Secure Software Operations & Maintenance: Key Concepts Operations and Maintenance –Monitoring (e.g., Metrics and Audits) –Incident Management –Problem Management (Root Cause Analysis) –Patching End of life policies

Secure Software Maintenance: Getting Started Implement patch security testing and delivery mechanisms Develop a Security Response Plan for software vulnerabilities

Building secure software, along with writing secure code, is critical now! Software Assurance has kaleidoscope of perspectives to be factored into secure software lifecycle. First line of defense is qualified and educated personnel who know how to write secure code that meets security requirements, including design, testing deployment, and ultimately disposal of software.

CSSLP (ISC)² Professional Certification Program CSSLP CBK Overlap between other Certifications/Programs CSDA (IEEE) Associate Level Status CSDP (IEEE) Professional Certification Program GSSP-C (SANS) Software Coder Certification Program GSSP-J (SANS) Software Coder Certification Program Software Assurance Initiative (DHS) Awareness Effort CSSE (ISSECO) Entry-level Education Program Certificate of Completion Vendor- Specific Credentials

What is CSSLP CM ? Certified Secure Software Lifecycle Professional (CSSLP) Base credential (no other certification is required as a prerequisite) Professional certification program Takes a holistic approach to security in the software lifecycle Tests candidates competency (KSAs) to significantly mitigate the security concerns

Purpose Addresses building security throughout the entire software lifecycle – from concept and planning through operations and maintenance, to the ultimate disposal. Provides a credential that speaks to the individual’s ability to contribute to the delivery of secure software through the use of standards and best practices. The target professionals for this certification includes all stakeholders involved in the Software Lifecycle.

Software Lifecycle Stakeholder Chart Top Management IT Manager Business Unit Heads Developers/ Coders Client Side PM Industry Group Delivery Heads Business Analysts Quality Assurance Managers Technical Architects Project Managers/ Team Leads Software Lifecycle Stakeholders Application Owners Security Specialists Auditors

CSSLP CM Industry Supporters Microsoft Cisco Xerox SAFECode Symantec BASDA SANS DSCI (NASSCOM) SRA International ISSA “As the global dependence on information and communications technology has grown, users have become increasingly concerned over the security of software, especially those in the government, critical infrastructure and enterprise sectors. By offering software professionals a means to increase and validate their knowledge of best practices in securing applications throughout the development lifecycle, (ISC)²’s CSSLP is helping the industry take an important step forward in addressing the ‘people’ part of the solution.” Paul Kurtz, executive director, SAFECode

Certified Secure Software Lifecycle Professional (CSSLP CM ) Domains (ISC)² ® CSSLP CBK Domains Secure Software Concepts Secure Software Requirements Secure Software Design Secure Software Implementation/Coding Secure Software Testing Software Acceptance Software Deployment, Operations, Maintenance, and Disposal

CSSLP CM Certification Requirements By Examination: Process –The first public exam will be held at the end of June 2009 –Candidate must submit: Completed examination registration form Proof of 4 years experience in the Software Development Lifecycle (SDLC) or 3 years experience with a one year waiver for 4-year degree or equivalent in an IT related field Pay a Fee of $549 early-bird or $599 standard –Candidate must Pass the official (ISC)² ® CSSLP certification examination Complete the endorsement process –The Associate of (ISC)² Program applies to those who have passed the exam but need to acquire the necessary minimum experience requirements

For more information, please contact: Glenn Johnson, (ISC)², CSSLP Team Leader Certification Consultant Vehbi Tasar, (ISC)² Manager of Professional Programs Visit

References Secure Software Assurance: A guide to the Common Body of Knowledge to Produce, Acquire, and Sustain Secure Software, S. Redwine, Ed., US Department of Homeland Security, The Trustworthy Computing Security Development Lifecycle, S. Lipner, et al, Microsoft, March us/library/ms aspxhttp://msdn.microsoft.com/en- us/library/ms aspx OWASP: Microsoft Security Site for Developers: Books: The Security Development Lifecycle, M. Howard & S. Lipner Microsoft Press, 2006