DOI QR코드

DOI QR Code

Node.js Module Vulnerability Analysis: Based on AST and CFG

AST 와 CFG 에 기반한 Node.js 모듈 취약점 분석

  • Kim, Hee Yeon (Department of Cyber Defense, Korea University) ;
  • Oh, Ho Kyun (Department of Cyber Defense, Korea University) ;
  • Kim, Ji Hoon (Department of Cyber Defense, Korea University) ;
  • You, Jaewook (Korea Information Technology Research Institute(KITRI) Best of the Best) ;
  • Shin, Jeong Hoon (Korea Information Technology Research Institute(KITRI) Best of the Best) ;
  • Kim, Kyounggon (Graduate School of Information Security, Korea University)
  • 김희연 (고려대학교 사이버국방학과) ;
  • 오호균 (고려대학교 사이버국방학과) ;
  • 김지훈 (고려대학교 사이버국방학과) ;
  • 유재욱 (KITRI 한국정보기술연구원) ;
  • 신정훈 (KITRI 한국정보기술연구원) ;
  • 김경곤 (고려대학교 정보보호대학원)
  • Published : 2019.10.30

Abstract

웹어플리케이션의 발전에 따라 자바스크립트 런타임 플랫폼인 Node.js 의 사용도 증가하고 있다. 개발자들은 Node.js 의 다양한 모듈을 활용하여 프로그래밍을 하게 되는데, Node.js 모듈 보안의 중요성에 비하여 모듈 취약점 분석은 충분히 이루어지지 않고 있다. 본 논문에서는 소스코드의 구조를 트리 형태로 표현하는 Abstract Syntax Tree 와 소스코드의 실행 흐름 및 변수의 흐름을 그래프로 나타내는 Control Flow Graph/Data Flow Graph 가 Node.js 모듈 취약점 분석에 효율적으로 활용될 수 있음을 서술하고자 한다. Node.js 모듈은 여러 스크립트 파일로 나누어져 있다는 점과 사용자의 입력이 분명하다는 특징이 있다. 또한 자바스크립트 언어를 사용하므로 선언된 변수들의 타입에 따라 적용되는 범위인 scope 가 다르게 적용된다는 특징이 있다. 본 논문에서는 이러한 Node.js 모듈의 특징을 고려하여 Abstract Syntax Tree 및 Control Flow Graph/Data Flow Graph 을 어떻게 생성하고 취약점 분석에 활용할 것인지에 대한 방법론을 제안하고, 실제 분석에 활용할 수 있는 코드 구현을 통하여 구체화시키고자 한다.

Keywords