Analyzing inter-application communication in Android
read more
Citations
JN-SAF: Precise and Efficient NDK/JNI-aware Inter-language Static Analysis Framework for Security Vetting of Android Applications with Native Code
Hare Hunting in the Wild Android: A Study on the Threat of Hanging Attribute References
ThinAV: truly lightweight mobile cloud-based anti-malware
The Next Generation Cognitive Security Operations Center: Network Flow Forensics Using Cybersecurity Intelligence
The Next Generation Cognitive Security Operations Center: Adaptive Analytic Lambda Architecture for Efficient Defense against Adversarial Attacks
References
TaintDroid: An Information-Flow Tracking System for Realtime Privacy Monitoring on Smartphones
TaintDroid: an information-flow tracking system for realtime privacy monitoring on smartphones
On lightweight mobile phone application certification
A study of android application security
Firewalls and Internet Security: Repelling the Wily Hacker
Related Papers (5)
Frequently Asked Questions (11)
Q2. What type of analysis does ComDroid perform?
ComDroid specifically performs flowsensitive, intraprocedural static analysis, augmented with limited interprocedural analysis that follows method invocations to a depth of one method call.
Q3. What is the way to limit a component’s exposure to a set of trusted?
Requiring Signature or SignatureOrSystem permissions is an effective way of limiting a component’s exposure to a set of trusted applications.
Q4. Why do the authors treat Activities and their aliases as separate components?
The authors treat Activities and their aliases as separate components for the purpose of their analysis because an alias’s fields can increase the exposure surface of the component.
Q5. How can a receiver be dynamically created and registered?
Receivers can also be dynamically created and registered by calling registerReceiver(BroadcastReceiver receiver, IntentFilter filter).
Q6. What is the role of the Broadcast Intent in application exposure?
Their results indicate that Broadcast- and Activity- related Intents (both sending to and receiving from) play a large role in application exposure.
Q7. How does Android determine which Intents should be delivered to an exported component?
Android determines which Intents should be delivered to an exported component by matching each Intent’s fields to the component’s declaration.
Q8. What is the reason why iOS developers are unlikely to accidentally expose functionality?
iOS developers are unlikely to accidentally expose functionality because schemes are only used for public interfaces; different types of messages are used for internal communication.
Q9. What are the common bugs that are not also vulnerabilities?
Of the 181 warnings, the authors discovered 20 definite vulnerabilities, 14 spoofing vulnerabilities, and 16 common, unintentional bugs (that are not also vulnerabilities).
Q10. What is the way to make a component more secure?
To make components more secure, developers should avoid exporting components unless the component is specifically designed to handle requests from other applications.
Q11. How does a developer send an explicit Intent?
A developer sends an explicit Intent by specifying a recipient component name; the Intent is then delivered to the component with that name.