Vulnerability Analysis of the Android Kernel

12/20/2021
by   Joseph R. Barr, et al.
0

We describe a workflow used to analyze the source code of the Android OS kernel and rate for a particular kind of bugginess that exposes a program to hacking. The workflow represents a novel approach for components' vulnerability rating. The approach is inspired by recent work on embedding source code functions. The workflow combines deep learning with heuristics and machine learning. Deep learning is used to embed function/method labels into a Euclidean space. Because the corpus of Android kernel source code is rather limited (containing approximately 2 million C/C++ functions & Java methods), a straightforward embedding is untenable. To overcome the challenge of the dearth of data, it's necessary to go through an intermediate step of the Byte-Pair Encoding. Subsequently, we embed the tokens from which we assemble an embedding of function/method labels. Long short-term memory networks (LSTM) are used to embed tokens into vectors in ℝ^d from which we form a cosine matrix consisting of the cosine between every pair of vectors. The cosine matrix may be interpreted as a (combinatorial) `weighted' graph whose vertices represent functions/methods and `weighted' edges correspond to matrix entries. Features that include function vectors plus those defined heuristically are used to score for risk of bugginess.

READ FULL TEXT

page 4

page 16

research
03/13/2023

Automated Vulnerability Detection in Source Code Using Quantum Natural Language Processing

One of the most important challenges in the field of software code audit...
research
08/04/2021

A Comparison of Different Source Code Representation Methods for Vulnerability Prediction in Python

In the age of big data and machine learning, at a time when the techniqu...
research
06/01/2023

Feature Engineering-Based Detection of Buffer Overflow Vulnerability in Source Code Using Neural Networks

One of the most significant challenges in the field of software code aud...
research
08/08/2017

Automatic feature learning for vulnerability prediction

Code flaws or vulnerabilities are prevalent in software systems and can ...
research
04/06/2020

Embedding Java Classes with code2vec: Improvements from Variable Obfuscation

Automatic source code analysis in key areas of software engineering, suc...
research
07/25/2023

Differential approximation of the Gaussian by short cosine sums with exponential error decay

In this paper we propose a method to approximate the Gaussian function o...

Please sign up or login with your details

Forgot password? Click here to reset