Security Touchpoints When Acquiring Software. Dr Carsten Huth Nadim Barsoum Dawid Sroka



Similar documents
Software Assurance in Acquisition and Contract Language

Validating Enterprise Systems: A Practical Guide

Reducing risks in the Software Acquisition Life Cycle

Effective Software Security Management

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

05.0 Application Development

Infrastructure Information Security Assurance (ISA) Process

Supply-Chain Risk Management Framework

Cutting Edge Practices for Secure Software Engineering

Commercial Software Licensing

Request for Proposal for Application Development and Maintenance Services for XML Store platforms

CONTENTS. List of Tables List of Figures

From Chaos to Clarity: Embedding Security into the SDLC

VENDOR RISK MANAGEMENT UPDATE- ARE YOU AT RISK? Larry L. Llirán, CISA, CISM December 10, 2015 ISACA Puerto Rico Symposium

The Security Development Lifecycle

Building Security Into The Software Life Cycle

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

Application Security in the Software Development Lifecycle

IT General Controls Domain COBIT Domain Control Objective Control Activity Test Plan Test of Controls Results

Managing Vulnerabilities for PCI Compliance White Paper. Christopher S. Harper Managing Director, Agio Security Services

Technology Lifecycle Management. A Model for Enabling Systematic Budgeting and Administration of Government Technology Programs

Contracting Guidelines with EHR Vendors

National Information Assurance Certification and Accreditation Process (NIACAP)

State of Oregon. State of Oregon 1

How To Ensure Security In A System

Software Application Control and SDLC

Cloud Vendor Evaluation

Software as a Service: Guiding Principles

New Zealand Company Six full time technical staff Offices in Auckland and Wellington

APPLICATION SECURITY RESPONSE: WHEN HACKERS COME A-KNOCKING

IT Audit and Compliance

Agenda. Agenda. Security Testing: The Easiest Part of PCI Certification. Core Security Technologies September 6, 2007

Project Knowledge Areas

STS Federal Government Consulting Practice IV&V Offering

Three Critical Success Factors for PCI Assessment. Seth Peter NetSPI April 21, 2010

Sytorus Information Security Assessment Overview

Colorado Department of Health Care Policy and Financing

3 rd Party Vendor Risk Management

RFP # Library System Attachment #2 Implementation Services and Project Plan Questionnaire

Applying CMMI SM In Information Technology Organizations SEPG 2003

CITY UNIVERSITY OF HONG KONG. Information System Acquisition, PUBLIC Development and Maintenance Standard

FEDERAL HOUSING FINANCE AGENCY ADVISORY BULLETIN AB Cyber Risk Management Guidance. Purpose

Third Party Risk Management 12 April 2012

Building Security into the Software Life Cycle

Software Security Engineering: A Key Discipline for Project Managers

Stepping Through the Info Security Program. Jennifer Bayuk, CISA, CISM

Information Technology Project Oversight Framework

Software & Supply Chain Assurance: Mitigating Risks Attributable to Exploitable ICT / Software Products and Processes

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

Secure Development LifeCycles (SDLC)

Application of software product quality international standards through software development life cycle

Developing CMMI in IT Projects with Considering other Development Models

Information Technology Security Review April 16, 2012

Information Technology Services Project Management Office Operations Guide

Domain 1 The Process of Auditing Information Systems

Revision History Revision Date Changes Initial version published to

Procedure for Assessment of System and Software

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

Services Providers. Ivan Soto

ISEB MANAGER S CERTIFICATE IN ITIL INFRASTRUCTURE MANAGEMENT. Guidelines for candidates who are taking the ICT Infrastructure Examination

Capability Maturity Model Integrated (CMMI)

The President s Critical Infrastructure Protection Board. Office of Energy Assurance U.S. Department of Energy 202/

Cloud Computing in a Regulated Environment

Suggested Language to Incorporate System Security Engineering for Trusted Systems and Networks into Department of Defense Requests for Proposals

Introduction to Risk Management for Software Projects. Peter Kolb. Distributed and Outsourced Software Engineering, ETH Zurich

Request for Proposal For: PCD-DSS Level 1 Service Provider St. Andrew's Parish Parks & Playground Commission Bid Deadline: August 17, 2015 at 12 Noon

Publication 805-A Revision: Certification and Accreditation

Cloud Computing: What needs to Be Validated and Qualified. Ivan Soto

Software Development: The Next Security Frontier

i Network, Inc Technology Solutions, Products & Services Providing the right information, to the right customer, at the right time.

Put into test the security of an environment and qualify its resistance to a certain level of attack.

TERMS OF REFERENCE (TORs) OF CONSULTANTS - (EAG) 1. Reporting Function. The Applications Consultant reports directly to the CIO

ITIL Introducing service design

UMHLABUYALINGANA MUNICIPALITY PATCH MANAGEMENT POLICY/PROCEDURE

Application Management Services (AMS)

Protect Your Organization With the Certification That Maps to a Master s-level Education in Software Assurance

Adding a Security Assurance Dimension to Supply Chain Practices

Project Management Plan for

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

Security Patch Management

How To Implement Itil V3

Appendix A-2 Generic Job Titles for respective categories

RFP Attachment C Classifications

DIVISION OF INFORMATION SECURITY (DIS)

OUTSOURCING DUE DILIGENCE FORM

Get Confidence in Mission Security with IV&V Information Assurance

Transcription:

Security Touchpoints When Acquiring Software Dr Carsten Huth Nadim Barsoum Dawid Sroka

2 Topics Context Problem Definition SDLC and Security Touchpoints Acquisition Process Conclusions

3 Acknowledgement A substantial part of the research for this presentation was carried out as part of EBS Protect.on Security Improvement Programme (SIP) 034 - Application Security. It is planned to train employees at E.ON in matters of Security Touchpoints When Acquiring Software.

CONTEXT AND PROBLEM DEFINITION

5 Context: Today s Landscape of SW Development & Acquisition Develop vs. acquire software Systems as a combination of acquired and developed components Open Source components The possibilities depend upon the acquisition type: Commercial off-the-shelf (COTS) Made-to-order Forced upon due to merger/acquisition or reorganization Obtained for free (normally open source)

6 Defining the Problem Questions: Why are we acquiring software? Address a business need Why don t we develop it? Cost vs. Benefit How do we ensure that acquired software is secure? Security Touchpoints when acquiring software

SDLC AND SECURITY TOUCHPOINTS

How does security factor into the acquisition process? Requirements Analysis Design Construction Integration & Test Software Development Life Cycle Systems Assurance Software Assurance in Planning Acquisition Process Contracting Monitoring & Acceptance Follow-on Source: Software Assurance in Acquisition and Contract Language, U.S. Department of Homeland Security 8

Context/Comparison: What does it take to develop secure software? Code review Architectural risk analysis Penetration testing Risk-based security tests Abuse cases Security requirements Security operations Source: Gary McGraw: Building Security In Seven Touchpoints for Software Security 9

Acquirer Requirement and Use Cases Test And Test Results Feedback From The Field Architecture and Design Test Plan Supplier Code Source: Gary McGraw: Building Security In Seven Touchpoints for Software Security 10

Abuse Cases Security Requirements Risk Analysis Penetration Testig Security Operations Acquirer Requirement and Use Cases Test And Test Results Feedback From The Field Architecture and Design Test Plan Supplier Risk-based Security Tests Code Revie w Code Acquisition Process Planning Contracting Monitoring & Acceptance Follow-on Source: Gary McGraw: Building Security In Seven Touchpoints for Software Security 11

Assurance Cases / Risk-Based Security Tests Design and Architecture Review Sun- Setting Security Operations Accept -ance Criteria Deliver -ables Schedule Milestones Contract Evaluate Proposals Issue RFP RFP 12 Monitoring & Acceptance Follow-on Contracting Planning Acquisition Process Supplier Evaluation Criteria Acquisition Strategy & Plan Supplier Selection & Inquiry Initial Risk Assessment Security Require -ments Short -List Suppliers Code Review (SAST) Pen- Testing (DAST) Pen- Testing (DAST)

13 Security Touchpoints for Acquiring Software Acquisition Type: Touchpoint: Security Requirements Abuse Cases Architectural Risk Analysis Security Tests Code Review Penetration Testing Security Operations COTS - Define security requirements (function and nonfunctional) - May not find exact fit of features Largely similar to Software Development Made to order / custom software - Define security requirements (function and nonfunctional) Largely Similar to software - Can dictate features to develop Largely similar Development to Software Development - Acquirer can develop abuse cases Vendor can be requested to cooperate and include abuse cases in test case scenarios - Acquirer may only have limited view of internal architecture of the software Vendor can be requested to submit security design and architecture documents for review - Acquirer may be involved in SDLC and given option to request architectural change as needed Vendor can be requested to submit security design and architecture documents for review Potentially security tests can be run on an evaluation version of the software. Otherwise the vendor can be requested to provide evidence of such testing Consider requesting to provide results of 3 rd party code review Acquirer does not have access to source code, but supplier can be required to provide evidence of code review results Acquirer does not have access to source code, but supplier Possibly can be required negotiate to provide evidence access of code to review results source code for direct - Can possibly negotiate access to source code for direct assessment assessment Depends on type of software: - Web client, fat client, service, mobile device, - Hosting: Hosted by Vendor or Acquirer? - Example 1: web client, hosted by Acquirer: If Acquirer has access to an evaluation version of the software, a penetration test can and should be performed - Example 2: Service, hosted by Vendor: Pen testing can only be done in agreement with Vendor, evidence of pen testing can be shared with Acquirer, or pen testing can be carried by a trusted third party Characteristic: Acquirer cannot make changes to the software. Therefore security vulnerabilities need patch management. - Bound to the mitigation schedule followed by the vendor. (Patch management, Service Level Agreements (SLAs)) - Defined support terms - Service Level Agreement (SLA)

ACQUISITION PROCESS PLANNING

15 Acquisition Process: Planning Planning Acquisition Process Contracting Monitoring & Acceptance Follow-on Determine the need for a new software solution Develop the security requirements of the system Set an acquisition strategy or plan Define evaluation criteria and plan Inquire about suppliers

16 Needs Determination and System Profiling What is the purpose of the software, what will it serve? How does the acquired software treat the problem? How much will it be exposed to threats? How widespread will it be? Who is liable in case of an exploit causing damage?

17 Identify Security Category Typical questions for a risk analysis: What is the value of the system? What software/data assets need to be protected to sustain the system? What are the potential adverse conditions to be prevented and managed? What is the impact of software unpredictability? How do security controls mitigate identified risks? How is residual risk determined and managed? - Determine impact of a breach of - Confidentiality - Integrity - Availability - Determine the Security Category / Risk Rating of the system

18 Develop Security Requirements Security Category will guide security requirements identification Define terminology to provide for common understanding Define levels of confidentiality, integrity and availability Establish a criteria to identify criticality of security concerns Build assurance cases SQUARE Methodology Identify acceptance criteria Identify and review system architecture Refer to regulations and organizational policies

19 Identify Software Alternatives Risk treatment: Accept Mitigate Avoid Transfer or share COTs Tradeoffs when mitigating risk Risk reduction vs. Increased costs vs. Decreased operational effectiveness Custom Mobile Open Source

20 Create Acquisition Plan Roles and responsibilities Involve personnel with significant software security experience in all acquisition stages State the expertise required and the specific involvement Roadmap for completing actions and milestones Allow for the time needed to complete security tests Special considerations in the purchase and implementation of software Define required qualifications of vendor or supplier Plan for independent testing, instead of relying too much on existing certifications or attestations, which possibly resulted from security testing a different version or configuration

21 Request For Proposal Considerations Identify: Request for Proposal content and format Statement of Work expectations and attachments Technical evaluation criteria and plan Incentives and penalties Deliverables Contractor monitoring and project indicators Risks pertaining to selected vendor strategy e.g. vendor unfamiliar with legacy interface Plan process for evaluating responses to RFP

ACQUISITION PROCESS CONTRACTING

23 Acquisition Process: Contracting Planning Acquisition Process Contracting Monitoring & Acceptance Follow-on Issue Solicitation/RFP Evaluate Proposals Finalize Contract

24 Issue Solicitation/RFP and Evaluate Proposals The Request for Proposals should include the following: Work statement Terms and conditions Instructions to suppliers Certifications Prequalification Subject Matter Experts (SMEs) should evaluate each proposal along with the evidence provided to support answers to the due diligence questionnaire Sample questionnaire: Software Assurance Due Dilligence Questionnaires: https://buildsecurityin.uscert.gov/sites/default/files/duediligencemwv12_01am090909.pdf

Due Diligence Questionnaires Help evaluate criteria Evidence should be requested or on-site follow-up reviews should verify the answers Help address following concerns: Organizational history Foreign interests and influences Security track record Financial history and status Individual malicious behavior Software security training and awareness Software history and licensing Development process management Software development facility Concept and planning Design Software development Component assembly Testing (supply-side) Installation and acceptance Software change management Build-in software defenses Assurance claims and evidence Software manufacture and packaging Support Operating environment for services Security monitoring Timeliness of vulnerability mitigation Service confidentiality policies Perform for short listed suppliers Software Supply Chain Risk Management & Due-Diligence - https://buildsecurityin.uscert.gov/sites/default/files/duediligencemwv12_01am090909.pdf 25

Software Assurance Risks Evaluating Suppliers Source: Software Assurance in Acquisition: Mitigating Risks to the Enterprise - https://buildsecurityin.uscert.gov/sites/default/files/publications/ SwAinAcquisition%20MitigatingRisks%20to%20Enterprise.pdf 26

Contracting Touchpoints Vendor to deliver appropriate documentation Secure defaults and configurations Terms for updates and new releases Conditions for requested modifications and functional changes Security vulnerabilities resolution (0-days) and turn-around Access to source code (agreement) Modification of source code and willingness of vendor to participate Agree on possible future migration to other platforms Vendor must support migration effort even if to another product Vendor to grant access to new supplier for migration effort Warranties Software performs according to requirements Software does not contain undisclosed features or security holes Expedited response in case of failure 27

Example: OWASP Secure Software Contract Annex The OWASP has developed a contract annex for custom made software Sample paragraphs: (c) Design Developer agrees to provide documentation that clearly explains the design for achieving each of the security requirements. In most cases, this documentation will describe security mechanisms, where the mechanisms fit into the architecture, and all relevant design patterns to ensure their proper use. The design should clearly specify whether the support comes from custom software, third party software, or the platform. (e) Security Analysis and Testing Developer will perform application security analysis and testing (also called "verification") according to the verification requirements of an agreed-upon standard (such as the OWASP Application Security Verification Standard (ASVS)). The Developer shall document verification findings according to the reporting requirements of the standard. The Developer shall provide the verification findings to Client. (f) Secure Deployment Developer agrees to provide secure configuration guidelines that fully describe all security relevant configuration options and their implications for the overall security of the software. The guideline shall include a full description of dependencies on the supporting platform, including operating system, web server, and application server, and how they should be configured for security. The default configuration of the software shall be secure. Source: https://www.owasp.org/index.php/owasp_secure_software _Contract_Annex 28

ACQUISITION PROCESS MONITORING AND ACCEPTANCE

30 Acquisition Process: Monitoring & Acceptance Planning Acquisition Process Contracting Monitoring & Acceptance Follow-on Establish work schedule Implement change control Review and accept deliverables

31 Establish Work Schedule & Implement Change Control Schedule should include specific timelines for meeting or delivering the security requirements The change control procedures should ensure that security requirements are not compromised when changes are made

32 Review and Accept Deliverables Deliverables other than the software can be: documentation test cases and results Acceptance criteria should be: explicit measurable included in the terms and conditions Examples of acceptance criteria: The Supplier shall demonstrate that all application software is fully functional when residing on the operating system and on middleware platforms used by the Acquirer in its production environment, configured as noted above. The Supplier shall NOT change any configuration settings when providing software updates unless specifically authorized in writing by the Acquirer. SMEs to review each software deliverable and analyze test results produced by the supplier or independent tester to ensure that security requirements are met This can be DAST or manual penetration of testing of the application

33 3 rd party Certifications for Security Testing Industry reputation is supplier known for this type of testing? Methodology how does supplier propose to perform the required tests? Relevance is the supplier able to collect and digest the security requirements relevant for your systems and identify relevant security issues? References Can supplier furnish references of other clients in your industry? Competence is the supplier able to securely process and maintain information about our system? Reports? Results? Do they practice due diligence? Common services Static Application Security Testing Dynamic Application Security Testing Security Architecture and Design Reviews

ACQUISITION PROCESS FOLLOW-ON

35 Acquisition Process: Follow-on Planning Acquisition Process Contracting Monitoring & Acceptance Follow-on Maintain the software Dispose of or decommission the software

36 Maintain the Software Prepare for the long run: changes of the software, its configuration or its context may invalidate assumptions made for security requirements Configuration control Upgrades and patches Support Operational security Security vulnerabilities found in operation Identify severity of vulnerabilities SLA terms for handling critical issues

37 Dispose of or Decommission the Software Safe and secure retirement of software Related data should also be securely destroyed migrated archived

RECAP AND CONCLUSIONS

39 Recap Acquisition or develop is a business driven cost benefit decision. The Acquisition process includes business criteria (performance, stability) as well as security criteria This presentation outlines the security touch points in the acquisition process to highlight where security expertise is required in the acquisition process and where security practices should be applied Acquisition process is very much a part of the System Development Lifecycle Software Development Lifecycle Security Touch Points apply according to strategy Acquisition Phases include: Planning, Contracting, Monitoring & Acceptance and Follow-on For each of the above phases contract is key document to ensure vendor commitment before, during and after acquisition

Conclusions Apply touchpoints for building secure software to the software acquisition process (e.g. abuse cases, architectural risk analysis, security requirements, ) Use risk-driven process in selecting software suppliers Questionnaire for COTS and custom software Require security testing (SAST, DAST) of software to be acquired Ensure security reports are periodically submitted for review and that identified risks are treated Introduce security-focused terms and conditions into acquisition contract Consider contracting touchpoints and OWASP Secure Software Contract Annex 40

41 How much have we developed this topic? Fragments/parts of the process exist but no best practice recommendation for the whole process of security touchpoints Recognised the overlaps in acquisition and development with regards to security Hope to build a gauge system that can help easily identify aspects to consider for the different system development scenarios

Sources 1. Software Assurance in Acquisition: Mitigating risks to the Enterprise - Mary Linda Polydys and Stan Wisseman 2. An Investigation of Build vs. Buy Decision for Software Acquisition by Small to Medium Enterprises - Farhad Daneshgar, Lugkana Worasinchai and Graham Low 3. Development and Acqusition Federal Financial Institutions Examination Council 4. Arguing Security - Creating Security Assurance Cases - Charles B. Weinstock, Howard F. Lipson, and John Goodenough 5. Software Acquisition Planning Guidelines Software Engineering Institute (SEI) 6. Software Supply Chain Risk Management & Due-Diligence (Software Assurance Pocket Guide Series: Acquisition & Outsourcing, Volume II Version 1.2, June 16, 2009) 7. Adapting the SQUARE Method for Security Requirements Engineering to Acquisition- Nancy R. Mead - SEI 8. Security Quality Requirements Engineering (SQUARE) Methodology - Nancy R. Mead et. Al Carnegie Melon - SEI 9. Developing a Product Line Acquisition Strategy for a DoD Organization: A Case Study - John K. Bergey et al 10. The DoD Acquisition Environment and Software Product Lines - John K. Bergey et al 42

43 Thank you! Questions? Carsten Huth: Carsten.Huth@hp.com Nadim Barsoum: Nadim.Barsoum@hp.com Dawid Sroka: Dawid.Sroka@hp.com