논문 분석

시스템 API 호출 순서정보를 통한 안드로이드 악성코드 패밀리 분류기법

bbostudyy 2025. 5. 28. 03:37

선정 이유

최근  악성코드의 피해 사례가 점점 더 늘어나고 있는 만큼 단순한 정적 분석만으로는 최신 악성코드의 고도화된 공격을 제대로 탐지해내기 어려운 상황이 계속되고 있습니다. 이 논문에서 제시하는 시스템 API 호출 순서라는 새로운 분석 관점으로 악성코드를 구분하는 방법이 보안 분야에서 의미 있는 시도라고 생각했다. 그래서 최신 보안 위협과 대응 기술의 흐름을 이해하기 위해 선정하게 되었다.

 

서론

모바일 기기의 대중화와 함께 보안 위협도 급격히 증가하고 있으며, 특히 안드로이드 악성코드는 해마다 고도화되고 다양한 형태로 발전해왔다. 기존의 정적 분석 기반 탐지 방식은 난독화, 암호화, 안티디버깅 기법으로 인해 탐지가 어려워지고 있으며, 시스템 API 호출 횟수를 기반으로 한 기존 연구도 유사한 기술을 사용하는 악성코드에는 한계가 있다. 이를 해결하기 위해 본 논문은 시스템 API 호출 순서 정보를 기반으로 악성코드 패밀리를 분류하는 프레임워크를 제안한다. 기존 연구에서는 가설 검증을 위해 제한된 샘플과 수동 분석 중심이었으나, 본 연구에서는 자동화 프레임워크를 개발하여 실제 환경에서도 효율적인 분류가 가능함을 보여준다.

 

본론

2. 배경지식 및 관련 연구

 

2.1 안드로이드 시스템 API 배경지식

 

  • 안드로이드는 Linux 커널 위에서 동작하며, 앱 실행 시 시스템 API를 통해 자원에 접근.
  • 시스템 API 호출은 악성코드의 행동 분석에 중요한 데이터이며, 이를 추출하기 위해 ADB를 활용.

2.2 시스템 API 호출 기반 연구

  • 기존 연구들은 시스템 API 호출 횟수 분석에 의존, 난독화/암호화된 악성코드 탐지에 한계가 존재.
  • 본 연구는 호출 순서 정보를 활용해, 같은 호출 횟수를 가진 악성코드도 분류 가능함을 강조.

2.3 Dynamic Time Warping(DTW) 알고리즘

  • DTW는 길이나 속도가 다른 두 시계열 데이터의 유사성을 비교하는 알고리즘.
  • Euclidean 거리 기반 단순 비교는 1:1 매칭만 가능하지만, DTW는 1:n 매칭을 통해 시간 왜곡(Warping)을 보정하여 유사도를 측정함.
  • 연구에서는 Cosine, SBD 알고리즘과 비교했을 때, DTW가 패밀리 간 유사성 구분에 가장 효과적임을 확인함.

 

2.4 기존 연구와의 차이점

기존 연구:

  • 가상 머신 기반 분석 → 가상환경 탐지 우회 악성코드 탐지 불가.
  • 동일한 변수명/공격기법 사용 → 정적 분석에서는 구분 어려움.
  • 대용량 strace 데이터 학습 → 처리 비용 및 시간 부담.

개선점:

  • 실제 기기 환경 분석 지원.
  • 시스템 API 호출 순서 기반 분석 → 동일 API 호출 횟수라도 실행 흐름의 차이를 감지 가능.
  • 데이터 전처리 과정(필요 API와 매개변수 필터링)을 통해 데이터 크기 감소, 처리 시간 단축.

 

3. 시스템 API 호출 순서 정보를 통한 분류 프레임 워크

시스템 API 호출 순서 정보를 활용해 악성코드 패밀리를 분류하는 프레임워크의 구조와 각 단계별 모듈을 설명한다.

  • 시스템 API 호출 순서 정보 추출

QEMU/KVM 기반의 안드로이드 환경을 구축하고, ADB 명령어로 APK를 설치 및 실행한다. strace 도구를 통해 Zygote 프로세스와 생성된 자식 프로세스의 API 호출 로그를 추출한다.

  • 시스템 API 호출 순서 정보 전처리

추출된 로그에는 마우스 좌표 처리, 버튼 클릭 등 불필요한 호출이 포함되므로, 이를 정규표현식 필터링을 통해 제거한다.

ex) pread64, write 함수 등에서 발생하는 클릭 이벤트 데이터 = 제외

  • 시스템 API 호출 순서 정보 분류

전처리된 API 호출 데이터를 정수로 변환한 뒤, DTW(Dynamic Time Warping) 알고리즘에 입력해 악성코드의 행동 패턴 유사성을 분석한다. 단순히 호출 횟수가 아닌 호출 순서의 흐름까지 고려해 패밀리를 분류해야 함.

↓ 

  • 시스템 API 호출 순서 정보 분류 기준 수립

DTW로 계산된 거리 값 중 최솟값의 최솟값을 기준으로 각 패밀리의 분류 기준을 정하는 과정으로

기준값과 가장 가까운 그룹 = 해당 패밀리로 분류

기준값과 크게 다른 그룹 = 새로운 패밀리로 분류

 

결론

 

4.1 분류 결과

Trojan과 FakeInstall 계열 내의 다른 패밀리들이 서로 다른 호출 순서 패턴을 보임을 확인

 

4.2 분류 정확도 검증

 

  • DTW 거리 기준을 통해 샘플들이 올바른 패밀리로 분류되는지 검증했다.
  • 결과적으로 대부분의 샘플이 DTW 거리 0 또는 최소값으로, 정확하게 패밀리 분류됨을 확인했다.
  • VirusTotal 분석 결과 및 AndroZoo 라벨과도 일치함을 통해 프레임워크의 유효성을 입증했다.

느낀점 및 배운점

이번 논문을 읽으면서 단순히 API 호출 횟수만으로 악성코드를 탐지하는 것이 아니라, 행위의 흐름을 파악해 분류하는 방법이 더 효과적일 수 있다는 점을 새롭게 배웠다. 특히 호출 순서라는 데이터의 숨겨진 의미를 분석에 활용하는 과정이 인상적이었고, 이런 접근법이 앞으로 다양한 보안 분야에서도 활용될 수 있을 것 같아 흥미로웠다.