Executable specification of cryptofraglets with Maude for security verification Fabio Martinelli and Marinella Petrocchi IIT-CNR, Pisa Italy presented.

Slides:



Advertisements
Similar presentations
Security attacks. - confidentiality: only authorized parties have read access to information - integrity: only authorized parties have write access to.
Advertisements

Using Cryptography to Secure Information. Overview Introduction to Cryptography Using Symmetric Encryption Using Hash Functions Using Public Key Encryption.
AUTHENTICATION AND KEY DISTRIBUTION
University of Twente The Netherlands Centre for Telematics and Information Technology Verification of Security Protocols Sandro Etalle
University of Twente The Netherlands Centre for Telematics and Information Technology Constraint Logic Programming for Verifying Security Protocols Sandro.
Authenticating Users. Objectives Explain why authentication is a critical aspect of network security Explain why firewalls authenticate and how they identify.
Lecture 3Dr. Verma1 COSC 6397 – Information Assurance Module M2 – Protocol Specification and Verification University of Houston Rakesh Verma Lecture 3.
Non-monotonic Properties for Proving Correctness in a Framework of Compositional Logic Koji Hasebe Mitsuhiro Okada (Dept. of Philosophy, Keio University)
Interlock Protocol - Akanksha Srivastava 2002A7PS589.
Luu Anh Tuan. Security protocol Intruder Intruder behaviors Overhead and intercept any messages being passed in the system Decrypt messages that are.
Deeper Security Analysis of Web-based Identity Federation Apurva Kumar IBM Research – India.
1 Computer Security Instructor: Dr. Bo Sun. 2 Course Objectives Understand basic issues, concepts, principles, and mechanisms in computer network security.
Some general principles in computer security Tomasz Bilski Chair of Control, Robotics and Computer Science Poznań University.
1 Cryptography and Network Security Third Edition by William Stallings Lecturer: Dr. Saleem Al_Zoubi.
Can you fool me? Towards automatically checking protocol gullibility Milan StanojevićRatul Mahajan Todd MillsteinMadanlal Musuvathi UCLAMicrosoft Research.
CMSC 414 Computer and Network Security Lecture 17 Jonathan Katz.
AGVI Automatic Generation, Verification, and Implementation of security protocols By: Dawn Song, Adrian Perrig, and Doantam Phan. In: 13 th Conference.
EEC 693/793 Special Topics in Electrical Engineering Secure and Dependable Computing Lecture 7 Wenbing Zhao Department of Electrical and Computer Engineering.
Security Internet Management & Security 06 Learning outcomes At the end of this session, you should be able to: –Describe the reasons for having system.
ISA 3200 NETWORK SECURITY Chapter 10: Authenticating Users.
EEC 688/788 Secure and Dependable Computing Lecture 7 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University
Information Security of Embedded Systems : Algorithms and Measures Prof. Dr. Holger Schlingloff Institut für Informatik und Fraunhofer FIRST.
School of Information Technology Centre for Software Assurance Enabling Security Testing from Specification to Code Shane Bracher and Padmanabhan Krishnan.
Silberschatz, Galvin and Gagne  Operating System Concepts Module 19: Security The Security Problem Authentication Program Threats System Threats.
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,
FIREWALLS & NETWORK SECURITY with Intrusion Detection and VPNs, 2 nd ed. 10 Authenticating Users By Whitman, Mattord, & Austin© 2008 Course Technology.
Cryptography Week-6.
Secure Embedded Processing through Hardware-assisted Run-time Monitoring Zubin Kumar.
Towards a Logic for Wide- Area Internet Routing Nick Feamster Hari Balakrishnan.
© Siemens AG, CT SE 1, Dr. A. Ulrich C O R P O R A T E T E C H N O L O G Y Research at Siemens CT SE Software & Engineering Development Techniques.
Protecting Web 2.0 Services from Botnet Exploitations Cybercrime and Trustworthy Computing Workshop (CTC), 2010 Second Nguyen H Vo, Josef Pieprzyk Department.
Authenticating Users Chapter 6. Learning Objectives Understand why authentication is a critical aspect of network security Describe why firewalls authenticate.
1 Information and Communication Technology (ICT).
Dr. L. Christofi1 Local & Metropolitan Area Networks ACOE322 Lecture 8 Network Security.
Intrusion Detection Prepared by: Mohammed Hussein Supervised by: Dr. Lo’ai Tawalbeh NYIT- winter 2007.
Proof Carrying Code Zhiwei Lin. Outline Proof-Carrying Code The Design and Implementation of a Certifying Compiler A Proof – Carrying Code Architecture.
Overview of Formal Methods. Topics Introduction and terminology FM and Software Engineering Applications of FM Propositional and Predicate Logic Program.
BAN LOGIC Amit Chetal Monica Desai November 14, 2001
© Oxford University Press 2011 DISTRIBUTED COMPUTING Sunita Mahajan Sunita Mahajan, Principal, Institute of Computer Science, MET League of Colleges, Mumbai.
Cryptography and Network Security (CS435) Part One (Introduction)
出處 :2010 2nd International Conference on Signal Processing Systems (ICSPS) 作者 :Zhidong Shen 、 Qiang Tong 演講者 : 碩研資管一甲 吳俊逸.
MagicNET: Security System for Protection of Mobile Agents.
CSCE 813 Internet Security Cryptographic Protocol Analysis.
Secure Component Composition for Personal Ubiquitous Computing Project Overview and Potential Techniques —————— 16 th May 2003 —————— David Llewellyn-Jones.
Major Disciplines in Computer Science Ken Nguyen Department of Information Technology Clayton State University.
Correctness Proofs and Counter-model Generation with Authentication-Protocol Logic Koji Hasebe Mitsuhiro Okada Department of Philosophy, Keio University.
6 June Lecture 2 1 TU Dresden - Ws on Proof Theory and Computation Formal Methods for Security Protocols Catuscia Palamidessi Penn State University,
HACNet Simulation-based Validation of Security Protocols Vinay Venkataraghavan Advisors: S.Nair, P.-M. Seidel HACNet Lab Computer Science and Engineering.
Ch 13 Trustworthiness Myungchul Kim
Introduction Program File Authorization Security Theorem Active Code Authorization Authorization Logic Implementation considerations Conclusion.
Introduction and Overview of Information Security and Policy By: Hashem Alaidaros 4/10/2015 Lecture 1 IS 332.
Protocol Analysis. CSCE Farkas 2 Cryptographic Protocols Two or more parties Communication over insecure network Cryptography used to achieve goal.
SAFE KERNEL EXTENSIONS WITHOUT RUN-TIME CHECKING George C. Necula Peter Lee Carnegie Mellon U.
Network Security Celia Li Computer Science and Engineering York University.
1 Computer Security Instructor: Dr. Bo Sun. 2 Course Objectives Understand basic issues, concepts, principles, and mechanisms in computer network security.
Pertemuan #8 Key Management Kuliah Pengaman Jaringan.
Unit 2 Personal Cyber Security and Social Engineering Part 2.
Model Checking for Security Protocols Will Marrero, Edmund Clarke, Shomesh Jha.
Sub-fields of computer science. Sub-fields of computer science.
Security Protocols Analysis
CDK4: Chapter 7 CDK5: Chapter 11 TvS: Chapter 9
Security Analysis of Network Protocols
CDK: Chapter 7 TvS: Chapter 9
Chapter 8.5 AUTHENTICATION AND KEY DISTRIBUTION
Protocol Verification by the Inductive Method
Formal Methods for Security Protocols
A Model For Network Security
Rich Model Toolkit – An Infrastructure for Reliable Computer Systems
Presentation transcript:

Executable specification of cryptofraglets with Maude for security verification Fabio Martinelli and Marinella Petrocchi IIT-CNR, Pisa Italy presented by Daniel Schreckling (Univ. Passau, Germany) and Lidia Yamamoto (Univ. Basel, Switzerland)

Overview Introduction: context, motivation, and goal The Fraglets language – Cryptofraglets – Threat model Maude specification language – Cryptofraglets in Maude – Case study: attack detection on Needham Schroeder Public Key (NSPK) protocol Conclusions, future work

Introduction Adaptive and autonomic systems need: – New methodologies to assess security and trustworthiness of network protocols and services in a potentially changing environment – Techniques for automated security verification Chemical computing (e.g. Gamma, Fraglets) as a tool for specifying autonomic behavior Goal – Development of a software tool supporting specification of crypto-protocols in Fraglets and their security analysis

The Fraglets Language Programming language inspired by chemistry – Code and data represented as molecules = strings = computation fragments – Processing by chemical reactions that consume and produce molecules (code and data) – Goal: automated synthesis and evolution of communication protocols

Fraglets Basic Instruction Set (educts)(products)

The Fraglets Language Fraglets processing: chemical reactions perform string rewriting operations – head of string fully determines rewriting operation – analogous to packet header processing in network protocols Distributed computation: Fraglets (computation fragments) flow through a computer network Applications: active networks, self-modifying code, autonomic communication protocols

Cryptofraglets Original Fraglets language lacked security features Cryptofraglets [BIONETICS 2006]: our extension of the Fraglets instruction set for – symmetric/asymmetric cryptography – hashing techinques Encryption [enc newtag k1 tail] → [newtag tail_k1] Decryption [dec newtag k2 tail_k2] → [newtag tail] Hash [hash newtag tail] → [newtag h(tail)]

Fraglets-Based Threat Model Protocol specification involving two honest roles – initiator S S – responder S R. Communication flow through untrusted store S X Secret keys initially contained in the legitimate store(s)

Definition of Security Properties It is now possible to define security properties (secrecy, authentication, integrity…) Classical notion of intruder’s knowledge rephrased: – the set of symbols that the intruder's store contains – example: secrecy property: “at each point of the computation, a symbol is secret between initiator and responder if it is not possible for the intruder store to know that symbol” (Formal definitions in the Bionetics 2009 paper)

The Maude Rewrite System Reflective Specification language and system based on Rewriting Logic Distributed systems specified as: – Algebraic data type axiomatizing system state – Rewrite rules axiomatising system’s local transitions Provides executable semantics and toolkit allowing for formal reasoning User-defined execution strategies allow for state exploration strategies, e.g., breadth-first search

What is a rewrite rule? mod climate is sort wheatercondition. op sunnyday : -> wheatercondition. op rainyday : -> wheatercondition. rl [raincloud] : sunnyday => rainyday. Endm

Maude “search” strategies Maude commands – rewrite, can explore one possible sequence of rewrites – search command looks for all the possible traces from an initial to a particular configuration of interest (e.g. set of fraglets in store X) Possibility to exploit built-in toolkits: – model checker – theorem prover, – User-defined ad hoc search strategies

We use Maude for… Encoding of fraglets (crypto)instructions into an executable specification Perform security analysis on this specification Case study – Formulation of Needham Schroeder Public Key protocol – Attack on flawed version of NSPK analyzed and detected

Encoding Fraglets instructions become rewrite rules Example – Dup (duplicate symbol) – Send (transfer fraglet from to another store)

Encoding En/decryption-instructions:

Case Study: NSPK Protocol Protocol authenticates two agents A and B At the end of the protocol – Agents know their identities – Agents share a secret (nonces) Original protocol was vulnerable to a man-in-the-middle attack Implementation of vulnerable version in fraglets

Flawed NSPK in Maude Translate fraglets version into Maude Command rewrite takes initial configuration of fraglets in stores A, B, and X Maude executes two interleaved sessions of NSPK At the end of computation: – Store A contains newly received nonce nb – Store B contains [what expected] – Store X contains [auxtag5 nb] Maude detects secrecy violation

Fraglets-Based NSPK: Execution in Maude

Conclusions Main result: – assessment of usefulness of executing fraglets specifications for security verification purposes Possible follow-ups: – analyzing complex security protocols and properties; – definition of the fraglets-based most powerful intruder to verify security properties over universal quantification

Acknowledgements! The authors would like to thank SO MUCH Daniel and Lidia for their precious help in physically presenting this work and carefully preparing this presentation! Clap Clap!!!