Access Control in Web Applications Peter Trommler Faculty of Computer Science Georg Simon Ohm University Nuremberg, Germany U = R I.

Slides:



Advertisements
Similar presentations
Alan Shaffer, Mikhail Auguston, Cynthia Irvine, Tim Levin The 7th OOPSLA Workshop on Domain-Specific Modeling October 21-22, 2007 Toward a Security Domain.
Advertisements

Building web applications on top of encrypted data using Mylar Presented by Tenglu Liang Tai Liu.
CS3773 Software Engineering Lecture 01 Introduction.
Deeper Security Analysis of Web-based Identity Federation Apurva Kumar IBM Research – India.
WebRatio BPM: a Tool for Design and Deployment of Business Processes on the Web Stefano Butti, Marco Brambilla, Piero Fraternali Web Models Srl, Italy.
Automated creation of verification models for C-programs Yury Yusupov Saint-Petersburg State Polytechnic University The Second Spring Young Researchers.
Formal Methods in Software Engineering Credit Hours: 3+0 By: Qaisar Javaid Assistant Professor Formal Methods in Software Engineering1.
Model-Driven Design and Administration of Access Control in Enterprise Applications April 2005.
Building Enterprise Applications Using Visual Studio ®.NET Enterprise Architect.
Robustness Analysis Dr. Neal CIS 480. Outline What is robustness analysis? Key roles in robustness analysis Object types found in discovery Diagramming.
WebRatio BPM: a Tool for Design and Deployment of Business Processes on the Web Stefano Butti, Marco Brambilla, Piero Fraternali Web Models Srl, Italy.
CS 290C: Formal Models for Web Software Lecture 6: Model Driven Development for Web Software with WebML Instructor: Tevfik Bultan.
1 Detecting Logic Vulnerabilities in E- Commerce Applications Presenter: Liu Yin Slides Adapted from Fangqi Sun Computer Science Department College of.
1 Reliable Adaptive Distributed Systems Armando Fox, Michael Jordan, Randy H. Katz, David Patterson, George Necula, Ion Stoica, Doug Tygar.
1 Scenario-based Analysis of UML Design Class Models Lijun Yu October 4th, 2010 Oslo, Norway.
Connecting Diverse Web Search Facilities Udi Manber, Peter Bigot Department of Computer Science University of Arizona Aida Gikouria - M471 University of.
Schedule Viewer A Scheduling Tool for UBC Okanagan Administration Jacob Orr Dr. Ramon Lawrence Bachelor of Science Honours Project.
Chapter 1 The Systems Development Environment
Database Administration Chapter 16. Need for Databases  Data is used by different people, in different departments, for different reasons  Interpretation.
Alter – Information Systems 4th ed. © 2002 Prentice Hall 1 E-Business Security.
Romaric GUILLERM Hamid DEMMOU LAAS-CNRS Nabil SADOU SUPELEC/IETR ESM'2009, October 26-28, 2009, Holiday Inn Leicester, Leicester, United Kingdom.
Automating your Business Processes Using Oracle Workflow Therron Hofsetz Logical Apps, Inc.
CMPT 275 Software Engineering
Romaric GUILLERM Hamid DEMMOU LAAS-CNRS Nabil SADOU SUPELEC/IETR.
Chapter 1 The Systems Development Environment
Friday October 28, 2005 SoBeNeT workshop The role of Security in software processes (UP, XP) and software architecture.
CSCE 548 Secure Software Development Security Use Cases.
Compuware Corporation Business Driven SOA Edwin Schumacher Director of Product Management
Information Systems Analysis and Design
UML based dependability modeling, analysis and synthesis Proposers: TU Budapest: A. Pataricza, Gy. Csertán, I. Majzik, D. Varró PDCC Pisa: L. Simoncini,
Chapter 8 – Software Testing Lecture 1 1Chapter 8 Software testing The bearing of a child takes nine months, no matter how many women are assigned. Many.
1 Oracle Database 11g – Flashback Data Archive. 2 Data History and Retention Data retention and change control requirements are growing Regulatory oversight.
Integrating Security Design Into The Software Development Process For E-Commerce Systems By: M.T. Chan, L.F. Kwok (City University of Hong Kong)
Modeling Dynamic Role- based Access Constraints using UML Khaled Alghathbar George Mason University, USA and King Saud University, Riyadh, Saudi Arabia.
Tom Castiglia Hershey Technologies
Proof Carrying Code Zhiwei Lin. Outline Proof-Carrying Code The Design and Implementation of a Certifying Compiler A Proof – Carrying Code Architecture.
CSE 219 Computer Science III Program Design Principles.
Framework for the Development and Testing of Dependable and Safety-Critical Systems IKTA 065/ Supported by the Information and Communication.
1 Dept of Information and Communication Technology Creating Objects in Flexible Authorization Framework ¹ Dep. of Information and Communication Technology,
An Ad Hoc Writable Rule Language for White-Box Security Scanners Author:Sebastian Schinzel Referent:Prof. Dr. Alexander del Pino Korreferent:Prof. Dr.
BA372 Stored Procedures and Triggers Lab. What needs to be done to change a customer’s credit limit? Who am I? May I? Do it Log it Display A database.
University of Paderborn Software Engineering Group Prof. Dr. Wilhelm Schäfer Towards Verified Model Transformations Holger Giese 1, Sabine Glesner 2, Johannes.
DEV337 Modeling Distributed Enterprise Applications Using UML in Visual Studio.NET David Keogh Program Manager Visual Studio Enterprise Tools.
A Static Approach to Consistency Verification of UML Models Andrea Baruzzo Department of Computer Science University of Udine MoDeV.
Product Update March Copyright © IET Ltd 2008 Agenda  Release 7.7  VerifIEr.
Architectural Patterns Support Lecture. Software Architecture l Architecture is OVERLOADED System architecture Application architecture l Architecture.
Dr. Darius Silingas | No Magic, Inc. Domain-Specific Profiles for Your UML Tool Building DSL Environments with MagicDraw UML.
Hong Zhu Dept of Computing and Communication Technologies Oxford Brookes University Oxford, OX33 1HX, UK TOWARDS.
Computer Science Automated Software Engineering Research ( Mining Exception-Handling Rules as Conditional Association.
Windows Role-Based Access Control Longhorn Update
Basic Concepts of Component- Based Software Development (CBSD) Model-Based Programming and Verification.
Capturing the requirements  Requirement: a feature of the system or a description of something the system is capable of doing in order to fulfill the.
Database Administration
Lesson 19-E-Commerce Security Needs. Overview Understand e-commerce services. Understand the importance of availability. Implement client-side security.
Secure Systems Research Group - FAU 1 A Trust Model for Web Services Ph.D Dissertation Progess Report Candidate: Nelly A. Delessy, Advisor: Dr E.B. Fernandez.
Database Security Cmpe 226 Fall 2015 By Akanksha Jain Jerry Mengyuan Zheng.
The Systems Development Environment Systems Analysis and Design II.
1 Intro stored procedures Declaring parameters Using in a sproc Intro to transactions Concurrency control & recovery States of transactions Desirable.
Prof. Hany H. Ammar, CSEE, WVU, and
Hall, Accounting Information Systems, 8e ©2013 Cengage Learning. All Rights Reserved. May not be scanned, copied or duplicated, or posted to a publicly.
SEESCOASEESCOA SEESCOA Meeting Activities of LUC 9 May 2003.
Writing Secure Programs. Program Security CSCE Farkas/Eastman - Fall Program Flaws Taxonomy of flaws: how (genesis) when (time) where (location)
LEARNING AREA 1 : INFORMATION AND COMMUNICATION TECHNOLOGY PRIVACY AUTHENTICATION VERIFICATION.
A Multi-Dimensional Configurable Access Control Framework for Mobile Applications By: Yaira K. Rivera Sánchez Major Advisor: Steven A. Demurjian.
Dynamic SQL Writing Efficient Queries on the Fly ED POLLACK AUTOTASK CORPORATION DATABASE OPTIMIZATION ENGINEER.
Linux Standard Base Основной современный стандарт Linux, стандарт ISO/IEC с 2005 года Определяет состав и поведение основных системных библиотек.
Building Enterprise Applications Using Visual Studio®
Data and database administration
Gregory Morton COSC380 February 16, 2011
Model Checking for an Executable Subset of UML
Presentation transcript:

Access Control in Web Applications Peter Trommler Faculty of Computer Science Georg Simon Ohm University Nuremberg, Germany U = R I

Prof. Dr. Peter Trommler Faculty of Computer Science Agenda Programming errors and security Access control engineering Metamodel Implementation

Prof. Dr. Peter Trommler Faculty of Computer Science Context Web applications access corporate databases Hundreds if not thousands of vulnerabilities Vulnerabilities are symptoms Few root causes

Prof. Dr. Peter Trommler Faculty of Computer Science Types of Programming Errors [Pfleeger] Buffer Overflow int a[3]; a[3]=1; Incomplete Mediation February 30; 4, code injection (SQL, shell,...) Time-of-Check-Time-of Use back-end identifiers (primary key) no check on parameter returned

Prof. Dr. Peter Trommler Faculty of Computer Science Motivation

Prof. Dr. Peter Trommler Faculty of Computer Science “Solution”

Prof. Dr. Peter Trommler Faculty of Computer Science Challenges Access control decisions everywhere Difficult to check completeness audit for correctness read and understand Dependencies on other code Separate AC from app code

Prof. Dr. Peter Trommler Faculty of Computer Science Protection Mechanisms Reject “illegal” transactions Interception mechanism Web application Application Firewall Filtering Servlet AOP, MDA before/after methods Parameterized Views SQL Screening Internet

Prof. Dr. Peter Trommler Faculty of Computer Science Business Rule or Security Show list of customer’s accounts omit one: business show one too many: security Many business rules have security flavor Challenge: extract security requirements

Prof. Dr. Peter Trommler Faculty of Computer Science Access Control Engineering Identify access control requirements early Refine with refining of functional requirements Automate steps Verify correctness of refinements Manually review rule set (audit)

Prof. Dr. Peter Trommler Faculty of Computer Science Security Requirements Engineering [Giorgini] Object-level modeling re-use requirements framework i*/Tropos, KAOS, UML hard to model more general rules Meta-level modeling add new linguistic constructs UMLSec [Jürjens], Secure UML [Lodderstedt] integration with MDA

Prof. Dr. Peter Trommler Faculty of Computer Science Observation: User’s “Own” Data Navigate relations between tables/classes Restrict access columns/fields methods OO-Views Parameterized Views [Roichman] Anchor entity/object

Prof. Dr. Peter Trommler Faculty of Computer Science Temporal Logic View solution after assignment submitted Can submit assignment only once Temporal Logic of Actions vs. Interval Temporal Logic [Janicke] Traces in database certain object exists AC decision depends on current system state

Prof. Dr. Peter Trommler Faculty of Computer Science Modeling Implementation Level Reachability in relations graph O(n) n: # objects in transitive closure (“own” objects) caching AC method/fields through facades additional call indirection static check Existence of traces O(1): hashes, DB indices

Prof. Dr. Peter Trommler Faculty of Computer Science Implementation specify trace for each temporal quantifier specify navigation graph for each subject role Manual specify object level rules verify correctness [Hu] Automatic generate code

Prof. Dr. Peter Trommler Faculty of Computer Science Conclusion Time-of-Check-Time-of-Use Web application partially untrusted Separate access control from application code Metamodel Efficient implementation Code generation

Prof. Dr. Peter Trommler Faculty of Computer Science References [Pfleeger] C. P. Pfleeger, S. Lawrence Pfleeger: Security in Computing, 4 th ed, Prentice Hall PTR, [Giogini] P. Giorgini, F. Massaci, N. Zannone: Security and Trust Requirements Engineering. [Jürjens] J. Jürjens: Secure Systems Development with UML, Springer Verlag, [Lodderstedt] T. Lodderstedt, D. Basin, J. Doser: A UML-based Modeling Language for Model Driven Security, in Proc. of UML’02, LNCS 2460, Springer Verlag, [Roichman] A. Roichman, E. Gudes: Fine-grained Access Control to Web Databases, in Proc. of SACMAT’07, ACM, [Janicke] H. Janicke, A. Cau, H. Zedan: A note on the formalization of UCON, in Proc. of SACMAT’07, ACM, [Hu] H.Hu, G.-J. Ahn: Enabling Verification and Conformance Testing for Access Control Model, in Proc. of SACMAT’08, ACM, 2008.