Security for Distributed E-Service Composition Stefan SeltzsamStephan BörzsönyiAlfons Kemper Universität Passau.

Slides:



Advertisements
Similar presentations
ServiceGlobe: Distributing E-Services Across the Internet Markus Keidl, Stefan Seltzsam, Konrad Stocker, and Alfons Kemper Universität Passau Fakultät.
Advertisements

HCQ P MEDICARES HEALTH CARE QUALITY IMPROVEMENT PROGRAM QualityNet Exchange Dennis Stricker Director, Information Systems Group Office of Clinical Standards.
LEAD Portal: a TeraGrid Gateway and Application Service Architecture Marcus Christie and Suresh Marru Indiana University LEAD Project (
Secure Naming structure and p2p application interaction IETF - PPSP WG July 2010 Christian Dannewitz, Teemu Rautio and Ove Strandberg.
Provenance-Aware Storage Systems Margo Seltzer April 29, 2005.
Building Dynamic Market Places Using HyperQueries Christian Wiesner Peter Winklhofer Alfons Kemper Universität Passau.
Mobile Agents Mouse House Creative Technologies Mike OBrien.
Mobile Code Security Yurii Kuzmin. What is Mobile Code? Term used to describe general-purpose executables that run in remote locations. Web browsers come.
Operating System Security
Logical Attestation: An Authorization Architecture for Trustworthy Computing Emin Gün Sirer Willem de Bruijn †, Patrick Reynolds *, Alan Shieh ‡, Kevin.
Ensuring Operating System Kernel Integrity with OSck By Owen S. Hofmann Alan M. Dunn Sangman Kim Indrajit Roy Emmett Witchel Kent State University College.
Mobile Code Security Aviel D. Rubin, Daniel E. Geer, Jr. MOBILE CODE SECURITY, IEEE Internet Computing, 1998 Minkyu Lee
Extending ForeFront beyond the limit TMGUAG ISAIAG AG Security Suite.
H Apr-01 Clark Thomborson Software Security CompSci 725 Handout 28: Report Writing #2 (Sample Titles & Abstracts) Clark Thomborson University of.
Chapters 14 & 15 Internet Databases. E-Commerce  Bringing new products, services, or ideas to market, supporting and enhancing business operations 
An Introduction to Proof-Carrying Code David Walker Princeton University (slides kindly donated by George Necula; modified by David Walker)
G O B E Y O N D C O N V E N T I O N WORF: Developing DB2 UDB based Web Services on a Websphere Application Server Kris Van Thillo, ABIS Training & Consulting.
Java Security Model Lab#1 I. Omaima Al-Matrafi. Safety features built into the JVM Type-safe reference casting Structured memory access (no pointer arithmetic)
LAB#2 JAVA SECURITY OVERVIEW Prepared by: I.Raniah Alghamdi.
Systems Analysis and Design in a Changing World, 6th Edition
An Authentication Service Based on Trust and Clustering in Wireless Ad Hoc Networks: Description and Security Evaluation Edith C.H. Ngai and Michael R.
Dept. of Computer Science & Engineering, CUHK1 Trust- and Clustering-Based Authentication Services in Mobile Ad Hoc Networks Edith Ngai and Michael R.
Using Digital Credentials On The World-Wide Web M. Winslett.
Edward Tsai – CS 239 – Spring 2003 Strong Security for Active Networks CS 239 – Network Security Edward Tsai Tuesday, May 13, 2003.
Design, Implementation, and Experimentation on Mobile Agent Security for Electronic Commerce Applications Anthony H. W. Chan, Caris K. M. Wong, T. Y. Wong,
An Authentication Service Against Dishonest Users in Mobile Ad Hoc Networks Edith Ngai, Michael R. Lyu, and Roland T. Chin IEEE Aerospace Conference, Big.
A Type System for Expressive Security Policies David Walker Cornell University.
6/4/98SIGMOD'98 -- Cornell Predator Project1 Secure and Portable Database Extensibility Tobias Mayr Michael Godfrey Praveen Seshadri Thorsten von Eicken.
What is adaptive web technology?  There is an increasingly large demand for software systems which are able to operate effectively in dynamic environments.
09/18/06 1 Software Security Vulnerability Testing in Hostile Environment Herbert H. Thompson James A. Whittaker Florence E. Mottay.
Health IT RESTful Application Programming Interface (API) Security Considerations Transport & Security Standards Workgroup March 18, 2015.
Page 1 Sandboxing & Signed Software Paul Krzyzanowski Distributed Systems Except as otherwise noted, the content of this presentation.
A Seminar on Securities In Cloud Computing Presented by Sanjib Kumar Raul Mtech(ICT) Roll-10IT61B09 IIT Kharagpur Under the supervision of Prof. Indranil.
Windows.Net Programming Series Preview. Course Schedule CourseDate Microsoft.Net Fundamentals 01/13/2014 Microsoft Windows/Web Fundamentals 01/20/2014.
Architecture Of ASP.NET. What is ASP?  Server-side scripting technology.  Files containing HTML and scripting code.  Access via HTTP requests.  Scripting.
Software Quality Assurance Lecture #8 By: Faraz Ahmed.
K. Jamroendararasame*, T. Matsuzaki, T. Suzuki, and T. Tokuda Department of Computer Science, Tokyo Institute of Technology, JAPAN Two Generators of Secure.
1 Introduction to Database Systems. 2 Database and Database System / A database is a shared collection of logically related data designed to meet the.
Fundamentals of Database Chapter 7 Database Technologies.
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.
Proof Carrying Code Zhiwei Lin. Outline Proof-Carrying Code The Design and Implementation of a Certifying Compiler A Proof – Carrying Code Architecture.
Secure Credential Manager Claes Nilsson - Sony Ericsson
Software Project Documentation. Types of Project Documents  Project Charter  Requirements  Mockups and Prototypes  Test Cases  Architecture / Design.
Trust- and Clustering-Based Authentication Service in Mobile Ad Hoc Networks Presented by Edith Ngai 28 October 2003.
Advanced Computer Networks Topic 2: Characterization of Distributed Systems.
Systems Analysis and Design in a Changing World, 6th Edition 1 Chapter 12 Databases, Controls, and Security.
Class 5 Architecture-Based Self-Healing Systems David Garlan Carnegie Mellon University.
Database Systems: Design, Implementation, and Management Eighth Edition Chapter 14 Database Connectivity and Web Technologies.
Extending ISA/IAG beyond the limit. AGAT Security suite - introduction AGAT Security suite is a set of unique components that allow extending ISA / IAG.
ABone Architecture and Operation ABCd — ABone Control Daemon Server for remote EE management On-demand EE initiation and termination Automatic EE restart.
Mobile Agent Security Presented By Sayuri Yonekawa October 17, 2000.
D’Agents 1 Presented by Haiying Tan May, 2002 D’Agents: Security in a multiple-language, mobile-agent system Robert S. Gary, David Kotz, George Cybenko,
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
Dispatching Java agents to user for data extraction from third party web sites Alex Roque F.I.U. HPDRC.
Java Programming: Advanced Topics 1 Enterprise JavaBeans Chapter 14.
EWS Redesign Business Case A look at creating a reports client for new or small market participants.
Reliable Web Service Execution and Deployment in Dynamic Environments * Markus Keidl, Stefan Seltzsam, and Alfons Kemper Universität Passau Passau,
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.
Software Security Q: What does it mean to say that a program is secure? A: There is a sufficient amount of trust that the program maintains _____________,
Presented by Edith Ngai MPhil Term 3 Presentation
A Seminar on Securities In Cloud Computing
Building Trustworthy Semantic Webs
PHP / MySQL Introduction
State your reasons or how to keep proofs while optimizing code
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 2 Database System Concepts and Architecture.
A Seminar on Securities In Cloud Computing
Systems Design Chapter 6.
Software Engineering with Reusable Components
Building Trustworthy Semantic Webs
Outcome of the Lecture Upon completion of this lecture you will be able to understand Fundamentals and Characteristics of Java Language Basic Terminology.
Presentation transcript:

Security for Distributed E-Service Composition Stefan SeltzsamStephan BörzsönyiAlfons Kemper Universität Passau

Outline Motivation Security Requirements Multilevel Security Architecture Quality Assurance for External Operators Security Measures during Plan Distribution Architecture of the Runtime Security System Related Work Conclusions

Motivation Tomorrow´s applications No longer based on monolithic architectures Distributed, dynamically extensible Composed from existing software components/services ObjectGlobe Internet query processing engine Extensible by mobile, user-defined operators Implemented in Java 2 Currently extended to handle general e-services

ObjectGlobe - Providers Three kinds of service providers: Data providers Function providers Cycle providers A single site can comprise all three services

ObjectGlobe – Query Processing optimize parse/ lookup plugexecute lookup service query result

ObjectGlobe – Query Processing optimize parse/ lookup plugexecute lookup service query result

ObjectGlobe – Query Processing optimize parse/ lookup plugexecute lookup service query result

ObjectGlobe – Query Processing optimize parse/ lookup plugexecute lookup service query result

ObjectGlobe – Query Processing optimize parse/ lookup plugexecute lookup service query result

ObjectGlobe – Example Query Find a hotel that is cheap and close to the beach in Nassau, Bahamas User-defined operator Skyline to find all relevant hotels [K. Stocker et.al.: The Skyline Operator, ICDE 2001] Skyline = all hotels where no other exists, which is closer to the beach and cheaper

ObjectGlobe – Example Query HotelBookWrapper Skyline load operator client (cycle provider) HotelGuideWrapper HotelBookWrapperHotelGuideWrapper Skyline

Security Requirements Basic assumptions Trustworthy cycle providers Unmodified code of ObjectGlobe and Java Security System of Java 2 works as designed Security concerns of ObjectGlobe Common security concerns of distributed systems Mobile code introduces specific security concerns

Common Security Concerns Authentication and authorization Anonymity Secure communication channels Admission control

Concerns by User-Defined Operators Protection of cycle providers against Resource monopolization Unauthorized resource access (e.g., file system) Manipulation of ObjectGlobe components Users are concerned about semantics of user-defined operators privacy of the processed data

Example attack Example attack: resource monopolization public class Skyline extends IteratorClass { public TypeSpec open() throws Exception { List l = new LinkedList(); while(true) l.add(new Object());... }... }

Example attack Example attack: resource monopolization public class Skyline extends IteratorClass { public TypeSpec open() throws Exception { List l = new LinkedList(); while(true) l.add(new Object());... }... }

Example attack (2) Example attack: wrong semantics public class Skyline extends IteratorClass { private ElementDescriptor currElem = null; private PredicateFunctionInterface eliminationPredicate = FunctionConstructor.construct(inputTypes[0], "name=\"Sheraton\""); public ElementDescriptor next() throws Exception {... do { currElem = inputIterators[0].next(); } while (currElem != null && eliminationPredicate.test(currElem));... /* skyline code */... }... }

Example attack: wrong semantics public class Skyline extends IteratorClass { private ElementDescriptor currElem = null; private PredicateFunctionInterface eliminationPredicate = FunctionConstructor.construct(inputTypes[0], "name=\"Sheraton\""); public ElementDescriptor next() throws Exception {... do { currElem = inputIterators[0].next(); } while (currElem != null && eliminationPredicate.test(currElem));... /* skyline code */... }... } Example attack (2) FILTER

Multilevel Security Architecture preventive measures optimize parse/ lookup plugexecute lookup service query execution quality assurance

Multilevel Security Architecture Preventive measures preventive measures optimize parse/ lookup plugexecute lookup service query execution quality assurance

Multilevel Security Architecture Preventive measures Security measures during plan distribution preventive measures optimize parse/ lookup plugexecute lookup service query execution quality assurance

Multilevel Security Architecture Preventive measures Security measures during plan distribution Runtime security system preventive measures optimize parse/ lookup plugexecute lookup service query execution quality assurance

Preventive Measures Optional, preventive step Goals – Quality assurance Verification of the semantics of the operator Compare resource consumption with given cost models Stress testing Results are digitally signed

Methods of Formal Specification Skyline - Mathematical Formula {s|s S t S: t s t s} Skyline - Haskell skyline :: [ ] -> [ ] skyline ss = skyline´ ss ss skyline´ [] ts = [] skyline´ (s:ss) ts = if dominated s ts then skyline´ ss ts else s:skyline´ ss ts dominated s [] = False dominated s (t:ts) = dominance t s || dominated s ts dominance t s = (t s && t s)

Test Data Generation User-directed Test data fulfill preconditions of operators Test data meet the testers´ strategies Features Specification of attribute values Functional dependencies between attributes Relationships between relations Control on the order of the tuples

The OperatorCheck Server Benchmark test Different sizes of input data Resource consumption is measured Results are compared to cost models (MathML) Correctness test Verifies the semantics of operators Black box testing Haskell program as oracle Different result comparison semantics

Architecture of OperatorCheck oracle (Haskell interpreter) ObjectGlobe Query Engine test data generation generating signature for test results analysis of results consultation of oracle / query execution program generation / plan generation test data save load test operator input: test operator, Haskell specification, description of test data output: digitally signed test results

Architecture of OperatorCheck oracle (Haskell interpreter) ObjectGlobe Query Engine test data generation generating signature for test results analysis of results consultation of oracle / query execution program generation / plan generation test data save load test operator input: test operator, Haskell specification, description of test data output: digitally signed test results

Architecture of OperatorCheck oracle (Haskell interpreter) ObjectGlobe Query Engine test data generation generating signature for test results analysis of results consultation of oracle / query execution program generation / plan generation test data save load test operator input: test operator, Haskell specification, description of test data output: digitally signed test results

Architecture of OperatorCheck oracle (Haskell interpreter) ObjectGlobe Query Engine test data generation generating signature for test results analysis of results consultation of oracle / query execution program generation / plan generation test data save load test operator input: test operator, Haskell specification, description of test data output: digitally signed test results

Architecture of OperatorCheck oracle (Haskell interpreter) ObjectGlobe Query Engine test data generation generating signature for test results analysis of results consultation of oracle / query execution program generation / plan generation test data save load test operator input: test operator, Haskell specification, description of test data output: digitally signed test results

Architecture of OperatorCheck oracle (Haskell interpreter) ObjectGlobe Query Engine test data generation generating signature for test results analysis of results consultation of oracle / query execution program generation / plan generation test data save load test operator input: test operator, Haskell specification, description of test data output: digitally signed test results

Architecture of OperatorCheck oracle (Haskell interpreter) ObjectGlobe Query Engine test data generation generating signature for test results analysis of results consultation of oracle / query execution program generation / plan generation test data save load test operator input: test operator, Haskell specification, description of test data output: digitally signed test results

Advantages/Limitations Advantages Improvement of trust Resource stability More reliable query execution Continuously available cycle providers Better result quality ObjectGlobe can renounce runtime monitoring Limitations Correctness can not be proved Results depend on intuition of testers Further security measures necessary

Measures during Plan Distribution Setup of secure communication channels using SSL and/or TLS Authentication of communication partners Authentication of users Authorization Admission control

Runtime Security System Based on Java´s security architecture Native library Tasks Guarantee privacy Protection of cycle providers Guarding Monitoring

Guarding Prevention of unauthorized resource access Access to temporary memory Prevention of access to ObjectGlobe components Isolation of user-defined operators

Monitoring Monitored resources CPU Primary and secondary memory Data volume produced by operators Number of temporary files Dynamically adapted limits Operators are terminated upon limit violations

Related Work Extensible database systems: POSTGRES, Predator, Jaguar Oracle, DB2 Braumandl et.al.: ObjectGlobe: Ubiquitous Query Processing on the Internet, VLDBJ 2001 Seshadri et.al.: Secure and Portable Database Extensibility, SIGMOD 1998 Dalton et.al.: An Operating System Approach to Securing E-Services, Communications of the ACM, 2001 Weikum: The Web in 2010: Challenges and Opportunities for Database Research, Springer, 2001

Conclusions Security requirements of cycle providers and users ObjectGlobe as an Example Multilevel security architecture OperatorCheck server Measures during plan distribution Runtime security system