Secure By Design: Security in the Software Development Lifecycle



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

Microsoft STRIDE (six) threat categories

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

Threat modeling. Tuomas Aura T Information security technology. Aalto University, autumn 2011

Threat Modeling. Frank Piessens ) KATHOLIEKE UNIVERSITEIT LEUVEN

Agile and Secure: OWASP AppSec Seattle Oct The OWASP Foundation

Mobile Application Threat Analysis

Security Testing. How security testing is different Types of security attacks Threat modelling

ISSECO Syllabus Public Version v1.0

Software Development: The Next Security Frontier

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

Threat Modeling: The Art of Identifying, Assessing, and Mitigating security threats

2. From a control perspective, the PRIMARY objective of classifying information assets is to:

Building Security into the Software Life Cycle

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

Compliance Guide ISO Compliance Guide. September Contents. Introduction 1. Detailed Controls Mapping 2.

Functional vs. Load Testing

The introduction covers the recent changes is security threats and the effect those changes have on how we protect systems.

Software Application Control and SDLC

SOFTWARE SECURITY. Collaboration in a Secure Development Process Part 2. Gunnar Peterson. Overview. Tradeoff Analysis in the Design Phase

Security and Privacy in Cloud Computing

A Methodology for Capturing Software Systems Security Requirements

Effective Software Security Management

Cyber Security and Information Assurance Controls Prevention and Reaction NOVEMBER 2013

BEST PRACTICES FOR SECURITY TESTING TOP 10 RECOMMENDED PRACTICES

A PRACTICAL APPROACH TO INCLUDE SECURITY IN SOFTWARE DEVELOPMENT

Weighted Total Mark. Weighted Exam Mark

Secure Programming Lecture 9: Secure Development

In Building Security In, Gary McGraw proposes three pillars to use throughout the lifecycle: I: Applied Risk Management

Data Security Incident Response Plan. [Insert Organization Name]

SECURITY ARCHITECTURES. Service Oriented Security Architecture. Gunnar Peterson

IT Best Practices Audit TCS offers a wide range of IT Best Practices Audit content covering 15 subjects and over 2200 topics, including:

ISO 27002:2013 Version Change Summary

Suraksha: A Security Designers Workbench

Threat Modeling Architecting & Designing with Security in Mind OWASP. The OWASP Foundation Venkatesh Jagannathan

ensure prompt restart of critical applications and business activities in a timely manner following an emergency or disaster

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

Introduction to Information Security

Security within a development lifecycle. Enhancing product security through development process improvement

Fundamentals of Network Security - Theory and Practice-

SITA Security Requirements for Third-Party Service Providers that Access, Process, Store or Transmit Data on Behalf of SITA

Vulnerability Management in an Application Security World. AppSec DC November 12 th, The OWASP Foundation

A Governance Framework for Building Secure IT Systems *

CYBER SECURITY AND RISK MANAGEMENT. An Executive level responsibility

ABB s approach concerning IS Security for Automation Systems

UIIPA - Security Risk Management. June 2015

Achieving Truly Secure Cloud Communications. How to navigate evolving security threats

Analyzing the Security Significance of System Requirements

Challenges of Software Security in Agile Software Development

Promoting Network Security (A Service Provider Perspective)

Development Processes (Lecture outline)

Practical Steps To Securing Process Control Networks

Software Security Touchpoint: Architectural Risk Analysis

ISO Controls and Objectives

Information Technology Branch Access Control Technical Standard

Basics of Internet Security

Network Security Policy

Requirements Engineering for SaaS Application Security in Cloud Using SQUARE Methodology

Threat Modeling Smart Metering Gateways

An Approach to Threat Modeling in Web Application Security Analysis

External Penetration Assessment and Database Access Review

TABLE OF CONTENT. Page 2 of 9 INTERNET FIREWALL POLICY

Managing IT Security with Penetration Testing

Guide to Vulnerability Management for Small Companies

Host Hardening. Presented by. Douglas Couch & Nathan Heck Security Analysts for ITaP 1

Vulnerability Scanning & Management

A Goal- Driven Security Framework for Cloud Storage: A Preliminary Study

Threat Modeling. 1. Some Common Definition (RFC 2828)

UF Risk IT Assessment Guidelines

APIs The Next Hacker Target Or a Business and Security Opportunity?

Security aspects of e-tailing. Chapter 7

Information Technology Engineers Examination. Information Security Specialist Examination. (Level 4) Syllabus

A Return On Investment from Computer Security Technology

Introduction to Computer Security

Secure Code Development

REGULATIONS FOR THE SECURITY OF INTERNET BANKING

Application Security in the Software Development Lifecycle

Rapid Threat Modeling Techniques

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

Misuse Cases: earlier and smarter information security

SIEM Implementation Approach Discussion. April 2012

NETWORK SECURITY ASPECTS & VULNERABILITIES

Security Services. A Solution for Providing BPM of Security Services within the Enterprise Environment.

LAMAR STATE COLLEGE - ORANGE INFORMATION RESOURCES SECURITY MANUAL. for INFORMATION RESOURCES

Transcription:

Secure By Design: Security in the Software Development Lifecycle Twin Cities Rational User s Group Security Briefing by Arctec Group (www.arctecgroup.net)

Integrating Security into Software Development Focus Areas Collaborative Approach Security Goals Leveraging Existing Artifacts and Processes Security-centric artifacts

Software Development Realities Blame game: why is software insecure?

Software Development: The Way Forward Build a shared understanding of risk & risk management

Security Goals Confidentiality Concealment Information and resources Integrity Trustworthiness of data and resources Availability Availability of information or resources *definitions from Computer Security Art and Science, By Matt Bishop, Addison Wesley

Security & Security Mechanisms Protection - prevent the attack from succeeding Detection - detect abuse or malicious use Response - recover from attack Understand role of policy Understand trust assumptions

but why do we need application security? Firewall/DMZ security model does not reflect current threat model or deal with threats emerging from web application, thin client, and web services application Current paradigm of front of front door protection does not protect against malicious insider 93% of vulnerabilities occur at the application level (source: ICAT)

but why do we need application security? Denial of Service Theft of Proprietary Information Insider abuse Viruses and Worms Financial fraud Sabotage Highest Reported ($US) 60,000,000 35,000,000 6,000,000 6,000,000 4,000,000 2,000,000 Average Losses ($US) 1,427,000 2,700,000 135,000 200,000 329,000 215,000 * Excerpted from CSI/FBI Report 2003 - poll of 530 US based corporations, government, and educational institutions

Security in Inception "A problem, properly stated, is a problem on its way to being solved," Buckminster Fuller

Security in Inception Requirements Functional versus non-functional requirements Usability & Security & related ilities Risk Analysis Asset classification Data Classification Classify entities to drive out security model for access control and related controls Domain Glossary of Security Terms

Data Classification Example Public Private Confdl Site Config Everyone R Current Customers R C, R, U R Administrators R, U, D

Security in Inception Security Use Case Modeling Show behavioral flows Understand/analyze/vet security implications of pre and post conditions Understand/analyze/vet exceptional flows Useful to synthesize authorization structure

Security Use Case Modeling Modeling Identity Identity forms the basis of many security mechanisms, including access control (authentication, authorization) However identity is not an entity, but the result of a process Use Use Case modeling to drive out the relationships and dependencies to establish identity in a system SSO Federated Identity example: User logs on to local system in manufacturer policy domain, message is sent to supplier domain, message includes client user information & manufacturer domain security information; supplier system authenticates request

Security in Elaboration Elaborating Use Cases Using relationships to model security Includes relationships can illustrate many protection mechanisms, e.g. logon process Extends relationships can illustrate many detection mechanisms, e.g. audit logging

Security in Elaboration Abuse Cases Look at the system from an attacker point of view Useful to glean/verify security requirements, create threat models Discussed in detail paper by Guttorm Sindre and Andreas Opdahl. More information at: www.ifi.uib.no/conf/refsq2001/papers/p25.pdf

Misuse Case Format A misuse case is the inverse of a use case, i.e. A function that the system should not allow -Sindre & Opdahl A mis-actor is the inverse of an actor, i.e., an actor that one does not want the system to support, an actor who initiates misuse cases. - Sindre & Opdahl Additional elements Worst Case Threat: end system state if Misuse succeeds Prevention and Detection Guarantees: these guarantees closely resemble a Use Case Post-condition, but encapsulate securityspecific concepts of prevention and detection. Stakeholders and Risks: this field gives the security team a place to address what the business risk that is generated by the application.

Misuse Case Example

Security in Elaboration Implement Saltzer and Schroeder s Principles* Principle of Least Privilege Principle of Fail Safe Defaults Principle of Economy of Mechanism Principle of Complete Mediation Principle of Open Design Principle of Separation of Privilege Principle of Least Common Mechanism Principle of Psychological Acceptability * from The Protection of Information in Computer Systems, Saltzer and Schroeder, Proceedings of the IEEE, 1975

Security in Elaboration Threat Modeling Howard and Leblanc s STRIDE and DREAD Identification STRIDE Spoofing, Tampering, Repudiation, Information disclosure, Denial of service, and Elevation of privilege Prioritization DREAD Damage potential, Reproducibility, Exploitability, Affected users, and Discoverability

Using Threat Models Threat Models consist of: Entry points Assets Threats Dependencies

Using Threat Models Order Books Web Service example Use Case Entry point: web service is available via network, e.g. firewall does not block access Assets: customer number, credit card, bookstore brand and trust Threats Information disclosure: attacker could gain access to Web Service Denial of Service: attacker could effect accessibility of site Tampering & Elevation of privilege: attacker could use vulnerability in service tamper with data or elevate privilege

Security in Construction Test cases Use threat models and abuse cases to drive test cases - the same as use cases drive testing for functional requirements Logging & monitoring Assess quality of logging and reporting mechanisms during development Code Review Peer review Source Code Analysis Tools Scanning tools

Security in Transition Security baseline configuration Utilize baseline configurations from vendors and best practice guides Secure builds - separation of privileges Incident response planning Security Metrics

The Way Forward Security in SDLC is still relatively new Aim for incremental improvement Aim for reuse Educate/mentor/co-evolve Manage risk: We have no future because our present is too volatile. We have only risk management. The spinning of the given moment's scenarios. Pattern recognition... -William Gibson Pattern Recognition