EEC 688/788 Secure and Dependable Computing

Slides:



Advertisements
Similar presentations
Cryptography and Network Security 2 nd Edition by William Stallings Note: Lecture slides by Lawrie Brown and Henric Johnson, Modified by Andrew Yang.
Advertisements

EEC 688/788 Secure and Dependable Computing Lecture 2 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University
Is There a Security Problem in Computing? Network Security / G. Steffen1.
Lecture 1: Overview modified from slides of Lawrie Brown.
EEC 693/793 Special Topics in Electrical Engineering Secure and Dependable Computing Lecture 3 Wenbing Zhao Department of Electrical and Computer Engineering.
EEC 688/788 Secure and Dependable Computing Lecture 2 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University
IT 221: Introduction to Information Security Principles Lecture 1: Introduction to IT Security For Educational Purposes Only Revised: August 28, 2002.
1 Cryptography and Network Security Third Edition by William Stallings Lecturer: Dr. Saleem Al_Zoubi.
1 An Overview of Computer Security computer security.
EEC 688/788 Secure and Dependable Computing Lecture 2 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University
EEC 688/788 Secure and Dependable Computing Lecture 2 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University
EEC 688/788 Secure and Dependable Computing Lecture 11 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University
EEC 693/793 Special Topics in Electrical Engineering Secure and Dependable Computing Lecture 3 Wenbing Zhao Department of Electrical and Computer Engineering.
EEC 693/793 Special Topics in Electrical Engineering Secure and Dependable Computing Lecture 2 Wenbing Zhao Department of Electrical and Computer Engineering.
EEC 688/788 Secure and Dependable Computing Lecture 11 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University
CPSC 6126 Computer Security Information Assurance.
Software Dependability CIS 376 Bruce R. Maxim UM-Dearborn.
Computer Security Tran, Van Hoai Department of Systems & Networking Faculty of Computer Science & Engineering HCMC University of Technology.
Improving Intrusion Detection System Taminee Shinasharkey CS689 11/2/00.
What does “secure” mean? Protecting Valuables
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 9 Slide 1 Critical Systems Specification 2.
Introduction to Dependability. Overview Dependability: "the trustworthiness of a computing system which allows reliance to be justifiably placed on the.
29.1 Lecture 29 Security I Based on the Silberschatz & Galvin’s slides And Stallings’ slides.
Network security Network security. Look at the surroundings before you leap.
John Carpenter & lecture & Information Security 2008 Lecture 1: Subject Introduction and Security Fundamentals.
Chapter 1 Overview The NIST Computer Security Handbook defines the term Computer Security as:
Building Dependable Distributed Systems Chapter 1 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University
What security is about in general? Security is about protection of assets –D. Gollmann, Computer Security, Wiley Prevention –take measures that prevent.
CprE 545Iowa State University CprE 558: Real-Time Systems Lectures 15-16: Dependability Concepts & Faul-Tolerance.
14.1/21 Part 5: protection and security Protection mechanisms control access to a system by limiting the types of file access permitted to users. In addition,
Lecture slides prepared for “Computer Security: Principles and Practice”, 3/e, by William Stallings and Lawrie Brown, Chapter 1 “Overview”. © 2016 Pearson.
Topic 5: Basic Security.
Chap1: Is there a Security Problem in Computing?.
12/18/20151 Computer Security Introduction. 12/18/20152 Basic Components 1.Confidentiality: Concealment of information (prevent unauthorized disclosure.
Introduction to Computer Security
INTRODUCTION TO COMPUTER & NETWORK SECURITY INSTRUCTOR: DANIA ALOMAR.
Computer threats, Attacks and Assets upasana pandit T.E comp.
C OMPUTER THREATS, ATTACKS AND ASSETS DONE BY NISHANT NARVEKAR TE COMP
©Ian Sommerville 2000Dependability Slide 1 Chapter 16 Dependability.
Lecture 15 Page 1 CS 236 Online Evaluating Running Systems Evaluating system security requires knowing what’s going on Many steps are necessary for a full.
Lecturer: Eng. Mohamed Adam Isak PH.D Researcher in CS M.Sc. and B.Sc. of Information Technology Engineering, Lecturer in University of Somalia and Mogadishu.
Advanced System Security Dr. Wayne Summers Department of Computer Science Columbus State University
Lecture 1 Introduction Dr. nermin hamza 1. Aim of Course Overview Cryptography Symmetric and Asymmetric Key management Researches topics 2.
EEC 688/788 Secure and Dependable Computing Lecture 1 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University
Information Systems Security
Computer Security Introduction
CS457 Introduction to Information Security Systems
CS 395: Topics in Computer Security
EEC 688/788 Secure and Dependable Computing
Chapter 1: Introduction
Security
Information System and Network Security
CS 450/650 Fundamentals of Integrated Computer Security
Outline Introduction Characteristics of intrusion detection systems
Security Engineering.
Information and Network Security
Security in Networking
NET 311 Information Security
EEC 688/788 Secure and Dependable Computing
EEC 688/788 Secure and Dependable Computing
Fault Tolerance Distributed Web-based Systems
Cryptography and Network Security
Faculty of Science IT Department By Raz Dara MA.
Computer Security Introduction
EEC 688/788 Secure and Dependable Computing
EEC 688/788 Secure and Dependable Computing
Security in Computing, Fifth Edition
What Are Our Security Goals?
Cyber Security For Civil Engineering
Cryptography and Network Security
Presentation transcript:

EEC 688/788 Secure and Dependable Computing Lecture 2 Wenbing Zhao Department of Electrical Engineering and Computer Science Cleveland State University wenbing@ieee.org

EEC688/788: Secure & Dependable Computing Outline Basic terminology Dependability concepts Attributes Fault, error, and failure Approaches to achieving dependability Security concepts Vulnerabilities, threats, attacks, and controls Security in Computing, 4th Edition By Charles P. Pfleeger, Shari Lawrence Pfleeger http://proquest.safaribooksonline.com/0132390779 4/3/2019 EEC688/788: Secure & Dependable Computing

EEC688/788: Secure & Dependable Computing Terminology A system is an entity that interacts with other entities, i.e., other systems, including hardware, software, humans, and the physical world with its natural phenomena These other systems are the environment of the given system The system boundary is the common frontier between the system and its environment A system may consists of one or more components, such as nodes or processes System System Boundary Environment 4/3/2019 EEC688/788: Secure & Dependable Computing

EEC688/788: Secure & Dependable Computing Terminology State: determines the status of the system A system may be recovered to where it was before a failure if its state was captured and survives the failure Service delivered by a system: work done that benefits its users User/Client: another system that interacts with the former Function of a system: what the system is intended to do (Functional) Specification: description of the system function Correct service: when the delivered service implements the system function Use a calculator as an example. Service: calculation service. User: whoever wants to perform a calculation using the service. Function: calculation. Spec: add, minus, multiply, division, etc.. Correct service: add: 1+1=2, etc. 4/3/2019 EEC688/788: Secure & Dependable Computing

Dependability and its Attributes Dependability refers to the ability of a distributed system to provide correct services to its users despite various threats to the system such as undetected software defects, hardware failures, and malicious attacks A dependable system has the following attributes Availability: a measure of the readiness of the system Reliability: a measure of the system’s capability of providing correct services continuously for a period of time Integrity: the capability of the system to protect its state from being compromised due to various threats Maintainability: the capability of the system to evolve after it is deployed Safety: when the system fails, it does not cause catastrophic consequences 4/3/2019 EEC688/788: Secure & Dependable Computing

Quantitative Dependability Measures Availability - a measure of the readiness of the system It is the probability of being operational at a given instant of time A 0.999999 availability means that the system is not operational at most one hour in a million hours A system with high availability may in fact fail. However, failure frequency and recovery time should be small enough to achieve the desired availability Soft real-time systems such as telephone switching and airline reservation require high availability 4/3/2019 EEC688/788: Secure & Dependable Computing

EEC688/788: Secure & Dependable Computing 4/3/2019 EEC688/788: Secure & Dependable Computing

Quantitative Dependability Measures Reliability - a measure of continuous delivery of correct service. It is the probability of surviving (potentially despite failures) over an interval of time May also be evaluated as time to failure For example, the reliability requirement might be stated as a 0.999999 availability for a 10-hour mission. In other words, the probability of failure during the mission may be at most 10-6 Hard real-time systems such as flight control and process control demand high reliability, in which a failure could mean loss of life 4/3/2019 EEC688/788: Secure & Dependable Computing

Fault, Error, and Failure The adjudged or hypothesized cause of an error is called a fault An error is a manifestation of a fault in a system, in which the logical state of an element differs from its intended value A service failure occurs if the error propagates to the service interface and causes the service delivered by the system to deviate from correct service The failure of a component causes a permanent or transient fault in the system that contains the component Service failure of a system causes a permanent or transient external fault for the other system(s) that receive service from the given system Circular definition? A fault is really a failure in a smaller scope 4/3/2019 EEC688/788: Secure & Dependable Computing

EEC688/788: Secure & Dependable Computing Fault Faults can arise during all stages in a computer system's evolution - specification, design, development, manufacturing, assembly, and installation - and throughout its operational life Most faults that occur before full system deployment are discovered through testing and eliminated Faults that are not removed can reduce a system's dependability when it is in the field A fault can be classified by its duration, nature of output, and correlation to other faults (and many other criteria) 4/3/2019 EEC688/788: Secure & Dependable Computing

Fault Types - Based on Duration Permanent faults are caused by irreversible device/software failures within a component due to damage, fatigue, or improper manufacturing, or bad design and implementation Permanent software faults are also called Bohrbugs Easier to detect Transient/intermittent faults are triggered by environmental disturbances or incorrect design Transient software faults are also referred to as Heisenbugs Study shows that Heisenbugs are the majority software faults Harder to detect Once a permanent fault has occurred, the faulty component can be restored by replacement or repair environmental disturbances such as voltage fluctuations, electro-magnetic interference, or radiation These events typically have a short duration, returning the affected circuitry to a normal operating state without causing any lasting damage Example Heisenbugs: temperary memory corruption? => lead to software aging 4/3/2019 EEC688/788: Secure & Dependable Computing

Fault Types - Based on Nature of Output Malicious fault: The fault that causes a unit to behave arbitrarily or malicious. Also referred to as Byzantine fault A sensor sending conflicting outputs to different processors Compromised software system that attempts to cause service failure Non-malicious faults: the opposite of malicious faults Faults that are not caused with malicious intention Faults that exhibit themselves consistently to all observers, e.g., fail-stop A fail-stop system simply stops executing once it fails Malicious faults are much harder to detect than non-malicious faults If a sensor does not read correctly consistently to everyone, we say there is non-malicious fault 4/3/2019 EEC688/788: Secure & Dependable Computing

Fault Types - Based on Correlation Components fault may be independent of one another or correlated A fault is said to be independent if it does not directly or indirectly cause another fault Faults are said to be correlated if they are related. Faults could be correlated due to physical or electrical coupling of components Correlated faults are more difficult to detect than independent faults What can you say about running three replicated processes on the same node? 4/3/2019 EEC688/788: Secure & Dependable Computing

Approaches to Achieving Dependability Fault Avoidance - how to prevent, by construction, the fault occurrence or introduction Fault Removal - how to minimize, by verification, the presence of faults Fault Tolerance - how to provide, by redundancy, a service complying with the specification in spite of faults Fault Forecasting - how to estimate, by evaluation, the presence, the creation, and the consequence of faults 4/3/2019 EEC688/788: Secure & Dependable Computing

Computer Security and its Attributes Computer security is synonymous to the following three attributes: Confidentiality: computer-related assets are accessed only by authorized parties. Confidentiality is sometimes called secrecy or privacy Integrity: assets can be modified only by authorized parties or only in authorized ways Availability: assets are accessible to authorized parties at appropriate times We have seen that any computer-related system has both theoretical and real weaknesses. The purpose of computer security is to devise ways to prevent the weaknesses from being exploited 4/3/2019 EEC688/788: Secure & Dependable Computing Wenbing Zhao 15

EEC688/788: Secure & Dependable Computing Confidentiality Confidentiality is the concealment of information Conceal the content of the information Conceal the very existence of information The need for keeping information secret arises from the government and the industry Enforce “need to know” principle Achieve confidentiality: access control mechanisms Cryptography: users without the cryptographic key cannot access unscrambled information Other access control mechanisms may conceal the mere existence of data, such as Steganography We also understand confidentiality well because we can relate computing examples to those of preserving confidentiality in the real world 4/3/2019 EEC688/788: Secure & Dependable Computing Wenbing Zhao 16

EEC688/788: Secure & Dependable Computing Integrity Integrity refers to the trustworthiness of information, usually phrased in terms of preventing improper or unauthorized change Data integrity: the content of the information Origin integrity: the source of the data, i.e., authentication Integrity mechanisms: Prevention mechanisms: Blocking any unauthorized attempts to change the data Blocking any attempts to change the data in unauthorized ways Detection mechanisms: report that the data’s integrity is no longer trustworthy Analyze system events to detect problems Analyze the data itself to see if required or expected constraints still hold Prevention example: suppose an accounting system is on a computer. Someone breaks into the system and tries to modify the accounting data. Then an unauthorized user has tried to violate the integrity of the accounting database. But if an accountant hired by the firm to maintain its books tries to embezzle money by sending it overseas and hiding the transactions, a user (the accountant) has tried to change data (the accounting data) in unauthorized ways (by moving it to a Swiss bank account). Adequate authentication and access controls will generally stop the break-in from the outside, but preventing the second type of attempt requires very different controls. 4/3/2019 EEC688/788: Secure & Dependable Computing Wenbing Zhao

Working with Confidentiality & Integrity With confidentiality, the data is either compromised or it is not With integrity, both the correctness and the trustworthiness of the data must be considered Origin of the data How well the data was protected before it arrived at the current machine How well the data is protected on the current machine Evaluating integrity is often very difficult 4/3/2019 EEC688/788: Secure & Dependable Computing Wenbing Zhao

EEC688/788: Secure & Dependable Computing Availability Availability refers to the ability to use the information desired An aspect of reliability Also an aspect of system design: an unavailable system is at least as bad as no system at all Why availability is relevant to security? Someone may deliberately arrange to deny access to data or to a service by making it unavailable Denial of service attacks: attempts to block availability It is very difficulty to detect denial of service attacks Must determine if the unusual access patterns are attributable to deliberate manipulation of resources or of environment (i.e., an atypical event) 4/3/2019 EEC688/788: Secure & Dependable Computing Wenbing Zhao 19

EEC688/788: Secure & Dependable Computing Availability The security community is just beginning to understand what availability implies and how to ensure it A small, centralized control of access is fundamental to preserving confidentiality and integrity, but it is not clear that a single access control point can enforce availability Much of computer security's past success has focused on confidentiality and integrity; full implementation of availability is security's next great challenge 4/3/2019 EEC688/788: Secure & Dependable Computing Wenbing Zhao

Relationship of Security Goals A secure system must meet all three requirements The challenge is how to find the right balance among the goals, which often conflict For example, it is easy to preserve a particular object's confidentiality in a secure system simply by preventing everyone from reading that object However, this system is not secure, because it does not meet the requirement of availability for proper access => There must be a balance between confidentiality and availability 4/3/2019 EEC688/788: Secure & Dependable Computing Wenbing Zhao

Relationship of Security Goals 4/3/2019 EEC688/788: Secure & Dependable Computing Wenbing Zhao

Vulnerabilities, Threats, Attacks, & Controls A vulnerability is a weakness in the security system A threat to a computing system is a set of circumstances that has the potential to cause loss or harm A human who exploits a vulnerability perpetrates an attack on the system. How do we address these problems? We use a control as a protective measure A control is an action, device, procedure, or technique that removes or reduces a vulnerability A threat is blocked by control of a vulnerability For instance, a particular system may be vulnerable to unauthorized data manipulation because the system does not verify a user's identity before allowing data access 4/3/2019 EEC688/788: Secure & Dependable Computing

Threats, Vulnerabilities, and Controls 4/3/2019 EEC688/788: Secure & Dependable Computing

EEC688/788: Secure & Dependable Computing Type of Threats An interception means that some unauthorized party has gained access to an asset In an interruption, an asset of the system becomes lost, unavailable, or unusable If an unauthorized party not only accesses but tampers with an asset, the threat is a modification An unauthorized party might create a fabrication of counterfeit objects on a computing system An interception means that some unauthorized party has gained access to an asset Example: illicit copying of program or data files, or wiretapping to obtain data in a network Unlike a loss, which may be discovered fairly quickly, a silent interceptor may leave no traces by which the interception can be readily detected In an interruption, an asset of the system becomes lost, unavailable, or unusable Example: malicious destruction of a hardware device Example: erasure of a program or data file Example: (distributed) denial of service attacks If an unauthorized party not only accesses but tampers with an asset, the threat is a modification Example: someone might change the values in a database, alter a program so that it performs an additional computation Example: modify message being transmitted over the network Some cases of modification can be detected with simple measures, but other, more subtle, changes may be almost impossible to detect An unauthorized party might create a fabrication of counterfeit objects on a computing system Example: the intruder may insert spurious transactions to a network communication system or add records to an existing database Sometimes these additions can be detected as forgeries, but if skillfully done, they are virtually indistinguishable from the real thing 4/3/2019 EEC688/788: Secure & Dependable Computing

EEC688/788: Secure & Dependable Computing Type of Threats Ask students to identify the figures w.r.t. interception, interruption, modification and fabrication 4/3/2019 EEC688/788: Secure & Dependable Computing

Threats: Methods, Opportunity, and Motive A malicious attacker must have three things: Method: the skills, knowledge, tools, and other things with which to launch an attack Opportunity: the time and access to accomplish the attack Motive: a reason to want to perform this attack against this system 4/3/2019 EEC688/788: Secure & Dependable Computing

EEC688: Secure & Dependable Computing Methods of Defense Harm occurs when a threat is realized against a vulnerability To protect against harm, we can neutralize the threat, close the vulnerability, or both The possibility for harm to occur is called risk 4/3/2019 EEC688: Secure & Dependable Computing Wenbing Zhao

EEC688: Secure & Dependable Computing Methods of Defense We can deal with harm in several ways. We can seek to Prevent it, by blocking the attack or closing the vulnerability Deter it, by making the attack harder, but not impossible Deflect it, by making another target more attractive (or this one less so) Detect it, either as it happens or some time after the fact Recover from its effects Intrusion tolerance is also a form of recovery because it enables the system to continue operating correctly despite attacks 4/3/2019 EEC688: Secure & Dependable Computing Wenbing Zhao

Methods of Defense – Multiple Controls 4/3/2019 EEC688: Secure & Dependable Computing Wenbing Zhao

Countermeasures / Controls Encryption Scrambling process Software controls Internal program controls, OS controls, development controls Hardware controls hardware or smart card implementations of encryption Policies and Procedures Example: change password periodically Physical Controls Example: Locks on doors, guards at entry points Software control will be elaborated in more details in the next slide 4/3/2019 EEC688: Secure & Dependable Computing Wenbing Zhao 31