Skip to main content
QUICK REVIEW

[논문 리뷰] ATVHunter: Reliable Version Detection of Third-Party Libraries for Vulnerability Identification in Android Applications

Xian Zhan, Lingling Fan|arXiv (Cornell University)|2021. 02. 16.
Advanced Malware Detection Techniques참고 문헌 28인용 수 7
한 줄 요약

ATVHunter는 제어 흐름 그래프(CFG) 매칭을 통한 거시적 분석과 오브젝트 코드 수준 분석을 통한 미시적 분석을 결합한 이중 단계 접근 방식을 사용하여 안드로이드 앱 내 제3자 라이브러리(TPL) 버전을 정확하게 탐지할 수 있는 정적 분석 시스템이다. ATVHunter는 TPL 버전 탐지에서 90.55%의 정밀도와 88.79%의 재현율을 달성하였으며, 9,050개 앱에서 53,337개의 취약점과 7,480개의 보안 버그를 식별하였고, 기존 도구들에 비해 정확성과 오브젝션에 대한 내성에서 뛰어난 성능을 보였다.

ABSTRACT

We propose a system, named ATVHunter, which can pinpoint the precise vulnerable in-app TPL versions and provide detailed information about the vulnerabilities and TPLs. We propose a two-phase detection approach to identify specific TPL versions. Specifically, we extract the Control Flow Graphs as the coarse-grained feature to match potential TPLs in the pre-defined TPL database, and then extract opcode in each basic block of CFG as the fine-grained feature to identify the exact TPL versions. We build a comprehensive TPL database (189,545 unique TPLs with 3,006,676 versions) as the reference database. Meanwhile, to identify the vulnerable in-app TPL versions, we also construct a comprehensive and known vulnerable TPL database containing 1,180 CVEs and 224 security bugs. Experimental results show ATVHunter outperforms state-of-the-art TPL detection tools, achieving 90.55% precision and 88.79% recall with high efficiency, and is also resilient to widely-used obfuscation techniques and scalable for large-scale TPL detection. Furthermore, to investigate the ecosystem of the vulnerable TPLs used by apps, we exploit ATVHunter to conduct a large-scale analysis on 104,446 apps and find that 9,050 apps include vulnerable TPL versions with 53,337 vulnerabilities and 7,480 security bugs, most of which are with high risks and are not recognized by app developers.

연구 동기 및 목표

  • 안드로이드 앱 내 제3자 라이브러리(TPL)의 정확하고 신뢰할 수 있는 버전 수준 탐지를 위한 핵심적 격차를 해소하기 위해.
  • 오브젝션, 버전 모호성, TPL 데이터베이스의 불완전성 등의 원인으로 기존 도구들이 정확한 TPL 버전을 식별하지 못하는 한계를 극복하기 위해.
  • 정확한 취약점 식별을 위해 알려진 취약한 TPL 버전(1,180개의 CVE와 224개의 보안 버그)을 포함한 포괄적이고 공개 가능한 데이터베이스를 구축하기 위해.
  • 실제 안드로이드 앱에서 광범위하게 퍼진 고위험 취약점에 노출된 TPL을 대규모로 탐지하기 위해.
  • 개발자와 앱 마켓이 TPL 보안 위험과 업데이트 정보에 대해 실질적인 통찰을 확보할 수 있도록 지원하기 위해.

제안 방법

  • ATVHunter는 이중 단계 탐지 파이프라인을 사용한다: 첫 번째 단계에서 제어 흐름 그래프(CFG)를 거시적 특징으로 추출하여 대규모 TPL 데이터베이스와 잠재적 TPL을 매칭한다.
  • 두 번째 단계에서 CFG의 각 기본 블록 내 오브젝트 코드를 분석하여 미세한 수준의 매칭을 수행하고 정확한 TPL 버전을 식별한다.
  • 실제 라이브러리의 광범위한 커버리지와 함께 189,545개의 고유한 TPL과 3,006,676개의 버전을 포함한 포괄적인 TPL 데이터베이스를 구축한다.
  • 정확한 취약점 관련성 분석을 위해 1,180개의 CVE와 224개의 알려진 보안 버그를 포함한 전용 취약한 TPL 버전 데이터베이스를 구축한다.
  • 코드 재배치와 이름 변경과 같은 일반적인 오브젝션 기법에 저항할 수 있도록 설계되어, 오브젝션 처리된 앱에서도 높은 정확도를 유지한다.
  • 런타임 종속성을 피하기 위해 정적 분석을 활용하고, 대규모 앱 코퍼스를 효율적이고 확장 가능하게 처리할 수 있도록 한다.

실험 결과

연구 질문

  • RQ1CFG 수준 및 오브젝트 코드 수준 특징을 결합한 이중 단계 정적 분석 접근 방식이 오브젝션 처리된 안드로이드 앱에서 정확한 TPL 버전을 신뢰성 있게 탐지할 수 있는가?
  • RQ2ATVHunter가 최신 기술 수준의 TPL 탐지 도구들에 비해 정밀도와 재현율 측면에서 취약한 TPL 버전 탐지에 얼마나 효과적인가?
  • RQ3실제 안드로이드 애플리케이션에서 취약한 TPL 사용의 진정한 규모와 위험 프로파일은 어떠한가?
  • RQ4기존 도구들이 버전 해석 및 데이터베이스 완전성의 한계로 인해 취약한 TPL 버전을 얼마나 자주 탐지하지 못하는가?
  • RQ5개발자와 앱 마켓은 현재 TPL 보안 위험을 어떻게 관리하고 있으며, ATVHunter와 같은 자동화된 도구가 이를 향상시키는 데 어떤 역할을 할 수 있는가?

주요 결과

  • ATVHunter는 정확도와 내성 면에서 기존 도구들을 뛰어넘어 정확한 TPL 버전 탐지에서 90.55%의 정밀도와 88.79%의 재현율을 달성하였다.
  • 시스템은 분석 대상인 104,446개 앱 중 9,050개 앱에서 53,337개의 취약점과 7,480개의 보안 버그를 성공적으로 식별하였으며, 고위험 TPL에 대한 광범위한 노출을 드러냈다.
  • ATVHunter는 코드 재배치와 이름 변경과 같은 일반적인 오브젝션 기법에 저항하여, 심하게 오브젝션 처리된 앱에서도 높은 탐지 정확도를 유지한다.
  • 연구 결과에 따르면 78%의 취약점이 간접 종속성에 존재함을 확인하였으며, 이는 숨겨진 위험을 드러내기 위해 정확한 버전 수준 탐지의 필요성을 강조한다.
  • 많은 개발자들이 자신의 앱 내 취약한 TPL 버전을 인지하지 못하고 있으며, 기존 앱 마켓는 이러한 위험을 경고할 수 있는 자동화된 메커니즘이 부족하여 ATVHunter와 같은 도구의 필요성을 부각시킨다.
  • 구축된 TPL 및 취약한 TPL 버전 데이터베이스(189,545개의 TPL, 300만 개 이상의 버전, 1,180개의 CVE, 224개의 보안 버그)는 공개되어 있으며 향후 연구의 기초 자원으로 활용될 수 있다.

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

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

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

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