Skip to main content
QUICK REVIEW

[논문 리뷰] Loophole: Timing Attacks on Shared Event Loops in Chrome

Pepe Vila, Boris Köpf|arXiv (Cornell University)|2017. 02. 22.
Security and Verification in Computing인용 수 16
한 줄 요약

이 논문은 Google Chrome의 I/O 및 렌더러 스레드에서 공유 이벤트 루프가 사이드채널 타이밍 공격에 취약함을 입증한다. 악성 웹 페이지는 삽입된 이벤트의 딜레이를 측정함으로써 웹 페이지 식별, 사용자 행동 추적, 코어프트 채널을 통한 데이터 유출을 가능하게 한다. 이 공격은 페이지당 하나의 학습 샘플만으로도 최대 75%의 페이지 식별 정확도를 달성한다.

ABSTRACT

Event-driven programming (EDP) is the prevalent paradigm for graphical user interfaces, web clients, and it is rapidly gaining importance for server-side and network programming. Central components of EDP are {\em event loops}, which act as FIFO queues that are used by processes to store and dispatch messages received from other processes. In this paper we demonstrate that shared event loops are vulnerable to side-channel attacks, where a spy process monitors the loop usage pattern of other processes by enqueueing events and measuring the time it takes for them to be dispatched. Specifically, we exhibit attacks against the two central event loops in Google's Chrome web browser: that of the I/O thread of the host process, which multiplexes all network events and user actions, and that of the main thread of the renderer processes, which handles rendering and Javascript tasks. For each of these loops, we show how the usage pattern can be monitored with high resolution and low overhead, and how this can be abused for malicious purposes, such as web page identification, user behavior detection, and covert communication.

연구 동기 및 목표

  • Chrome의 이벤트 기반 아키텍처에서 공유 이벤트 루프가 정보 유출을 위한 사이드채널로 악용될 수 있는지 조사한다.
  • 다른 프로세스로부터 민감한 정보를 유추하기 위해 이벤트 딜레이 시간을 모니터링하는 실용적인 타이밍 공격을 구현한다.
  • 이벤트 루프 타이밍을 활용한 웹 페이지 식별, 사용자 활동 추적, 크로스 오리진 간 암시적 통신의 가능성 여부를 평가한다.
  • CPU 타이밍 조절 및 프로세스 격리와 같은 실제 브라우저 환경 제약 조건 하에서 이러한 공격의 효과성과 은밀함을 평가한다.

제안 방법

  • 공격은 postMessage와 같은 비동기 JavaScript API를 사용하여 이벤트를 렌더러 스레드의 이벤트 루프에 삽입하고, 25μs 해상도로 딜레이 시간을 측정한다.
  • 호스트 프로세스 이벤트 루프의 경우, 도달 불가능한 IP로의 네트워크 요청(500μs 해상도)과 SharedWorker 메시지(100μs 해상도)를 활용한다.
  • 페이지 로딩 중의 이벤트 딜레이 패턴을 동적 시간 왜곡(DTW)을 사용해 캡처하고 분석하여 웹 페이지를 분류 및 식별한다.
  • 사용자가 크로스 오리진 폼(예: Google OAuth 로그인 필드)에 입력할 때의 이벤트 딜레이 시간 차이를 측정하여 사용자 행동을 추론한다.
  • 이벤트 딜레이 시간을 변조하여 암시적 채널을 구축하였으며, 렌더러 메인 스레드를 통해 200 bit/s, 프로세스 간 전송을 통해 50 bit/s의 대역폭을 달성했다.
  • 공격은 브라우저 외부에서의 특권 접근이나 실행 없이도 단일 악성 HTML 페이지 내에서 완전히 구현되었다.

실험 결과

연구 질문

  • RQ1Chrome의 I/O 및 렌더러 스레드에서 공유 이벤트 루프가 정보 유출을 위한 사이드채널로 악용될 수 있는가?
  • RQ2최소한의 학습 데이터로 이벤트 딜레이 타이밍을 얼마나 정확히 웹 페이지를 유일하게 식별하는 데 활용할 수 있는가?
  • RQ3사용자 입력(예: 키보드 입력)이 크로스 오리진 컨텍스트에서 이벤트 루프 딜레이를 관찰함으로써 감지될 수 있는가?
  • RQ4이벤트 루프 타이밍을 활용한 암시적 채널의 구현 가능한 대역폭는 얼마인가?
  • RQ5CPU 타이밍 조절 및 사이트 격리와 같은 기존 브라우저 방어 조치가 이러한 공격을 효과적으로 방지할 수 있는가?

주요 결과

  • Alexa의 상위 500개 사이트에서 페이지당 하나의 학습 샘플만으로도 최대 75%의 웹 페이지 식별 정확도를 달성했다.
  • 이전의 사이드채널 방법보다 훨씬 낮은 노이즈와 더 적은 특권으로 OAuth 로그인 폼에서의 사용자 키보드 입력 타이밍을 모니터링할 수 있었다.
  • 렌더러 메인 스레드 경로로 200 bit/s, 호스트 프로세스 루프 경로로 50 bit/s의 대역폭을 확보한 암시적 채널을 성공적으로 구현했다.
  • Chrome v57에서 배경 탭 타이밍 조절 기능이 도입된 후에도 공격은 여전히 효과적이었으며, 10초 이내에 공격를 완료할 수 있었다.
  • 분류에 있어 동적 시간 왜곡(DTW)을 거리 측정 수단으로 사용하는 것이 필수적이었으며, 이는 이벤트 순서의 상대적 배열이 페이지를 구분하는 데 핵심적이기 때문이다.
  • 공격는 Chrome의 이벤트 기반 아키텍처의 근본적인 단일 스레드 성격을 악용하여, 설정 오류가 아닌 체계적 취약점으로 간주된다.

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

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

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

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