Title | Collaborative verification of information flow for a high-assurance app store |
Publication Type | Conference Paper |
Year of Publication | 2014 |
Authors | Ernst MD, Just R, Millstein S, Dietl W, Pernsteiner S, Roesner F, Koscher K, Barros P, Bhoraskar R, Han S, Vines P, Wu EX |
Conference Name | CCS 2014: Proceedings of the 21st ACM Conference on Computer and Communications Security |
Pagination | 1092–1104 |
Date or Month Published | November |
Conference Location | Scottsdale, AZ, USA |
Abstract | Current app stores distribute some malware to unsuspecting users, even though the app approval process may be costly and time-consuming. High-integrity app stores must provide stronger guarantees that their apps are not malicious. We propose a verification model for use in such app stores to guarantee that the apps are free of malicious information flows. In our model, the software vendor and the app store auditor collaborate –- each does tasks that are easy for her/him, reducing overall verification cost. The software vendor provides a behavioral specification of information flow (at a finer granularity than used by current app stores) and source code annotated with information-flow type qualifiers. A flow-sensitive, context-sensitive information-flow type system checks the information flow type qualifiers in the source code and proves that only information flows in the specification can occur at run time. The app store auditor uses the vendor-provided source code to manually verify declassifications. \par We have implemented the information-flow type system for Android apps written in Java, and we evaluated both its effectiveness at detecting information-flow violations and its usability in practice. In an adversarial Red Team evaluation, we analyzed 72 apps (576,000 LOC) for malware. The 57 Trojans among these had been written specifically to defeat a malware analysis such as ours. Nonetheless, our information-flow addition to the adversarial evaluation, we evaluated the practicality of using the collaborative model. The programmer annotation burden is low: 6 annotations per 100 LOC\@. Every sound analysis requires a human to review potential false alarms, and in our experiments, this took 30 minutes per 1,000 LOC for an auditor unfamiliar with the app. |
Downloads | https://types.cs.washington.edu/sparta/ SPARTA toolset and experimental data
https://homes.cs.washington.edu/~mernst/pubs/infoflow-ccs2014.pdf PDF
https://homes.cs.washington.edu/~mernst/pubs/infoflow-ccs2014-slides.pdf slides (PDF)
|
Citation Key | ErnstJMDPRKBBHVW2014 |