Statically Detecting Buffer Overflow in Cross-language Android Applications Written in Java and C/C++

05/17/2023
by   Kishanthan Thangarajah, et al.
0

Many applications are being written in more than one language to take advantage of the features that different languages provide such as native code support, improved performance, and language-specific libraries. However, there are few static analysis tools currently available to analyse the source code of such multilingual applications. Existing work on cross-language (Java and C/C++) analysis fails to detect buffer overflow vulnerabilities that are of cross-language nature. In this work, we are addressing how to do cross-language analysis between Java and C/C++. Specifically, we propose an approach to do data flow analysis between Java and C/C++ to detect buffer overflow. We have developed PilaiPidi, a tool that can automatically analyse the data flow in projects written in Java and C/C++. Using our approach, we were able to detect 23 buffer overflow vulnerabilities, which are of cross-language nature, in six different well-known Android applications, and out of these, developers have confirmed 11 vulnerabilities in three applications.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
04/21/2021

HDR-Fuzz: Detecting Buffer Overruns using AddressSanitizer Instrumentation and Fuzzing

Buffer-overruns are a prevalent vulnerability in software libraries and ...
research
04/26/2022

Wasmati: An Efficient Static Vulnerability Scanner for WebAssembly

WebAssembly is a new binary instruction format that allows targeted comp...
research
03/17/2021

An experience-based recommendation system to support migrations of Android applications from Java to Kotlin

In 2017, Google announced Kotlin as an official Android programming lang...
research
02/07/2020

SLACC: Simion-based Language Agnostic Code Clones

Successful cross-language clone detection could enable researchers and d...
research
12/02/2018

Ann: A domain-specific language for the effective design and validation of Java annotations

This paper describes a new modelling language for the effective design a...
research
10/05/2019

A Benchmark to Evaluate InfiniBand Solutions for Java Applications

Low-latency network interconnects, such as InfiniBand, are commonly used...

Please sign up or login with your details

Forgot password? Click here to reset