1 Building with Assurance CSSE 490 Computer Security Mark Ardis, Rose-Hulman Institute May 10, 2004.

Slides:



Advertisements
Similar presentations
Operating System Security
Advertisements

November 1, 2004Introduction to Computer Security ©2004 Matt Bishop Slide #17-1 Chapter 17: Introduction to Assurance Overview Why assurance? Trust and.
Chapter 6 Security Kernels.
1 norshahnizakamalbashah CEM v3.1: Chapter 10 Security Target Evaluation.
Trusted Hardware: Can it be Trustworthy? Design Automation Conference 5 June 2007 Karl Levitt National Science Foundation Cynthia E. Irvine Naval Postgraduate.
1 Evaluating Systems CSSE 490 Computer Security Mark Ardis, Rose-Hulman Institute May 6, 2004.
1 Access Control Matrix CSSE 490 Computer Security Mark Ardis, Rose-Hulman Institute March 9, 2004.
1 Overview CSSE 490 Computer Security Mark Ardis, Rose-Hulman Institute March 8, 2004.
1 Vulnerability Analysis CSSE 490 Computer Security Mark Ardis, Rose-Hulman Institute April 26, 2004.
Chapter 4: Security Policies Overview The nature of policies What they cover Policy languages The nature of mechanisms Types Secure vs. precise Underlying.
CSE331: Introduction to Networks and Security Lecture 28 Fall 2002.
Chapter 1 Introduction. Chapter Overview Overview of Operating Systems Secure Operating Systems Basic Concepts in Information Security Design of a Secure.
Chapter 2 Access Control Fundamentals. Chapter Overview Protection Systems Mandatory Protection Systems Reference Monitors Definition of a Secure Operating.
Security Engineering II. Problem Sources 1.Requirements definitions, omissions, and mistakes 2.System design flaws 3.Hardware implementation flaws, such.
DITSCAP Phase 2 - Verification Pramod Jampala Christopher Swenson.
Security Assessments FITSP-M Module 5. Security control assessments are not about checklists, simple pass-fail results, or generating paperwork to pass.
Chapter 10 Architectural Design
SEC835 Database and Web application security Information Security Architecture.
IS 2620: Developing Secure Systems Assurance and Evaluation Lecture 8 March 15, 2012.
Security Assessments FITSP-A Module 5
Chapter 13 Processing Controls. Operating System Integrity Operating system -- the set of programs implemented in software/hardware that permits sharing.
IS2150/TEL2910: Introduction of Computer Security1 Nov 15, 2005 Assurance.
CPIS 357 Software Quality & Testing
ISA 562 Internet Security Theory & Practice
ITEC224 Database Programming
G53SEC 1 Reference Monitors Enforcement of Access Control.
Security Architecture
Chapter 16 Methodology - Conceptual Database Design.
Methodology - Conceptual Database Design Transparencies
Methodology Conceptual Databases Design
9/14/2012ISC329 Isabelle Bichindaritz1 Database System Life Cycle.
Intro to Architecture – Page 1 of 22CSCI 4717 – Computer Architecture CSCI 4717/5717 Computer Architecture Topic: Introduction Reading: Chapter 1.
Three fundamental concepts in computer security: Reference Monitors: An access control concept that refers to an abstract machine that mediates all accesses.
COP 3530 PROGRAM, FILE & DATA STRUCTURES Syllabus Syllabus Lab Information Lab Information Overrides Overrides Questions? Questions?
Security Architecture and Design Chapter 4 Part 3 Pages 357 to 377.
SOFTWARE DESIGN (SWD) Instructor: Dr. Hany H. Ammar
A Unifying Approach to the Design of a Secure Database Operating System Written By: David L. Spooner Ehud Gudes.
Methodology - Conceptual Database Design. 2 Design Methodology u Structured approach that uses procedures, techniques, tools, and documentation aids to.
1/26/2004TCSS545A Isabelle Bichindaritz1 Database Management Systems Design Methodology.
Methodology: Conceptual Databases Design
Software Development. Software Developers Refresher A person or organization that designs software and writes the programs. Software development is the.
Methodology - Conceptual Database Design
CE Operating Systems Lecture 3 Overview of OS functions and structure.
Computers Operating System Essentials. Operating Systems PROGRAM HARDWARE OPERATING SYSTEM.
1 Chapter Nine Conducting the IT Audit Lecture Outline Audit Standards IT Audit Life Cycle Four Main Types of IT Audits Using COBIT to Perform an Audit.
Database Security and Auditing: Protecting Data Integrity and Accessibility Chapter 1 Security Architecture.
1 15 quality goals for requirements  Justified  Correct  Complete  Consistent  Unambiguous  Feasible  Abstract  Traceable  Delimited  Interfaced.
G53SEC 1 Reference Monitors Enforcement of Access Control.
Secure Systems Research Group - FAU SW Development methodology using patterns and model checking 8/13/2009 Maha B Abbey PhD Candidate.
Chapter 2 Database System Concepts and Architecture Dr. Bernard Chen Ph.D. University of Central Arkansas.
Capturing the requirements  Requirement: a feature of the system or a description of something the system is capable of doing in order to fulfill the.
CSCE 548 Secure Software Development Security Operations.
Operating Systems Security
© 2006 Pearson Addison-Wesley. All rights reserved 2-1 Chapter 2 Principles of Programming & Software Engineering.
CS526: Information Security Chris Clifton November 4, 2003 Assurance.
Database Security and Auditing: Protecting Data Integrity and Accessibility Chapter 1 Security Architecture.
Chapter 19: Building Systems with Assurance Dr. Wayne Summers Department of Computer Science Columbus State University
Chapter 21: Evaluating Systems Dr. Wayne Summers Department of Computer Science Columbus State University
PREPARED BY: MS. ANGELA R.ICO & MS. AILEEN E. QUITNO (MSE-COE) COURSE TITLE: OPERATING SYSTEM PROF. GISELA MAY A. ALBANO PREPARED BY: MS. ANGELA R.ICO.
Information Security Principles and Practices by Mark Merkow and Jim Breithaupt Chapter 5: Security Architecture and Models.
1 Security Architecture and Designs  Security Architecture Description and benefits  Definition of Trusted Computing Base (TCB)  System level and Enterprise.
Chapter 29: Program Security Dr. Wayne Summers Department of Computer Science Columbus State University
CS457 Introduction to Information Security Systems
Official levels of Computer Security
Chapter 19: Building Systems with Assurance
Chapter 27 Security Engineering
Chapter 29: Program Security
Operating Systems : Overview
Operating Systems : Overview
Presentation transcript:

1 Building with Assurance CSSE 490 Computer Security Mark Ardis, Rose-Hulman Institute May 10, 2004

2 Acknowledgements Many of these slides came from Chris Clifton and Matt Bishop, author of Computer Security: Art and Science

3 Threats and Vulnerabilities Threat Threat –A potential occurrence that can have an undesirable effect on the system assets of resources  Results in breaches in confidentiality, integrity, or a denial of service  Example: outsider penetrating a system is an outsider threat  Need to identify all possible threats and address them to generate security objectives Vulnerability Vulnerability  A weakness that makes it possible for a threat to occur

4 Architectural considerations Determine the focus of control of security enforcement mechanism Determine the focus of control of security enforcement mechanism –Operating system: focus is on data –Applications: more on operations/transactions Centralized or Distributed Centralized or Distributed –Distribute them among systems/components –Generally easier to “assure” centralized system Security mechanism may exist in any layer Security mechanism may exist in any layer

5 Architectural considerations Example: Four layer architecture Application layer Application layer –Transaction control Services/middleware layer Services/middleware layer –Support services for applications –E.g.., DBMS, Object reference brokers Operating system layer Operating system layer –Memory management, scheduling and process control Hardware Hardware –Includes firmware

6 Architectural considerations Select the correct layer for a mechanism Select the correct layer for a mechanism –Controlling user actions may be more effective at application layer –Controlling file access may be more effective at the operating system layer Need to secure layers lower than target layer Need to secure layers lower than target layer –Application security means OS security as well –Special-purpose OS? –All DBMSs require the OS to provide specific security features

7 Build or Add? Security is an integral part of a system Security is an integral part of a system –Address security issues at system design phase –Easy to analyze and assure Reference monitor (concept) Reference monitor (concept) –Mediates all accesses to objects by subjects Reference validation mechanism (implementation) must be: Reference validation mechanism (implementation) must be: 1.Tamperproof 2.Never bypassed 3.Small enough to be subject to analysis and testing – the completeness can be assured Security kernel Security kernel –Hardware + software implementing a RM

8 Trusted Computing Base TCB consists of all protection mechanisms within a computer system that are responsible for enforcing a security policy TCB consists of all protection mechanisms within a computer system that are responsible for enforcing a security policy TCB monitors four basic interactions TCB monitors four basic interactions –Process activation –Execution domain switching –Memory protection –I/O operation A unified TCB may be too large A unified TCB may be too large –Create a security kernel

9 Security Policy Requirements Can be done at different levels Can be done at different levels Specification must be Specification must be –Clear  “meet C2 security” –Unambiguous  “users must be identified and authenticated” –Complete Methods of defining policies Methods of defining policies –Extract applicable requirements from existing security standards (e.g. Common Criteria) –Create a policy based on threat analysis –Map the system to an existing model Justify the requirements: completeness and consistency Justify the requirements: completeness and consistency

10 Design assurance Identify design flaws Identify design flaws –Enhances trustworthiness –Supports implementation and operational assurance Design assurance technique employs Design assurance technique employs –Specification of requirements –Specification of the system design –Process to examine how well the design meets the requirement

11 Techniques for Design Assurance Modularity & Layering Modularity & Layering –Well-defined independent modules –Simplifies and makes system more understandable –Data hiding –Easy to understand and analyze Different layers to capture different levels of abstraction Different layers to capture different levels of abstraction –Subsystem (memory management, I/O subsystem, credit- card processing function) –Subcomponent (I/O management, I/O drivers) –Module: set of related functions and data structure Use principles of secure design Use principles of secure design

12 Design Documents Design documentation is an important component in life cycle models Design documentation is an important component in life cycle models Documentation must specify Documentation must specify –Security functions and approach  Describe each security function  Overview of a set of security functions  Map to requirements (tabular) –External interfaces used by users  Parameters, syntax, security constraints and error conditions  Component overview, data descriptions, interface description –Internal design with low-level details  Overview of the component  Detailed description of the component  Security relevance of the component

13 Design meets requirements? Techniques needed Techniques needed –To prevent requirements and functionality from being discarded, forgotten, or ignored at lower levels of design Requirements tracing Requirements tracing –Process of identifying specific security requirements that are met by parts of a description Informal Correspondence Informal Correspondence –Process of showing that a specification is consistent with an adjacent level of specification

14 Requirement mapping and informal correspondence Security Functional Requirements External Functional Specification Internal Design Specification Implementation Code Requirement Tracing Informal Correspondence

15 Design meets requirements? Informal arguments Informal arguments –Protection profiles  Define threats to systems and security objectives  Provide rationale (an argument) –Security targets  Identifies mechanisms and provide justification Formal methods: proof techniques Formal methods: proof techniques –Formal proof mechanisms are usually based on logic (predicate calculus) –Model checking  Checks that a model satisfies a specification

16 Design meets requirements? Review Review –When informal assurance technique is used –Formal reviews include:  preparation  moderation  recording and reporting  resolution

17 Implementation considerations for assurance Modularity with minimal interfaces Modularity with minimal interfaces Language choice Language choice –C programs may not be reliable  Pointers – memory overwrites  Not much error handling  Writing past the bounds of memory and buffers –Java  Designed to support secure code as a primary goal  Ameliorates security risks present in C

18 Implementation meets Design? Security testing Security testing –Functional testing (FT) (black box testing)  Testing of an entity to determine how well it meets its specification –Structural testing (ST) (white box testing)  Testing based on an analysis of the code to develop test cases Testing occurs at different times Testing occurs at different times –Unit testing (usually ST): testing a code module before integration –System testing (FT): on integrated modules –Security testing: product security