Skip to main content
QUICK REVIEW

[논문 리뷰] AdSplit: Separating smartphone advertising from applications

Shashi Shekhar, Michael Dietz|arXiv (Cornell University)|2012. 02. 17.
Advanced Malware Detection Techniques참고 문헌 33인용 수 154
한 줄 요약

AdSplit는 광고를 호스트 애플리케이션에서 분리하기 위해 광고를 별도의 사용자 ID를 가진 격리된 프로세스에서 실행함으로써 허가 권한 과잉 문제를 해결하고 광고 상호작용의 원격 검증을 가능하게 하는 시스템이다. 이 시스템은 최소한의 런타임 오버헤드를 달성하고 HTML 기반 광고를 지원함으로써 신뢰성과 프라이버시 위험을 줄이며 보안성과 사용자 경험을 향상시킨다.

ABSTRACT

A wide variety of smartphone applications today rely on third-party advertising services, which provide libraries that are linked into the hosting application. This situation is undesirable for both the application author and the advertiser. Advertising libraries require additional permissions, resulting in additional permission requests to users. Likewise, a malicious application could simulate the behavior of the advertising library, forging the user's interaction and effectively stealing money from the advertiser. This paper describes AdSplit, where we extended Android to allow an application and its advertising to run as separate processes, under separate user-ids, eliminating the need for applications to request permissions on behalf of their advertising libraries. We also leverage mechanisms from Quire to allow the remote server to validate the authenticity of client-side behavior. In this paper, we quantify the degree of permission bloat caused by advertising, with a study of thousands of downloaded apps. AdSplit automatically recompiles apps to extract their ad services, and we measure minimal runtime overhead. We also observe that most ad libraries just embed an HTML widget within and describe how AdSplit can be designed with this in mind to avoid any need for ads to have native code.

연구 동기 및 목표

  • 제3자 광고 라이브러리가 과도한 사용자 권한을 요구함으로써 발생하는 안드로이드 앱의 허가 권한 과잉 문제를 해결하기 위해.
  • 클릭 사기 방지를 위해 광고 상호작용을 원격 서버에서 검증할 수 있도록 하여 광고주가 정확한 성과 데이터를 확보할 수 있도록 하기 위해.
  • 광고 로직을 메인 애플리케이션에서 분리함으로써 결함 격리와 사용자 프라이버시를 향상시키기 위해.
  • 안정적이고 격리된 광고 실행을 통해 앱이 민감한 사용자 데이터를 수집할 동기를 줄이기 위해.

제안 방법

  • 안드로이드를 확장하여 애플리케이션과 광고 컴포넌트를 별도의 프로세스로 실행하고, 각각 다른 사용자 ID를 할당한다.
  • Quire의 메커니즘을 활용해 클라이언트 측 광고 상호작용을 검증하고 악성 앱이 위조하는 것을 방지한다.
  • 기존 애플리케이션을 자동으로 재컴파일하기 위해 바이너리 리라이터를 활용하여 광고 라이브러리를 추출하고 격리한다.
  • HTML 기반 광고를 설계하여 네이티브 코드를 피하고 최소한의 시스템 통합으로 웹과 유사한 실행 방식을 가능하게 한다.
  • 안드로이드의 IPC 및 프로세스 격리 기능을 활용해 애플리케이션과 광고 간의 보안 경계를 강제한다.
  • TaintDroid와 같은 동적 타인팅 분 析 시스템과 통합하여 광고 컴포넌트로의 민감한 데이터 유출을 탐지하고 방지한다.

실험 결과

연구 질문

  • RQ1광고 라이브러리가 안드로이드 애플리케이션의 허가 권한 과잉에 얼마나 기여하는가?
  • RQ2호스트 애플리케이션을 신뢰하지 않고도 원격 서버가 광고 상호작용을 안전하게 검증할 수 있는가?
  • RQ3안드로이드에서 광고를 별도의 프로세스로 격리할 경우 성능 오버헤드는 어느 정도인가?
  • RQ4기존 안드로이드 애플리케이션을 자동으로 격리된 광고 아키텍처를 사용하도록 변환할 수 있는가?
  • RQ5네이티브 코드 대신 웹 기술(HTML/JS)을 사용하여 광고 기능을 완전히 구현할 수 있는가?

주요 결과

  • 분석한 10,000개의 안드로이드 앱 중 35%가 두 개 이상의 광고 라이브러리를 사용하여 허가 요청 수가 크게 증가했다.
  • 많은 광고 라이브러리가 문서화된 것보다 더 많은 권한을 요청하며, 버전 간 권한 세트가 다름으로써 허가 권한 과잉 문제가 악화된다.
  • AdSplit는 광고 라이브러리가 자체 권한을 요청할 수 있도록 하여 메인 앱에 부담을 지우지 않으면서도 허가 권한 과잉을 줄였다.
  • 시스템은 최소한의 런타임 오버헤드를 달성했으며 벤치마킹 결과에서 성능 영향이 거의 없음을 확인했다.
  • 대부분의 광고 라이브러리가 HTML 위젯을 내장하고 있어 AdSplit의 웹 기반 비네이티브 실행 모델에 매우 적합하다.
  • AdSplit는 Quire를 통해 UI 이벤트의 원격 검증을 가능하게 하여 악성 앱이 광고 클릭이나 노출를 위조하는 것을 방지한다.

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

연구 설계부터 논문 작성까지, 연구 시간을 획기적으로 줄여보세요.

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

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