parallelly-composed policies for various policy con-
texts. These policy-composition semantics must be
preserved, when mapping policy to devices, to ensure
correct deployment. Using an algebraic framework
also makes the policy-mapping process efficient.
We will demonstrate the use of our proposed al-
gebras in deploying security policies on real SCADA
networks. Particularly, we will show it’s value in
maintaining a clear, concise set of firewall configura-
tions. Our approach allows administrators to conduct
“what if” analysis by changing policy and/or network
topology and observe their effect on the network de-
vices required to implement the changes.
2 BACKGROUND AND RELATED
WORK
“The advantages of implicit definition over construc-
tion are roughly those of theft over honest toil.”
Bertrand Russel
The quote is salient because network installa-
tions are commonly built from the bottom-up, i.e., a
network-device is purchased, and configurations writ-
ten. The policy is the result of the configuration,
which is the consequence of a purchasing decision.
So, the policy is implicitly defined as a result of many
small decisions that interact in complex ways. In-
stead, best-practice guides (e.g., Byres et al., 2005)
suggest designing the policy first, and only then de-
termining how to implement it.
Solutions that employ a top-down network config-
uration have been proposed (e.g., Soule et al., 2014;
Anderson et al., 2014; Bartal et al., 2004). They allow
management of a single network-wide policy (i.e.,
source of truth). These policies should be high-level:
i.e., decoupled from network and vendor intricacies,
to capture policy intent and not the implementation.
Capturing intent has several benefits: policy can
be distinguished from network to assist with change
management; accurate comparison of organisational
policies to industry best-practices can be made to
evaluate compliance; and policy semantics can be ex-
pressed without network minutiae like IP addresses.
But, most research towards high-level policy lan-
guages (Bartal et al., 2004; Cisco Systems Inc., 2014;
Soul
´
e et al., 2014), still requires these minutiae to be
specified in-policy, to implement policy on a network.
If the high-level policy definition is built on formal
mathematical constructions, then there are no implicit
properties and it provides a truly sound foundation
for everything that follows. The formalism would al-
low construction of complex and flexible policies and
support reasoning about the policies. For instance,
we could precisely compare a defined policy with in-
dustry best-practices in (Byres et al., 2005) for com-
pliance and reduce network vulnerability to cyber at-
tacks (Ranathunga et al., 2016a).
It is equally important to map policy to devices us-
ing a formal approach. For instance, we can be confi-
dent of the blanket of protection provided for our net-
work if and only if we could prove that an intended
security policy is implemented by the correct set of
network firewalls. Some top-down configuration lan-
guages (Bartal et al., 2004; Prakash et al., 2015; Cisco
Systems Inc., 2014) allow creation of network-wide
high-level policies, but lack means to allocate policy
to network devices in provably correct way.
NetKAT (Anderson et al., 2014) is a SDN pro-
gramming language for specifying and reasoning
about network behaviour. An implementation has
been developed for NetKAT to handle high-level poli-
cies based on virtual network topologies (Smolka
et al., 2015). The implementation uses an extension
of Binary Decision Diagrams to generate OpenFlow
table entries from high-level policy. In another ap-
proach, the SOL framework (Heorhiadi et al., 2016)
uses a path-based abstraction to capture optimisation
requirements of SDN applications. The abstraction
allows definition of valid paths via predicates (e.g.,
those that include a firewall). In contrast to these
works, our aim is to develop an algebraic framework
to map high-level policy to network-devices in both
SDN and traditional networks.
We have proposed (Ranathunga et al., 2016a) a
high-level security policy specification that is network
and vendor independent for top-down configuration
of firewalls. The language semantics allow these poli-
cies to be easily understood by humans. We investi-
gate here, the underlying requirements for mapping
these policies to network devices.
3 ABSTRACT POLICIES
Abstractions are key to constructing high-level poli-
cies. A good policy abstraction should capture the
underlying concepts naturally and concisely. For in-
stance, a policy may be arbitrated using one or more
network devices. A good abstraction should decouple
what is arbitrated from how it is arbitrated.
A simple abstraction that is commonly used to de-
couple policy from the network is (endpoint-group,
edge) (Bartal et al., 2004; Prakash et al., 2015). An
endpoint groups elements with common physical or
logical properties: e.g., a subnet, a user-group, a col-
lection of servers, etc. An edge specifies the rela-
tionship between the endpoints, i.e., it describes what
SECRYPT 2016 - International Conference on Security and Cryptography
198