ESORICS-Reviews
changeset 12 fb962189e921
equal deleted inserted replaced
11:31d3d2b3f6b0 12:fb962189e921
       
     1 
       
     2 Dear Christian
       
     3 
       
     4 We regret to inform you that your submission to ESORICS 2013, "A Formal Model and Correctness Proof for an Access Control Policy Framework", has not been accepted.  The conference was extremely competitive this year, with 43 papers out of 242 being accepted, an acceptance rate of around 18%%.
       
     5 
       
     6 The reviews for your paper are appended to this email.  We hope you find them useful in preparing subsequent versions of your submission.
       
     7 
       
     8 Best wishes
       
     9 
       
    10 
       
    11 Jason Crampton & Sushil Jajodia
       
    12 Programme Co-chairs
       
    13 
       
    14 
       
    15 ----------------------- REVIEW 1 ---------------------
       
    16 PAPER: 184
       
    17 TITLE: A Formal Model and Correctness Proof for an Access Control Policy Framework
       
    18 AUTHORS: Chunhan Wu, Xingyuan Zhang and Christian Urban
       
    19 
       
    20 
       
    21 ----------- REVIEW -----------
       
    22 The paper presents a formalization of the (dynamic) model of the
       
    23 Role-Compatibility (RC) model, in the interactive prover Isabelle, for
       
    24 the authorization of core operations in an operating system.  The
       
    25 authors use the inductive approach, introduced by Paulson, for
       
    26 cryptographic protocols.  The formalization of the model takes into
       
    27 account the dynamic behavior of the operation of an operating system.
       
    28 There are two groups of rules: admissible, formalizing the conditions
       
    29 under which operating system actions can be executed, and granted,
       
    30 formalizing the authorization requirements.  The authors develop a
       
    31 static check for taintable objects.  It is claimed that the rules can
       
    32 be easly adapted to the access control model of SELinux.  
       
    33 
       
    34 The English of the paper is good.  I have found few typos:
       
    35 
       
    36 - page 4, line -8: deletion Of IPCs --> deletion of IPCs
       
    37 - page 5, line 17: these function --> these functions
       
    38 - page 6, line 15: the way how the --> the way the
       
    39 - page 7, line 5: for the the role --> for the role
       
    40 - page 9, line 10: For example staring --> For example starting
       
    41 - page 10, line -6: unique process IDs --> unique process ID
       
    42 - page 12, line -6: process in tainted --> process is tainted
       
    43 - page 14, line -13: provisio --> proviso
       
    44 
       
    45 The formalisation seems to be reasonable although I would have liked
       
    46 an appendix to the paper in which the formalization is reported fully.
       
    47 
       
    48 The static check for taintable objects of the operating system seems
       
    49 to be useful and its (limited) scope of applicability is honestly
       
    50 discussed.
       
    51 
       
    52 The effort of taking into account te dynamic of the system, not only
       
    53 the authorization policies, is intersting and important to develop
       
    54 more precise security analysis techniques.  However, the authors
       
    55 should give a better idea of what kind of properties the proposed
       
    56 check can verify.  For example, can they perform information flow
       
    57 analysis?  
       
    58 
       
    59 My main concern with the paper is the lack of examples on which the
       
    60 various rules are shown and that the static check is not applied to a
       
    61 (possibly realistic) scenario to show its usefulness.  The advantages
       
    62 of the proposed check are only argued abstractly.  It is thus
       
    63 difficult to understand the degree of automation with which the static
       
    64 check can be carried out.  I know that Isabelle offers a high degree
       
    65 of automation to various proof attempts but the paper does not offer
       
    66 hints about this crucial aspect.  If the static check is not fully
       
    67 automated, then the usefulness of the formal model is greatly
       
    68 decreased.  
       
    69 
       
    70 For this reason, I suggest to consider the paper as borderline.  
       
    71 
       
    72 I have also the following comments on some aspects of the paper:
       
    73 
       
    74 - in Section 3, the notion of state is not precisely characterized.
       
    75   One can derive that there is a given notion of initial state and
       
    76   that the other state can be derived by applying to the initial state
       
    77   a (finite) sequence of actions of the operating system, but I was
       
    78   not able to find a place where this is explictly formalized.  
       
    79 
       
    80 - at the end of page 5, the definition of new_proc seems to be
       
    81   unnecessarely restrictive.  The thing that needs to be formalized
       
    82   here is the fact that the function returns a distinct identifier
       
    83   w.r.t. the existing identifiers in a state.  Taking the max of the
       
    84   identifiers (naturals) and adding one is indeed a way to ensure this
       
    85   but it is certanly not the only way.  An alterantive, more general,
       
    86   formalization is to assume the existence of an infinite set of
       
    87   identifiers, taking out all the identifiers in the actual state, and
       
    88   then pick any of the remaining identifiers.  This admits as an
       
    89   implementation the proposed definition of new_proc but also many
       
    90   others.  This seems to be important in the light of the remark at
       
    91   page 14, immediately after the statement of Theorem 2, saying that
       
    92   "we have no control over which process ID a process will be assigned
       
    93   with."  This does not seem to hold with the proposed definition of
       
    94   new_proc.  It does hold with the alternative definition above.
       
    95 
       
    96 - at the end of page 7, the notion of seeds are introduced but the
       
    97   reader is left with wondering how these are identified.  This is
       
    98   unswered only very late in the paper.  I suggest the authors to give
       
    99   some hints about this issue already here and mention that it is
       
   100   further discussed later in the paper.
       
   101 
       
   102 - at page 9, towards the end of Section 3, it is discussed that the
       
   103   restriction to the (so-called) undeletable objects of the proposed
       
   104   static check is needed to avoid to consider infinitely many objects
       
   105   and that this is crucial to make the check effective.  I am not sure
       
   106   to have understood exactly what the authors really mean.  One may
       
   107   (automatically) reason about infinitely many objects by using
       
   108   suitable constraints.  It may well be the case that it is possible
       
   109   to find (finitary) symbolic representations for states containing
       
   110   finitely many objects (but whose exact number is unknown).  This is
       
   111   standard, e.g., in the infinite state model checking of parametric
       
   112   systems.  The authors may have a look at the following seminal paper
       
   113   to have an idea of what can be done for the verification of systems
       
   114   with infinite state spaces:
       
   115 
       
   116   @article{AbdullaTCS,
       
   117     author = {P. A. Abdulla and B. Jonsson},
       
   118     title = {Model Checking of Systems with Many Identical Timed Processes},   
       
   119     journal = {Theoretical Computer Science},
       
   120     vol = {290 (1)}, 
       
   121     pages = {241--264},
       
   122     year = 2003,
       
   123   }
       
   124 
       
   125   I believe that this point should be clarified by the authors to put
       
   126   their verification technique in the right relationship with others.
       
   127 
       
   128   A similar observation can be done for the following sentence at the
       
   129   end of page 10: "otherwise exploring all possible "reachable"
       
   130   objects can lead to the potential infinity like in the dynamic
       
   131   model."  Indeed, there can be several sources of infinity in a
       
   132   problem that, as shown for example by the paper by Adbulla and
       
   133   Jonsson paper above, can be tamed and an exhaustive reachability
       
   134   analysis can be done.
       
   135 
       
   136 
       
   137 ----------------------- REVIEW 2 ---------------------
       
   138 PAPER: 184
       
   139 TITLE: A Formal Model and Correctness Proof for an Access Control Policy Framework
       
   140 AUTHORS: Chunhan Wu, Xingyuan Zhang and Christian Urban
       
   141 
       
   142 
       
   143 ----------- REVIEW -----------
       
   144 This work presents a specification of the role-compatibility (RC) model in the
       
   145 Isabelle theorem prover. RC is a role-based access control model created for use
       
   146 in Rule Set Based Access Control (RSBAC), an access control kernel module that
       
   147 provides implementations of mandatory, role-based, and access control-list
       
   148 models of access control for Linux. The model is to be used to detect the spread
       
   149 of "taintable" resources. The initial state of the system is assumed to contain
       
   150 some "seeds" (tainted files), which may then spread through the system. The
       
   151 static check, then, is whether a particular resource (e.g., the root of the
       
   152 filesystem) is taintable. The tainted^s relation
       
   153 (a static formulation of the taintable relation) is defined and proven to be
       
   154 sound and complete with respect to the work's notion of taintable.
       
   155 
       
   156 The authors claim that their approach is more accurate than policy analysis,
       
   157 since it takes into account additional details of the operating system, such as
       
   158 the processes that are started. This allows their approach to avoid the
       
   159 "over-approximations" of policy analysis (e.g., when a process assuming a
       
   160 particular role could cause a violation, but such a process is never created).
       
   161 These added details, however, seem at times to be based more on the authors'
       
   162 intuition than any particular implementation. For example:
       
   163 - A newly created process is assigned the ID: $\Max(current_ids) + 1$. Linux
       
   164   (where RC is currently implemented) uses $next_id++ % MAX_ID$ [unless taken]
       
   165   (i.e., it maintains a counter which is incremented when an ID is assigned, so
       
   166   cloning and terminating repeatedly still increases the counter rather than
       
   167   creating the same ID every time).
       
   168 - The set of users is assumed to be fixed (not a requirement in RSBAC or Linux).
       
   169 
       
   170 Thus, the model is more all-encompassing than some approaches to policy analysis
       
   171 due to modeling these details at all, but it falls short of verifying any
       
   172 particular implementation since these details are not justified. The work is
       
   173 poorly positioned among related work, as the authors seem unaware of the huge
       
   174 body of work on various techniques in access control static analysis [e.g.,
       
   175 1--3], especially work that also models the system at the process level [3].
       
   176 
       
   177 The methods for specifying the model are not claimed to be novel, and are a
       
   178 somewhat straightforward and unsurprising application of Paulson's inductive
       
   179 method. The authors say their approach can be easily applied to other access
       
   180 control models, but this seems more as a result of the approach being obvious
       
   181 than of it being particularly reusable. Furthermore, the authors do not
       
   182 demonstrate how a practical analysis would be carried out using this model;
       
   183 instead, they briefly discuss the way they they imagine it being used and the
       
   184 (uncited) reasons they believe the model's assumptions (only checking
       
   185 undeletable files for taintedness, the existence of a set of known "seed" files
       
   186 that are tainted in the initial state) are not too restrictive for it to be
       
   187 usable in practice.
       
   188 
       
   189 The work's main claimed contribution is the formalization of RC in Isabelle. The
       
   190 specification the authors present does not use novel techniques that can be
       
   191 reapplied elsewhere and is not shown to have a practical advantage over existing
       
   192 analysis techniques for role-based access control models. We question,
       
   193 therefore, whether this formalization alone is a sufficient contribution to
       
   194 warrant acceptance to a top venue such as ESORICS.
       
   195 
       
   196 [1] Mikhail I. Gofman, Ruiqi Luo, Ayla C. Solomon, Yingbin Zhang, Ping Yang,
       
   197 Scott D. Stoller: RBAC-PAT: A Policy Analysis Tool for Role Based Access
       
   198 Control. TACAS 2009:46--49.
       
   199 
       
   200 [2] Scott D. Stoller, Ping Yang, C. R. Ramakrishnan, Mikhail I. Gofman:
       
   201 Efficient policy analysis for administrative role based access control. ACM
       
   202 Conference on Computer and Communications Security 2007:445--455.
       
   203 
       
   204 [3] Arosha K. Bandara, Emil Lupu, Alessandra Russo: Using Event Calculus to
       
   205 Formalise Policy Specification and Analysis. POLICY 2003.
       
   206 
       
   207 
       
   208 ----------------------- REVIEW 3 ---------------------
       
   209 PAPER: 184
       
   210 TITLE: A Formal Model and Correctness Proof for an Access Control Policy Framework
       
   211 AUTHORS: Chunhan Wu, Xingyuan Zhang and Christian Urban
       
   212 
       
   213 
       
   214 ----------- REVIEW -----------
       
   215 This paper focuses on the previously published framework, Role-Compatibility Model (RC-model). Their static analysis discovers semantic inconsistencies of RC-model. In particular, they indicate InheritParentRole of RC-model. Their approach seems reasonable but this work is to determine the correctness of RC-model. Instead, it would be interesting if they analyze NIST RBAC model with their approach. Since RC-model itself is not formally designed, it is hard to judge how novel their analysis work is. In addition, they claim access control policy framework is formulated  but it is hard to determine how their examples are related to role-based access control policies. The authors need to use generic RBAC-centric examples if their goal is to show their approach can be adapted for other RBAC models. 
       
   216 
       
   217 Even though they briefly address their experiments in the conclusion, it is questionable how the formulated model can support real-world RBAC policies due to the lack of details on their experiment and proofs.  Also, the references should be improved including logic-based reasoning of access control policies. Here are several papers that the authors need to consider: 
       
   218 
       
   219 Elisa Bertino, Barbara Catania, Elena Ferrari, and Paolo Perlasca. A logical framework for reasoning about access control models. ACM Trans. Inf. Syst. Secur, 6:71–127, 2003.
       
   220 
       
   221 J. Bryans. Reasoning about XACML policies using CSP. In Proceedings of the 2005 workshop on Secure web services, page 35. ACM, 2005.
       
   222 
       
   223 K. Fisler, S. Krishnamurthi, L.A. Meyerovich, and M.C. Tschantz. Verification and changeimpact analysis of access control policies. In Proceedings of the 27th international conference on Software engineering, pages 196–205. ACM New York, NY, USA, 2005.
       
   224 
       
   225 V. Kolovski, J. Hendler, and B. Parsia. Analyzing web access control policies. In Proceedings of the 16th international conference on World Wide Web, page 686. ACM, 2007.
       
   226 
       
   227 Joseph Y. Halpern and Vicky Weissman. Using first-order logic to reason about policies. ACM Trans. Inf. Syst. Secur., 11(4), 2008.
       
   228 
       
   229 Prathima Rao, Dan Lin, Elisa Bertino, Ninghui Li, Jorge Lobo: EXAM: An Environment for Access Control Policy Analysis and Management. POLICY 2008: 238-240
       
   230 
       
   231 Alessandro Armando, Enrico Giunchiglia, and Serena Elisa Ponta. Formal specification and automatic analysis of business processes under authorization constraints: an action-based approach. In Proceedings of the 6th International Conference on Trust, Privacy and Security in Digital Business (TrustBus’09), 2009.
       
   232 
       
   233 G. Ahn, Hongxin Hu, Joohyung Lee, and Yunsong Meng. Reasoning about XACML policy descriptions in answer set programming (preliminary report). In Proceedings of International Workshop on Nonmonotonic Reasoning (NMR), 2010.
       
   234 
       
   235 G. Ahn, Hongxin Hu, Joohyung Lee, and Yunsong Meng. Representing and reasoning about web access control policies. In Proc. 34th Annual IEEE Computer Software and Applications Conference (COMPSAC 2010), pages 137–146, 2010.