연구 영역
기본 정보
논문·특허
과제
구성원
Article|
인용수 43
·2019
Instruction2vec: Efficient Preprocessor of Assembly Code to Detect Software Weakness with CNN
Yongjun Lee, Hyun Kwon, Sang-Hoon Choi, Seung‐Ho Lim, Sung Hoon Baek, Ki-Woong Park
IF 2.474 (2019) Applied Sciences
초록

컴퓨터 시스템에 악용 가능한 보안 취약성으로 이어질 수 있는 잠재적 소프트웨어 취약성은 지속적으로 위험을 초래하고 있다. Common Vulnerability and Exposures에 따르면 2017년에 보고된 취약성은 14,714건으로 2016년에 보고된 건수의 두 배 이상이었다. 취약성을 효율적으로 탐지하기 위해 자동화된 취약성 탐지가 권고되었다. 탐지 기법 중 정적 바이너리 분석은 기존 패턴을 바탕으로 소프트웨어 취약성을 탐지한다. 또한 이는 기존 패턴 또는 규칙에 근거하기 때문에, 알려지지 않은 취약성이 발견될 때마다 새로운 규칙을 추가하고 패치하는 데 어려움이 있다. 이러한 한계를 극복하기 위해 우리는 Instruction2vec—기계학습을 활용한 개선된 정적 바이너리 분석 기법—이라는 새로운 방법을 제안한다. 우리의 프레임워크는 두 단계로 구성된다: (1) Word2vec에 기반하여 Instruction2vec으로 어셈블리 코드를 효율적으로 모델링하고, (2) 패턴이나 규칙을 생성하지 않고 Text-CNN의 특징 추출을 통해 소프트웨어 취약성 코드의 특징을 학습하여 새로운 소프트웨어 취약성을 탐지한다. 우리는 Instruction2vec의 효율성을 평가하기 위해 세 가지 프레임워크—Instruction2vec, Word2vec, Binary2img—의 전처리 성능을 비교하였다. 학습에는 Juliet Test Suite, 특히 Common Weakness Enumeration(CWE)-121과 관련된 부분을 사용하였고, 테스트에는 Securely Taking On New Executable Software of Uncertain Provenance (STONESOUP)를 사용하였다. 실험 결과, 제안된 체계는 어셈블리 코드의 91% 정확도로 소프트웨어 취약성을 탐지할 수 있음을 보여주었다.

*본 초록은 AI를 통해 원문을 번역한 내용입니다. 정확한 내용은 하기 원문에서 확인해주세요.

키워드
Computer sciencePreprocessorSoftwareMachine learningData miningArtificial intelligenceCode (set theory)Programming language
타입
Article
IF / 인용수
2.474 / 43
게재 연도
2019