Visible to the public SandTrap: Tracking Information Flows On Demand with Parallel Permissions

TitleSandTrap: Tracking Information Flows On Demand with Parallel Permissions
Publication TypeConference Paper
Year of Publication2018
AuthorsRazeen, Ali, Lebeck, Alvin R., Liu, David H., Meijer, Alexander, Pistol, Valentin, Cox, Landon P.
Conference NameProceedings of the 16th Annual International Conference on Mobile Systems, Applications, and Services
PublisherACM
Conference LocationNew York, NY, USA
ISBN Number978-1-4503-5720-3
Keywordscoding theory, compositionality, cryptography, dynamic information-flow tracking, Metrics, native code, parallel memory permissions, pubcrawl, resilience, Resiliency, security
Abstract

The most promising way to improve the performance of dynamic information-flow tracking (DIFT) for machine code is to only track instructions when they process tainted data. Unfortunately, prior approaches to on-demand DIFT are a poor match for modern mobile platforms that rely heavily on parallelism to provide good interactivity in the face of computationally intensive tasks like image processing. The main shortcoming of these prior efforts is that they cannot support an arbitrary mix of parallel threads due to the limitations of page protections. In this paper, we identify parallel permissions as a key requirement for multithreaded, on-demand native DIFT, and we describe the design and implementation of a system called SandTrap that embodies this approach. Using our prototype implementation, we demonstrate that SandTrap's native DIFT overhead is proportional to the amount of tainted data that native code processes. For example, in the photo-sharing app Instagram, SandTrap's performance is close to baseline (1x) when the app does not access tainted data. When it does, SandTrap imposes a slowdown comparable to prior DIFT systems (\textasciitilde8x).

URLhttps://dl.acm.org/citation.cfm?doid=3210240.3210321
DOI10.1145/3210240.3210321
Citation Keyrazeen_sandtrap:_2018