Javascript must be enabled to continue!
The Dark Side of Native Code on Android
View through CrossRef
<p>From a little research experiment to an essential component of military arsenals, malicious software has constantly been growing and evolving for more than three decades. On the other hand, from a negligible market share, the Android operating system is nowadays the most widely used mobile operating system, becoming a desirable target for large-scale malware distribution. While scientific literature has followed this trend, one aspect has been understudied: the role of native code in malicious Android apps. Android apps are written in high-level languages, but thanks to the Java Native Interface (JNI), Android also supports calling native (C/C++) library functions. While allowing native code in Android apps has a strong positive impact from a performance perspective, it dramatically complicates its analysis because bytecode and native code need different abstractions and analysis algorithms, and they thus pose different challenges and limitations. Consequently, these difficulties are often (ab)used to hide malicious payloads. In this work, we propose a novel methodology to reverse engineering Android apps focusing on suspicious patterns related to native components, i.e., surreptitious code that requires further inspection. We implemented a static analysis tool based on such methodology, which can bridge the “Java” and the native worlds and perform an in-depth analysis of tag code blocks responsible for suspicious behavior. These tags benefit the human facing the reverse engineering task: they clearly indicate which part of the code to focus on to find malicious code. Then, we performed a longitudinal analysis of Android malware over the past ten years and compared the recent malicious samples with actual top apps on the Google Play Store. Our work depicts typical behaviors of modern malware, its evolution, and how it abuses the native layer to complicate the analysis, especially with dynamic code loading and novel anti-analysis techniques. Finally, we show a use case for our suspicious tags: we trained and tested a machine learning algorithm for a binary classification task. Even if suspicious does not imply malicious, our classifier obtained a remarkable F1-score of 0.97, showing that our methodology can be helpful to both humans and machines.</p>
Institute of Electrical and Electronics Engineers (IEEE)
Title: The Dark Side of Native Code on Android
Description:
<p>From a little research experiment to an essential component of military arsenals, malicious software has constantly been growing and evolving for more than three decades.
On the other hand, from a negligible market share, the Android operating system is nowadays the most widely used mobile operating system, becoming a desirable target for large-scale malware distribution.
While scientific literature has followed this trend, one aspect has been understudied: the role of native code in malicious Android apps.
Android apps are written in high-level languages, but thanks to the Java Native Interface (JNI), Android also supports calling native (C/C++) library functions.
While allowing native code in Android apps has a strong positive impact from a performance perspective, it dramatically complicates its analysis because bytecode and native code need different abstractions and analysis algorithms, and they thus pose different challenges and limitations.
Consequently, these difficulties are often (ab)used to hide malicious payloads.
In this work, we propose a novel methodology to reverse engineering Android apps focusing on suspicious patterns related to native components, i.
e.
, surreptitious code that requires further inspection.
We implemented a static analysis tool based on such methodology, which can bridge the “Java” and the native worlds and perform an in-depth analysis of tag code blocks responsible for suspicious behavior.
These tags benefit the human facing the reverse engineering task: they clearly indicate which part of the code to focus on to find malicious code.
Then, we performed a longitudinal analysis of Android malware over the past ten years and compared the recent malicious samples with actual top apps on the Google Play Store.
Our work depicts typical behaviors of modern malware, its evolution, and how it abuses the native layer to complicate the analysis, especially with dynamic code loading and novel anti-analysis techniques.
Finally, we show a use case for our suspicious tags: we trained and tested a machine learning algorithm for a binary classification task.
Even if suspicious does not imply malicious, our classifier obtained a remarkable F1-score of 0.
97, showing that our methodology can be helpful to both humans and machines.
</p>.
Related Results
Impacts of man-made structures on marine biodiversity and species status - native & non-native species
Impacts of man-made structures on marine biodiversity and species status - native & non-native species
<p>Coastal environments are exposed to anthropogenic activities such as frequent marine traffic and restructuring, i.e., addition, removal or replacing with man-made structur...
Joint Beamforming and Aerial IRS Positioning Design for IRS-assisted MISO System with Multiple Access Points
Joint Beamforming and Aerial IRS Positioning Design for IRS-assisted MISO System with Multiple Access Points
<p><code>Intelligent reflecting surface (IRS) is a promising concept for </code><code><u>6G</u></code><code> wireless communications...
Joint Beamforming and Aerial IRS Positioning Design for IRS-assisted MISO System with Multiple Access Points
Joint Beamforming and Aerial IRS Positioning Design for IRS-assisted MISO System with Multiple Access Points
<p><code>Intelligent reflecting surface (IRS) is a promising concept for </code><code><u>6G</u></code><code> wireless communications...
Pengembangan Modul Berbasis Android tentang Kesiapan Kerja
Pengembangan Modul Berbasis Android tentang Kesiapan Kerja
Tujuan penelitian ini adalah menguji coba seberapa efektifitasnya modul berbasis android tentang kesiapan kerja untuk siswa sekolah kejuruan. Metode kajian menggunakan 4-D Â (Defin...
Design of Malicious Code Detection System Based on Binary Code Slicing
Design of Malicious Code Detection System Based on Binary Code Slicing
<p>Malicious code threatens the safety of computer systems. Researching malicious code design techniques and mastering code behavior patterns are the basic work of network se...
Alih Kode Dan Campur Kode Dalam Interaksi Masyarakat Terminal Motabuik Kota Atambua
Alih Kode Dan Campur Kode Dalam Interaksi Masyarakat Terminal Motabuik Kota Atambua
This research aims to describe the use of language in community interactions at the Motabuik terminal, Atambua City. The use of language in question is the form and function of cod...
Learning-Based Detection for Malicious Android Application Using Code Vectorization
Learning-Based Detection for Malicious Android Application Using Code Vectorization
The malicious APK (Android Application Package) makers use some techniques such as code obfuscation and code encryption to avoid existing detection methods, which poses new challen...
La PUISIFY The Form of Application-Based Poetry Learning Media SAC.2.0 on Android
La PUISIFY The Form of Application-Based Poetry Learning Media SAC.2.0 on Android
The study highlights the development of poetry learning instrument using Smart Application Creator (SAC) 2.0 program for Android. The study belongs to a Research and Development (...

