Core Concepts
JITScanner는 실행 시간에 실행 페이지의 내용을 검사하여 악성 코드를 탐지하는 솔루션이다. 이를 통해 동적 로딩 및 난독화 기법을 사용하는 악성 프로그램을 효과적으로 탐지할 수 있다.
Abstract
JITScanner는 리눅스 운영 체제에서 실행 시간에 실행 페이지의 내용을 검사하여 악성 코드를 탐지하는 솔루션이다. 이 솔루션은 커널 수준의 모듈과 사용자 수준의 구성 요소로 구성되어 있다.
커널 수준의 모듈은 실행 페이지에 대한 첫 번째 접근을 가로채고 페이지 내용을 동기적으로 검사한다. 이 검사에서 악성 코드가 발견되면 애플리케이션을 종료시킨다.
사용자 수준의 구성 요소는 커널 수준에서 전달받은 페이지 스냅샷을 비동기적으로 분석한다. 이 분석에서 추가적인 악성 코드 징후가 발견되면 애플리케이션을 차단할 수 있다.
JITScanner는 특히 WX(Write-Execute) 페이지에 대한 관리를 위해 커널 수준에서 섀도우 상태 머신을 구현하였다. 이를 통해 WX 페이지의 내용 변화를 추적하고 실행 시 검사할 수 있다.
실험 결과, JITScanner는 기존 솔루션에 비해 악성 프로그램 탐지 능력이 우수하며, 일반 애플리케이션과 JIT 컴파일 기반 애플리케이션에 대해 매우 낮은 성능 오버헤드를 보였다.
Stats
일반 애플리케이션에 대한 JITScanner의 성능 오버헤드는 7-13% 수준이다.
JIT 컴파일 기반 애플리케이션에 대한 JITScanner의 성능 오버헤드는 대부분 10% 미만이다.
Quotes
"JITScanner는 실행 시간에 실행 페이지의 내용을 검사하여 악성 코드를 탐지하는 솔루션이다."
"JITScanner는 WX 페이지의 내용 변화를 추적하고 실행 시 검사할 수 있는 섀도우 상태 머신을 구현하였다."