Computer Laboratory

CloudSafetyNet - CamFlow

"CloudSafetyNet: End-to-end application security in the cloud will explore the use of Information Flow Control to achieve greater security in cloud computing."

EPSRC grant EP/K011510/1: January 2013 - June 2016
with Imperial College EP/K008129/1, see:

Continued Collaboration and Project Work after the EPSRC grant

Thomas Pasquier, RA and PhD student on the grant, moved to Harvard as a postdoc after the grant ended. His open source software, CamFlow will be used at Harvard for work on provenance there, available at

Part II Project, 2016

Prof. Jean Bacon (jmb25) will supervise a project on CamFlow in Cambridge, assisted by Dr Thomas Pasquier at Harvard US (still available via tfjmp2), Dr David Eyers at Otago University New Zealand (still available via dme26) and Dr Jatinder Singh (js573) in Cambridge. Jean is away until 6th September 2016 but in intermittent email contact while away. Anyone interested can in the meantime look at the papers on Information Flow Control (IFC) in opera/publications and install CamFlow on their laptop, see

The aim of the project is to demonstrate how IFC can be used in practice - how labels comprising sets of tags representing security and integrity properties of entities (data, processes, ...) can be associated with the entities as metadata. The specific project can be flexible, depending on interest. One idea is to audit all data flows for an example program running on CamFlow and visualise the audit as a graph.

The rest of this page is the description of the work under the EPSRC grant.

Overview from our EPSRC Proposal

Cloud computing promises to revolutionise how companies, research institutions and government organisations, including the National Health Service (NHS), offer applications and services to users in the digital economy. By consolidating many services as part of a shared ICT infrastructure operated by cloud providers, cloud computing can reduce management costs, shorten the deployment cycle of new services and improve energy efficiency. For example, the UK government's G-Cloud initiative aims to create a cloud ecosystem that will enable government organisations to deploy new applications rapidly, and to share and reuse existing services. Citizens will benefit from increased access to services, while public-sector ICT costs will be reduced.

Security considerations, however, are a major issue holding back the widespread adoption of cloud computing: many organisations are concerned about the confidentiality and integrity of their users' data when hosted in third-party public clouds. Today's cloud providers struggle to give strong security guarantees that user data belonging to cloud tenants will be protected "end-to-end", i.e. across the entire workflow of a complex cloud-hosted distributed application. This is a challenging problem because data protection policies associated with applications usually require the strict isolation of certain data while permitting the sharing of other data. As an example, consider a local council with two applications on the G-Cloud: one for calculating unemployment benefits and one for receiving parking ticket fines, with both applications relying on a shared electoral roll database. How can the local council guarantee that data related to unemployment benefits will never be exposed to the parking fine application, even though both applications share a database and the cloud platform?

The focus of the CloudSafetNet project is to rethink fundamentally how platform-as-a-service (PaaS) clouds should handle security requirements of applications. The overall goal is to provide the CloudSafetyNet middleware, a novel PaaS platform that acts as a "safety net", protecting against security violations caused by implementation flaws in applications ("intra-tenant security") or vulnerabilities in the cloud platform itself ("inter-tenant security"). CloudSafetyNet follows a "data-centric" security model: the integrity and confidentiality of application data is protected according to data flow policies -- agreements between cloud tenants and the provider specifying the permitted and prohibited exchanges of data between application components. It will enforce data flow policies through multiple levels of security mechanisms following a "defence-in-depth" strategy: based on policies, it creates "data compartments" that contain one or more components and isolate user data. A small privileged kernel, which is part of the middleware and constitutes a trusted computing base (TCB), tracks the flow of data between compartments and prevents flows that would violate policies. Previously such Information Flow Control (IFC) models have been used successfully to enhance programming language, operating system and web application security.

Progress to June 2015

Our first experiment (FlowR) was to enforce IFC for Ruby using AOP via the Aquarium library. We decided that IFC is best provided at the OS kernel level in the cloud. As proof of concept, FlowK used system call interception to enforce IFC. To achieve better performance, a Linux Security Module was then developed as part of the CamFlow distributed IFC enforcement. Both FlowK and CamFlow have been integrated with our SBUS middleware to create an IFC-enabled, fully featured messaging middleware.

A strength of IFC is to demonstrate compliance via audit. Work is in progress to integrate audit, taking advantage of existing work on graph databases and queries.

We have worked on Cloud Law with our colleagues at QMUL on the MCCRC project (Microsoft Cloud Computing Research Centre). See opera publications for work on how IFC can be used to enforce law and regulation within and between clouds.

Presentations on CamFlow

Here Jean-CCSNA.pptx
is a keynote, "Information Flow Control for Cloud and Internet of Things" given by Jean Bacon at the ICC workshop on Cloud Computing Systems, Networks, and Applications, June 12th 2015. It explains the motivation for IFC and animates the basic IFC manipulations, including declassification and endoresement, for a home monitoring example. The presentation was also given at the Technical University of Darmstadt, July 7th 2015.

Here is a 3 minute video by Thomas Pasquier for the EPSRC 2015 ICT Challenge.

Publications (giving an overview of the work to date:)

Publications for CSN and our related previous grant SmartFlow can be found under opera publications
The papers are available there.

Recent publications on CSN are:
"Information Flow Control for Secure Cloud Computing"
Jean Bacon, David Eyers, Thomas F. J.-M. Pasquier, Jatinder Singh, Ioannis Papagiannis, and Peter Pietzuch
IEEE TNSM, Transactions on Networks and Service Management, special issue on Cloud Services, March 2014.
This paper discusses the potential for IFC in cloud service provision and application deployment. Related work is described, including our own under SmartFlow. We look at IFC provision in languages, libraries and systems. For the cloud, we consider IFC at application level only, provided independently of the cloud and within the levels of the cloud software stack.

"FlowR: Aspect Oriented Programming for Information Flow Control in Ruby"
Thomas F. J.-M. Pasquier, Jean Bacon and Brian Shand
ACM Modularity 2014
The paper shows how IFC can be added, using Aspect Oriented programming, as a language library to Ruby using the AOP library Aquarium. This achieves IFC without the need to change the application (IFC can be added as a separate phase, by a security specialist), or the underlying implementation, e.g. in a cloud deployment. Assumptions are that the application developer is benevolent and the cloud deployment can be trusted.

"FlowK: Information Flow Control for the Cloud"
Thomas F. J.-M. Pasquier, Jean Bacon, and David Eyers
In 6th International Conference on Cloud Computing Technology and Science (CloudCom). IEEE, Dec 2014.
We argue that IFC provision at the OS/middleware level of PaaS and SaaS clouds is most appropriate. FlowK is a proof-of-concept implementation of IFC as an importable kernel module for Linux. To show the kernel module working with applications, a web service framework has been adapted to run using IFC above FlowK. The FlowK design minimises the reengineering required by applications to run with IFC, unlike other IFC implementations. Application managers need to be IFC-aware, application instances need not.

"Integrating Messaging Middleware and Information Flow Control"
Jatinder Singh, Thomas F. J.-M. Pasquier, Jean Bacon, and David Eyers
IEEE IC2E (Cloud Engineering), March 9th - 12th, 2015.
This paper reports on work to make our SBUS middleware IFC-enabled and to integrate it with FlowK.

Other accepted publications and one archived awaiting very late reviews are: (see opera pubications for details and pdfs.)
"Information Flow Control for Strong Protection with Flexible Sharing in PaaS"
"Securing Information Flows for the Internet of Things"
"Managing Big Data with Information Flow Control"
"Expressing and Enforcing Location Requirements using IFC"
"Twenty Security Considerations for Cloud-Supported Internet of Things"
"CamFlow: Managed Data-Sharing for Cloud Services"


  • Jean Bacon, Cambridge PI
  • Jatinder Singh, Cambridge postdoc RA
  • Thomas Pasquier, Cambridge RA
  • Ronny (Hajoon) Koh, Cambridge PhD
  • Peter Pietzuch, Imperial PI
  • Dan O'Keeffe, Imperial postdoc RA
  • Divya Muthukumaran, Imperial postdoc RA
  • David Eyers, Visiting Research Fellow, Otago University, New Zealand
  • Brian Shand, CL VRF and English Cancer Registry, Public Health, England