Guanjun Lin

Dr. Guanjun Lin

orcid

Research Focus & Metrics

Academic Career Length

10Years (2017-Present)

(Calculated once Scilit publication data is synced: current year − year of first publication + 1)

Representative Publications

View All Publications
4 June 2020 in Proceedings of the IEEE
Verified
Journal Article
Closed access
GLGuanjun Lin
Guanjun Lin
VWVincent Sheng Wen
Vincent Sheng Wen
QHQing-Long Han
Qing-Long Han
JZJun Zhang
Jun Zhang
YXYang Xiang
Yang Xiang
The constantly increasing number of disclosed security vulnerabilities have become an important concern in the software industry and in the field of cybersecurity, suggesting that the current approaches for vulnerability detection demand further improvement. The booming of the open-source software community has made vast amounts of software code available, which allows machine learning and data mining techniques to exploit abundant patterns within software code. Particularly, the recent breakthrough application of deep learning to speech recognition and machine translation has demonstrated the great potential of neural models' capability of understanding natural languages. This has motivated researchers in the software engineering and cybersecurity communities to apply deep learning for learning and understanding vulnerable code patterns and semantics indicative of the characteristics of vulnerable code. In this survey, we review the current literature adopting deep-learning-/neural-network-based approaches for detecting software vulnerabilities, aiming at investigating how the state-of-the-art research leverages neural techniques for learning and understanding code semantics to facilitate vulnerability discovery. We also identify the challenges in this new field and share our views of potential research directions.

2 April 2018 in IEEE Transactions on Industrial Informatics
Verified
Journal Article
Closed access
GLGuanjun Lin
Guanjun Lin
JZJun Zhang
Jun Zhang
WLWei Luo
Wei Luo
LPLei Pan
Lei Pan
YXYang Xiang
Yang Xiang
PMPaul Montague
Paul Montague
Machine learning is now widely used to detect security vulnerabilities in the software, even before the software is released. But its potential is often severely compromised at the early stage of a software project when we face a shortage of high-quality training data and have to rely on overly generic hand-crafted features. This paper addresses this cold-start problem of machine learning, by learning rich features that generalize across similar projects. To reach an optimal balance between feature-richness and generalizability, we devise a data-driven method including the following innovative ideas. First, the code semantics are revealed through serialized abstract syntax trees (ASTs), with tokens encoded by Continuous Bag-of-Words neural embeddings. Next, the serialized ASTs are fed to a sequential deep learning classifier (Bi-LSTM) to obtain a representation indicative of software vulnerability. Finally, the neural representation obtained from existing software projects is then transferred to the new project to enable early vulnerability detection even with a small set of training labels. To validate this vulnerability detection approach, we manually labeled 457 vulnerable functions and collected 30 000+ nonvulnerable functions from six open-source projects. The empirical results confirmed that the trained model is capable of generating representations that are indicative of program vulnerability and is adaptable across multiple projects. Compared with the traditional code metrics, our transfer-learned representations are more effective for predicting vulnerable functions, both within a project and across multiple projects.

19 November 2019 in IEEE Transactions on Dependable and Secure Computing
Verified
Journal Article
Closed access
GLGuanjun Lin
Guanjun Lin
JZJun Zhang
Jun Zhang
WLWei Luo
Wei Luo
LPLei Pan
Lei Pan
OVOlivier De Vel
Olivier De Vel
YXYang Xiang
Yang Xiang

28 October 2020 in IEEE Access
Verified
Journal Article
Open access
JZJun Zhang
Jun Zhang
LLLin Li
Lin Li
GLGuanjun Lin
Guanjun Lin
DFDa Fang
Da Fang
YTYonghang Tai
Yonghang Tai
JHJiechun Huang
Jiechun Huang
As a key service of the future 6G network, healthcare digital twin is the virtual replica of a person, which employs Internet of Things (IoT) technologies and AI-powered models to predict the state of health and provide suggestions to a range of clinical questions. To support healthcare digital twins, the right cyber resilience technologies and policies must be applied and maintained to preserve cyber resilience. Vulnerability detection is a fundamental technology for cyber resilience in healthcare digital twins. Recently, deep learning (DL) has been applied to address the limitations of traditional machine learning in vulnerability detection. However, it is important to consider code context relationships and pay attention on the vulnerability related keywords for searching an IoT vulnerability in healthcare digital twins. Due to massive software and complexity of healthcare digital twin, a full automatic solution is really needed for assisting cyber resilience check in the real-world scenarios. This article presents a novel scheme for recognising potential vulnerable functions to support healthcare digital twins. We develop a new deep neural model to capture bi-directional context relationships among the risky code keywords. A number of well-designed experiments are carried out on a large ground truth, which consists of tens of thousands of vulnerable and non-vulnerable functions from IoT related software. The results show our new scheme outperforms the state-of-the-art DL-based methods for vulnerability detection.

29 October 2020 in IEEE Access
Verified
Journal Article
Open access
PZPeng Zeng
Peng Zeng
GLGuanjun Lin
Guanjun Lin
LPLei Pan
Lei Pan
YTYonghang Tai
Yonghang Tai
JZJun Zhang
Jun Zhang
Exploitable vulnerabilities in software have attracted tremendous attention in recent years because of their potentially high severity impact on computer security and information safety. Many vulnerability detection methods have been proposed to aid code inspection. Among these methods, there is a line of studies that apply machine learning techniques and achieve promising results. This paper reviews 22 recent studies that adopt deep learning to detect vulnerabilities, aiming to show how they utilize state-of-the-art neural techniques to capture possible vulnerable code patterns. Among reviewed studies, we identify four game changers that significantly impact the domain of deep learning-based vulnerability detection and provide detailed reviews of the insights, ideas, and concepts that the game changers have brought to this field of interest. Based on the four identified game changers, we review the remaining studies, presenting their approaches and solutions which either build on or extend the game changers, and sharing our views on the future research trends. We also highlight the challenges faced in this field and discuss potential research directions. We hope to motivate the readers to conduct further research in this developing but fast-growing field.

2 April 2020 in IEEE Transactions on Dependable and Secure Computing
Verified
Journal Article
Closed access
SLShigang Liu
Shigang Liu
GLGuanjun Lin
Guanjun Lin
LQLizhen Qu
Lizhen Qu
JZJun Zhang
Jun Zhang
OVOlivier De Vel
Olivier De Vel
YXYang Xiang
Yang Xiang
A major cause of security incidents such as cyber attacks is rooted in software vulnerabilities. These vulnerabilities should ideally be found and fixed before the code gets deployed. Machine learning-based approaches achieve state-of-the-art performance in capturing vulnerabilities. These methods are predominantly supervised. Their prediction models are trained on a set of ground truth data where the training data and test data are assumed to be drawn from the same probability distribution. However, in practice, the test data often differs from the training data in terms of distribution because they are from different projects or they differ in the types of vulnerability. In this paper, we present a new system for Cross Domain Software Vulnerability Discovery (CD-VulD) using deep learning (DL) and domain adaptation (DA). We employ DL because it has the capacity of automatically constructing high-level abstract feature representations of programs, which are likely of more cross-domain useful than the handcrafted features driven by domain knowledge. The divergence between distributions is reduced by learning cross-domain representations. Firstly, given software program representations, CD-VulD converts them into token sequences and learns the token embeddings for generalization across tokens. Next, CD-VulD employs a deep feature model to build abstract high-level presentations based on those sequences. Then, the metric transfer learning framework (MTLF) technique is employed to learn cross-domain representations by minimizing the distribution divergence between the source domain and the target domain. Finally, the cross-domain representations are used to build a classifier for vulnerability detection. Experimental results show that CD-VulD outperforms the state-of-the-art vulnerability detection approaches by a wide margin. We make the new datasets publicly available so that our work is replicable and can be further improved.