1 Specifying and Reasoning about Dynamic Access-Control Policies Daniel J. Dougherty, Kathi Fisler, and Shriram Krishnamurthi Mouiad A. Hani Presented.

Slides:



Advertisements
Similar presentations
ROWLBAC – Representing Role Based Access Control in OWL
Advertisements

Role Based Access control By Ganesh Godavari. Outline of the talk Motivation Terms and Definitions Current Access Control Mechanism Role Based Access.
Operating System Security
Lecture 11: Datalog Tuesday, February 6, Outline Datalog syntax Examples Semantics: –Minimal model –Least fixpoint –They are equivalent Naive evaluation.
Lakshmi Narayana Gupta Kollepara 10/26/2009 CSC-8320.
8.2 Discretionary Access Control Models Weiling Li.
Secure Systems Research Group - FAU Patterns for access control E.B. Fernandez.
Report on Intrusion Detection and Data Fusion By Ganesh Godavari.
Knowledge Acquisitioning. Definition The transfer and transformation of potential problem solving expertise from some knowledge source to a program.
Chapter 2 Access Control Fundamentals. Chapter Overview Protection Systems Mandatory Protection Systems Reference Monitors Definition of a Secure Operating.
Describing Syntax and Semantics
User Domain Policies.
Role Based Access control By Ganesh Godavari. Outline of the talk Motivation Terms and Definitions Current Access Control Mechanism Role Based Access.
Policy, Models, and Trust 1. Security Policy A security policy is a well-defined set of rules that include the following: Subjects: the agents who interact.
Distributed Computer Security 8.2 Discretionary Access Control Models - Liang Zhao.
Lecture 7 Access Control
Distributed Computer Security 8.2 Discretionary Access Control Models - Sai Phalgun Tatavarthy.
Lecture slides prepared for “Computer Security: Principles and Practice”, 2/e, by William Stallings and Lawrie Brown, Chapter 4 “Overview”.
Audumbar Chormale Advisor: Dr. Anupam Joshi M.S. Thesis Defense
XACML Gyanasekaran Radhakrishnan. Raviteja Kadiyam.
1 © Talend 2014 XACML Authorization Training Slides 2014 Jan Bernhardt Zsolt Beothy-Elo
On Roles of Models in Information Systems (Arne Sølvberg) Gustavo Carvalho 26 de Agosto de 2010.
1 September 14, 2006 Lecture 3 IS 2150 / TEL 2810 Introduction to Security.
Katanosh Morovat.   This concept is a formal approach for identifying the rules that encapsulate the structure, constraint, and control of the operation.
Notes for Chapter 12 Logic Programming The AI War Basic Concepts of Logic Programming Prolog Review questions.
CatBAC: A Generic Framework for Designing and Validating Hybrid Access Control Models Bernard Stepien, University of Ottawa Hemanth Khambhammettu Kamel.
1 A pattern language for security models Eduardo B. Fernandez and Rouyi Pan Presented by Liping Cai 03/15/2006.
A Z Approach in Validating ORA-SS Data Models Scott Uk-Jin Lee Jing Sun Gillian Dobbie Yuan Fang Li.
14.1 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts Chapter 14: Protection Goals of Protection Principles of Protection Domain of Protection.
An Algebra for Composing Access Control Policies (2002) Author: PIERO BONATTI, SABRINA DE CAPITANI DI, PIERANGELA SAMARATI Presenter: Siqing Du Date:
1 Dept of Information and Communication Technology Creating Objects in Flexible Authorization Framework ¹ Dep. of Information and Communication Technology,
Next-generation databases Active databases: when a particular event occurs and given conditions are satisfied then some actions are executed. An active.
1 Vigil : Enforcing Security in Ubiquitous Environments Authors : Lalana Kagal, Jeffrey Undercoffer, Anupam Joshi, Tim Finin Presented by : Amit Choudhri.
ISBN Chapter 3 Describing Semantics -Attribute Grammars -Dynamic Semantics.
Confidentiality-preserving Proof Theories for Distributed Proof Systems Kazuhiro Minami National Institute of Informatics FAIS 2011.
G53SEC 1 Access Control principals, objects and their operations.
Information Security - City College1 Access Control in Collaborative Systems Authors: Emis Simo David Naco.
Chapter 2 Database System Concepts and Architecture Dr. Bernard Chen Ph.D. University of Central Arkansas.
SOFTWARE DESIGN. INTRODUCTION There are 3 distinct types of activities in design 1.External design 2.Architectural design 3.Detailed design Architectural.
The AI War LISP and Prolog Basic Concepts of Logic Programming
Computer Science Conformance Checking of Access Control Policies Specified in XACML Vincent C. Hu (National Institute of Standards and Technology) Evan.
12/4/20151 Computer Security Security models – an overview.
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.
Software Security II Karl Lieberherr. What is Security Enforcing a policy that describes rules for accessing resources. Policy may be explicit or implicit.
FRAC: Implementing Role-Based Access Control for Network File Systems Aniruddha Bohra, Stephen Smaldone, and Liviu Iftode Department of Computer Science.
Policy, Models, and Trust
ROLE BASED ACCESS CONTROL 1 Group 4 : Lê Qu ố c Thanh Tr ầ n Vi ệ t Tu ấ n Anh.
PolicyMorph: Interactive Policy Model Transformations for a Logical ABAC Framework Michael LeMay Omid Fatemieh Carl A. Gunter.
COEN 350: Network Security Authorization. Fundamental Mechanisms: Access Matrix Subjects Objects (Subjects can be objects, too.) Access Rights Example:
CSCE 201 Introduction to Information Security Fall 2010 Access Control Models.
Introduction to Active Directory
Computer Security: Principles and Practice
Protection & Security Greg Bilodeau CS 5204 October 13, 2009.
Computer Science and Engineering Computer System Security CSE 5339/7339 Session 16 October 14, 2004.
Presented by Kyumars Sheykh Esmaili Description Logics for Data Bases (DLHB,Chapter 16) Semantic Web Seminar.
Design and Implementation MAC in Security Operating System CAI Yi, ZHENG Zhi-rong, SHEN Chang-xiang Presented By, Venkateshwarlu Jangili. 1.
1 XACML for RBAC and CADABRA Constrained Delegation and Attribute-Based Role Assignment Brian Garback © Brian Garback 2005.
Access Controls Mandatory Access Control by Sean Dalton December 5 th 2008.
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.
1 Representing and Reasoning on XML Documents: A Description Logic Approach D. Calvanese, G. D. Giacomo, M. Lenzerini Presented by Daisy Yutao Guo University.
COP Introduction to Database Structures
Presented By: Smriti Bhatt
Database and Cloud Security
Access Control CSE 465 – Information Assurance Fall 2017 Adam Doupé
Chapter 2 Database System Concepts and Architecture
Software Security II Karl Lieberherr.
Institute for Cyber Security
Architecture Components
OS Access Control Mauricio Sifontes.
Access Control What’s New?
Presentation transcript:

1 Specifying and Reasoning about Dynamic Access-Control Policies Daniel J. Dougherty, Kathi Fisler, and Shriram Krishnamurthi Mouiad A. Hani Presented by

2 Paper’s outline Motivation Background Information Introduction Modeling Policies and their Dynamic Environments Analyzing and Comparing Policies Related Works Conclusions

3 Motivation The increasing complexity of access-control policies. The dynamic nature of the environments in which these policies work and evaluate. The need for separating the policy from its underlying enforcement engine. The need for providing formal analyses regarding policy rules’ safety and availability properties.

4 Access Control: controlling and enforcing protection to every access to a system and its resources and makes access possible only for authorized subjects. The primary purpose for security mechanisms in a computer system is access control, which consists of three tasks: Authorization: determining which subjects are entitled to have access to which resource Determining the access rights (a combination of access modes such as read, write, execute, delete, and append) Enforcing these access rights Many types of resources need access control to reach them: Sensitive documents, files, and information stored in databases, servers, …etc. RAMs and Virtual memories dedicated to OS and other applications’ uses CPU time of clients and servers connected to the net Too many other examples Background Information

5 Access Control Kinds Discretionary Access Control (DAC) means that the owner of the resource controls other users' accesses to that resource. Only those users specified by the owner may have some combination of read, write, execute, and other permissions to the resource. Drawbacks: Transitive Vulnerable to Trojan horse attacks. Mandatory access control (MAC) means that access control decisions are made by a central authority, not by the individual owner of an object, and the owner cannot change access rights. Drawback: Covert channel problem Role-Based Access Control (RBAC) controls access depending on the roles that users have within the system and on rules stating what accesses are allowed to users in given roles. Background…continue

6 An access-control language must provide a way of describing the different forms of access and the environment in which they could occur. This information forms a request. Many languages break requests into four different parts: Subject (active entity): the person or process making the request Resource (passive entity): the object, subsystem, person, or process that would be affected (e.g., a file name or a process id) Action: the command or change that would be executed on the resource by the subject Environment: describes any other relevant information such as the time of day, location, or the previous actions of the subject The first three of these make up the form of requested access while the last gives the context in which this access would be exercised. Background…continue

7 Policy Enforcement Point Policy Decision Point The point where policy decisions are made by access control policy. Request Decision Policy Repository The point where the policy decisions are actually enforced by access control mechansim. Modern applications express policies in domain-specific languages like XML, XACML, …etc. The applications consult policies through a policy enforcement engine Background…continue

8 Background…continue Example: Classical Access Control Policy Framework

9 Introduction Specifying: Who can access What, How and When? Reasoning: The process of drawing or establishing new conclusions (facts) from the current facts. Reasoning, in this paper, is about goal-Reachability and contextual containment within dynamic access-control policies.

10 Why Separating Policies from Their Underlying Programs? It allows the same policy to be used with multiple applications; It enables non-programmers to develop and maintain policies; It adopts rich mechanisms for combining policy modules derived from different, even geographically distributed, entities Introduction…continue

11 Policy Modeling Definition: Let Subjects, Actions, and Resources each be sorts (types). Let ∑ be a first-order relational signature (alphabet) including at least the two distinguished ternary predicates Permit and Deny of type Subjects × Actions × Resources. A policy rule over Σ is a Datalog rule over Σ whose head is either Permit or Deny. A policy over Σ is a set of policy rules over Σ. For a set of rules (the policy) P, we have: ∑ P = edb idb {the signature or alphabet of P } The policy rule over ∑ ≡ Datalog rule over ∑.

12 Permit( a, submit-paper, p ) :- author( a ), paper( p ), phase(submission) Permit( r, submit-review, p ) :- reviewer( r ), paper( p ), assigned( r, p ), phase(review) Permit( r, read-scores, p ) :- reviewer( r ), paper( p ), has-reviewed( r, p ), phase(meeting) Deny( a, read-scores, p ) :- author( a ), paper( p ) Example of a policy written in Datalog author(Alice). author(Bob). author(Grey). reviewer(Ali). reviewer(Jad). reviewer(Tom). paper(P1). paper(P2). paper(P3).

13 Datalog rule (program) R( U 0 ) :- R 1 (U 1 ), R 2 (U 2 ), …, R n ( U n ). The Body or extensional predicates or rules (extensional database edb) The head or intentional predicate (intentional database idb) Extension refers to whatever extends, i.e., “is quantifiable in space as well as in time”; Extensional to refer to that which is explicitly represented (e.g., a fact); Intentional to refer to that which is represented abstractly, e.g., by a rule of inference;

14 Datalog program analysis and characteristics Subset of Prolog Language ; Set of Horn Clauses (first-order logic program); Tree-based Data Structure; Top-down (left-to-right) depth-first search with backward chaining and backtracking; Unification and dynamic instantiation; Undecidable.

15 Policy Environment Modeling –The underlying Program (e.g., which reviewers have submitted papers –The end-users (such as credentials). –The run-time system also provides information (such as the current time) –The policy framework itself (in role-based access control, for example, policies operate under assignments of users to roles and under hierarchies of permission inheritance among roles). Where does environment’s information come from? This suggests that: –The environment must be a transition system, to model the program’s execution and the passage of time –Each state must consist of an instance of the edb relations referred to by the policy

16 To design a secure system with the help of state machine models: define state set so that it captures “security” check that initial state of the system is ‘secure’ check that all state transitions starting in a “secure” state yield a “secure” state Security is then preserved by all state transitions. The system will always be ‘secure’. State Machine Model

17

18 Modeling the Policy and its Dynamic Environment in One Model

19 One Big Automaton (after step 1) Start has-reviewed (B,P) assigned (Bob,Paper1) has-reviewed (Bob,Paper1) assigned(R,P) phase(S) deny(Alice,read-scores,paper1) read-scores Deny permit(Alice,submit-paper,paper1,phase(submission)) permit(Bob,submit-review,paper1,phase(review)) permit(Bob,read-scores,paper1,phase(meeting)) permit At any point in time, the dynamic environment provides a database of facts. This changing environment is modeled as a FSA where states are defined by facts at different points in time

20 One Big Automaton just for Permission Start has-reviewed (B,P) assigned (Bob,Paper1) has-reviewed (Bob,Paper1) assigned(R,P) phase(S) permit(Alice,submit-paper,paper1,phase(submission)) permit(Bob,submit-review,paper1,phase(review)) permit(Bob,read-scores,paper1,phase(meeting)) permit t1 t2 t3 Time

21 Analyzing and Comparing Policies Two fundamental analyses are: safety (does a policy prohibit users from doing something undesirable) availability (does a policy permit a user to do something that they are allowed to do).

22 Goal Reachability Is there some accessible state in the dynamic access model satisfy some Boolean query (expression) over policy facts? To evaluate the goal at a particular state in a model is to evaluate the associated Boolean query on the database of facts at that state

23 Example: Finding an accessible state satisfying the formula Goal Reachability

24 Checking Contextual Policy Containment Rename the predicates in the two policies so they are disjoint Take the union of the two policies Use model checking to verify the temporal logic sentence The Expensive Way

25 But the notion of accessibility is different depending on whether a rule is considered in isolation or as part of a larger policy ?? Consider each rule as a single policy in its own right Check individual rules are contained in (whole) policies The less Expensive Way This motivates the following refinement of contextual containment

26 Example: Consider when a policy author wants to replace the following rule ρ1 for reviewers’ access to paper reviews with rule ρ2: Semantic ambiguity ?? So, the syntactic analysis is insufficient, in general. Algorithms (12) and (16)

27 Related Works Bell and LaPadula [6] were the first to use state transition systems to model programs guarded by access control policies. They have defined the states of the system in such a way as to embody all the information which considered pertinent to security considerations.

28 Related Works …continue Harrison, Ruzzo and Ullman [18], presented a formal model of access control which has become known as HRU. A state of an HRU system is denoted by a set of objects, some of which are subjects, and a protection matrix giving the current access rights between pairs of subjects and objects. A policy is a set of commands, each parameterized by objects and specifying some possible transformation on the access matrix.

29 Related Works …continue Talel Abdessalem and Imen Ben Dhia [6, bibliography] propose an access control model for online social networks based on connection characteristics between users, in an extended sense that includes indirect connections. This model provides a conditional access to shared resources based on reachability constraints, between the owner and the requester of a piece of information.

30 Related Works …continue Ninghui Li and Mahesh V. [32] proposed to use security analysis techniques to maintain desirable security properties while delegating administrative privileges. They gave a precise definition of a family of security analysis problems in RBAC, which is more general than safety analysis that is studied in the literature. They also show that two classes of problems in the family can be reduced to similar analysis in the RT 0 trust- management language, thereby establishing an interesting relationship between RBAC and the RT (Role-based Trust-management) framework.

31 Conclusions The subtlety in this work arises because of complexities of the policies and their environments. The notions of uniform contextual containment and equivalence defined in this paper are fundamental concepts for a theory of policies. The work in this paper can be used to analyze any situation where the program’s execution is governed by a logical policy. Access-control policies are hard to get right.

32 I have questions… THANK YOU

33 Bibliography 1.G. F. Luger, W. A. Stubblefield., “AI Algorithms, Data Structures, and Idioms in Prolog, Lisp, and Java”, Pearson Education, (2009). 2.K. Ramamohanarao and J. Harland, “An Introduction to Deductive Database Languages and Systems”, VLDB Journal, Vol. 3, , (1994). 3.M. A. Harrison, W. L. Ruzzo, and J. D. Ullman, “Protection in operating systems”, Communications of the ACM, 19(8):461–471, Aug. (1976). 4.Morrie Gasser, “ BUILDING A SECURE COMPUTER SYSTEM”, Van Nostrand Reinhold, (1988). 5.Vincent C. Hu David F. Ferraiolo D. Rick Kuhn, “ Assessment of Access Control Systems”, Interagency Report 7316, NIST, (2006). 6.Talel Abdessalem and Imen Ben Dhia, “Access Control in Social Networks: A reachability- Based Approach”, In ACM Proceedings of the 2012 Joint EDBT/ICDT Workshops, (2012).