[논문 리뷰] Prime+Probe 1, JavaScript 0: Overcoming Browser-based Side-Channel Defenses
이 논문은 JavaScript 기반 방어 조치(완전한 스크립트 차단 포함)를 우회하는 CSS 및 HTML로만 구성된 브라우저 기반 사이드채널 공격를 처음으로 구현한 것으로, 인텔, AMD, 애플 M1, 삼성 엑시노스 칩에서 아키텍처에 관계없이 캐시 기반 웹사이트 지문 분석을 수행한다. 크롬 제로, 데터폭, 토르 브라우저 보호 조치를 고도로 정교하게 우회하며 높은 정확도를 달성한다.
The "eternal war in cache" has reached browsers, with multiple cache-based side-channel attacks and countermeasures being suggested. A common approach for countermeasures is to disable or restrict JavaScript features deemed essential for carrying out attacks. To assess the effectiveness of this approach, in this work we seek to identify those JavaScript features which are essential for carrying out a cache-based attack. We develop a sequence of attacks with progressively decreasing dependency on JavaScript features, culminating in the first browser-based side-channel attack which is constructed entirely from Cascading Style Sheets (CSS) and HTML, and works even when script execution is completely blocked. We then show that avoiding JavaScript features makes our techniques architecturally agnostic, resulting in microarchitectural website fingerprinting attacks that work across hardware platforms including Intel Core, AMD Ryzen, Samsung Exynos, and Apple M1 architectures. As a final contribution, we evaluate our techniques in hardened browser environments including the Tor browser, Deter-Fox (Cao el al., CCS 2017), and Chrome Zero (Schwartz et al., NDSS 2018). We confirm that none of these approaches completely defend against our attacks. We further argue that the protections of Chrome Zero need to be more comprehensively applied, and that the performance and user experience of Chrome Zero will be severely degraded if this approach is taken.
연구 동기 및 목표
- 마이크로아키텍처 사이드채널 공격에 필요한 최소한의 브라우저 기능을 규명하는 것.
- 크롬 제로, 데터폭, 토르 브라우저와 같은 브라우저 수준 방어 조치가 이러한 공격을 방지하는 데 얼마나 효과적인지 평가하는 것.
- 하드웨어 전용 마이크로아키텍처 세부 정보에 의존하지 않는 사이드채널 기법을 개발하는 것.
- JavaScript가 완전히 비활성화된 상태에서도 캐시 기반 사이드채널 누출이 지속됨을 입증하는 것.
제안 방법
- CSS 전이와 외부 DNS 서버를 통한 타이밍 기반 프로브를 사용한 CSS 프라임+프로브 공격을 개발.
- 협력하는 DNS 서버를 활용해 프로브 지연 시간을 원격으로 측정함으로써 JavaScript 타이머에 의존하지 않음.
- DNS 쿼리를 통해 프로브 결과를 전송하기 위해 문자열 기반 인코딩 체계(스트링 및 소크)를 사용.
- 다양한 웹사이트 간 프로브 지연 시간 분포를 분석하여 웹사이트 지문 분석을 수행.
- 인텔 코어, AMD 라이젠, 애플 M1, 삼성 엑시노스 등 다양한 아키텍처에서 공격을 검증.
- 통제된 트레이스 데이터 세트를 사용해 크롬 제로, 데터폭, 토르 브라우저와 같은 하드ened 브라우저 환경에 대한 공격의 내성성 평가.
실험 결과
연구 질문
- RQ1JavaScript가 완전히 비활성화된 브라우저 환경에서도 마이크로아키텍처 사이드채널 공격가 수행될 수 있는가?
- RQ2사이드채널 공격에 필수적인 브라우저 기능은 무엇이며, 어떤 기능은 제거될 수 있는가?
- RQ3다양한 CPU 마이크로아키텍처 간에 아키텍처에 관계없이 사이드채널 공격를 수행할 수 있는가?
- RQ4크롬 제로, 데터폭, 토르 브라우저와 같은 하드ened 브라우저 환경이 이러한 공격을 효과적으로 방지하는가?
- RQ5JavaScript 없이도 CSS와 HTML만으로 웹사이트 지문 분석이 가능한가?
주요 결과
- CSS 프라임+프로브 공격는 JavaScript가 전혀 없이도 사이드채널 누출을 성공적으로 유도하였으며, 데터폭에서 상위 1개 정확도 66%, 상위 5개 정확도 88%를 달성하였다.
- 토르 브라우저에서는 상위 1개 정확도 20%, 상위 5개 정확도 49%를 기록하였으며, 기준값(1% 및 5%)보다 뚜렷하게 높았다.
- 애플 M1, AMD 라이젠, 삼성 엑시노스, 인텔 코어 프로세서에서 하드웨어 전용 수정 없이도 공격가 효과적으로 작동하였다.
- 크롬 제로의 타이머 제한 조치는 공격를 방지하지 못했으며, 이는 기술이 JavaScript 타이머 API를 완전히 우회했기 때문이다.
- 데터폭의 결정론적 타이밍 모델도 공격를 막지 못했으며, 타이밍 측정이 DNS를 통해 외부에서 이루어졌기 때문이다.
- 본 연구는 마이크로아키텍처 자원 공유가 지속되는 한 현재의 브라우저 수준 방어 조치는 사이드채널 누출을 효과적으로 방지하지 못함을 확인한다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.