Award Abstract # 1434582
TWC: Small: Collaborative: Similary-Based Program Analyses for Eliminating Vulnerabilities

NSF Org: CNS
Division Of Computer and Network Systems
Recipient: UNIVERSITY OF ILLINOIS
Initial Amendment Date: February 28, 2014
Latest Amendment Date: May 5, 2014
Award Number: 1434582
Award Instrument: Standard Grant
Program Manager: Sol Greenspan
sgreensp@nsf.gov
 (703)292-7841
CNS
 Division Of Computer and Network Systems
CSE
 Directorate for Computer and Information Science and Engineering
Start Date: July 1, 2013
End Date: July 31, 2017 (Estimated)
Total Intended Award Amount: $250,000.00
Total Awarded Amount to Date: $265,960.00
Funds Obligated to Date: FY 2013 = $250,000.00
FY 2014 = $15,960.00
History of Investigator:
  • Tao Xie (Principal Investigator)
    taoxie@illinois.edu
Recipient Sponsored Research Office: University of Illinois at Urbana-Champaign
506 S WRIGHT ST
URBANA
IL  US  61801-3620
(217)333-2187
Sponsor Congressional District: 13
Primary Place of Performance: University of Illinois at Urbana-Champaign
CHAMPAIGN
IL  US  61820-7473
Primary Place of Performance
Congressional District:
13
Unique Entity Identifier (UEI): Y8CWNJRCNN91
Parent UEI: V2PHZ2CSCH63
NSF Program(s): Special Projects - CNS,
Secure &Trustworthy Cyberspace
Primary Program Source: 01001314DB NSF RESEARCH & RELATED ACTIVIT
01001415DB NSF RESEARCH & RELATED ACTIVIT
Program Reference Code(s): 7434, 7923, 9178, 9251
Program Element Code(s): 171400, 806000
Award Agency Code: 4900
Fund Agency Code: 4900
Assistance Listing Number(s): 47.070

ABSTRACT

The security of critical information infrastructures depends upon effective techniques to detect vulnerabilities commonly exploited by malicious attacks. Due to poor coding practices or human error, a known vulnerability discovered and patched in one code location may often exist in many other unpatched code locations, either in the same code base or other code bases. Furthermore, patches are often error-prone, resulting in new vulnerabilities. This project develops practical techniques for detecting code-level similarity to prevent such vulnerabilities. It has the potential to help build a more reliable and secure information system infrastructure, which will have tremendous economical impact on society because of our growing reliance on information technologies.

In particular, the project aims to develop practical techniques for similarity-based testing and analysis to detect unpatched vulnerable code and validate patches to the detected vulnerable code at both the source code and binary levels. To this end, it focuses on three main technical directions: (1) developing techniques for detecting source-level vulnerabilities by adapting and refining an industrial-strength tool, (2) developing capabilities of detecting binary-level vulnerabilities by extending preliminary work on detecting code clones in binaries, and (3) supporting patch validation and repair by developing methodologies and techniques to validate software patches and help produce correct, secure patches. This project helps discover new techniques for source- and binary-level vulnerability analysis and gain better understandings of the fundamental and practical challenges for building highly secure and reliable software.

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.

(Showing: 1 - 10 of 15)
Benjamin Andow, Adwait Nadkarni, Blake Bassett, William Enck, and Tao Xie. "A Study of Grayware on Google Play" Proceedings of Workshop on Mobile Security Technologies (MoST 2016) , 2016
Benjamin Andow, Akhil Acharya, Dengfeng Li, William Enck, Kapil Singh, and Tao Xie. "UiRef: Analysis of Sensitive User Inputs in Android Applications." ACM Conference on Security and Privacy in Wireless and Mobile Networks (WiSec 2017) , 2017 , p.23 10.1145/3098243.3098247
Dengfeng Li, Wing Lam, Wei Yang, Zhengkai Wu, Xusheng Xiao, Tao Xie. "Towards Privacy-Preserving Mobile Apps: A Balancing Act." Symposium and Bootcamp on the Science of Security (HotSoS 2017) , 2017
Haibing Zheng, Dengfeng Li, Xia Zeng, Beihai Liang, Wujie Zheng, Yuetang Deng, Wing Lam, Wei Yang, and Tao Xie. "Automated Test Input Generation for Android: Towards Getting There in an Industrial Case." International Conference on Software Engineering (ICSE 2017), Software Engineering in Practice (SEIP) , 2017 , p.253 10.1109/ICSE-SEIP.2017.32
Huoran Li, Xuanzhe Liu, Tao Xie, Kaigui Bian, Xuan Lu, Felix Xiaozhu Lin, Qiaozhu Mei, and Feng Feng. "Characterizing Smartphone Usage Patterns from Millions of Android Users" Proceedings of the 2015 Internet Measurement Conference (IMC 2015) , 2015 , p.459 10.1145/2815675.2815686
Pierre McCauley, Brandon Nsiah-Ababio, Joshua Reed, Faramola Isiaka and Tao Xie. "Preliminary Analysis of Code Hunt Data Set from a Contest" International Code Hunt Workshop on Educational Software Engineering (CHESE 2016) , 2016 , p.7 10.1145/2993270.2993272
Shaikh Mostafa, Xiaoyin Wang and Tao Xie. "PerfRanker: Prioritization of Performance Regression Tests for Collection-Intensive Software." International Symposium on Software Testing and Analysis (ISSTA 2017) , 2017 , p.23 10.1145/3092703.3092725
Sihan Li, Xusheng Xiao, Blake Bassett, Tao Xie and Nikolai Tillmann. "Measuring Code Behavioral Similarity for Programming and Software Engineering Education" Measuring Code Behavioral Similarity for Programming and Software Engineering Education. , 2016 , p.501 10.1145/2889160.2889204
Xia Zeng, Dengfeng Li, Wujie Zheng, Fan Xia, Yuetang Deng, Wing Lam, Wei Yang, and Tao Xie. "Automated Test Input Generation for Android: Are We Really There Yet in an Industrial Case?" ACM SIGSOFT Symposium on the Foundations of Software Engineering (FSE 2016), Industrial Track , 2016 , p.987 10.1145/2950290.2983958
Xuan Li, Zerui Wang, Qianxiang Wang, Shoumeng Yan, Tao Xie, and Hong Me "Relationship-Aware Code Search for JavaScript Frameworks" ACM SIGSOFT Symposium on the Foundations of Software Engineering (FSE 2016) , 2016 , p.690 10.1145/2950290.2950341
Xuan Lu, Xuanzhe Liu, Huoran Li, Tao Xie, Qiaozhu Mei, Dan Hao, Gang Huang, and Feng Feng. "Mining Usage Data from Large-Scale Android Users: Challenges and Opportunities" Proceedings of the IEEE/ACM International Conference on Mobile Software Engineering and Systems (MOBISoft 2016), Mobile Applications , 2016 , p.301 10.1145/2897073.2897721
(Showing: 1 - 10 of 15)

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.

For the duration of this NSF project, we, the principal investigator and graduate students, have introduced and developed practical testing and analysis techniques to detect defects and validate patches at source and binary levels, and effectively recover from program runtime failures. This project has helped discover new analysis and runtime recovery techniques, and helped gain better understandings of the fundamental and practical challenges for building highly secure and reliable software. The conducted research and educational activities have advanced the state-of-the-art in improving software security and reliability, and helped train next generation researchers and engineers. More specifically,

- We have developed three metrics that approximate the computation of behavioral similarity using dynamic analysis for measuring behavioral similarity of programs. We leverage random testing and dynamic symbolic execution (DSE) to generate test inputs, and run programs on these test inputs to compute metric values. The metric based on random testing provides highly accurate approximations to the behavioral similarity and the metric based on DSE is very effective in ordering programs based on behavioral similarity.

- We have developed an approach of static program analysis that extracts the contexts of security-sensitive behaviors to assist mobile app analysis in differentiating between malicious and benign behaviors. The malicious and benign behaviors within apps can be differentiated based on the contexts that trigger security-sensitive behaviors, i.e., the events and conditions that cause the security-sensitive behaviors to occur. The maliciousness of a security-sensitive behavior is more closely related to the intention of the behavior (reflected via contexts) than the type of the security-sensitive resources that the behavior accesses.

- We have developed an approach to prioritizing Android device models for individual mobile apps, based on mining large-scale usage data. The approach adapts the concept of operational profiling for mobile apps: the usage of an app on a specific device model reflects the importance of that device model for the app. The approach includes a collaborative filtering technique to predict the usage of an app on different device models, even if the app is entirely new, based on the usage data of a large collection of apps.

- We have developed an automated approach for resolving the semantics of user inputs requested by mobile applications. The approach's design includes a number of novel techniques for extracting and resolving user interface labels and addressing ambiguity in semantics, resulting in significant improvements over prior work. Such work enables the clustering of similar user inputs/apps together for security analysis.

- We have developed an approach to prioritizing test cases in performance regression testing for collection-intensive software, a common type of modern software heavily using collections. The approach for test prioritization is based on performance impact analysis that estimates the performance impact of a given code revision on a given test execution. 

- We have disseminated our research results through publications in top outlets such as highly-competitive conferences, tool  distributions and research exchanges.

- We have successfully trained the next generation computer scientists through graduate/undergraduate student advising, and engineers through undergraduate and graduate level education.


Last Modified: 01/18/2018
Modified by: Tao Xie

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

Print this page

Back to Top of page