June 1, 2004Computer Security: Art and Science ©2002-2004 Matt Bishop Slide #18-1 Chapter 18: Introduction to Assurance Overview Why assurance? Trust and.

Slides:



Advertisements
Similar presentations
©Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 1,3 Slide 1 Software Engineering Software Engineering.
Advertisements

Software Quality Assurance Plan
Lecture # 2 : Process Models
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 المحاضرة الثانية.
November 1, 2004Introduction to Computer Security ©2004 Matt Bishop Slide #17-1 Chapter 17: Introduction to Assurance Overview Why assurance? Trust and.
1 Chapter 4 - Part 1 Software Processes. 2 Software Processes is: Coherent (logically connected) sets of activities for specifying, designing, implementing,
Software Engineering Software Engineering is the science and art of building significant software systems that are: 1) on time 2) on budget 3) with acceptable.
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.
Chapter 2 – Software Processes
Software Processes Coherent sets of activities for specifying, designing, implementing and testing software systems.
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
Chapter 4: Security Policies Overview The nature of policies What they cover Policy languages The nature of mechanisms Types Secure vs. precise Underlying.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 1 Software Prototyping l Rapid software development.
6/17/2015 5:35 PM Lecture 11: Assurance James Hook CS 591: Introduction to Computer Security.
©Ian Sommerville 2000 Software Engineering, 6th edition Slide 1 Software Processes l Coherent sets of activities for specifying, designing, implementing.
Security Engineering II. Problem Sources 1.Requirements definitions, omissions, and mistakes 2.System design flaws 3.Hardware implementation flaws, such.
May 25, 2004ECS 235Slide #1 Amplifying Allows temporary increase of privileges Needed for modular programming –Module pushes, pops data onto stack module.
DITSCAP Phase 2 - Verification Pramod Jampala Christopher Swenson.
Planning and Tracking Software Quality Yordan Dimitrov Telerik Corporation
©Ian Sommerville 2006Critical Systems Slide 1 Critical Systems Engineering l Processes and techniques for developing critical systems.
Lecture 1.
CHAPTER 19 Building Software.
Michael Solomon Tugboat Software Managing the Software Development Process.
Chapter 3 Software Processes.
Courtesy of Professors Chris Clifton & Matt Bishop INFSCI 2935: Introduction of Computer Security1 October 30, 2003 Network Security Assurance Lecture.
Release & Deployment ITIL Version 3
Evolutionary Development and Rapid Prototyping By: Shelone Reid Amanda Smith.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 1 Software Prototyping l Rapid software development to validate requirements l.
November 1, 2004Introduction to Computer Security ©2004 Matt Bishop Slide #17-1 Chapter 17: Introduction to Assurance Overview Why assurance? Trust and.
Chapter 1- Introduction
INTROSE Introduction to Software Engineering Raymund Sison, PhD College of Computer Studies De La Salle University Software: Definitions,
S/W Project Management Software Process Models. Objectives To understand  Software process and process models, including the main characteristics of.
1 Advanced Computer Programming Project Management: Software Life Cycle Copyright © Texas Education Agency, 2013.
CSI315 Web Applications and Technology Overview of Systems Development (342)
Chapter 2 The process Process, Methods, and Tools
Lecture # 04 & 05 CS314 Introduction To Software Development Software Development Process (SDP) Instructor :Muhammad Janas khan
CPIS 357 Software Quality & Testing I.Rehab Bahaaddin Ashary Faculty of Computing and Information Technology Information Systems Department Fall 2010.
Planning and Tracking Software Quality.  What Is Software Quality?  Causes of Software Defects  What is Quality Assurance?  Improving the Software.
IS2150/TEL2910: Introduction of Computer Security1 Nov 15, 2005 Assurance.
1 Chapter 2 The Process. 2 Process  What is it?  Who does it?  Why is it important?  What are the steps?  What is the work product?  How to ensure.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
©Ian Sommerville 2000, Mejia-Alvarez 2009 Slide 1 Software Processes l Coherent sets of activities for specifying, designing, implementing and testing.
Introduction to Software Engineering
Topic (1)Software Engineering (601321)1 Introduction Complex and large SW. SW crises Expensive HW. Custom SW. Batch execution.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 3 Slide 1 Software Processes l Coherent sets of activities for specifying, designing,
Installation and Maintenance of Health IT Systems
Product Development Chapter 6. Definitions needed: Verification: The process of evaluating compliance to regulations, standards, or specifications.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 1 Software Prototyping l Rapid software development to validate requirements.
Software Engineering Management Lecture 1 The Software Process.
Chapter 1. Introduction.
The Software Development Life Cycle: An Overview Presented by Maxwell Drew and Dan Kaiser Southwest State University Computer Science Program.
1 Software Engineering Ian Sommerville th edition Instructor: Mrs. Eman ElAjrami University Of Palestine.
Chapter 18: Introduction to Assurance Dr. Wayne Summers Department of Computer Science Columbus State University
Chapter 2 – Software Processes Lecture 1 Chapter 2 Software Processes1.
CS223: Software Engineering Lecture 2: Introduction to Software Engineering.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
Chapter 1- Introduction Lecture 1. Topics covered  Professional software development  What is meant by software engineering.  Software engineering.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
Slide #18-1 Introduction to Assurance CS461/ECE422 Fall 2008 Based on slides provided by Matt Bishop for use with Computer Security: Art and Science.
INTRODUCTION TO SOFTWARE ENGINEERING
Chapter 17 Building Secure and Trusted Systems
Introduction to Assurance
Introduction to Assurance
Introduction to Assurance
Chapter 18: Introduction to Assurance
Software Engineering Software Engineering is the science and art of
Software Engineering Software Engineering is the science and art of
Introduction to Assurance
Presentation transcript:

June 1, 2004Computer Security: Art and Science © Matt Bishop Slide #18-1 Chapter 18: Introduction to Assurance Overview Why assurance? Trust and assurance Life cycle and assurance

June 1, 2004Computer Security: Art and Science © Matt Bishop Slide #18-2 Overview Trust Problems from lack of assurance Types of assurance Life cycle and assurance Waterfall life cycle model Other life cycle models

June 1, 2004Computer Security: Art and Science © Matt Bishop Slide #18-3 Trust Trustworthy entity has sufficient credible evidence leading one to believe that the system will meet a set of requirements Trust is a measure of trustworthiness relying on the evidence Assurance is confidence that an entity meets its security requirements based on evidence provided by applying assurance techniques

June 1, 2004Computer Security: Art and Science © Matt Bishop Slide #18-4 Relationships

June 1, 2004Computer Security: Art and Science © Matt Bishop Slide #18-5 Problem Sources 1.Requirements definitions, omissions, and mistakes 2.System design flaws 3.Hardware implementation flaws, such as wiring and chip flaws 4.Software implementation errors, program bugs, and compiler bugs 5.System use and operation errors and inadvertent mistakes 6.Willful system misuse 7.Hardware, communication, or other equipment malfunction 8.Environmental problems, natural causes, and acts of God 9.Evolution, maintenance, faulty upgrades, and decommissions

June 1, 2004Computer Security: Art and Science © Matt Bishop Slide #18-6 Examples Challenger explosion –Sensors removed from booster rockets to meet accelerated launch schedule Deaths from faulty radiation therapy system –Hardware safety interlock removed –Flaws in software design Bell V22 Osprey crashes –Failure to correct for malfunctioning components; two faulty ones could outvote a third Intel 486 chip –Bug in trigonometric functions

June 1, 2004Computer Security: Art and Science © Matt Bishop Slide #18-7 Role of Requirements Requirements are statements of goals that must be met –Vary from high-level, generic issues to low- level, concrete issues Security objectives are high-level security issues Security requirements are specific, concrete issues

June 1, 2004Computer Security: Art and Science © Matt Bishop Slide #18-8 Types of Assurance Policy assurance is evidence establishing security requirements in policy is complete, consistent, technically sound Design assurance is evidence establishing design sufficient to meet requirements of security policy Implementation assurance is evidence establishing implementation consistent with security requirements of security policy

June 1, 2004Computer Security: Art and Science © Matt Bishop Slide #18-9 Types of Assurance Operational assurance is evidence establishing system sustains the security policy requirements during installation, configuration, and day-to-day operation –Also called administrative assurance

June 1, 2004Computer Security: Art and Science © Matt Bishop Slide #18-10 Life Cycle

June 1, 2004Computer Security: Art and Science © Matt Bishop Slide #18-11 Life Cycle Conception Manufacture Deployment Fielded Product Life

June 1, 2004Computer Security: Art and Science © Matt Bishop Slide #18-12 Conception Idea –Decisions to pursue it Proof of concept –See if idea has merit High-level requirements analysis –What does “secure” mean for this concept? –Is it possible for this concept to meet this meaning of security? –Is the organization willing to support the additional resources required to make this concept meet this meaning of security?

June 1, 2004Computer Security: Art and Science © Matt Bishop Slide #18-13 Manufacture Develop detailed plans for each group involved –May depend on use; internal product requires no sales Implement the plans to create entity –Includes decisions whether to proceed, for example due to market needs

June 1, 2004Computer Security: Art and Science © Matt Bishop Slide #18-14 Deployment Delivery –Assure that correct masters are delivered to production and protected –Distribute to customers, sales organizations Installation and configuration –Ensure product works appropriately for specific environment into which it is installed –Service people know security procedures

June 1, 2004Computer Security: Art and Science © Matt Bishop Slide #18-15 Fielded Product Life Routine maintenance, patching –Responsibility of engineering in small organizations –Responsibility may be in different group than one that manufactures product Customer service, support organizations Retirement or decommission of product

June 1, 2004Computer Security: Art and Science © Matt Bishop Slide #18-16 Waterfall Life Cycle Model Requirements definition and analysis –Functional and non-functional –General (for customer), specifications System and software design Implementation and unit testing Integration and system testing Operation and maintenance

June 1, 2004Computer Security: Art and Science © Matt Bishop Slide #18-17 Relationship of Stages

June 1, 2004Computer Security: Art and Science © Matt Bishop Slide #18-18 Models Exploratory programming –Develop working system quickly –Used when detailed requirements specification cannot be formulated in advance, and adequacy is goal –No requirements or design specification, so low assurance Prototyping –Objective is to establish system requirements –Future iterations (after first) allow assurance techniques

June 1, 2004Computer Security: Art and Science © Matt Bishop Slide #18-19 Models Formal transformation –Create formal specification –Translate it into program using correctness-preserving transformations –Very conducive to assurance methods System assembly from reusable components –Depends on whether components are trusted –Must assure connections, composition as well –Very complex, difficult to assure

June 1, 2004Computer Security: Art and Science © Matt Bishop Slide #18-20 Models Extreme programming –Rapid prototyping and “best practices” –Project driven by business decisions –Requirements open until project complete –Programmers work in teams –Components tested, integrated several times a day –Objective is to get system into production as quickly as possible, then enhance it –Evidence adduced after development needed for assurance

June 1, 2004Computer Security: Art and Science © Matt Bishop Slide #18-21 Key Points Assurance critical for determining trustworthiness of systems Different levels of assurance, from informal evidence to rigorous mathematical evidence Assurance needed at all stages of system life cycle