To what extent can we analyze Kotlin programs using existing Java taint analysis tools? (Extended Version)

07/19/2022
by   Ranjith Krishnamurthy, et al.
0

As an alternative to Java, Kotlin has gained rapid popularity since its introduction and has become the default choice for developing Android apps. However, due to its interoperability with Java, Kotlin programs may contain almost the same security vulnerabilities as their Java counterparts. Hence, we question: to what extent can one use an existing Java static taint analysis on Kotlin code? In this paper, we investigate the challenges in implementing a taint analysis for Kotlin compared to Java. To answer this question, we performed an exploratory study where each Kotlin construct was examined and compared to its Java equivalent. We identified 18 engineering challenges that static-analysis writers need to handle differently due to Kotlin's unique constructs or the differences in the generated bytecode between the Kotlin and Java compilers. For eight of them, we provide a conceptual solution, while six of those we implemented as part of SecuCheck-Kotlin, an extension to the existing Java taint analysis SecuCheck.

READ FULL TEXT
research
05/24/2020

Featherweight Go

We describe a design for generics in Go inspired by previous work on Fea...
research
01/08/2020

Deep Static Modeling of invokedynamic

Java 7 introduced programmable dynamic linking in the form of the invoke...
research
04/29/2019

A Framework for Debugging Java Programs in a Bytecode

In the domain of Software Engineering, program analysis and understandin...
research
02/24/2018

Evaluating Design Tradeoffs in Numeric Static Analysis for Java

Numeric static analysis for Java has a broad range of potentially useful...
research
06/14/2017

Understanding and Analyzing Java Reflection

Java reflection has been increasingly used in a wide range of software. ...
research
03/14/2023

Improving Java Deserialization Gadget Chain Mining via Overriding-Guided Object Generation

Java (de)serialization is prone to causing security-critical vulnerabili...
research
04/09/2023

ODDFUZZ: Discovering Java Deserialization Vulnerabilities via Structure-Aware Directed Greybox Fuzzing

Java deserialization vulnerability is a severe threat in practice. Resea...

Please sign up or login with your details

Forgot password? Click here to reset