Towards model checking android applications

As feature-rich Android applications (apps for short) are increasingly popularized in security-sensitive scenarios, methods to verify their security properties are highly desirable. Existing approaches on verifying Android apps often have limited effectiveness. For instance, static analysis often su...

Full description

Saved in:
Bibliographic Details
Main Authors: Bai, Guangdong, Ye, Quanqi, Wu, Yongzheng, Botha, Heila, Sun, Jun, Liu, Yang, Dong, Jin Song, Visser, Willem
Other Authors: School of Computer Science and Engineering
Format: Article
Language:English
Published: 2020
Subjects:
Online Access:https://hdl.handle.net/10356/141484
Tags: Add Tag
No Tags, Be the first to tag this record!
Institution: Nanyang Technological University
Language: English
id sg-ntu-dr.10356-141484
record_format dspace
spelling sg-ntu-dr.10356-1414842020-06-08T16:05:06Z Towards model checking android applications Bai, Guangdong Ye, Quanqi Wu, Yongzheng Botha, Heila Sun, Jun Liu, Yang Dong, Jin Song Visser, Willem School of Computer Science and Engineering Engineering::Computer science and engineering Software Model Checking Security Verification As feature-rich Android applications (apps for short) are increasingly popularized in security-sensitive scenarios, methods to verify their security properties are highly desirable. Existing approaches on verifying Android apps often have limited effectiveness. For instance, static analysis often suffers from a high false-positive rate, whereas approaches based on dynamic testing are limited in coverage. In this work, we propose an alternative approach, which is to apply the software model checking technique to verify Android apps. We have built a general framework named DroidPF upon Java PathFinder (JPF), towards model checking Android apps. In the framework, we craft an executable mock-up Android OS which enables JPF to dynamically explore the concrete state spaces of the tested apps; we construct programs to generate user interaction and environmental input so as to drive the dynamic execution of the apps; and we introduce Android specific reduction techniques to help alleviate the state space explosion. DroidPF focuses on common security vulnerabilities in Android apps including sensitive data leakage involving a non-trivial flow- and context-sensitive taint-style analysis. DroidPF has been evaluated with 131 apps, which include real-world apps, third-party libraries, malware samples and benchmarks for evaluating app analysis techniques like ours. DroidPF precisely identifies nearly all of the previously known security issues and nine previously unreported vulnerabilities/bugs. NRF (Natl Research Foundation, S’pore) 2020-06-08T16:05:06Z 2020-06-08T16:05:06Z 2018 Journal Article Bai, G., Ye, Q., Wu, Y., Botha, H., Sun, J., Liu, Y., . . ., Visser, W. (2018). Towards model checking android applications. IEEE Transactions on Software Engineering, 44(6), 595 - 612. doi:10.1109/TSE.2017.2697848 0098-5589 https://hdl.handle.net/10356/141484 10.1109/TSE.2017.2697848 2-s2.0-85048698844 6 44 595 612 en IEEE Transactions on Software Engineering © 2018 IEEE. All rights reserved.
institution Nanyang Technological University
building NTU Library
country Singapore
collection DR-NTU
language English
topic Engineering::Computer science and engineering
Software Model Checking
Security Verification
spellingShingle Engineering::Computer science and engineering
Software Model Checking
Security Verification
Bai, Guangdong
Ye, Quanqi
Wu, Yongzheng
Botha, Heila
Sun, Jun
Liu, Yang
Dong, Jin Song
Visser, Willem
Towards model checking android applications
description As feature-rich Android applications (apps for short) are increasingly popularized in security-sensitive scenarios, methods to verify their security properties are highly desirable. Existing approaches on verifying Android apps often have limited effectiveness. For instance, static analysis often suffers from a high false-positive rate, whereas approaches based on dynamic testing are limited in coverage. In this work, we propose an alternative approach, which is to apply the software model checking technique to verify Android apps. We have built a general framework named DroidPF upon Java PathFinder (JPF), towards model checking Android apps. In the framework, we craft an executable mock-up Android OS which enables JPF to dynamically explore the concrete state spaces of the tested apps; we construct programs to generate user interaction and environmental input so as to drive the dynamic execution of the apps; and we introduce Android specific reduction techniques to help alleviate the state space explosion. DroidPF focuses on common security vulnerabilities in Android apps including sensitive data leakage involving a non-trivial flow- and context-sensitive taint-style analysis. DroidPF has been evaluated with 131 apps, which include real-world apps, third-party libraries, malware samples and benchmarks for evaluating app analysis techniques like ours. DroidPF precisely identifies nearly all of the previously known security issues and nine previously unreported vulnerabilities/bugs.
author2 School of Computer Science and Engineering
author_facet School of Computer Science and Engineering
Bai, Guangdong
Ye, Quanqi
Wu, Yongzheng
Botha, Heila
Sun, Jun
Liu, Yang
Dong, Jin Song
Visser, Willem
format Article
author Bai, Guangdong
Ye, Quanqi
Wu, Yongzheng
Botha, Heila
Sun, Jun
Liu, Yang
Dong, Jin Song
Visser, Willem
author_sort Bai, Guangdong
title Towards model checking android applications
title_short Towards model checking android applications
title_full Towards model checking android applications
title_fullStr Towards model checking android applications
title_full_unstemmed Towards model checking android applications
title_sort towards model checking android applications
publishDate 2020
url https://hdl.handle.net/10356/141484
_version_ 1681057624418680832