8 CONCLUSIONS
The untrusted applications installed on Android sys-
tem can provoke the leakage of private data by ex-
ploiting control flows at native level. In this paper,
we have proposed a hybrid approach that propagates
taint along control dependencies in native librairies.
We use static analysis to detect branches in the condi-
tional structure and we complete with dynamic anal-
ysis to taint variables that depend on sensitive condi-
tion. Our approach is considered a complete work be-
cause it ensures tracking information flows (explicit
and control flows) at Java and native levels in the
Google Android operating system. It is a new ap-
proach for protecting private data from being leaked
through control flows in native libraries. We eval-
uate our work through third party Android applica-
tions and we show that our approach detects effec-
tively leakages of sensitive information by exploiting
control flows in native librairies with reasonable per-
formance overheads.
REFERENCES
Aho, A. V., Sethi, R., and Ullman, J. D. (1986). Com-
pilers: principles, techniques, and tools. Addison-
Wesley Longman Publishing Co., Inc., Boston, MA,
USA.
Allen, F. E. (1970). Control flow analysis. ACM Sigplan
Notices, 5(7):1–19.
Arzt, S., Rasthofer, S., Fritz, C., Bodden, E., Bartel, A.,
Klein, J., Le Traon, Y., Octeau, D., and McDaniel, P.
(2014). Flowdroid: Precise context, flow, field, object-
sensitive and lifecycle-aware taint analysis for android
apps. ACM SIGPLAN Notices, 49(6).
Bench (2011). Cf-bench. http://bench.chainfire.eu/.
Blasing, T., Batyuk, L., Schmidt, A.-D., Camtepe, S. A.,
and Albayrak, S. (2010). An android application sand-
box system for suspicious software detection. In Ma-
licious and unwanted software (MALWARE), 2010 5th
international conference on, pages 55–62. IEEE.
Brown, J. and Knight Jr, T. (2001). A minimal trusted com-
puting base for dynamically ensuring secure informa-
tion flow. Project Aries TM-015 (November 2001).
Burguera, I., Zurutuza, U., and Nadjm-Tehrani, S. (2011).
Crowdroid: behavior-based malware detection system
for android. In Proceedings of the 1st ACM workshop
on Security and privacy in smartphones and mobile
devices, pages 15–26. ACM.
Cavallaro, L., Saxena, P., and Sekar, R. (2008). On the lim-
its of information flow techniques for malware anal-
ysis and containment. In Detection of Intrusions and
Malware, and Vulnerability Assessment, pages 143–
163. Springer.
Chin, E., Felt, A. P., Greenwood, K., and Wagner, D.
(2011). Analyzing inter-application communication in
android. In Proceedings of the 9th international con-
ference on Mobile systems, applications, and services,
pages 239–252. ACM.
Clause, J., Li, W., and Orso, A. (2007). Dytan: a generic
dynamic taint analysis framework. In Proceedings of
the 2007 international symposium on Software testing
and analysis, pages 196–206. ACM.
Denning, D. (1975). Secure information flow in computer
systems. PhD thesis, Purdue University.
Egele, M., Kruegel, C., Kirda, E., Yin, H., and Song, D.
(2007). Dynamic spyware analysis. In Usenix Annual
Technical Conference.
Enck, W., Gilbert, P., Chun, B., Cox, L., Jung, J., McDaniel,
P., and Sheth, A. (2010). Taintdroid: An information-
flow tracking system for realtime privacy monitoring
on smartphones. In Proceedings of the 9th USENIX
conference on Operating systems design and imple-
mentation, pages 1–6. USENIX Association.
Enck, W., Octeau, D., McDaniel, P., and Chaudhuri, S.
(2011). A study of android application security. In
USENIX security symposium.
Fedler, R., Kulicke, M., and Sch
¨
utte, J. (2013). Native code
execution control for attack mitigation on android. In
Proceedings of the Third ACM workshop on Security
and privacy in smartphones & mobile devices, pages
15–20. ACM.
Fenton, J. (1974). Memoryless subsystem. Computer Jour-
nal, 17(2):143–147.
Fuchs, A. P., Chaudhuri, A., and Foster, J. S. (2009). Scan-
droid: Automated security certification of android ap-
plications. Manuscript, Univ. of Maryland.
Google (2015). dex2jar. http://code.google.com/p/dex2jar/.
Graa, M., Cuppens-Boulahia, N., Cuppens, F., and Cav-
alli, A. (2012). Detecting control flow in smar-
phones: combining static and dynamic analyses. In
Proceedings of the 4th international conference on
Cyberspace Safety and Security, pages 33–47, Berlin,
Heidelberg. Springer-Verlag.
Graa, M., Cuppens-Boulahia, N., Cuppens, F., and Cavalli,
A. (2013). Formal characterization of illegal control
flow in android system. In Proceedings of the 9th In-
ternational Conference on Signal Image Technology
& Internet Systems. IEEE.
Graa, M., Cuppens-Boulahia, N., Cuppens, F., and Cavalli,
A. (2014). Detection of illegal control flow in android
system: Protecting private data used by smartphone
apps. In Foundations and Practice of Security, pages
337–346. Springer.
Grace, M., Zhou, Y., Zhang, Q., Zou, S., and Jiang, X.
(2012). Riskranker: scalable and accurate zero-day
android malware detection. In Proceedings of the 10th
international conference on Mobile systems, applica-
tions, and services, pages 281–294. ACM.
Hornyack, P., Han, S., Jung, J., Schechter, S., and Wether-
all, D. (2011). These aren’t the droids you’re looking
for: retrofitting android to protect data from imperi-
ous applications. In Proceedings of the 18th ACM
conference on Computer and communications secu-
rity, pages 639–652. ACM.
Java (2015). Java decompiler. http://jd.benow.ca/.
Kang, M., McCamant, S., Poosankam, P., and Song, D.
(2011). Dta++: Dynamic taint analysis with targeted
control-flow propagation. In Proc. of the 18th Annual
Network and Distributed System Security Symp. San
Diego, CA.
Nair, S., Simpson, P., Crispo, B., and Tanenbaum, A.
(2008). A virtual machine based information flow
Tracking Explicit and Control Flows in Java and Native Android Apps Code
315