Creating a Core Rule Set for Android Taint Analysis Tools

Context

Android applications often process sensitive data such as location, contacts, and authentication tokens. Ensuring that this information is not leaked or misused is a central challenge in mobile app security.

Taint analysis is a static or dynamic program analysis technique that tracks the flow of sensitive data (“tainted sources”) through a program to determine whether it reaches untrusted components (“sinks”). Several tools exist to perform taint analysis on Android applications, including FlowDroid, Mariana Trench, and Joern. Each has different capabilities, rule definitions, and performance characteristics.

Motivation

Despite the availability of taint analysis tools, applying them effectively to detect privacy issues and security vulnerabilities in Android apps requires carefully designed rule sets and validation on real-world apps. By systematically testing different tools and defining core rules for Android-specific data flows, we can evaluate their effectiveness and build a foundation for future large-scale privacy/security testing. Using benchmark applications with known vulnerabilities (e.g., AndroGoat) provides a reliable way to compare the strengths and weaknesses of each tool.

Goal

What do we want to achieve?

The aim of this student work is to evaluate different taint analysis tools for Android and develop core rule sets for detecting privacy issues and vulnerabilities.

What do we want the student to deliver?

Requirements

What do we want the student to bring to the project?

Pointers

What resources and other related work could help the student to work on this project?

Taint Analysis Tools

Vulnerable Android Apps for Benchmarking

Research Papers

Contact