Automatic XACML requests generation for policy testing

Slides:



Advertisements
Similar presentations
Trust and Security for Next Generation Grids, Implementing UCON with XACML for Grid Services Bruno Crispo Vrije Universiteit Amsterdam.
Advertisements

Access control for geospatial information objects using/extending the eXtensible Access Control Markup Language Andreas Matheus, Technische Universität.
An Evaluation of MC/DC Coverage for Pair-wise Test Cases By David Anderson Software Testing Research Group (STRG)
1 Authorization XACML – a language for expressing policies and rules.
Towards Self-Testing in Autonomic Computing Systems Tariq M. King, Djuradj Babich, Jonatan Alava, and Peter J. Clarke Software Testing Research Group Florida.
1 On the Limitations of Finite State Models as Sources of Tests for Access Control and Authentication Aditya Mathur Professor of Computer Science Purdue.
Abhinn Kothari, 2009CS10172 Parth Jaiswal 2009CS10205 Group: 3 Supervisor : Huzur Saran.
Asap:// jury-rigged. ClientPEP PDP PolicySet Rule 1 Rule 2 etc Rule 1 Rule 2 etc Rule 1 Rule 2 etc Policy 1 Policy 2 Policy 3.
Authz work in GGF David Chadwick
Banker’s Algorithm Implementation in CPN Tools Michal Žarnay Department of Transportation Networks University of Žilina, Slovakia.
Domain Testing Based on Character String Predicate Ruilian Zhao Computer Science Dept. Beijing University of Chemical Technology Michael R. Lyu Computer.
Chapter 5: Memory Management Dhamdhere: Operating Systems— A Concept-Based Approach Slide No: 1 Copyright ©2005 Memory Management Chapter 5.
XACML By Ganesh Godavari Craig Peltier. Information Sharing Information Sharing relates to the sharing of information between two or more entities. Entities.
State coverage: an empirical analysis based on a user study Dries Vanoverberghe, Emma Eyckmans, and Frank Piessens.
Presenter: Miguel Garzon Torres CrUise Lab - SITE SQL Coverage Measurement for Testing Database Applications María José Suárez-Cabal University of Oviedo.
Audumbar. Access control and privacy Who can access what, under what conditions, and for what purpose.
XACML Gyanasekaran Radhakrishnan. Raviteja Kadiyam.
1 © Talend 2014 XACML Authorization Training Slides 2014 Jan Bernhardt Zsolt Beothy-Elo
● Problem statement ● Proposed solution ● Proposed product ● Product Features ● Web Service ● Delegation ● Revocation ● Report Generation ● XACML 3.0.
Introduction to Software Testing Chapter 5.2 Program-based Grammars Paul Ammann & Jeff Offutt
Genetic Algorithm.
An efficient distributed protocol for collective decision- making in combinatorial domains CMSS Feb , 2012 Minyi Li Intelligent Agent Technology.
Differentiated Access to Virtual Resources in Cloud Environments M. Fazio and A. Puliafito Euro-TM Workshop.
Information flow-based Risk Assessment in Access Control Systems
Regression Testing. 2  So far  Unit testing  System testing  Test coverage  All of these are about the first round of testing  Testing is performed.
Secure Systems Research Group - FAU Using patterns to compare web services standards E. Fernandez and N. Delessy.
Simulation of OAuth Message Sequence and Authorization Decisions
Department of CS and Mathematics, University of Pitesti State-based Testing is Functional Testing ! Florentin Ipate, Raluca Lefticaru University of Pitesti,
© 2014 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license.
Testing Testing Techniques to Design Tests. Testing:Example Problem: Find a mode and its frequency given an ordered list (array) of with one or more integer.
Test Drivers and Stubs More Unit Testing Test Drivers and Stubs CEN 5076 Class 11 – 11/14.
Introduction to Software Testing Chapter 5.1 Syntax-based Testing Paul Ammann & Jeff Offutt
11 Usage policies for end point access control  XACML is Oasis standard to express enterprise security policies with a common XML based policy language.
Hybrid Transformation Modeling Integrating a Declarative with an Imperative Model Transformation Language Pieter Van Gorp
SAML in Authorization Policies draft-guenther-geopriv-saml-policy-00.
Com1040 Systems Design and Testing Part II – Testing (Based on A.J. Cowling’s lecture notes) LN-Test4: Category-Partition Method Marian Gheorghe ©University.
1 Tutorial 14 Validating Documents with Schemas Exploring the XML Schema Vocabulary.
Extensible Access Control Framework for Cloud Applications KTH-SEECS Applied Information Security Lab SEECS NUST Implementation Perspective.
1 UP MBT Extending the Unified Process with Model-Based Testing Fabrice Bouquet, Stéphane Debricon, Bruno Legeard and Jean-Daniel Nicolet MoDeV 2 a 2006.
Proposal for RBAC Features for SDD James Falkner Sun Microsystems October 11, 2006.
Model Checking Grid Policies JeeHyun Hwang, Mine Altunay, Tao Xie, Vincent Hu Presenter: tanya levshina International Symposium on Grid Computing (ISGC.
Computer Science Conformance Checking of Access Control Policies Specified in XACML Vincent C. Hu (National Institute of Standards and Technology) Evan.
Access Control Policy Tool (ACPT) Ensure the safety and flexibility in composing access control policies Current features: Allows policy authors to conveniently.
Computer Science 1 Detection of Multiple-Duty-Related Security Leakage in Access Control Policies JeeHyun Hwang 1, Tao Xie 1, and Vincent Hu 2 North Carolina.
Computer Science 1 Test Selection and Augmentation of Regression System Tests for Security Policy Evolution JeeHyun Hwang, Tao Xie, and collaborators at.
Towards Interoperability Test Generation of Time Dependent Protocols: a Case Study Zhiliang Wang, Jianping Wu, Xia Yin Department of Computer Science Tsinghua.
WERST – Methodology Group
1 Access Control Policies: Modeling and Validation Luigi Logrippo & Mahdi Mankai Université du Québec en Outaouais.
Introducing WI Proposal about Authorization Architecture and Policy Group Name: WG4 Source: Wei Zhou, Datang, Meeting Date: Agenda Item:
Old Dominion University1 eXtensible Access Control Markup Language [OASIS Standard] Kailash Bhoopalam Java and XML.
Preliminary Background Tabu Search Genetic Algorithm.
Feature Selction for SVMs J. Weston et al., NIPS 2000 오장민 (2000/01/04) Second reference : Mark A. Holl, Correlation-based Feature Selection for Machine.
Dynamic Testing.
Mutation Testing Breaking the application to test it.
August 2, 2005IETF63 EAP WG AAA-Key Derivation with Lower-Layer Parameter Binding (draft-ohba-eap-aaakey-binding-01.txt) Yoshihiro Ohba (Toshiba) Mayumi.
1 Ontology based Policy Interoperability Dr. Latifur Khan Tahseen Al-Khateeb Mohammad Alam Mohammad Farhan Husain.
Artificial Intelligence By Mr. Ejaz CIIT Sahiwal Evolutionary Computation.
Access Control Policy Languages in XML Lê Anh Vũ Võ Thành Vinh
Authorization PDP GE Course (R4) FIWARE Chapter: Security FIWARE GE: Authorization PDP FIWARE GEri: AuthZForce Authorization PDP Owner: Cyril Dangerville,
Mutation Testing Laraib Zahid & Mariam Arshad. What is Mutation Testing?  Fault-based Testing: directed towards “typical” faults that could occur in.
OGSA Attributes: Requirements, Definitions, and SAML Profile Abstract This document specifies elements and vocabulary for expressing attribute assertions.
Software Testing. SE, Testing, Hans van Vliet, © Nasty question  Suppose you are being asked to lead the team to test the software that controls.
Introduction to Software Testing (2nd edition) Chapter 5 Criteria-Based Test Design Paul Ammann & Jeff Offutt
Laurea Triennale in Informatica – Corso di Ingegneria del Software I – A.A. 2006/2007 Andrea Polini XVIII. Software Testing.
Introduction to Software Testing Chapter 5.1 Syntax-based Testing
Introduction to Software Testing Chapter 5.2 Program-based Grammars
Test Case Purification for Improving Fault Localization
Aiman H. El-Maleh Sadiq M. Sait Syed Z. Shazli
Introduction to Software Testing Chapter 5.1 Syntax-based Testing
Access Control What’s New?
Presentation transcript:

Automatic XACML requests generation for policy testing Antonia Bertolino, Said Daoudagh, Francesca Lonetti, Eda Marchetti Istituto di Scienza e Tecnologie dell’Informazione “A. Faedo” Consiglio Nazionale delle Ricerche

Agenda Access control policies and XACML language Why a testing methodology? An empirical evaluation Conclusions and future works X-CREATE Demo

Access Control Policies Data and resources must be protected against unauthorized, malicious or improper usage or modification Policies specification Data Resources - -

Testing the Policy Implementation Policies SUT verdict request PDP request request request Test Suite reply Oracle PDP (Policy Decision Point): evaluates the requests against the access control policies

XACML Policy Structure XACML (eXtensible Access Control Markup Language) The XACML Policy elements: PolicySet Policy Target Subjects Resources Actions Environments Rules Esample of Policy <Policy> <Target> <Subject>Mario Rossi</Subject> <Resource>personal id</Resource> <Action>read</Action> </Target> </Policy> Example of request <Request> </Request>

X-CREATE Testing Framework XaCml REquests derivAtion for TEsting Implements several testing strategy: Preliminary XPT (XML Partition Testing) Incremental XPT Simple Combinatorial Hierarchical Simple Hierarchical Incremental Instantiated Request Policies specification Request structure

Preliminary XPT Main Idea Deriving once and for all a universally valid generic test suite of conforming requests by applying: A variant of the Category Partition methodology The Boundary Conditions methodology Request structure XACML Context Schema Conforming test suite

E.G. Fixing ∞ to 3 X X {1,2,3} {1,2,3}

An Example Example of request structure <Request> <Subject> </Subject> <Resource> </Resource> <Action> </Action> </Request> Issue: The maximum number of structurally different intermediate requests is of 310 * 21 = 118098

118098!!!! Too Much!!! Testing objectives: New methodology for request structures generation (Incremental XPT) New stopping criterion for test requests execution New specific test strategy satisfying the stopping criterion (Simple Combinatorial)

Incremental XPT 36 = 729 request stuctures: one value for the <AttributeValue> zero to minOccurs and maxOccurs of the ResourceContent element and those of the contained <Any> element because not used in test values generation

Filling request structures with values Take values from the policy under test for elements and attributes. SubjectSet ResourceSet ActionSet EnvironmentSet An entity is a combination of 4 values taken from these sets (n-wise approach is used)

Toy Example <Policy> <Target> <Subject>Mario Rossi</Subject> <Resource>personal id</Resource> <Action>read</Action> </Target> </Policy> AttributeId Data Type Attribute Value SubjectSet Subjectid string Mario Rossi ResourceSet Resourceid personal id ActionSet Actionid read EnvironmentSet

Complete Table For robustness and negative testing random values for elements and attributes are added AttributeId Data Type Attribute Value SubjectSet Subjectid string Mario Rossi S1 s2 ResourceSet Resourceid personal id R1 r2 ActionSet Actionid read A1 a2 EnvironmentSet E1 e2

How many entities? Avoiding duplication derive all combinations of subject entities, resource entities, action entities and environment entities by applying: the pair-wise combination (PW) the three-wise combination (TW) apply the four-wise combination (FW) Note: The number of combinations is limited and strictly depends on the policy considered

Examples <Subject>s2</Subject> Example of request <Subject>Mario Rossi</Subject> <Subject>s2</Subject> <Resource>p2</Resource> <Action>read</Action> <Enviroment>e2</Enviroment> </Request> Example of request <Request> <Subject>Mario Rossi</Subject> <Resource>personal id</Resource> <Action>read</Action> </Request> Example of request <Request> <Subject>s2</Subject> <Resource>personal id</Resource> <Action>a2</Action> </Request>

Simple Combinatorial Idea: derive as many requests as the possible combinations of the values of the subjects, resources, actions and environment of the XACML policy. The number of combinations could be also be used as a stopping criterion for the test case generation in XPT

Incremental XPT vs. Simple Combinatorial Research questions: 1st Match TSEff: adopting the proposed stopping criterion, is the fault detection of the Simple Combinatorial strategy similar to that of the Incremental XPT one? 2nd MatchTSDecr: is it possible to reduce the test suites maintaining the same level of fault detection? 3rd MatchTSIncr: is it possible to increase the Incremental XPT fault detection?

Rules of comparison Evaluation of the test strategies effectiveness: Define a set of XACML policies Apply mutation to each policy to introduce faults Execute each set of test cases on the policy and its mutants Establish the winner according in each match

XPT v.s. Simple Combinatorial Simple cobinatorial Incremental XPT XPT v.s. Simple Combinatorial 1st Match TSEff: The same number of requests for each policy the effectiveness of the Incremental XPT is generally higher than that of the Simple Combinatorial strategy In two cases the fault detection of the Simple Combinatorial is higher than that of Incremental XPT

Deep Analysis Incremental XPT is the winner when the access decision of the policy rules depends concurrently on the values of more than one subject or resource or action or environment entity Simple Combinatorial is the winner when the policies are very simple and the satisfiability of the policy rules depends on the combinations of a single subject, resource, action and environment entity

2nd Match TSDecr: from the first request ahead till we reached the maximum reachable percentage of fault detection Simple Combinatorial is the winner Note: For XPT usually the maximum reachable percentage is reached with almost half of the available requests =>the stopping criterion is a good upper bound

XPT v.s. Simple Combinatorial 3rd Match TSIncr: the loss in the fault detection effectiveness due to the stopping criterion Execute the full pull of available requests percentage of mutants killed could be increased a lot Calculate the minimum # requests for the maximum fault detection effectiveness in most of the cases the loss of fault detection effectiveness is around 15%.

Preliminary Conclusions and Future Works A good fault detection percentage of the Incremental XPT testing strategy due to the variability of the structures of the generated requests It is possible to reduce the number of requests The high variability of the Incremental XPT strategy can limit its performance when policies are very simple Homework: Generalize the results Consider further mutation operators Conceive new test strategy generating requests containing all the possible combinations of more than one subject, resource, action and environment entity.

Thank you!