Skip to main content
QUICK REVIEW

[논문 리뷰] JSForce: A Forced Execution Engine for Malicious JavaScript Detection

Xunchao Hu, Yao Cheng|arXiv (Cornell University)|2017. 01. 26.
Advanced Malware Detection Techniques참고 문헌 23인용 수 6
한 줄 요약

JSForce는 입력이나 환경 설정 없이 악성 자바스크립트를 완전한 코드 커버리지로 검출하고 강력하게 탐지할 수 있도록 하는 자바스크립트를 위한 강제 실행 엔진이다. 런타임 예외를 견디기 위해 유형 추론과 경로 탐색을 사용함으로써, 거짓 경고 증가율이 미미한 상태에서 악성 자바스크립트 탐지율을 206.29% 향상시켰으며, 이는 동적 분석의 효과성을 크게 향상시킨다.

ABSTRACT

The drastic increase of JavaScript exploitation attacks has led to a strong interest in developing techniques to enable malicious JavaScript analysis. Existing analysis tech- niques fall into two general categories: static analysis and dynamic analysis. Static analysis tends to produce inaccurate results (both false positive and false negative) and is vulnerable to a wide series of obfuscation techniques. Thus, dynamic analysis is constantly gaining popularity for exposing the typical features of malicious JavaScript. However, existing dynamic analysis techniques possess limitations such as limited code coverage and incomplete environment setup, leaving a broad attack surface for evading the detection. To overcome these limitations, we present the design and implementation of a novel JavaScript forced execution engine named JSForce which drives an arbitrary JavaScript snippet to execute along different paths without any input or environment setup. We evaluate JSForce using 220,587 HTML and 23,509 PDF real- world samples. Experimental results show that by adopting our forced execution engine, the malicious JavaScript detection rate can be substantially boosted by 206.29% using same detection policy without any noticeable false positive increase. We also make JSForce publicly available as an online service and will release the source code to the security community upon the acceptance for publication.

연구 동기 및 목표

  • 기존 동적 분석 기법의 한계를 해결하기 위해, 악성 자바스크립트를 탐지할 때 코드 커버리지가 제한되고 런타임 환경 설정이 완전하지 못한 문제를 해결한다.
  • 정적 분석의 도전 과제를 극복하기 위해, 오브스컬레이션에 취약하고 높은 거짓 경고 및 거짓 부정 비율을 유발하는 문제를 해결한다.
  • 입력이나 환경 설정 없이도 임의의 자바스크립트 스니펫이 가능한 모든 경로를 따라 실행되도록 하는 강제 실행 엔진을 설계한다.
  • 코드 커버리지 향상과 잘못된 객체 접근에 대한 내성적 저항력을 높여 기존 동적 분석 시스템의 탐지 정확도를 향상시킨다.

제안 방법

  • JSForce는 실행 제어 및 예외 처리를 위한 저수준 제어를 가능하게 하기 위해 V8 자바스크립트 엔진 위에 구현되어 있다.
  • 유형 추론 모델을 사용하여 예외를 탐지하고 복구함으로써, 잘못된 객체 접근이 발생하더라도 실행을 계속할 수 있도록 한다.
  • 실행 경로 탐색 알고리즘을 설계하여 런타임 조건에 따라 달라지는 모든 가능한 실행 경로를 체계적으로 탐색한다.
  • 제어 흐름과 객체 상태를 조작하여 분기 결과를 강제로 유도함으로써, 일반 실행에서는 도달할 수 없는 경로도 실행할 수 있도록 한다.
  • 사전 정의된 환경 프로파일이나 기능이 풍부한 브라우저나 PDF 리더에 의존하지 않아 경량이고 이식 가능하다.
  • 기존의 동적 분석 파이프라인에 수정 없이 통합될 수 있도록 설계되어 있다.

실험 결과

연구 질문

  • RQ1입력이나 환경 설정 없이도 높은 코드 커버리지로 작동하는 자바스크립트 강제 실행 엔진을 구축할 수 있는가?
  • RQ2잘못된 객체 접근으로 인한 런타임 예외는 어떻게 처리하여 실행 중단을 방지할 수 있는가?
  • RQ3실제 HTML 및 PDF 샘플에서 강제 실행이 악성 자바스크립트 탐지율을 얼마나 향상시킬 수 있는가?
  • RQ4이러한 시스템은 최소한의 성능 오버헤드와 거짓 경고 증가 없이 독립형 서비스로 배포될 수 있는가?
  • RQ5기존 동적 분석 기법과 비교할 때 강제 실행은 내성적 저항력과 탐지 능력 측면에서 어떻게 다른가?

주요 결과

  • JSForce는 동일한 탐지 정책을 사용할 때 악성 자바스크립트 탐지율을 206.29% 향상시켜 효과성의 상당한 향상을 보였다.
  • 이 성과는 거짓 경고가 눈에 띄게 증가하지 않아 탐지 신뢰성을 유지했다.
  • JSForce의 성능 오버헤드는 일반적으로 미미하여 실제 분석 파이프라인에 통합하기에 적합했다.
  • 엔진은 HTML과 PDF 파일 내부의 임bedded 스크립트를 포함한 다양한 환경에서 자바스크립트 스니펫을 성공적으로 실행했다.
  • 유형 추론을 활용해 예외를 복구하고 실행을 계속함으로써, 잘못된 객체 접근에 대한 내성적 저항력을 입증했다.
  • 220,587개의 HTML 및 23,509개의 PDF 샘플에 대한 평가를 통해 실세계 환경에서의 접근 방식의 확장성과 내성적 저항력을 확인했다.

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.