A typical modern application stack involves a large number of untrusted, subsidiary third-party services, even for security critical information flows. A graphical user interface, for instance, has a large attack surface involving devices, networks, operating systems, and a range of middleware, most of which is essentially untrustworthy and beyond user scrutiny. To address this problem, reducing the attack surface is essential.
The TrustFull project aims to show that formal techniques can be used in combination with intelligent static and dynamic program manipulation techniques at scale to reduce attack surfaces and significantly strengthen systems defensive capabilities. The work plan focuses on application protection, fault containment and repair, developing the fundamental tools for modelling and analysis as needed. A secure GUI stack is developed as the main demonstration platform used to instantiate two concrete demonstrators, an e-wallet and a secure e-voting client.