toplogo
Sign In

웹어셈블리를 활용한 다국어 악성코드 탐지 향상을 위한 정적 의미 재구성


Core Concepts
웹어셈블리의 등장으로 공격자들이 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는 실행 시간 측면에서도 실용적인 수준을 보였다.
Stats
기존 VirusTotal의 JWMM 탐지율은 49.1%에 불과했다. JWBinder 적용 후 VirusTotal의 JWMM 탐지율이 86.2%로 크게 향상되었다. JWBinder 적용 후 VirusTotal에서 평균 8.3개의 AV 엔진이 JWMM을 탐지할 수 있게 되었다.
Quotes
"웹어셈블리의 등장으로 공격자들이 JavaScript 악성코드의 악의적 기능을 교차 언어 상호 작용으로 숨길 수 있게 되었다." "기존 정적 프로그램 분석 기반 백신 솔루션은 단일 언어 코드에 국한되어 있어 이러한 다국어 악성코드에 대한 탐지 효과가 크게 감소한다."

Deeper Inquiries

JavaScript와 WebAssembly 간 상호 작용을 완전히 파악하기 위해서는 어떤 추가적인 분석이 필요할까?

JavaScript와 WebAssembly 간의 상호 작용을 완전히 이해하기 위해서는 더 깊은 수준의 분석이 필요합니다. 현재의 정적 분석 기법은 주로 코드 흐름과 데이터 의존성을 분석하지만, WebAssembly의 특성과 JavaScript와의 상호 작용을 완전히 이해하기 위해서는 WebAssembly의 세부적인 동작 방식과 JavaScript와의 인터페이스에 대한 더 깊은 이해가 필요합니다. 또한, WebAssembly의 동적 특성과 실행 시 생성되는 코드/데이터에 대한 분석도 고려해야 합니다. 이를 통해 JWMM의 숨겨진 악성 기능을 완전히 이해하고 탐지할 수 있을 것입니다.

동적 코드/데이터 생성 기법을 우회할 수 있는 방법은 무엇일까?

동적 코드/데이터 생성 기법을 우회하고 보다 효과적으로 탐지하기 위해서는 정적 분석 기법과 동적 분석 기법을 효과적으로 결합하는 하이브리드 접근법을 사용할 수 있습니다. 정적 분석은 코드의 구조와 흐름을 분석하여 잠재적인 위협을 식별하는 데 도움을 줄 수 있지만, 동적 분석은 코드의 실행 중 행동을 실시간으로 모니터링하여 악성 활동을 감지할 수 있습니다. 이러한 하이브리드 접근법은 정적 분석의 깊이 있는 이해와 동적 분석의 실시간 감시를 결합하여 보다 효과적으로 동적 코드/데이터 생성 기법을 우회하고 악성 코드를 식별할 수 있습니다.

JWBinder와 같은 정적 분석 기법이 아닌 다른 접근법으로 JWMM을 탐지할 수 있는 방법은 무엇이 있을까?

JWMM을 탐지하기 위한 다른 접근법으로는 동적 분석, 행위 기반 분석, 머신 러닝을 활용한 탐지 등이 있습니다. 동적 분석은 코드의 실행 중 행동을 분석하여 악성 활동을 감지하는 방법으로, JWMM의 동적 특성을 파악하고 악성 행동을 탐지할 수 있습니다. 행위 기반 분석은 악성 행동 패턴을 식별하고 이를 기반으로 악성 코드를 탐지하는 방법으로, JWMM의 특정 행동 패턴을 분석하여 악성 코드를 식별할 수 있습니다. 머신 러닝을 활용한 탐지는 대규모 데이터를 기반으로 악성 코드의 패턴을 학습하고 이를 기반으로 JWMM을 탐지하는 방법으로, 정적 분석 외에 다양한 특징을 활용하여 JWMM을 식별할 수 있습니다. 이러한 다양한 접근법을 종합적으로 활용하여 JWMM을 효과적으로 탐지할 수 있습니다.
0
visual_icon
generate_icon
translate_icon
scholar_search_icon
star