A Logic of Secure Systems and its Application to Trusted Computing Anupam Datta, Jason Franklin, Deepak Garg, and Dilsun Kaynar Carnegie Mellon University.

Slides:



Advertisements
Similar presentations
Confidential 1 Phoenix Security Architecture and DevID July 2005 Karen Zelenko Phoenix Technologies.
Advertisements

Copyright© 2006 Trusted Computing Group - Other names and brands are properties of their respective owners. Slide #1 Trusted Computing David Grawrock TPM.
Mobile Code Security Yurii Kuzmin. What is Mobile Code? Term used to describe general-purpose executables that run in remote locations. Web browsers come.
Logical Attestation: An Authorization Architecture for Trustworthy Computing Emin Gün Sirer Willem de Bruijn †, Patrick Reynolds *, Alan Shieh ‡, Kevin.
Foundational Certified Code in a Metalogical Framework Karl Crary and Susmit Sarkar Carnegie Mellon University.
Vpn-info.com.
1 Dynamic DNS. 2 Module - Dynamic DNS ♦ Overview The domain names and IP addresses of hosts and the devices may change for many reasons. This module focuses.
Non-monotonic Properties for Proving Correctness in a Framework of Compositional Logic Koji Hasebe Mitsuhiro Okada (Dept. of Philosophy, Keio University)
1 GP Confidential © GlobalPlatform’s Value Proposition for Mobile Point of Sale (mPOS)
Accountability in Hosted Virtual Networks Eric Keller, Ruby B. Lee, Jennifer Rexford Princeton University VISA 2009.
Ragib Hasan Johns Hopkins University en Spring 2011 Lecture 3 02/14/2010 Security and Privacy in Cloud Computing.
Mobile Code Security Aviel D. Rubin, Daniel E. Geer, Jr. MOBILE CODE SECURITY, IEEE Internet Computing, 1998 Minkyu Lee
 Alexandra Constantin  James Cook  Anindya De Computer Science, UC Berkeley.
 Max Planck Institute for Software Systems Towards trusted cloud computing Nuno Santos, Krishna P. Gummadi, and Rodrigo Rodrigues MPI-SWS.
Trustworthy and Personalized Computing Christopher Strasburg Department of Computer Science Iowa State University November 12, 2008.
1 Minimal TCB Code Execution Jonathan McCune, Bryan Parno, Adrian Perrig, Michael Reiter, and Arvind Seshadri Carnegie Mellon University May 22, 2007.
1 Bootstrapping Trust in a “Trusted” Platform Carnegie Mellon University November 11, 2008 Bryan Parno.
Systems and Internet Infrastructure Security (SIIS) LaboratoryPage Systems and Internet Infrastructure Security Network and Security Research Center Department.
CMSC 414 Computer and Network Security Lecture 12 Jonathan Katz.
Using Secure Coprocessors to Protect Access to Enterprise Networks Dr. José Carlos Brustoloni Dept. Computer Science University of Pittsburgh
Enforcement of Security Policy Compliance in Virtual Private Networks Prof. José Carlos Brustoloni Dept. Computer Science University of Pittsburgh
Trusted Disk Loading in the Emulab Network Testbed Cody Cutler, Mike Hibler, Eric Eide, Rob Ricci 1.
Ragib Hasan Johns Hopkins University en Spring 2010 Lecture 5 03/08/2010 Security and Privacy in Cloud Computing.
Trusted Platform Modules: Building a Trusted Software Stack and Remote Attestation Dane Brandon, Hardeep Uppal CSE551 University of Washington.
Chapter 1 Introduction. Chapter Overview Overview of Operating Systems Secure Operating Systems Basic Concepts in Information Security Design of a Secure.
Systems with small trusted computing bases (TCBs) open possibility for automated security verification of systems Example: SecVisor - a 3kLOC security.
1 Modeling and Analysis of Networked Secure Systems with Application to Trusted Computing Jason Franklin Joint work with Deepak Garg, Dilsun Kaynar, and.
Protocol Composition Logic Arnab Roy joint work with A. Datta, A. Derek, N. Durgin, J.C. Mitchell, D. Pavlovic CS259: Security Analysis of Network Protocols,
Towards Application Security On Untrusted OS
1 Detecting Logic Vulnerabilities in E- Commerce Applications Presenter: Liu Yin Slides Adapted from Fangqi Sun Computer Science Department College of.
Securing Information Transfer in Distributed Computing Environments AbdulRahman A. Namankani.
.NET Mobile Application Development Introduction to Mobile and Distributed Applications.
Towards High-Assurance Hypervisors Jason Franklin Joint with Anupam Datta, Sagar Chaki, Ning Qu, Arvind Seshadri.
1 Type-Directed Concurrency Deepak Garg, Frank Pfenning {dg+, Carnegie Mellon University.
Bootstrapping Trust in Commodity Computers Bryan Parno, Jonathan McCune, Adrian Perrig 1 Carnegie Mellon University.
Patterns for Secure Boot and Secure Storage in Computer Systems By: Hans L¨ohr, Ahmad-Reza Sadeghi, Marcel Winandy Horst G¨ortz Institute for IT Security,
Secure Virtual Architecture John Criswell, Arushi Aggarwal, Andrew Lenharth, Dinakar Dhurjati, and Vikram Adve University of Illinois at Urbana-Champaign.
Kenichi Kourai (Kyushu Institute of Technology) Takuya Nagata (Kyushu Institute of Technology) A Secure Framework for Monitoring Operating Systems Using.
1 22 August 2001 The Security Architecture of the M&M Mobile Agent Framework P. Marques, N. Santos, L. Silva, J. Silva CISUC, University of Coimbra, Portugal.
Architecting Web Services Unit – II – PART - III.
Formalizing the Asynchronous Evolution of Architecture Patterns Workshop on Self-Organizing Software Architectures (SOAR’09) September 14 th 2009 – Cambrige.
COMPUTER SECURITY MIDTERM REVIEW CS161 University of California BerkeleyApril 4, 2012.
Advanced Computer Networks Topic 2: Characterization of Distributed Systems.
Accountability in Hosted Virtual Networks Eric Keller, Ruby B. Lee, Jennifer Rexford Princeton University.
出處 :2010 2nd International Conference on Signal Processing Systems (ICSPS) 作者 :Zhidong Shen 、 Qiang Tong 演講者 : 碩研資管一甲 吳俊逸.
Middleware for Secure Environments Presented by Kemal Altıntaş Hümeyra Topcu-Altıntaş Osman Şen.
1 Reasoning about Concrete Security in Protocol Proofs A. Datta, J.Y. Halpern, J.C. Mitchell, R. Pucella, A. Roy.
Reducing Trust Domain with TXT Daniel De Graaf. TXT overview Original TPM – Static Root of Trust – BIOS, all boot ROMs, bootloader, hypervisor, OS TPM.
Trusted Computing and the Trusted Platform Module Bruce Maggs (with some slides from Bryan Parno)
Network Protocols Network Systems Security Mort Anvari.
Wireless and Mobile Security
Digital Rights Management and Trusted Computing Kari Kostiainen T Special Course in Operating System Security April 13 th 2007.
Trusted Computing and the Trusted Platform Module Bruce Maggs (with some slides from Bryan Parno)
Introduction Program File Authorization Security Theorem Active Code Authorization Authorization Logic Implementation considerations Conclusion.
PROGRAMMING PRE- AND POSTCONDITIONS, INVARIANTS AND METHOD CONTRACTS B MODULE 2: SOFTWARE SYSTEMS 13 NOVEMBER 2013.
1 Information Security – Theory vs. Reality , Winter Lecture 12: Trusted computing architecture (cont.), Eran Tromer Slides credit:
Trusted Computing and the Trusted Platform Module
Matching Logic An Alternative to Hoare/Floyd Logic
Trusted Computing and the Trusted Platform Module
Outline What does the OS protect? Authentication for operating systems
Outline What does the OS protect? Authentication for operating systems
Building hardware-based security with a Trusted Platform Module (TPM)
Providing Secure Storage on the Internet
Assignment #7 – Solutions
Towards End-to-End Security Analysis of Networked Systems
Language-based Security
Shielding applications from an untrusted cloud with Haven
TPM, UEFI, Trusted Boot, Secure Boot
Carmine Abate Rob Blanco Deepak Garg Cătălin Hrițcu Jérémy Thibault
Presentation transcript:

A Logic of Secure Systems and its Application to Trusted Computing Anupam Datta, Jason Franklin, Deepak Garg, and Dilsun Kaynar Carnegie Mellon University May 19, 2009

Secure System Designs Security Property System maintains integrity of OS and web server code. Secure System BIOS OS Web Server Adversary Malicious Thread Communication between frames remains confidential. Malicious Frame & ServerMalicious Virtual Machine The VMM maintains the confidentiality and integrity of data store in honest VMs.

Informal Analysis of System Designs Security Property Secure System Adversary Informal Analysis Successful attacks Attacks may be missed! Known attacks

Logic-Based Analysis of System Designs Security Property Secure System Formal Model of Adversary Analysis Engine Proof of security property Proof implies that an adversary with these capabilities cannot launch a successful attack Adversary defined by a set of capabilities

Contributions (Method) Security PropertySecure System Adversary Model Modeled as a set of programs in a concurrent programming language containing primitives relevant to secure systems Cryptography, network communication, shared memory, access control, machine resets, dynamic code loading Specified as logical formulas in the Logic of Secure Systems (LS 2 )‏ Any set of programs running concurrently with the system Analysis Engine Sound proof system for LS 2

Contributions (Adversary Model)  Adversary capabilities:  Local process on a machine  E.g., change unprotected code and data, steal secrets, reset machines  In general, constrained only by system interfaces  Network adversary – Symbolic (Dolev-Yao):  E.g., create, read, delete, inject messages  Cannot break cryptography  These capabilities enable many common attacks:  Network Protocol Attacks: Freshness, MITM  Local Systems Attacks: TOCTTOU and other race conditions, violations of code integrity and data confidentiality and integrity violation  Combinations of network and system attacks, e.g., web attacks

Contributions (Application)  Case study of Trusted Computing Platform  TCG specifications are industry and ISO/IEC standard  Over 100 million deployments  Applications include Microsoft’s BitLocker and HP’s ProtectTools  Formal model of parts of the TPM co-processor  First logical security proofs of two attestation protocols (SRTM and DRTM)  Analysis identifies:  Previously unknown incompatibility between SRTM and DRTM  Cannot be used together without additional protection  2 new weaknesses in SRTM  Previously known TOCTTOU attacks on SRTM [GCB+(Oakland’06),SPD(Oakland’05)]

Outline  Introduction  LS 2 : Illustrated with example (SRTM) ‏  Description of SRTM  Programming model  Specification of properties  Proving properties  Soundness  Conclusion

Static Root of Trust Measurement (SRTM) What’s your software stack? Remote Verifier Client Why should the client’s answer be trusted?

Trusted Platform Module (TPM)‏ ‏ PCR Remote Verifier Client Check Static Root of Trust Measurement (SRTM) Co-processor for cryptographic operations Protected private key (AIK) Append only log; Set to -1 on reset

BL OS APP Trusted Platform Module (TPM)‏ ‏ PCR BIOS Remote Verifier Client Signature Check Static Root of Trust Measurement (SRTM) H(APP) H(OS) H(BL)

Example: SRTM in LS 2 Remote Verifier Trusted BIOS Co-processor Ideal boot loader Ideal operating system

Modeling Systems Remote Verifier Trusted BIOS Co-processor Ideal boot loader Ideal operating system Every system component is a program. Generality: Common primitives to model many systems Extensibility: Add new primitives

Model of Trusted Hardware Remote Verifier Trusted BIOS Co-processor Ideal boot loader Ideal operating system extend is a primitive Co-processor is a program

Challenge: Adversaries Remote Verifier Trusted BIOS Co-processor Ideal boot loader Ideal operating system

Challenge: Dynamic Code Loading Remote Verifier Trusted BIOS Co-processor Ideal boot loader Ideal operating system What is b? Reasoning about dynamically loaded code in presence of adversaries requires careful proof system design

SRTM Security Property Suppose Verifier’s code finishes execution at time t ttTtT tBtB tOtO Reset Load BL Load OS Verifier Finishes  Weaknesses:  No recency – how old is t T ? [GCB+’06,SPD’05]  No guarantee that APP was loaded.  Assume that no adversary may extend the PCR tAtA Load APP

SRTM Security Property in LS 2 Suppose Verifier’s code finishes execution at ttTtT tBtB tOtO Reset Load BL Load OS Verifier Finishes

Reasoning about Dynamic Code Loading Proofs do not explicitly refer to adversarial actions

Semantics and Soundness  Semantic Relations Accounts for adversaries’ actions  Soundness Theorem Proof of correctness implies security with any number of adversaries

Summary of LS 2  Use logic to prove systems secure  Model systems are programs in an expressive language  Specify security properties in a logic  Prove properties in a sound proof system  Guaranteed freedom from attacks against a strong adversary  Technical difficulties:  Dynamically loaded unknown code  Access control on concurrent memory  Machine resets

Work Related to LS 2  Work on network protocol analysis  BAN, …, Protocol Composition Logic (PCL) ‏  Inspiration for LS 2, limited to protocols only  LS 2 adds a model of local computation and local adversary  Work on program correctness (no adversaries)  Concurrent Separation Logic  Synchronization through locks is similar  Higher-order extensions of Hoare Logic  Code being called has to be known in advance  Temporal, dynamic logic  Similar goals, different formal treatment  Formal analysis of Trusted Computing Platforms  Primarily using model checking

Conclusion  LS 2 : Logic based framework to prove security properties of system designs  Used for analysis of an industrial standard  Expressive, extensible  Ongoing application to web security and virtualization

Thank You. Questions?

Technical Challenges  Expressiveness:  Security primitives non-exhaustive; some in this paper, some future work  Interactions, e.g., dynamic code loading and concurrency  Scalability: how easily can new primitives be added?  Usability:  Axioms must be intuitive  Strong adversary model:  Network adversary (Dolev-Yao)  Local adversary (new) ‏

Operational Semantics Configuration ( C ) = Concurrent threads  System components + unspecified adversary  State information: memory contents + locks Thread = Program + Owner + Unique id Reduction relation on configurations C0C0 C1C1 CnCn... t1t1 t2t2 tntn t 1... t n are real numbers, monotonically increasing

Programming Model  Distributed system = Concurrent programs  Program = Sequence of actions x1 := a1; x2 := a2;....; xn := an  Actions a = read l write l,v lock l unlock l send v receive sign v,K verify v,K jump v... Resets modeled as a reduction in operational semantics

Logic Syntax  Predicates P : Send(I,v) Receive(I,v) Sign(I,v,K) Verify(I,v,K) Read(I,l) Write(I,l,v)‏ Lock(I,l) Unlock(I,l)‏ Mem(l,v) IsLocked(l,I) Reset(m,I) Jump(I,v)‏  Formulas A, B:... | | A on I  Modal Formulas: [P] I tb,te A

Proof System: Axioms  Axioms capture meaning of primitives

Proof System: Inference Rules  Rules analyze modal formulas [P] I tb,te A  Example, the jump rule: IS(P) = Set of prefixes of the action sequence of P