BERT를 이용한 딥러닝 기반 소스코드 취약점 탐지 방법 연구

Vol. 32, No. 6, pp. 1139-1150, 12월. 2022
10.13089/JKIISC.2022.32.6.1096, Full Text:
Keywords: Deep Learning, Vulnerability Detection, Source Code, BERT, Program Slicing
Abstract

SW 산업의 급속한 발전과 함께 새롭게 개발되는 코드와 비례해서 취약한 코드 또한 급증하고 있다. 기존에는 전문가가 수동으로 코드를 분석하여 취약점을 탐지하였지만 최근에는 증가하는 코드에 비해서 분석하는 인력이 부족하다. 이 때문에 기존 Vuldeepecker와 같은 많은 연구에서는 RNN 기반 모델을 이용하여 취약점을 탐지하였다. 그러나 RNN 모델은 코드의 양이 방대할수록 새롭게 입력되는 코드만 학습되고 초기에 입력된 코드는 최종 예측 결과에 영향을 주지 못하는 한계점이 있다. 또한 RNN 기반 방법은 입력에 Word2vec 모델을 사용하여 단어의 의미를 상징하는 embedding을 먼저 학습하여 고정 값으로 RNN 모델에 입력된다. 이는 서로 다른 문맥에서 다른 의미를 표현하지 못하는 한계점이 있다. BERT는 Transformer 모델을 기본 레이어로 사용하여 각 단어가 전체 문맥에서 모든 단어 간의 관계를 계산한다. 또한 MLM과 NST 방법으로 문장 간의 앞뒤 관계를 학습하기 때문에 취약점 탐지와 같은 코드 간 관계를 분석해야 할 필요가 있는 문제에서 적절한 방법이다. 본 논문에서는 BERT 모델과 결합하여 취약점 탐지하는 연구를 수행하였고 실험 결과 취약점 탐지의 정확성이 97.5%로 Vuldeepecker보다 정확성 1.5%. 효율성이 69%를 증가하였다.

Statistics
Show / Hide Statistics

Statistics (Cumulative Counts from December 1st, 2017)
Multiple requests among the same browser session are counted as one view.
If you mouse over a chart, the values of data points will be shown.


Cite this article
[IEEE Style]
김문회 and 오희국, "BERT를 이용한 딥러닝 기반 소스코드 취약점 탐지 방법 연구," Journal of The Korea Institute of Information Security and Cryptology, vol. 32, no. 6, pp. 1139-1150, 2022. DOI: 10.13089/JKIISC.2022.32.6.1096.

[ACM Style]
김문회 and 오희국. 2022. BERT를 이용한 딥러닝 기반 소스코드 취약점 탐지 방법 연구. Journal of The Korea Institute of Information Security and Cryptology, 32, 6, (2022), 1139-1150. DOI: 10.13089/JKIISC.2022.32.6.1096.