0xNews - 새로운 브라우저 공격을 통해 JavaScript 비활성화된 상태에서도 사용자 추적 가능 확인

0xNews - 새로운 브라우저 공격을 통해 JavaScript 비활성화된 상태에서도 사용자 추적 가능 확인


이스라엘 벤 구리온 대학교 연구팀 발표

https://arxiv.org/abs/2103.04952


이번 연구 결과는 USENIX 2021 보안 심포지움에서 발표 예정


JavaScript 가 실행되지 않아도, 스크립트 차단기가 실행이 가능한 사이드 채널 공격

웹 브라우저의 기능을 제거해도 해당 공격 수행 가능

취약점은 운영체제 내 있는 것으로 파악


Intel Core

AMD Ryzen

Samsung Exynos 2100

Apple M1 CPU 등이 포함된 하드웨어 플랫폼에서 작동하는 마이크로 아키텍쳐 웹 사이트 핑거프린팅 공격 허용 microarchitectural website fingerprinting attacks


이번 사이드 채널 공격은 일반적으로 시스템에서 비밀 데이터를 추론하기 위해 타이밍, 사운드, 전력 소비, 전자기기 방출, 진동, 캐시 동작과 같은 간접 데이터에 의존

특히 마이크로 아키텍처 사이드 채널은 암호화 키와 같은 비밀 정보를 유출하기 위해 서로 다른 보호 도메인에서 실행되는 코드 전체에서 프로세서 구성 요소의 공유 사용을 활용

이번 연구를 통해 이전 Rowhammer.js 와 같은 완전 자동화 공격을 입증


Rowhammer.js 는 악성 자바 스크립트가 있는 웹 사이트에만 의존

원격 하드웨어에서 오류를 유발

웹 사이트 방문자의 시스템에 제한 없이 접속 가능

https://arxiv.org/abs/1507.06955


유출된 사이드 채널은 도메인 격리 기술로 효과적으로 방어 가능

하지만 브라우저 공급 업체는 추가 기능을 사용하여 자바 스크립트를 완전히 비활성화하는 지원 기능 추가 회 시간 측정 기능의 정밀도를 줄여 타이밍 공격이나 핑거프린팅에 대한 보호 기능을 방어 기능에 통합


연구팀은 이번 연구를 통해 HTML 과 CSS 만으로 구성된 CSS Prime+Probe 라는 사이드 채널 공격을 구현

브라우저 기반 완화 기능을 우회하여 Tor, Chrome 과 같은 강화된 브라우저에서도 공격이 가능하도록 구현하는 것을 목표로 연구 진행 중

브라우저 방어 기능 우회는 자바 스크립트가 완전히 비활성화되어 있거나 타이머 API 등을 제한해도 공격이 성공


캐시 기반 사이드 채널 공격은 스파이는 캐시 플러시 명령 - x86의 clflush -을 사용

특정 캐시 라인을 플러시하고 피해자가 이 데이터에 접속했는지 확인 가능


일반적으로 CPU 캐시의 은밀한 타이밍 채널 악용

연구팀은 최신 웹 브라우저에서 캐시 기반 사이드 채널 공격 성공을 목표로 함

특히 CSS Prime+Probe 기술은 전체 캐시를 덥는 긴 HTML 문자열 변수를 포함하는 웹 페이지를 랜더링한 후 간단한 검색을 수행

텍스트에 존재하지 않은 하위 문자열로 인해 검색이 전체 문자열을 스캔하도록 함

이 Probe 작업을 수행하는 시간은 공격자가 제어하는 서버로 정보 전송


작업 전 공격자가 제어하는 도메인 요소를 CSS 에 포함하여 DNS 확인을 강제하도록 함

악의적인 DNS 서버는 들어오는 DNS 요청 시간을 기록

공격자는 CSS 에서 문자열 검색을 불러 일으키는 HTML 페이지를 설계하여 캐시를 효과적으로 조사

이 문자열 검색에 이어 DNS 확인이 필요한 CSS 요소에 대한 요청이 이어짐

연속적인 DNS 요청간 시간 차이는 문자열 검색을 수행하는데 걸리는 시간에 해당


연구팀은 이번 연구를 위해 웹 사이트 핑거프린팅 공격을 Alexa Top 100 웹 사이트를 포함한 다양한 웹 사이트를 대상으로 테스트 수행

자바 스크립트 기반 캐시 점유 공격은 CSS Prime+Probe 와 비교할 때 모든 플랫폼에서 90% 이상 높은 정확도를 제공

이런 높은 정확도가 악의적인 사용자가 식별하고 추적할 수 있는 데이터를 유출하기에 충분


웹 브라우저에 접속하기 위해서는 사용 컴퓨터의 운영체제, DNS Resolver, GPU, 네트워크 인터페이스, 이를 사용하기 위핸 캐시 메모리, 이를 위한 추가 공유 리소스 등을 사용

캐시 파티셔닝은 공간을 사용하는 유망한 접근 방식


댓글

이 블로그의 인기 게시물

0xNews - 미군을 주제로 하여 한국인을 노리는 피싱 공격 캠페인 경고

0xNews - 리눅스 커널에서 StackRot 라는 이름의 취약점으로 권한 상승 취약점 발견

0xNews - 리눅스 시스템에 원격 명령어 인젝션 공격이 가능한 새로운 openSSH 취약점 발견