One major prerequisite for applying the heuristic
is model instantiation. Here, we have reused existing
tools and methods for extracting both an initial state
space and static policy rules. These methods are de-
scribed in detail in (Amthor, 2016) and include (1) a
file system crawler that extracts protection state infor-
mation from a file system of a virtual machine snap-
shot, (2) a policy scanner, which parses the SELinux
policy specification language and produces a SELX
model implementation, (3) a simulation runtime envi-
ronment (WorSE, cf. (Amthor et al., 2014)) that im-
plements the automaton’s state transition scheme.
We specified our state transition scheme using
SELX basic commands, as described in (Amthor,
2016), which led to a expectable, trivial CDG consist-
ing solely of create and relabel. Composing these ba-
sic commands and taking into account other than only
type-dependencies leads to a more complex graph.
Note that in this specific analysis scenario, inter-
command dependencies are solely type variables –
leading to a runtime-specific CDG, whose dynamic
reanalysis has not been subject of our heuristic yet (as
already pointed out in Sec. 4.2).
Moreover, focusing on rather complex policy se-
mantics as in SELinux emphasizes the impact of mul-
tiple dependency classes: in SELX these are, for ex-
ample, type-, role-, class-, or user-dependency, all
of which must be represented in the CDG. For the
sake of clearly implementing and presenting the al-
gorithmic concepts, we have so far opted for a one-
dimensional solution, taking into account solely type-
dependencies. Since our approach is approximative,
this delivers valid results, yet open to further opti-
mization in terms of fine-grained policy semantics.
Both problems, dynamic CDGs and complex de-
pendencies, indicate the direction of our future re-
search in heuristic safety analysis. The immediate
next step, an experimental, comparative evaluation
of the improvements of f DS++ in terms of heuristic
steps count and heuristic runtime, is subject ongoing
work regarding practical systems analyses.
6 CONCLUSIONS
In this paper, we have presented solutions to three
open problems with heuristic safety analysis: First,
we identified an efficiency-enhanced path generation
scheme for state-space exploration, which prefers
such commands with less dependencies required to be
executed, and derived an edge-weighting scheme for
its implementation. Second, we defined the unsafety-
unsatisfiability property of a state transition scheme
in terms of command reachability (which also means
potential executability). We then specified an algo-
rithm for a static analysis that may identify policies
satisfying this property as safe, eliminating the need
for a heuristic simulation in such cases. Third, a
static support algorithm for model-specific parame-
ter assignment heuristics was described. The idea is
basically identical to that of inter-command depen-
dencies, which is implemented leveraging a constraint
satisfaction problem solver (an arc consistency algo-
rithm was proposed for this).
As a proof of concept, we have presented practi-
cal insights given by an analysis of an SELinux se-
curity policy based on SELX, which pave the way for
current and future research focusing multiple depen-
dency classes in complex policies and dynamic com-
mand dependency graphs.
REFERENCES
Amthor, P. (2015). A Uniform Modeling Pattern for Oper-
ating Systems Access Control Policies with an Appli-
cation to SELinux. In Proc. 12th Int. Conf. on Security
and Cryptography, SECRYPT 2015, pp. 88–99.
Amthor, P. (2016). E-Business and Telecommunications:
12th Int. Joint Conf., ICETE 2015, Colmar, France,
July 20–22, 2015, Revised Selected Papers, chapter
The Entity Labeling Pattern for Modeling Operating
Systems Access Control, pp. 270–292. Springer.
Amthor, P. (2017). Towards a Uniform Framework for
Dynamic Analysis of Access Control Models. In
Proc. 10th International Symposium on Foundations
& Practice of Security, FPS 2017. (under review)
Amthor, P., K
¨
uhnhauser, W. E., and P
¨
olck, A. (2013).
Heuristic Safety Analysis of Access Control Mod-
els. In Proc. 18th ACM Symposium on Access Control
Models and Technologies, SACMAT ’13, pp. 137–
148. ACM.
Amthor, P., K
¨
uhnhauser, W. E., and P
¨
olck, A. (2014).
WorSE: A Workbench for Model-based Security En-
gineering. Computers & Security, 42(0):40–55.
Ferrara, A. L., Madhusudan, P., and Parlato, G. (2013). Pol-
icy Analysis for Self-administrated Role-Based Ac-
cess Control. In Piterman, N. and Smolka, S. A., ed-
itors, Tools and Algorithms for the Construction and
Analysis of Systems, vol. 7795 of LNCS, pp. 432–447.
Springer.
Harrison, M. A., Ruzzo, W. L., and Ullman, J. D. (1976).
Protection in Operating Systems. Communications of
the ACM, 19(8):461–471.
Kleiner, E. and Newcomb, T. (2007). On the Decidabil-
ity of the Safety Problem for Access Control Poli-
cies. Electronic Notes in Theoretical Computer Sci-
ence (ENTCS), 185:107–120.
K
¨
uhnhauser, W. E. and P
¨
olck, A. (2011). Towards Access
Control Model Engineering. In Proc. 7th Int. Conf. on
Information Systems Security, ICISS’11, pp. 379–382.
Efficient Heuristic Safety Analysis of Core-based Security Policies
391