Award Abstract # 1815336
SaTC: CORE: Small: Enabling Systematic Evaluation of the Soundness of Android Security Analysis Techniques

NSF Org: CNS
Division Of Computer and Network Systems
Recipient: COLLEGE OF WILLIAM AND MARY
Initial Amendment Date: August 30, 2018
Latest Amendment Date: August 30, 2018
Award Number: 1815336
Award Instrument: Standard Grant
Program Manager: Sol Greenspan
CNS
 Division Of Computer and Network Systems
CSE
 Directorate for Computer and Information Science and Engineering
Start Date: September 1, 2018
End Date: August 31, 2023 (Estimated)
Total Intended Award Amount: $500,000.00
Total Awarded Amount to Date: $500,000.00
Funds Obligated to Date: FY 2018 = $500,000.00
History of Investigator:
  • Adwait Nadkarni (Principal Investigator)
    apnadkarni@wm.edu
  • Denys Poshyvanyk (Co-Principal Investigator)
Recipient Sponsored Research Office: College of William and Mary
1314 S MOUNT VERNON AVE
WILLIAMSBURG
VA  US  23185
(757)221-3965
Sponsor Congressional District: 01
Primary Place of Performance: College of William and Mary
251 Jamestown Rd
Williamsburg
VA  US  23187-8795
Primary Place of Performance
Congressional District:
01
Unique Entity Identifier (UEI): EVWJPCY6AD97
Parent UEI: EVWJPCY6AD97
NSF Program(s): Secure &Trustworthy Cyberspace
Primary Program Source: 01001819DB NSF RESEARCH & RELATED ACTIVIT
Program Reference Code(s): 025Z, 7434, 7923
Program Element Code(s): 806000
Award Agency Code: 4900
Fund Agency Code: 4900
Assistance Listing Number(s): 47.070

ABSTRACT

Mobile devices have become the fabric of our current consumer computing landscape, driven by the diverse "apps" they support, which allow users to carry out complex computing tasks. These devices and apps have become deeply personal, and as such have access to privacy-sensitive resources and information. To prevent misuse of this access, it is imperative to understand the challenges in securing mobile apps, and in effect, the true capabilities of current approaches for security analysis. The first line of defense against malicious applications are tools that analyze applications to detect security vulnerabilities or malicious behavior, ideally before apps are published to application markets. It is important for such tools to be "sound", i.e., to detect all instances of bad behavior in the application being analyzed. Prior work has indicated that such tools may often sacrifice soundness for practical reasons (e.g., for a reasonable analysis time), leading to tools that are soundy (i.e., mostly sound, but with some unsound assumptions). However, the effectiveness of these security-focused program analysis techniques is not well understood, as the unsound assumptions may not be known beyond a small community of experts, leading to a false sense of security among the users of such tools. This research develops a framework for systematically evaluating existing security techniques to uncover previously unknown unsound assumptions. The methodology developed in the course of this research has the potential for a large economic and societal impact, as improving security tools improves the vetting of mobile applications and prevents or mitigates the loss or theft of private information. Moreover, while the far-reaching impact of this work will be in increasing reliability of applications for end users, more immediate impact can be seen in educational activities. That is, this project incorporates into software engineering and security courses the best-practices for secure mobile application development, and novel security evaluation techniques developed via this project, while disseminating awareness regarding the dangers of unsound analyses to the broader research community.

This research project develops a new methodology for assessing security-focused static analysis tools for Android, by adopting the principles of mutation analysis from the field of functional software testing to systematically identify unsound assumptions. This methodology consists of three major components: (1) empirical derivation of specifications for security-focused mutation operators (i.e., security operators) through the examination of claims by security analysis tools, security bugs in open source apps, and malware samples; (2) the instantiation and seeding operators in the context of the security technique being evaluated using context-specific mutation schemes; and (3) expansion of the sound core of static program analysis tools for Android by running static analysis tools on mutants and detecting and addressing vulnerabilities. This research project cuts across the complementary disciplines of computer security and software engineering and tackles several open research questions that are currently unaddressed in both disciplines. More specifically, this project builds upon the theoretical underpinnings of mutation analysis, which aims at evaluating the efficacy of functional software tests and instantiates them in a security-focused context.

This award reflects NSF's statutory mission and has been deemed worthy of support through evaluation using the Foundation's intellectual merit and broader impacts review criteria.

PUBLICATIONS PRODUCED AS A RESULT OF THIS RESEARCH

Note:  When clicking on a Digital Object Identifier (DOI) number, you will be taken to an external site maintained by the publisher. Some full text articles may not yet be available without a charge during the embargo (administrative interval).

Some links on this page may take you to non-federal websites. Their policies may differ from this site.

Ami, Amit S. and Cooper, N. and Kafle, K. and Moran, K. and Poshyvanyk, D. and Nadkarni, A. "Why Crypto-detectors Fail: A Systematic Evaluation of Cryptographic Misuse Detection Techniques" 2022 IEEE Symposium on Security and Privacy (SP) , 2022 https://doi.org/10.1109/SP46214.2022.00024 Citation Details
Ami, Amit Seal and Kafle, Kaushal and Moran, Kevin and Nadkarni, Adwait and Poshyvanyk, Denys "Systematic Mutation-Based Evaluation of the Soundness of Security-Focused Android Static Analysis Techniques" ACM Transactions on Privacy and Security , v.24 , 2021 https://doi.org/10.1145/3439802 Citation Details
Ami, Amit Seal and Kafle, Kaushal and Nadkarni, Adwait and Poshyvanyk, Denys and Moran, Kevin "µSE: Mutation-Based Evaluation of Security-Focused Static Analysis Tools for Android" 2021 IEEE/ACM 43rd International Conference on Software Engineering: Companion Proceedings (ICSE-Companion) , 2021 https://doi.org/10.1109/ICSE-Companion52605.2021.00034 Citation Details
Bonett, Richard and Kafle, Kaushal and Moran, Kevin and Nadkarni, Adwait and Poshyvanyk, Denys "Discovering Flaws in Security-Focused Static Analysis Tools for Android using Systematic Mutation" Proceedings of the 27th USENIX Security Symposium , 2018 Citation Details
Escobar-Velasquez, Camilo and Linares-Vasquez, Mario and Bavota, Gabriele and Tufano, Michele and Moran, Kevin and Di Penta, Massimiliano and Vendome, Christopher and Bernal-Cardenas, Carlos and Poshyvanyk, Denys "Enabling Mutant Generation for Open- and Closed-Source Android Apps" IEEE Transactions on Software Engineering , v.48 , 2022 https://doi.org/10.1109/TSE.2020.2982638 Citation Details
Kafle, Kaushal and Moran, Kevin and Manandhar, Sunil and Nadkarni, Adwait and Poshyvanyk, Denys "A Study of Data Store-based Home Automation" Proceedings of the Ninth ACM Conference on Data and Application Security and Privacy , 2019 10.1145/3292006.3300031 Citation Details
Kafle, Kaushal and Moran, Kevin and Manandhar, Sunil and Nadkarni, Adwait and Poshyvanyk, Denys "Security in Centralized Data Store-based Home Automation Platforms: A Systematic Analysis of Nest and Hue" ACM Transactions on Cyber-Physical Systems , v.5 , 2021 https://doi.org/10.1145/3418286 Citation Details
Manandhar, Sunil and Moran, Kevin and Kafle, Kaushal and Tang, Ruhao and Poshyvanyk, Denys and Nadkarni, Adwait "Towards a Natural Perspective of Smart Homes for Practical Security and Safety Analyses" 2020 IEEE Symposium on Security and Privacy (SP) , 2020 https://doi.org/10.1109/SP40000.2020.00062 Citation Details
Tufano, Michele and "DeepMutation: A Neural Mutation Tool" 2020 IEEE/ACM 42nd International Conference on Software Engineering: Companion Proceedings (ICSE-Companion) , 2020 Citation Details

PROJECT OUTCOMES REPORT

Disclaimer

This Project Outcomes Report for the General Public is displayed verbatim as submitted by the Principal Investigator (PI) for this award. Any opinions, findings, and conclusions or recommendations expressed in this Report are those of the PI and do not necessarily reflect the views of the National Science Foundation; NSF has not approved or endorsed its content.


Mobile devices have become the fabric of our current consumer computing landscape, driven by the diverse “apps” they support, which allow users to carry out complex computing tasks. These devices and apps have become deeply personal, and as such have access to privacy-sensitive resources and information. To prevent misuse of this access, it is imperative to understand the challenges in securing mobile apps, and in effect, the true capabilities of current approaches for security analysis. The first line of defense against malicious applications are tools that analyze applications to detect security vulnerabilities or malicious behavior, ideally before apps are published to application markets. It is important for such tools to be as “sound” as possible, i.e., to detect all instances of bad behavior in the application being analyzed. Prior work has indicated that such tools may often sacrifice soundness for practical reasons (e.g., for a reasonable analysis time), leading to tools that are soundy (i.e., mostly sound, but with some unsound assumptions). However, the effectiveness of these security-focused program analysis techniques is not well understood, as the unsound assumptions may not be known beyond a small community of experts, leading to a false sense of security among the users of such tools.

 

This project has developed a framework for systematically evaluating existing security techniques to uncover previously unknown unsound assumptions. This developed methodology consists of three major components: (1) empirical derivation of specifications for security-focused mutation operators (i.e., security operators) through the examination of claims by security analysis tools, security bugs in open source apps, and malware samples; (2) the instantiation and seeding operators in the context of the security technique being evaluated using context-specific mutation schemes; and (3) expansion of the sound core of static program analysis tools for Android by running static analysis tools on mutants and detecting and addressing vulnerabilities. The methodology that we developed during this research project has already led to significant improvements in existing security tools. The resulting work has been published in several high-quality security and software engineering conferences and journals (some gaining best paper recognition).  Several undergraduate and graduate students were trained and became contributing members on this project.  Several of these students co-authored and presented papers at international conferences. Multiple graduate-level theses were derived from this project. The students graduating from this program have secured full-time employment in academia and software industry. The gained scientific knowledge was integrated in multiple undergraduate and graduate classes at the host institution, which broadens STEM education. Several open-source software tools and datasets were developed and made publicly available. The data repositories resulting from this project are made accessible to the scientific community and public through the PIs’ web sites. The project enhanced and strengthened a long-term professional collaboration not only between the PIs and their students, but also multiple collaborators involved. The computing infrastructure established during the project permits the sustainability of its resources.


 

 


Last Modified: 12/01/2023
Modified by: Adwait Nadkarni

Please report errors in award information by writing to: awardsearch@nsf.gov.

Print this page

Back to Top of page