Inferring Required Permissions for Statically Composed Programs

Tero Hasu, Anya Helene Bagge and Magne Haveraaen

Citation:

Tero Hasu, Anya Helene Bagge and Magne Haveraaen. Inferring Required Permissions for Statically Composed Programs. In Hanne Riis Nielson and Dieter Gollmann, editor(s), Proceedings of the 18th Nordic Conference on Secure IT Systems (NordSec'13), volume 8208 of LNCS, pages 51—66. Springer, 2013.

Conference:

18th Nordic Conference on Secure IT Systems (NordSec'13), Ilulissat, Greenland, 2013, proceedings pp.51—66

Paper Links:

[doi] [pdf]

Abstract:

Permission-based security models are common in smartphone operating systems. Such models implement access control for sensitive APIs, introducing an additional concern for application developers. It is important for the correct set of permissions to be declared for an application, as too small a set is likely to result in runtime errors, whereas too large a set may needlessly worry users. Unfortunately, not all platform vendors provide tools support to assist in determining the set of permissions that an application requires.

We present a language-based solution for permission management. It entails the specification of permission information within a collection of source code, and allows for the inference of permission requirements for a chosen program composition. Our implementation is based on Magnolia, a programming language demonstrating characteristics that are favorable for this use case. A language with a suitable component system supports permission management also in a cross-platform codebase, allowing abstraction over different platform-specific implementations and concrete permission requirements. When the language also requires any “wiring” of components to be known at compile time, and otherwise makes design tradeoffs that favor ease of static analysis, then accurate inference of permission requirements becomes possible.

Related Software:

Anyxporter – Sample Application

BibTeX:

@InProceedings{hasu-bagge-haveraaen-nordsec13-permissions,
  title = {Inferring Required Permissions for Statically Composed Programs},
  author = {Hasu, Tero and Bagge, Anya Helene and Haveraaen, Magne},
  year = {2013},
  booktitle = {Proceedings of the 18th Nordic Conference on Secure IT Systems (NordSec'13)},
  editor = {Hanne Riis Nielson and Dieter Gollmann},
  series = {LNCS},
  volume = {8208},
  pages = {51---66},
  publisher = {Springer},
  doi = {10.1007/978-3-642-41488-6_4},
  isbn = {978-3-642-41488-6},
  location = {Ilulissat, Greenland},
  url = {http://www.ii.uib.no/~anya/papers/hasu-bagge-haveraaen-nordsec13-permissions.html},
  pdf = {http://www.ii.uib.no/~anya/papers/hasu-bagge-haveraaen-nordsec13-permissions.pdf},
}