Costs of Security in a COTS-Based Software System True Program Success TM Costs of Security in a COTS-Based Software System Arlene Minkiewicz, Chief Scientist.

Slides:



Advertisements
Similar presentations
Prescriptive Process models
Advertisements

Software Quality Assurance Plan
Software Engineering CSE470: Process 15 Software Engineering Phases Definition: What? Development: How? Maintenance: Managing change Umbrella Activities:
The software process A software process is a set of activities and associated results which lead to the production of a software product. This may involve.
©2006 OLC 1 Process Management: The Foundation for Achieving Organizational Excellence Process Management Implementation Worldwide.
The Outsourcing Process
Cost and Management Challenges of Systems of Systems True Program Success TM Cost and Management Challenges of System of Systems Arlene Minkiewicz, Chief.
R R R CSE870: Advanced Software Engineering (Cheng): Intro to Software Engineering1 Advanced Software Engineering Dr. Cheng Overview of Software Engineering.
Requirements - Why What and How? Sriram Mohan. Outline Why ? What ? How ?
Managing the Information Technology Resource Jerry N. Luftman
MSIS 110: Introduction to Computers; Instructor: S. Mathiyalakan1 Systems Design, Implementation, Maintenance, and Review Chapter 13.
Notion of a Project Notes from OOSE Slides - modified.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
SQM - 1DCS - ANULECTURE Software Quality Management Software Quality Management Processes V & V of Critical Software & Systems Ian Hirst.
Pertemuan Matakuliah: A0214/Audit Sistem Informasi Tahun: 2007.
SDLC. Information Systems Development Terms SDLC - the development method used by most organizations today for large, complex systems Systems Analysts.
DITSCAP Phase 2 - Verification Pramod Jampala Christopher Swenson.
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
Systems Analysis and Design. Systems Development Life Cycle (SDLC) Systems Analysis Systems Design Programming Testing Conversion On-going maintenance.
CHAPTER 19 Building Software.
SEG Software Maintenance1 Software Maintenance “The modification of a software product after delivery to correct faults, to improve performance or.
1 Risks of using COTS in Information Technology Systems Symposium on Risk May 9, 2001 Ronald Kohl Titan Systems Co., AverStar Group
Effective Methods for Software and Systems Integration
QUALITY MANAGEMENT SYSTEM ACCORDING TO ISO
“Here’s why you need the new wheels, too…” Shawn and Steve Image from
1 Building and Maintaining Information Systems. 2 Opening Case: Yahoo! Store Allows small businesses to create their own online store – No programming.
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
Test Organization and Management
Chapter 2 The process Process, Methods, and Tools
Information Systems Security Computer System Life Cycle Security.
Dillon: CSE470: SE, Process1 Software Engineering Phases l Definition: What? l Development: How? l Maintenance: Managing change l Umbrella Activities:
CLEANROOM SOFTWARE ENGINEERING.
Presented to: SBAS Technical Interoperability Working Group Date: 21 June 2005 Federal Aviation Administration Certification of the Wide Area Augmentation.
Project Tracking. Questions... Why should we track a project that is underway? What aspects of a project need tracking?
SENG521 (Fall SENG 521 Software Reliability & Testing Software Product & process Improvement using ISO (Part 3d) Department.
ETICS2 All Hands Meeting VEGA GmbH INFSOM-RI Uwe Mueller-Wilm Palermo, Oct ETICS Service Management Framework Business Objectives and “Best.
Installation and Maintenance of Health IT Systems
Requirements Engineering CSE-305 Requirements Engineering Process Tasks Lecture-5.
Capability Maturity Models Software Engineering Institute (supported by DoD) The problems of software development are mainly caused by poor process management.
Principles of Information Systems, Sixth Edition Systems Design, Implementation, Maintenance, and Review Chapter 13.
Certification and Accreditation CS Phase-1: Definition Atif Sultanuddin Raja Chawat Raja Chawat.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
Software Engineering Principles Principles form the basis of methods, techniques, methodologies and tools Principles form the basis of methods, techniques,
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
Assessing the influence on processes when evolving the software architecture By Larsson S, Wall A, Wallin P Parul Patel.
Search Engine Optimization © HiTech Institute. All rights reserved. Slide 1 What is Solution Assessment & Validation?
1 Local Readiness Team Lead Meeting June 6, 2007.
Investigating and Improving a COTS-based Software Development Process
Principles of Information Systems, Sixth Edition 1 Systems Design, Implementation, Maintenance, and Review Chapter 13.
Herriman High Computer Programming 1A Software Development Cycle Things to Know.
第 11 組 MIS 報告. Phases of any information system ~ recognition of a business problem or opportunity ~ recognition of a business problem or opportunity.
Determining the Suitability of COTS in Mission Critical Systems VT/NVC Feb. 15, 2002 Ronald J. Kohl Chief Systems Engineer Titan Systems Co.
Software Building… What’s Your Strategy? Pros & Cons Discussion By: Learning Team B By Tom Yost, Richard Woodham, Tam Truong, Gordon Heeres, Susan Kenney,
Process Asad Ur Rehman Chief Technology Officer Feditec Enterprise.
Erman Taşkın. Information security aspects of business continuity management Objective: To counteract interruptions to business activities and to protect.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
©Ian Sommerville 2007COTS-based System Engineering Slide 1 COTS-based System Engineering.
Chapter 8: Maintenance and Software Evolution Ronald J. Leach Copyright Ronald J. Leach, 1997, 2009, 2014,
LECTURE 5 Nangwonvuma M/ Byansi D. Components, interfaces and integration Infrastructure, Middleware and Platforms Techniques – Data warehouses, extending.
 System Requirement Specification and System Planning.
Advanced Software Engineering Dr. Cheng
Lecture 3 Prescriptive Process Models
Software and Systems Integration
Description of Revision
CLINICAL INFORMATION SYSTEM
FOUNDATIONAL CONCEPTS
{Project Name} Organizational Chart, Roles and Responsibilities
Presentation transcript:

Costs of Security in a COTS-Based Software System True Program Success TM Costs of Security in a COTS-Based Software System Arlene Minkiewicz, Chief Scientist PRICE Systems, L.L.C. October 2004

Costs of Security in a COTS-Based Software System 2 Conclusion > COTS solutions can save time and money in the development and life- cycle phases of a software product. > Security constraints on a software system may impact the cost/benefit analysis when building a COTS-Based software system > Understanding of issues associated with COTS systems and security implications is essential to successful deployment of COTS-Based Software Systems

Costs of Security in a COTS-Based Software System 3 Cost of security in a COTS-Based Software System 1.The Problem 2.Solution Methodology 3.Security Issues 4.Six Steps to a Successful COTS Implementation 5.Adding security to the six steps 6.Conclusions

Costs of Security in a COTS-Based Software System 4 The Problem > COTS - Not always the low cost solution > Adding security constraints to a software system will change the factors involved in a cost / benefit analysis comparing COTS solutions to home grown solutions > Need to understand all of the activities associated with a COTS based solution in order to properly assess the cost of a COTS Based solution > Need to understand the impact of security constraints on the costs of these activities

Costs of Security in a COTS-Based Software System 5 Solution Methodology > Understand and bound the problem > Understand the process of including COTS and identify the activities associated with this process > Identify the factors that drive costs for these activities > Identify the impact of security constraints on the costs of these activities > Construct a mathematical model to determine cost from these cost drivers > Test the mathematical model against actual data and refine the model

Costs of Security in a COTS-Based Software System 6 Bounding the Problem > Extended Definition of COTS Product (from USC CSE) to include modifications –Commercially available software product - sold, leased or licensed –Source code sometimes unavailable –Periodic release with new features, upgrades for technology, etc. –Modifications to software > Focus is on COTS products being embedded in new software systems > Additional focus is on those systems with security constraints –Security constraints defined as acceptance criteria related to Evaluation Assurance Levels as outlined in the Common Criteria for IT Security Evaluations

Costs of Security in a COTS-Based Software System 7 Security Requirements Present in Two Forms > Additional functional requirements related specifically to security related features –Encryption algorithms –Password protection –Remote access security procedures > Additional levels of qualification and testing to ensure that the software does not allow security breaches into the system on which it operates –Backdoors –Buffer overflows –Other defects that allow entrée to hackers –Patches that can be reversed engineered to find weaknesses

Costs of Security in a COTS-Based Software System 8 Cost Impacts of Security Requirements > Additional Functional Requirements Related to Security increase total Functional Size of the software (SLOC, Function Points, etc.) > Impact of Assurance Requirements on Cost are a function of: –COTS Selection Strategy –Process Maturity of Organization Delivering Solution Focus of process model on security –Expertise of personnel relating to Secure Software Development and Good Software Engineering practices

Costs of Security in a COTS-Based Software System 9 COTS Selection Strategy > Once a decision has been made to incorporate COTS components into a system with security constraints, the integrator has to pick a strategy –Buy and wrap Select components that best meet overall functional requirements Develop a wrapper with glue code that encapsulates the COTS components, ensuring that security requirements are met –Buy pre-certified components Only evaluate COTS components with vendor certification at the required Evaluation Assurance Level –Buy and certify internally Select components that best meet overall functional requirements with vendor assurance that they comply with security requirements Perform necessary certifications internally

Costs of Security in a COTS-Based Software System 10 Process Maturity of Organization > Biggest area for security concerns is in the quality of the software > Organization with a good software process model firmly entrenched build higher quality software –Processes focused on security get the best results Cleanroom Formal mathematical methods –Good processes in general still make substantial difference CMI PSP/TSP > Good software development practices can substantially reduce impact of security assurance requirements because most security threats arise from the presence of defects in design and implementation

Costs of Security in a COTS-Based Software System 11 Expertise of personnel > Security Assurance Requirements are most likely to be met if security is designed into the software from the very beginning –Personnel with training and / or experience in the development of secure software systems understand this –Personnel with training and / or experience in good software development practices understand the importance of building quality into the process from the very beginning

Costs of Security in a COTS-Based Software System 12 Six Steps to a Successful COTS Implementation 1.Analyze Software Requirements 2.Evaluate and Select COTS Solution(s) 3.Negotiate terms with the COTS Vendors 4.Implement COTS Based Solution Tailoring Modifications (not good but sometimes deemed necessary) Develop Glue Code Integration with other COTS Components or homegrown components 5.Maintain License, Subscription and Royalty fees 6.Maintain and Upgrade COTS-Based Solutions

Costs of Security in a COTS-Based Software System 13 Analyze Software Requirements > Necessary whether software is being built or bought –In fact part of the requirements discussion should be whether building or buying makes sense > Selection criteria should relate back to requirements > Care should be taken to identify where there is flexibility – as no COTS solution will meet all software requirements completely > COTS Selection Strategy decided during Requirements Analysis –Care should be taken to understand process maturity and personnel capability with respect to secure software development when selecting the best strategy for success

Costs of Security in a COTS-Based Software System 14 Identify, Evaluate, and Select > Identify solutions that satisfy product, vendor and security requirements > Techniques for evaluation include –progressive filtering –puzzle approach –keystone components > COTS Selection Strategy is key factor in this activity –Buy and wrap – not an issue –Buy pre-certified or Buy and Certify – clearly will impact evaluation process

Costs of Security in a COTS-Based Software System 15 Negotiate terms with COTS vendors > Understand that vendor cooperation and forthrightness is best during the negotiation phase –Address and resolve missing or incomplete functional and known bugs before signing on the dotted line –Establish expectations for responsiveness to issues identified once the integration effort has begun –Develop a clear picture of the recurring and non-recurring costs of the system being developed > Security issues impact negotiations and costs –Pre-certified components bear the cost of certification and re- certification – understand how that impacts costs. –If components are to be certified by integrating organization – be sure to include provisions in the negotiations in the event certification fails to meet promised assurance levels.

Costs of Security in a COTS-Based Software System 16 Implement the COTS Based Solution > Tailoring includes non development activities that must be applied to the COTS components to meet system requirements. > Modifications sometimes occur –Need to understand impact on cost and crossover where modified COTS cost more than home grown solutions –Buy and Wrap COTS – security is not an issue as wrapper will encapsulate modified component –Modifications would require complete re-certification if component is certified by the vendor or the purchaser

Costs of Security in a COTS-Based Software System 17 Implement COTS Based Solutions > Glue code is code developed to hold all the components of the system together –Wrapper would be considered part of the glue code –Costs for glue code development would be impacted by security requirements –Good processes, training and expertise would mitigate this cost impact > System level integration and tests ensure that all the components function together to meet requirements –Part of integration and test would be assurances that the total system meets all assurance requirements –Costs would be impacted by security requirements –Good processes, training and expertise would mitigate this cost impact

Costs of Security in a COTS-Based Software System 18 Maintain license, subscription and royalty fees > Important to perform a long term analysis to understand the long term external costs of implementing a COTS based solution > Initial negotiations should be used to ensure that certified or promised level of security is maintained with upgrades > Renewal period is a good opportunity to revisit terms of negotiations to determine whether vendor is meeting support and upgrade commitments

Costs of Security in a COTS-Based Software System 19 Maintenance and Upgrade of COTS solutions > Evaluation and possible inclusion of upgrades and updates –Perform evaluation to determine whether upgrade adds value to Software System –Re-perform internal certifications –Modifications to wrapper code if necessary to accommodate new interfaces –Costs for glue code modifications and integration and test will be impacted by security constraints –Good processes, training and experience will mitigate security cost impacts > Fix bugs –In glue code, modifications or to compensate for COTS bugs not fixed by vendor –Costs impacted by security constraints –Reintegration necessary –Good processes, training and experience will mitigate security cost impacts

Costs of Security in a COTS-Based Software System 20 Conclusion > Six Steps to a Successful COTS Implementation 1.Analyze Software Requirements 2.Evaluate and Select COTS Solution(s) 3.Negotiate terms with the COTS Vendors 4.Implement COTS Based Solution Tailoring Modifications (not good but sometimes deemed necessary) Develop Glue Code Integration with other COTS Components or homegrown components 5.Maintain License, Subscription and Royalty fees 6.Maintain and Upgrade COTS-Based Solutions

Costs of Security in a COTS-Based Software System 21 Conclusion Arlene F. Minkiewicz Chief Scientist PRICE Systems, L.L.C > COTS solutions can save time and money in the development and life- cycle phases of a software product. > Security constraints on a software system may impact the cost/benefit analysis when building a COTS-Based software system > Understanding of issues associated with COTS systems and security implications is essential to successful deployment of COTS-Based Software Systems

Costs of Security in a COTS-Based Software System 22 FASTER DECISIONS. BETTER DECISIONS. 

Costs of Security in a COTS-Based Software System 23 About PRICE Systems > Leader in Program Affordability Management solutions > Combine cost estimating, project control, and knowledge management – ensuring project success at every decision gateway > Customers increase visibility, minimize risk and cost, accelerate project development, and improve the effectiveness of project selection, control and delivery