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...
Saved in:
Main Authors: | , , , , , , , |
---|---|
Format: | text |
Language: | English |
Published: |
Institutional Knowledge at Singapore Management University
2018
|
Subjects: | |
Online Access: | https://ink.library.smu.edu.sg/sis_research/4849 https://ink.library.smu.edu.sg/context/sis_research/article/5852/viewcontent/towards_model___PV.pdf |
Tags: |
Add Tag
No Tags, Be the first to tag this record!
|
Institution: | Singapore Management University |
Language: | English |
id |
sg-smu-ink.sis_research-5852 |
---|---|
record_format |
dspace |
spelling |
sg-smu-ink.sis_research-58522020-01-23T07:21:36Z Towards model checking Android applications BAI, Guangdong YE, Quanqi WU, Yongzheng BOTHA, Heila SUN, Jun LIU, Yang DONG, Jin Song VISSER, Willem 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. 2018-06-01T07:00:00Z text application/pdf https://ink.library.smu.edu.sg/sis_research/4849 info:doi/10.1109/TSE.2017.2697848 https://ink.library.smu.edu.sg/context/sis_research/article/5852/viewcontent/towards_model___PV.pdf http://creativecommons.org/licenses/by-nc-nd/4.0/ Research Collection School Of Computing and Information Systems eng Institutional Knowledge at Singapore Management University Software Engineering |
institution |
Singapore Management University |
building |
SMU Libraries |
continent |
Asia |
country |
Singapore Singapore |
content_provider |
SMU Libraries |
collection |
InK@SMU |
language |
English |
topic |
Software Engineering |
spellingShingle |
Software Engineering 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. |
format |
text |
author |
BAI, Guangdong YE, Quanqi WU, Yongzheng BOTHA, Heila SUN, Jun LIU, Yang DONG, Jin Song VISSER, Willem |
author_facet |
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 |
publisher |
Institutional Knowledge at Singapore Management University |
publishDate |
2018 |
url |
https://ink.library.smu.edu.sg/sis_research/4849 https://ink.library.smu.edu.sg/context/sis_research/article/5852/viewcontent/towards_model___PV.pdf |
_version_ |
1770575062658711552 |