D u k e S y s t e m s CPS 210 Security in Networked Systems Always Use Protection Jeff Chase Duke University

Slides:



Advertisements
Similar presentations
Internet and Intranet Protocols and Applications Lecture 9a: Secure Sockets Layer (SSL) March, 2004 Arthur Goldberg Computer Science Department New York.
Advertisements

Digital Signatures and Hash Functions. Digital Signatures.
Information Security & Cryptographic Principles. Infosec and Cryptography Subjects / Topics : 1. Introduction to computer cryptography 1. Introduction.
Environmental Council of States Network Authentication and Authorization Services The Shared Security Component February 28, 2005.
1 Counter-measures Threat Monitoring Cryptography as a security tool Encryption Digital Signature Key distribution.
Lecture III : Communication Security, Services & Mechanisms Internet Security: Principles & Practices John K. Zao, PhD SMIEEE National Chiao-Tung University.
Lesson Title: Introduction to Cryptography Dale R. Thompson Computer Science and Computer Engineering Dept. University of Arkansas
CNS2010handout 10 :: digital signatures1 computer and network security matt barrie.
CMSC 414 Computer (and Network) Security Lecture 2 Jonathan Katz.
Cryptography Basic (cont)
Symmetric Key Distribution Protocol with Hybrid Crypto Systems Tony Nguyen.
Cryptography (continued). Enabling Alice and Bob to Communicate Securely m m m Alice Eve Bob m.
Cryptography April 20, 2010 MIS 4600 – MBA © Abdou Illia.
E- Business Digital Signature Varna Free University Prof. Teodora Bakardjieva.
Chapter 8.  Cryptography is the science of keeping information secure in terms of confidentiality and integrity.  Cryptography is also referred to as.
Secure Systems Research Group - FAU Patterns for Digital Signature using hashing Presented by Keiko Hashizume.
Cryptography 101 Frank Hecker
Sorting Out Digital Certificates Bill blog.codingoutloud.com ··· Boston Azure ··· 13·Dec·2012 ···
Chapter 31 Network Security
31.1 Chapter 31 Network Security Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Computer Security Tran, Van Hoai Department of Systems & Networking Faculty of Computer Science & Engineering HCMC University of Technology.
Protection, identity, and trust Jeff Chase Duke University.
8-1Network Security Chapter 8 roadmap 8.1 What is network security? 8.2 Principles of cryptography 8.3 Message integrity, authentication.
Cryptography, Authentication and Digital Signatures
4 th lecture.  Message to be encrypted: HELLO  Key: XMCKL H E L L O message 7 (H) 4 (E) 11 (L) 11 (L) 14 (O) message + 23 (X) 12 (M) 2 (C) 10 (K) 11.
Introduction1-1 Data Communications and Computer Networks Chapter 6 CS 3830 Lecture 31 Omar Meqdadi Department of Computer Science and Software Engineering.
23-1 Last time □ P2P □ Security ♦ Intro ♦ Principles of cryptography.
11-Basic Cryptography Dr. John P. Abraham Professor UTPA.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED.
Introduction to Trust Logic Jeff Chase Duke University This presentation contains easily recognizable copyrighted material. No offense is intended. Please.
Upper OSI Layers Natawut Nupairoj, Ph.D. Department of Computer Engineering Chulalongkorn University.
8-1 Chapter 8 Security Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 part 2: Message integrity.
31.1 Chapter 31 Network Security Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Digital Signatures, Message Digest and Authentication Week-9.
Security Many secure IT systems are like a house with a locked front door but with a side window open -somebody.
Cryptography 1 Crypto Cryptography 2 Crypto  Cryptology  The art and science of making and breaking “secret codes”  Cryptography  making “secret.
31.1 Chapter 31 Network Security Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Authentication. Goal: Bob wants Alice to “prove” her identity to him Protocol ap1.0: Alice says “I am Alice” Failure scenario?? “I am Alice”
Lecture 14 Page 1 CS 111 Summer 2013 Security in Operating Systems: Basics CS 111 Operating Systems Peter Reiher.
Network Security Celia Li Computer Science and Engineering York University.
IT 221: Introduction to Information Security Principles Lecture 5: Message Authentications, Hash Functions and Hash/Mac Algorithms For Educational Purposes.
Cryptographic Security Aveek Chakraborty CS5204 – Operating Systems1.
Security. Cryptography (1) Intruders and eavesdroppers in communication.
Secure Instant Messenger in Android Name: Shamik Roy Chowdhury.
Information Systems Design and Development Security Precautions Computing Science.
Database Management Systems, 3ed, R. Ramakrishnan and J. Gehrke1 Database architecture and security Workshop 4.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Cryptographic Hash Function. A hash function H accepts a variable-length block of data as input and produces a fixed-size hash value h = H(M). The principal.
Security Issues in Information Technology
Basics of Cryptography
Grid Security.
Digital Signatures Cryptographic technique analogous to hand-written signatures. sender (Bob) digitally signs document, establishing he is document owner/creator.
Computer Communication & Networks
Basic Network Encryption
NET 311 Information Security
Digital Signatures Cryptographic technique analogous to hand-written signatures. sender (Bob) digitally signs document, establishing he is document owner/creator.
Protocol ap1.0: Alice says “I am Alice”
Digital Signatures Cryptographic technique analogous to hand-written signatures. sender (Bob) digitally signs document, establishing he is document owner/creator.
COMPSCI210 Recitation 5 Oct 2012 Vamsi Thummala
Digital Signatures Cryptographic technique analogous to hand-written signatures. sender (Bob) digitally signs document, establishing he is document owner/creator.
Authorization and Identity
Basic Network Encryption
Digital Signatures Cryptographic technique analogous to hand-written signatures. sender (Bob) digitally signs document, establishing he is document owner/creator.
Security: Integrity, Authentication, Non-repudiation
Digital Signatures Cryptographic technique analogous to hand-written signatures. sender (Bob) digitally signs document, establishing he is document owner/creator.
Chapter 8 roadmap 8.1 What is network security?
Presentation transcript:

D u k e S y s t e m s CPS 210 Security in Networked Systems Always Use Protection Jeff Chase Duke University

Malware

Botnets [microsoft.com]

Any program you install or run can be a Trojan Horse vector for a malware payload.

Confused deputy erights.org Bob has the Power. Bob wishes to hold the power and use it properly. Alice considers Bob her deputy in the use of this Power. Alice trusts Bob to deny the power to Mal. Mal wants the power. Can Mal trick Bob to get it?

Attack scenarios we consider Trojan horse – A threatening program is offered as a “gift”, and runs “inside the victims walls” (i.e., with victim’s identity). Confused deputy – Attacker corrupts a “good” program and takes over its functions, e.g., to assume victim’s identity. Confused user – Attacker tricks victim into giving away secrets. (Or victim fails to use secrets or fails to protect secrets.) Later: DDOS, spoofing, and other network attacks

Security, an overview We reduce it to three intertwined issues: 1.What program am I running? – Can this program be trusted? Who says? – Can I be sure that the program has not been tampered? 2.Who am I talking to? – Can this entity be trusted? – Can I be sure the communication has not been tampered? 3.Should I approve this request? R(op, subject, object) – Who is the requester? (subject) – What program is speaking for the requester? – Does the subject have the required permissions?

Elements of security Isolation/protection – Sandboxes and boundaries prevent unchecked access. Integrity – Fingerprint data to detect tampering. – Encrypt data to prevent access or tampering. Authentication – Identify a peer by proof that it possesses a secret. Identity and attributes – Identities have credentials: names, tags, roles... Authorization == access control – Guard checks credentials against an access policy.

Crypto primitives Encrypt/Decrypt Signing Secure hashing Use a shared secret key (symmetric) or use a keypair one public, one private (asymmetric) useful for fingerprinting data

Program integrity and isolation

Trusting Programs In Unix – Programs you run use your identity (process UID). – Maybe you even saved them with setuid so others who trust you can run them with your UID. – The programs that run your system run as root. You trust these programs. – They can access your files – send mail, etc. – Or take over your system… Where did you get them?

Trusting Trust Perhaps you wrote them yourself. – Or at least you looked at the source code… You built them with tools you trust. But where did you get those tools?

Where did you get those tools? Thompson’s observation: compiler hacks cover tracks of Trojan Horse attacks.

Login backdoor: the Thompson Way Step 1: modify login.c – (code A) if (name == “ken”) login as root – This is obvious so how do we hide it? Step 2: modify C compiler – (code B) if (compiling login.c) compile A into binary – Remove code A from login.c, keep backdoor – This is now obvious in the compiler, how do we hide it? Step 3: distribute a buggy C compiler binary – (code C) if (compiling C compiler) compile code B into binary – No trace of attack in any (surviving) source code

Signing: example

Reuters, June 2012 wired.com, June 2012

Phishing, password attacks, and other “human” attack vectors.

technology people Where are the boundaries of the “system” that you would like to secure? Where is the weakest link? What happens when the weakest link fails?

The First Axiom of Security “Security is at least as much a social problem as it is a technical problem.” – Translation: humans are the weak link. We will focus on the technical elements, but do not lose sight of the social dimension. – Keys left in lock – Phishing – Executable attachments – Trojan software – Post-it passwords – Bribes, torture, etc. – Etc.

Identify: Friend or Foe? Former Student

How accidents happen Former Student

Example use of fingerprint This is a line from /etc/passwd for user Fred Flintstone. /etc/login uses this record to validate the user’s password. The file is public, but Fred’s password is secret. Or is it? hashed

Access Control

The story so far Components run within contexts (isolated sandboxes). Each component/context is associated with an identity with some attributes (subject). Components use system calls to interact across context boundaries, or access shared objects. Each object has some access attributes. The system has a reference monitor and guard to check access for (op, subject, object). Principle of least privilege limits the damage a component can do if it “goes rogue”.

Access control matrix Alice Bob obj1obj2 RW R --- We can imagine the set of all allowed accesses for all subjects or all objects as a huge matrix. How is the matrix stored?

Access control matrix Alice Bob obj1obj2 RW R --- How is the matrix stored? Capabilities: each subjects holds a list of its rights (capabilities) and presents them as proof. Access control list (ACL): each object stores a list of subjects permitted to access it. Many systems use a level of indirection through attributes (e.g., roles or groups). capability list ACL

Android permissions

Android permissions A permission is a named object. – Declared by an app (or system). Apps request the permissions they want/require/use. – System grants requested permissions according to policy at app install time. After that, the permissions don’t change. Permissions protect interactions among app components (e.g., intents, binder RPC) – Each component states permissions required by its counterparty.

Granting permissions A permission is bound to the provider key that signed the declaring app (or the system). The declaring app (or system) associates a protection level with the permission. The protection level drives system policy to grant permissions. normal: granted on request dangerous: requires user approval signature: granted only to requesting apps from the same provider system: granted only to apps installed on the system image

Cryptosystems

Authentication and integrity EMLX This is a picture of a $2.5B move in the value of Emulex Corporation, in response to a fraudulent press release by short- sellers through InternetWire in The release was widely disseminated by news media as a statement from Emulex management, but media failed to authenticate it. [reproduced from clearstation.com]

Crypto primitives Encrypt/Decrypt Signing Secure hashing Use a shared secret key (symmetric) or use a keypair one public, one private (asymmetric) useful for fingerprinting data

Cryptography for Busy People Standard crypto functions parameterized by keys. – Fixed-width “random” value (length matters, e.g., 256-bit) – Symmetric (DES: fast, requires shared key K1 = K2) – Asymmetric (RSA: slow, uses two keys) “Believed to be computationally infeasible” to break ED Encrypt Decrypt K1 K2 M M [Image: Landon Cox]

ED Crypt Asymmetric crypto works both ways [Image: Landon Cox] A’s private key or A’s public key or A’s private key

Cryptographic hashes Also called a secure hash or one-way hash – E.g., SHA1, MD5 Result called a hash, checksum, fingerprint, digest Very efficient SHA1 hash 160 bitsArbitrarily large “Hash digest” [Image: Landon Cox]

Two Flavors of “Signature” A digest encrypted with a private asymmetric key is called a digital signature – “Proves” that a particular identity sent the message. “Proves” the message has not been tampered. “Unforgeable” – The sender cannot deny sending the message. “non-repudiable” – Can be legally binding in the United States A digest encrypted with a shared symmetric key is called a message authentication code (MAC). faster, but…