CPP-reviews
author Christian Urban <christian dot urban at kcl dot ac dot uk>
Fri, 06 Sep 2013 13:27:46 +0100
changeset 14 d43f46423298
child 15 baa2970a9687
permissions -rw-r--r--
added reviews from CPP

From VM Fri Sep  6 13:27:30 2013
X-VM-v5-Data: ([nil nil nil nil t nil nil nil nil]
	["8896" "Monday" "26" "August" "2013" "16:57:55" "+0200" "CPP 2013" "cpp2013@easychair.org" nil "98" "CPP 2013 notification for paper 42" "^From:" nil nil "8" nil nil nil nil nil nil nil nil nil nil]
	nil)
Return-Path: <cpp2013@easychair.org>
Delivered-To: unknown
Received: from mailbroy.in.tum.de (131.159.46.88:995) by
  Christians-MacBook-Air-2.local with POP3-SSL; 26 Aug 2013 16:26:47 -0000
X-Original-To: urbanc@mailbroy.informatik.tu-muenchen.de
Delivered-To: urbanc@mailbroy.informatik.tu-muenchen.de
Received: from localhost (scan46 [10.46.146.16])
	by mail46.informatik.tu-muenchen.de (Postfix) with ESMTP id 9A063885ECCEA
	for <urbanc@mailbroy.informatik.tu-muenchen.de>; Mon, 26 Aug 2013 16:58:08 +0200 (CEST)
X-Virus-Scanned: amavisd-new at informatik.tu-muenchen.de
X-Spam-MTA-Flag: NO
X-Spam-MTA-Status: No, score=0.0 required=5.0 tests=none autolearn=unavailable
	version=3.3.2
X-Spam-MTA-Level: 
X-Spam-MTA-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on scan46
Received: from mail46.informatik.tu-muenchen.de ([10.46.146.15])
	by localhost (mail46.informatik.tu-muenchen.de [10.46.146.16]) (amavisd-new, port 10024)
	with ESMTP id i--Dvm4t7vwc
	for <urbanc@mailbroy.informatik.tu-muenchen.de>;
	Mon, 26 Aug 2013 16:58:03 +0200 (CEST)
Received: from mailrelay1.informatik.tu-muenchen.de (mailrelay1.informatik.tu-muenchen.de [131.159.254.14])
	by mail46.informatik.tu-muenchen.de (Postfix) with ESMTP id 119618133D93D
	for <urbanc@mailbroy.informatik.tu-muenchen.de>; Mon, 26 Aug 2013 16:58:03 +0200 (CEST)
Received: by mailrelay1.informatik.tu-muenchen.de (Postfix)
	id E3FAA27E4D; Mon, 26 Aug 2013 16:58:02 +0200 (CEST)
Delivered-To: christian.urban@informatik.tu-muenchen.de
Received: from mailrelay1.informatik.tu-muenchen.de (localhost [127.0.0.1])
	by mailrelay1.informatik.tu-muenchen.de (Postfix) with ESMTP id CD21927E49
	for <urbanc@in.tum.de>; Mon, 26 Aug 2013 16:58:02 +0200 (CEST)
Received: from maildmz2.informatik.tu-muenchen.de (maildmz2.informatik.tu-muenchen.de [131.159.0.15])
	by mailrelay1.informatik.tu-muenchen.de (Postfix) with ESMTP id C41B127E48
	for <urbanc@in.tum.de>; Mon, 26 Aug 2013 16:58:02 +0200 (CEST)
Received: by maildmz2.informatik.tu-muenchen.de (Postfix, from userid 1506)
	id BF13F4C7BD; Mon, 26 Aug 2013 16:58:02 +0200 (CEST)
X-Spam-Checker-Version: SpamAssassin 3.2.5-tuminfo_1 (2008-06-10) on maildmz2
X-Spam-Level: 
X-Spam-Status: No, score=-2.6 required=7.0 tests=AWL,BAYES_00 autolearn=ham
	version=3.2.5-tuminfo_1
Received: from maildmz2.informatik.tu-muenchen.de (localhost [127.0.0.1])
	by maildmz2.informatik.tu-muenchen.de (Postfix) with ESMTP id 07430491BD
	for <urbanc@in.tum.de>; Mon, 26 Aug 2013 16:57:54 +0200 (CEST)
Received: from easychair.org (easychair.org [80.241.208.147])
	by maildmz2.informatik.tu-muenchen.de (Postfix) with ESMTP id E7286491BC
	for <urbanc@in.tum.de>; Mon, 26 Aug 2013 16:57:53 +0200 (CEST)
Received: from localhost.localdomain (m1647.giga-dns.com [80.241.208.147])
	by easychair.org (8.14.5/8.14.5) with ESMTP id r7QEvt6V020904
	for <urbanc@in.tum.de>; Mon, 26 Aug 2013 16:57:55 +0200
Message-Id: <201308261457.r7QEvt6V020904@easychair.org>
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
Content-Type: text/plain; charset="UTF-8"
MIME-Version: 1.0
X-Mailer: MIME::Lite 3.029 (F2.82; T1.38; A2.12; B3.13; Q3.13)
From: CPP 2013 <cpp2013@easychair.org>
To: Christian Urban <urbanc@in.tum.de>
Subject: CPP 2013 notification for paper 42
Date: Mon, 26 Aug 2013 16:57:55 +0200

Dear Christian Urban,

   We are happy to inform you that you paper 42,
      A Formal Model and Correctness Proof for an Access Control Policy Framework
has been accepted for presentation at the third edition of the
International Conference on Certified Programs and Proofs.
   Enclosed are the reviews for your paper. Please pay close attention to
the comments of the reviewers in preparing the final version of your paper,
which will be due on Monday September 16, 2013.

   Kind regards,
Georges Gonthier
Michael Norrish
   CPP 13 program chairs


----------------------- REVIEW 1 ---------------------
PAPER: 42
TITLE: A Formal Model and Correctness Proof for an Access Control Policy Framework
AUTHORS: Chunhan Wu, Xingyuan Zhang and Christian Urban

OVERALL EVALUATION: 0 (borderline paper)
REVIEWER'S CONFIDENCE: 4 (high)

----------- REVIEW -----------
This paper presents a formalisation of the Role-Compatibility access control model (RC-Model), which is similar to the Domain-Type Enforcement (DTE) model of SELinux, in Isabelle/HOL. The model is formalised with respect to an abstract operating system model with operations such as CreateFile, CloneProcess, WriteFile etc. Execution is modelled as sequences / traces of such events. Meaning is given to RC-Model policies by restricting the allowable traces of events to those permitted by the policy.

Policies are further given meaning in terms of a notion of "taintedness" introduced by the authors. An initial set of /seeds/ are initially tainted; taint spreads out through the system (for instance from a process p to a file f when p writes to f etc.) as execution proceeds.

Since the possible state space (sequences of allowed events) is infinite, the authors then devise a static, finite check to determine whether a particular entity can become tainted. This check effectively builds an abstraction (tainted^s) of the system in which all newly-created objects are aggregated together (which makes it finite), but records precise information regarding the taintedness of initial objects (which makes it precise for those objects).

The authors prove that their static check is both sound and complete (for undeletable objects).


The development appears technically sound. However, the ideas are fairly well understood from e.g. Paulson's work on the inductive model of security protocols, and from work devising finite, safe abstractions of access control systems, where the idea of aggregation for newly-created objects to produce finite, safe abstractions of systems is well applied.

I would also argue that some of the claims in the motivation could be made more precise or backed-up with better evidence. For instance, the claim in the opening sentence -- which OSes exactly use RBAC? SELinux uses DTE which seems simpler than the RC-Model, but the authors never cite the DTE papers when mentioning SELinux. I assume that the similarity between DTE and RC-Model is the basis for the claim that the RC-Model is used to secure "Apache servers". This should be made clear.

In general, I would suggest citing the SELinux papers, especially on the Domain-Type Enforcement model -- you certainly have space. Broader treatment of related work (e.g. on finite abstractions of dynamic access control systems by aggregation -- see e.g. Fred Spiessens' work on SCOLLAR) could also be accommodated in page limit I think.

One other point is that the "tainted" notion seems to be presented mostly in terms of tracking the effects of a brek-in (see last paragraph of Section 4). However, it seems like it could equally well be used to reason about confidentiality in the absence of covert channels. This might deserve some discussion.

Overall the work is solid, but isn't huge on novelty. Hence, my score of Borderline.

Minor comments:

- Drop the word "randomly" in quotes from page 5. new process IDs need only be unique, no?
- Explain more explicitly that states are sequences of events; that paths are stored in reverse-order.
- consider putting the "tained" relation into its own subsection, as this is new material over and above the straight RC-Model, right?
- On second-to-last line of page 10, drop "anchor of"


----------------------- REVIEW 2 ---------------------
PAPER: 42
TITLE: A Formal Model and Correctness Proof for an Access Control Policy Framework
AUTHORS: Chunhan Wu, Xingyuan Zhang and Christian Urban

OVERALL EVALUATION: 2 (accept)
REVIEWER'S CONFIDENCE: 4 (high)

----------- REVIEW -----------
This paper presents a formalization and correctness proof for the an access control policy framework called the Role-Compatibility Model. The paper introduces the dynamic semantics of a system controlled by an RC-model policy. It then develops a static check which is capable of determining all possible effects of a given RC-model policy on an initial system configuration. Finally, the paper proves the correctness of this check with respect to the dynamic semantics.

In part, the paper is a case study of formalizing a recently introduced semi-formal system. However, the authors go beyond this by introducing a dynamic semantics which allows them to establish the correctness of the model they formalize. The contributions are interesting and relevant. I recommend the paper be accepted.


----------------------- REVIEW 3 ---------------------
PAPER: 42
TITLE: A Formal Model and Correctness Proof for an Access Control Policy Framework
AUTHORS: Chunhan Wu, Xingyuan Zhang and Christian Urban

OVERALL EVALUATION: -1 (weak reject)
REVIEWER'S CONFIDENCE: 4 (high)

----------- REVIEW -----------
The paper formalizes the Role-Compatibility (RC) model of [4,5]. It defines its dynamic semantics, a notion of "taintability" (roughly the ability to influence a resource), and a more abstract semantics that is sound and complete for tainting. Both semantics consider only static, declarative policies, rather than e.g. actual executables and file contents. 

I am a bit surprised by the choice of RC as a starting point, inasmuch as there is a vast literature on RBAC, including more widely deployed systems, and papers using SMTs to check whether a policy excludes bad traces. Also, tainting is an important property, but many others are meant to be enforced by RBAC policies.

The paper is well written, but its theorem is not very surprising, as the three main new definitions are closely aligned. Arguably, policies being complete is too much to hope for with real RBAC systems. Also, there is not much discussion of the formalization effort itself. 

Related work: "Gran: Model Checking Grsecurity RBAC Policies" at CSF 2012 explores similar issues with policies (but does not provide formal proofs); in particular it defines a property similar to tainting, develops an abstraction for dynamic taintability, and report issues with role inheritance rules.


----------------------- REVIEW 4 ---------------------
PAPER: 42
TITLE: A Formal Model and Correctness Proof for an Access Control Policy Framework
AUTHORS: Chunhan Wu, Xingyuan Zhang and Christian Urban

OVERALL EVALUATION: 2 (accept)
REVIEWER'S CONFIDENCE: 3 (medium)

----------- REVIEW -----------
This is an appealing formalisation paper about an area with which I am not very familiar.  The background explanations are clear though, so I felt I was getting a good picture of what had been done, and its significance.  In essence, the paper describes an access-control formalism  due to Ott called the Role-Compatibility Model, develops an "obvious" mechanisation of that model, and then describes a nice decision procedure (original to this paper?) for checking the possible effects of corruption or tainting.  If one's security policy has been well-designed, then the d.p. will tell one that various forms of compromise can or can't affect permanent/important parts of the system.  So, for example, a compromised user account may well spread "compromise" or "taint" over a large proportion of the system (everything that user can touch), but should not be able to affect permanent files/resources owned by root (the contents of the /usr/bin directory, say).

I hesitate to rank the paper more strongly because of my own lack of confidence, but this seems like a strong contribution.  The formalisation of the RC model is elegantly done, but is perhaps fairly obvious given Paulson's well-known approach of characterising all possible system traces with an inductive relation.  However, adding to that contribution by inventing a finite abstraction of a system's dynamic behaviour, thereby creating a verified decision procedure for access control policy correctness, seems like something that certainly deserves to be published at CPP.

My only request for change would be for the authors to make it clearer whether or not their d.p. is original to them, and the degree of contribution they think it represents to the security community.