Award Abstract # 1548856
EAGER: Collaborative Research: Leveraging Graph Databases for Incremental and Scalable Symbolic Analysis and Verification of Web Applications

NSF Org: CCF
Division of Computing and Communication Foundations
Recipient: GEORGIA TECH RESEARCH CORP
Initial Amendment Date: July 24, 2015
Latest Amendment Date: July 24, 2015
Award Number: 1548856
Award Instrument: Standard Grant
Program Manager: Nina Amla
namla@nsf.gov
 (703)292-7991
CCF
 Division of Computing and Communication Foundations
CSE
 Directorate for Computer and Information Science and Engineering
Start Date: September 1, 2015
End Date: February 28, 2018 (Estimated)
Total Intended Award Amount: $100,000.00
Total Awarded Amount to Date: $100,000.00
Funds Obligated to Date: FY 2015 = $100,000.00
History of Investigator:
  • Alessandro Orso (Principal Investigator)
    orso@cc.gatech.edu
  • Wenke Lee (Co-Principal Investigator)
Recipient Sponsored Research Office: Georgia Tech Research Corporation
926 DALNEY ST NW
ATLANTA
GA  US  30318-6395
(404)894-4819
Sponsor Congressional District: 05
Primary Place of Performance: Georgia Institute of Technology
225 North Ave NW
Atlanta
GA  US  30332-0002
Primary Place of Performance
Congressional District:
05
Unique Entity Identifier (UEI): EMW9FC8J3HN4
Parent UEI: EMW9FC8J3HN4
NSF Program(s): Software & Hardware Foundation
Primary Program Source: 01001516DB NSF RESEARCH & RELATED ACTIVIT
Program Reference Code(s): 7916, 8206
Program Element Code(s): 779800
Award Agency Code: 4900
Fund Agency Code: 4900
Assistance Listing Number(s): 47.070

ABSTRACT

Modern human society relies heavily on web applications and is deeply affected by their poor dependability. Unfortunately, no matter how much effort is put into verification and validation of software, existing techniques are inherently limited, and software is routinely released with bugs and issues that limit its functionality and can dramatically affect the user experience. This project investigates an approach that has the potential to significantly improve the scalability and effectiveness of symbolic program analysis and verification techniques, that will improve the dependability of modern web applications,.

This project develops techniques and tools that use symbolic execution and automata-based verification techniques to automatically analyze and verify web applications, and store results of symbolic analyses in a graph database for efficient storage, and retrieval. The methods use incremental and differential analysis strategies that utilize the graph database in order to improve scalability and effectiveness of software analysis and verification. The project trains graduate students, and will make its artifacts publicly available to other researchers and educators.

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.

The main goal of this project was to develop scalable program analysistechniques to improve security and dependability of software systems.Within the scope of this project, we have developed several novel programanalysis techniques and improved their scalability. 

We developed novel constraint solving and model counting techniques forhandling both numeric and string constraints and their combinations. Weimplemented our results in a novel constraint solver called ABC that storesconstraints as automata.  To improve scalability of constraint based programanalysis, we developed a constraint database called Cashew that can cachenumeric and string constraints and model counting queries.  We conductedempirical studies that demonstrate that constraint caching can significantlyimprove the performance of symbolic and quantitative program analyses.

Our results on constraint cashing demonstrate that using appropriateconstraint databases, the scalability of symbolic program analysis can besignificantly improved.

We developed a novel static, scalable analysis technique for detectingside channels in software systems based on symbolic cost analysis ofprogram paths.  We implemented our symbolic path cost analysis techniquefor detecting side channels in a prototype tool, CoCo-Channel (CompositionalConstraint-based side Channel analyzer), for analyzing Java programs.

We developed symbolic analysis techniques for detecting vulnerabilitiesthat are due to adaptive side-channel attacks, and synthesizing attacks thatexploit the identified vulnerabilities.

Our results on side channel analysis demonstrate that symbolic executiontechniques, when combined with automata-based model-counting constraintsolvers, can be used to identify side channels in software applications. Sidechannel analysis is a very important problem in computing since it can beused to identify leakage of privileged information, which is crucial fordependability of modern software systems.

Our results on automated attack synthesis enable us to identify the attacksthat malicious users can launch against software systems.  This knowledgeis necessary for remedying existing vulnerabilities.

We developed a static analysis technique for iOS executables for checkingAPI call vulnerabilities.  Using a combination of dependency analysis andstring analysis, we were able to detect potential violations of Apple’sAPI policies (such as restricted use of private/sensitive APIs) in iOSexecutables.

Our results on information-flow tracking show that it is feasible to performaccurate forensic analysis of attacks in real-world scenarios. This canhelp making software systems more secure against the increasingly commonphenomenon of advanced persistent threats.

The results from the research conducted within the scope of this project werepublished in international conferences and presented to the internationalresearch community. PIs gave invited, distinguished and keynote talks topresent the research results they obtained within the scope of this project.

The students who participated in this research project have gained valuableresearch experience and training. They have furthered their education andimproved their research skills.


Last Modified: 05/28/2018
Modified by: Alessandro Orso

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

Print this page

Back to Top of page