Taint Trace Analysis For Java Web Applications

  • Yaju Li
  • , Chenyi Zhang*
  • , Qin Li
  • *Corresponding author for this work

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

1 Scopus citations

Abstract

Taint analysis is concerned about whether a value in a program can be influenced, or tainted, by user input. Existing works on taint analysis focus on tracking the propagation of taint flows between variables in a program, and a security risk is reported whenever a taint source (user input) flows to a taint sink (resource that requires protection). However, a reported bug may have its taint source and taint sink located in different software components, which complicates the bug tracking and bug confirmation for developers. In this paper, we propose Taint Trace Analysis (TTA), which extends P/Taint, a context-sensitive Java taint analysis project, by making the taint information flow explicit. Thanks to the underlying Datalog semantics, we describe a way to extract traces of taint flows across program contexts and field accesses in the Doop framework. Different from existing works that produce only source-sink pairs, the output of TTA can be visualized as a set of traces which illustrate the inter-procedural taint propagation from taint sources to their corresponding sinks. As a consequence, TTA provides more useful information for developers and users after a vulnerability is reported. Our implementation is also efficient, and as shown in our experiment, it adds only a small run-time overhead on top of P/Taint for a range of analyses with different types of context-sensitivities applied.

Original languageEnglish
Title of host publicationSEKE 2022 - Proceedings of the 34th International Conference on Software Engineering and Knowledge Engineering
PublisherKnowledge Systems Institute Graduate School
Pages184-189
Number of pages6
ISBN (Electronic)1891706543, 9781891706547
DOIs
StatePublished - 2022
Event34th International Conference on Software Engineering and Knowledge Engineering, SEKE 2022 - Pittsburgh, United States
Duration: 1 Jul 202210 Jul 2022

Publication series

NameProceedings of the International Conference on Software Engineering and Knowledge Engineering, SEKE
ISSN (Print)2325-9000
ISSN (Electronic)2325-9086

Conference

Conference34th International Conference on Software Engineering and Knowledge Engineering, SEKE 2022
Country/TerritoryUnited States
CityPittsburgh
Period1/07/2210/07/22

Keywords

  • Automatic trace generation
  • Java web application
  • Program analysis
  • Taint analysis

Fingerprint

Dive into the research topics of 'Taint Trace Analysis For Java Web Applications'. Together they form a unique fingerprint.

Cite this