웹어셈블리의 등장으로 공격자들이 JavaScript 악성코드의 악의적 기능을 교차 언어 상호 작용으로 숨길 수 있게 되었다. 기존 정적 프로그램 분석 기반 백신 솔루션은 단일 언어 코드에 국한되어 있어 이러한 다국어 악성코드에 대한 탐지 효과가 크게 감소한다. JWBinder는 언어 간 상호 작용을 포착하고 통합된 고수준 구조인 Inter-language Program Dependency Graph를 통해 다국어 악성코드의 기능을 특성화함으로써 기존 백신 솔루션의 탐지 성능을 크게 향상시킨다.
Abstract
이 논문은 JavaScript-WebAssembly 다국어 악성코드(JWMM)에 대한 탐지 기술인 JWBinder를 제안한다. JWMM은 공격자들이 JavaScript와 WebAssembly 간 상호 작용을 악용하여 악의적 기능을 숨기는 새로운 형태의 악성코드이다.
JWBinder는 두 단계로 구성된다:
언어 특정 데이터 흐름 분석: JWBinder는 JavaScript PDG를 생성하고 양방향 데이터 흐름 분석을 수행하여 JavaScript와 WebAssembly 간 상호 작용을 포착한다.
정적 의미 재구성: JWBinder는 WebAssembly 유닛의 코드와 데이터를 추상화하고 이를 JavaScript PDG에 통합하여 통일된 Inter-language PDG(IPDG)를 구축한다. 이후 IPDG를 기반으로 순수 JavaScript 프로그램을 재구성하여 기존 백신 솔루션에서 활용할 수 있도록 한다.
JWBinder의 평가 결과, VirusTotal의 JWMM 탐지율을 49.1%에서 86.2%로 크게 향상시켰다. 또한 JWBinder는 실행 시간 측면에서도 실용적인 수준을 보였다.
Static Semantics Reconstruction for Enhancing JavaScript-WebAssembly Multilingual Malware Detection
Stats
기존 VirusTotal의 JWMM 탐지율은 49.1%에 불과했다.
JWBinder 적용 후 VirusTotal의 JWMM 탐지율이 86.2%로 크게 향상되었다.
JWBinder 적용 후 VirusTotal에서 평균 8.3개의 AV 엔진이 JWMM을 탐지할 수 있게 되었다.
Quotes
"웹어셈블리의 등장으로 공격자들이 JavaScript 악성코드의 악의적 기능을 교차 언어 상호 작용으로 숨길 수 있게 되었다."
"기존 정적 프로그램 분석 기반 백신 솔루션은 단일 언어 코드에 국한되어 있어 이러한 다국어 악성코드에 대한 탐지 효과가 크게 감소한다."
JavaScript와 WebAssembly 간 상호 작용을 완전히 파악하기 위해서는 어떤 추가적인 분석이 필요할까?
JavaScript와 WebAssembly 간의 상호 작용을 완전히 이해하기 위해서는 더 깊은 수준의 분석이 필요합니다. 현재의 정적 분석 기법은 주로 코드 흐름과 데이터 의존성을 분석하지만, WebAssembly의 특성과 JavaScript와의 상호 작용을 완전히 이해하기 위해서는 WebAssembly의 세부적인 동작 방식과 JavaScript와의 인터페이스에 대한 더 깊은 이해가 필요합니다. 또한, WebAssembly의 동적 특성과 실행 시 생성되는 코드/데이터에 대한 분석도 고려해야 합니다. 이를 통해 JWMM의 숨겨진 악성 기능을 완전히 이해하고 탐지할 수 있을 것입니다.
동적 코드/데이터 생성 기법을 우회할 수 있는 방법은 무엇일까?
동적 코드/데이터 생성 기법을 우회하고 보다 효과적으로 탐지하기 위해서는 정적 분석 기법과 동적 분석 기법을 효과적으로 결합하는 하이브리드 접근법을 사용할 수 있습니다. 정적 분석은 코드의 구조와 흐름을 분석하여 잠재적인 위협을 식별하는 데 도움을 줄 수 있지만, 동적 분석은 코드의 실행 중 행동을 실시간으로 모니터링하여 악성 활동을 감지할 수 있습니다. 이러한 하이브리드 접근법은 정적 분석의 깊이 있는 이해와 동적 분석의 실시간 감시를 결합하여 보다 효과적으로 동적 코드/데이터 생성 기법을 우회하고 악성 코드를 식별할 수 있습니다.
JWBinder와 같은 정적 분석 기법이 아닌 다른 접근법으로 JWMM을 탐지할 수 있는 방법은 무엇이 있을까?
JWMM을 탐지하기 위한 다른 접근법으로는 동적 분석, 행위 기반 분석, 머신 러닝을 활용한 탐지 등이 있습니다. 동적 분석은 코드의 실행 중 행동을 분석하여 악성 활동을 감지하는 방법으로, JWMM의 동적 특성을 파악하고 악성 행동을 탐지할 수 있습니다. 행위 기반 분석은 악성 행동 패턴을 식별하고 이를 기반으로 악성 코드를 탐지하는 방법으로, JWMM의 특정 행동 패턴을 분석하여 악성 코드를 식별할 수 있습니다. 머신 러닝을 활용한 탐지는 대규모 데이터를 기반으로 악성 코드의 패턴을 학습하고 이를 기반으로 JWMM을 탐지하는 방법으로, 정적 분석 외에 다양한 특징을 활용하여 JWMM을 식별할 수 있습니다. 이러한 다양한 접근법을 종합적으로 활용하여 JWMM을 효과적으로 탐지할 수 있습니다.
0
Visualize This Page
Generate with Undetectable AI
Translate to Another Language
Scholar Search
Table of Content
웹어셈블리를 활용한 다국어 악성코드 탐지 향상을 위한 정적 의미 재구성
Static Semantics Reconstruction for Enhancing JavaScript-WebAssembly Multilingual Malware Detection
JavaScript와 WebAssembly 간 상호 작용을 완전히 파악하기 위해서는 어떤 추가적인 분석이 필요할까?
동적 코드/데이터 생성 기법을 우회할 수 있는 방법은 무엇일까?
JWBinder와 같은 정적 분석 기법이 아닌 다른 접근법으로 JWMM을 탐지할 수 있는 방법은 무엇이 있을까?