Author:
Tiwari Abhishek,Prakash Jyoti,Dong Zhen,Furia Carlo A.
Abstract
AbstractAndroid’s intents provide a form of inter-app communication with implicit, capability-based matching of senders and receivers. Such kind of implicit addressing provides some much-needed flexibility but also increases the risk of introducing information flow security bugs and vulnerabilities—as there is no standard way to specify what permissions are required to access the data sent through intents, so that it is handled properly.To mitigate such risks of intent-based communication, this paper introduces IntentRepair, an automated technique to detect such information flow security leaks and to automatically repair them. IntentRepair first finds sender and receiver modules that may communicate via intents, and such that the sender sends sensitive information that the receiver forwards to a public channel. To prevent this flow, IntentRepair patches the sender so that it also includes information about the permissions needed to access the data; and the receiver so that it will only disclose the sensitive information if it possesses the required permissions.We evaluated a prototype implementation of IntentRepair on 869 Android open-source apps, showing that it is effective in automatically detecting and repairing information flow security bugs that originate in implicit intent-based communication, introducing only a modest overhead in terms of patch size.
Publisher
Springer Nature Switzerland
Reference28 articles.
1. Droidbench: A micro-benchmark suite to assess the stability of taint-analysis tools for android. Github. https://github.com/secure-software-engineering/DroidBench/tree/develop
2. Apktool: A tool for reverse engineering android apk files (2024). https://apktool.org
3. Intent communication in android (2024). https://developer.android.com/reference/android/content/Intent
4. Android platform architecture. https://developer.android.com/guide/platform/. Accessed 15 Jan 2024
5. Arzt, S., et al.: Flowdroid: precise context, flow, field, object-sensitive and lifecycle-aware taint analysis for android apps. In: Proceedings of the 35th ACM SIGPLAN Conference on Programming Language Design and Implementation. PLDI ’14, pp. 259–269. Association for Computing Machinery, New York, NY, USA (2014). https://doi.org/10.1145/2594291.2594299