We propose a data-independent technique to recognize disclosure of association
level security objects by XML queries. Results of our analysis can be (1) association
objects are disclosed, (2) association objects are not disclosed, or (3) association objects
may be disclosed. Options 1 and 2 indicate that the query should be rejected or accepted,
respectively. If the third option is reached, data-level analysis is required to evaluate
whether a security violation is present or not.
We present a two-layered association filtering method. First we detect disclosure of
association in a given query-pattern, i.e., information encoded in the XML query itself.
Second, we extend query-pattern with document schema to represent all schema infor-
mation that the query answer would reveal to a user. XML query-patterns are labeled-
trees where node labels may be variables, constants, or the special symbol ’//’(self-
or-descendant axis [8]). We model association security objects with pattern automatas
(Definition 8). A pattern automata takes (extended) query-patterns as input and reaches
an accepting state if and only if the input discloses the security object represented by it.
The main technical contributions of this paper are the development of pattern automatas
for security objects and the notion of extended query-pattern. We present algorithms to
construct query-pattern, pattern automata, and to detect disclosure of security objects.
The organization of the paper is as follows: next section presents an overview of
RXACL architecture and query filtering mechanism. Section 3 introduces formal defin-
itions of basic constructs used in this paper. Section 4 presents algorithms for construct-
ing query-pattern, association pattern automata and to detect association disclosure.
Section 5 introduces the notion of extended query-pattern and presents a schema-level
security analysis of query. We conclude in section 6 and list future work.
2 RDF-based XML Access Control Architecture
Figure 1 shows the RXACL architecture. The architecture contains four main compo-
nents: 1. Query filter 2. Query engine, 3. Data level access control, and 4. User history.
The query filtering component performs schema-level analysis to determine whether
answer to the input query : (1) violates access control policy (violating), (2) does not
violate the access control policy (safe), or (3) requires a data-level security check to de-
tect possible violations (unsafe). The XML query engine is responsible for generating
responses to user’s requests. RXACL uses an existing XML query engine, the devel-
opment of such an engine is outside of the scope of this paper. The data-level access
control component analyzes the query-answer based on the security policy and data
previously released to the user [7]. The history component keeps track of answered
query-patterns and data released to each user.
1
When a data request is submitted to a RXACL system, query filtering component
first checks for disclosure of disallowed association-level security objects in the query
(without utilizing the XML schema information). If a disallowed association-level secu-
rity object is disclosed, the query is immediately rejected. Otherwise, the query-pattern
is extended with schema information and query-patterns of previously answered queries
to the user. Extended query-pattern are now checked for disallowed objects. If no disal-
lowed association-level security object is disclosed in extended query-pattern the query
1
Due to space limitation the handling of the history file is not presented in this manuscript.
137