Visible to the public DroidDisintegrator: Intra-Application Information Flow Control in Android Apps

TitleDroidDisintegrator: Intra-Application Information Flow Control in Android Apps
Publication TypeConference Paper
Year of Publication2016
AuthorsTromer, Eran, Schuster, Roei
Conference NameProceedings of the 11th ACM on Asia Conference on Computer and Communications Security
Conference LocationNew York, NY, USA
ISBN Number978-1-4503-4233-9
KeywordsAndroid permissions, Android security, application analysis, application security, dynamic analysis, Human Behavior, IFC, Information Flow Control, Metrics, mobile security, natural language processing, pubcrawl, Resiliency

In mobile platforms and their app markets, controlling app permissions and preventing abuse of private information are crucial challenges. Information Flow Control (IFC) is a powerful approach for formalizing and answering user concerns such as: "Does this app send my geolocation to the Internet?" Yet despite intensive research efforts, IFC has not been widely adopted in mainstream programming practice. Abstract We observe that the typical structure of Android apps offers an opportunity for a novel and effective application of IFC. In Android, an app consists of a collection of a few dozen "components", each in charge of some high-level functionality. Most components do not require access to most resources. These components are a natural and effective granularity at which to apply IFC (as opposed to the typical process-level or language-level granularity). By assigning different permission labels to each component, and limiting information flow between components, it is possible to express and enforce IFC constraints. Yet nuances of the Android platform, such as its multitude of discretionary (and somewhat arcane) communication channels, raise challenges in defining and enforcing component boundaries. Abstract We build a system, DroidDisintegrator, which demonstrates the viability of component-level IFC for expressing and controlling app behavior. DroidDisintegrator uses dynamic analysis to generate IFC policies for Android apps, repackages apps to embed these policies, and enforces the policies at runtime. We evaluate DroidDisintegrator on dozens of apps.

Citation Keytromer_droiddisintegrator:_2016