10P by kuroneko 2023-09-27 | favorite | 댓글 2개
  • GPU가 있는 크로미움 기반 브라우저에서 다른 웹 페이지의 픽셀을 유출할 수 있는 공격.
    • GPU에 존재하는 투명 그래픽 데이터 압축 최적화를 활용하여 화면의 픽셀을 유추함.
    • 공격할 웹 페이지에 악성 웹 페이지가 iframe 등으로 삽입되거나, 반대로 공격할 웹 페이지가 악성 웹 페이지에 iframe으로 삽입될 수 있어야 함.
  • Nvidia GPU와 AMD, Apple, Intel 등의 통합 GPU를 포함하여 대부분 GPU가 영향을 받을 수 있음.
    • 실제로 악성 웹페이지에서 Wikipedia에 로그인한 사용자의 이름을 알아내는 예제를 제공.
  • GPU에 따라 다르지만, 공격 성공률은 96%가량임.
    • 단, 픽셀 단위로 유추해야 하므로 화면의 전체 픽셀을 알아내려면 긴 시간(30 ~ 200분)이 걸림.
  • 이 취약점은 2023년 3월에 공급업체와 공유되었지만, 아직 패치를 적용한 곳은 없음.

취약점을 제보하고 공개하기까지 그 시간에 예쁜 이름이랑 로고를 준비하는거겠죠...?

아무튼 상당히 흥미롭네요.

GPU의 그래픽 압축 방식 때문에 렌더링할 때 약간의 차이가 발생하고,
그 차이로 해당 압축 영역(4x4 혹은 8x8)의 픽셀을 유추할 수 있는 거라고 합니다.

ps.
"공격할 웹 페이지에 악성 웹 페이지가 iframe 등으로 삽입되거나" <- 이 부분이 확실하지 않네요...
일단 "공격할 웹 페이지가 악성 웹 페이지에 iframe으로 삽입"되는 경우에는 공격이 가능하다는 것 같습니다.

HN 스레드의 AI 요약

  • vessenes: 이 공격의 기술적 성과에 박수를 보내지만, 아름답다기보다는 잘 고려된 공학적 무력시위라고 평가합니다. 어두운 픽셀과 밝은 픽셀 사이의 GPU 처리 시간 차이를 악용하여 작동한다는 점에 주목합니다.
  • twelvechairs: 다른 브라우저에서도 이러한 접근 방식을 취하고 있는데 왜 제안된 수정안이 단순히 사이트 간 iframe 삽입을 허용하지 않는 것이 아닌지 의문을 제기합니다.
  • chatmasta: 절충안으로 CSP 플래그를 도입하거나 iframe 사이트에서 SVG 필터에 대한 옵트인을 요구할 것을 제안합니다. 크로스오리진 아이프레임에서 SVG 필터가 필요한지 여부가 모호한 사용 사례라는 점에서 의문을 제기합니다.
  • kevingadd: 하드웨어 가속이 없어도 SVG 필터는 여전히 타이밍 데이터 사이드채널을 노출할 수 있으므로 GPU가 근본 원인이 아니라고 지적합니다.
  • stuaxo: 충분히 빠른 최적화는 공격 벡터로 용도가 변경된다는 '액손의 법칙'을 제안합니다.
  • vacuity: 스펙터와 같은 문제가 성능을 지나치게 밀어붙일 때 발생하므로 "유해한 것으로 간주되는 최적화"라는 제목의 논문을 작성할 것을 요구합니다.
  • pests: AMD Ryzen의 노트 픽셀 재구성은 97%의 정확도로 30분이 걸리는 반면 Intel i7은 215분이 걸렸습니다.
  • anfilt: GPU 문제가 아닌 Chromium만 영향을 받기 때문에 실제 문제는 브라우저에 있다고 생각합니다.
  • stalfosknight: 다른 브라우저는 면역이 있으므로 GPU 문제라기보다는 Chromium 익스플로잇으로 봐야 한다는 데 동의합니다.

논문의 AI 요약

이 백서에서는 인텔 및 AMD 프로세서의 통합 GPU(iGPU)가 수행하는 소프트웨어 투명 그래픽 데이터 압축에 대해 조사합니다. 이 압축은 소프트웨어가 명시적으로 요청하지 않아도 적용되기 때문에 개발자가 이를 거부하기 어렵습니다.

저자들은 다양한 그래픽 패턴으로 DRAM 트래픽과 렌더링 시간을 추적하는 실험을 통해 iGPU 기반 압축이 존재한다는 증거를 제시합니다. 압축이 DRAM 사용량과 캐시 점유율에서 데이터 의존적인 동작을 유도한다는 사실을 발견했습니다.

리버스 엔지니어링을 통해 최근 인텔 및 AMD iGPU에서 사용되는 압축 알고리즘이 공급업체별로 다르며 문서화되어 있지 않다는 사실이 밝혀졌습니다. 인텔 GPU는 단일 캐시라인을 사용하여 4x8 픽셀 창을 표현하려고 시도하는 반면, AMD GPU는 1-3개의 캐시라인을 사용하여 8x8 창을 표현하려고 시도합니다.

이 논문은 최신 버전의 구글 크롬에 대한 크로스 오리진 픽셀 도용 공격을 보여줍니다. 공격자는 비밀 픽셀에 따라 고도로 중복되거나 중복되지 않는 패턴을 생성함으로써 DRAM 트래픽과 렌더링 시간에 대한 데이터 종속적인 iGPU 압축 효과를 통해 픽셀 값을 유추할 수 있습니다.

이 연구는 압축은 소프트웨어로 볼 수 있다는 기존의 통념에 도전하고 보안 및 개인 정보 보호에 영향을 미치는 부채널에 대한 미묘하고 문서화되지 않은 압축 기술에 주의를 집중합니다. 또한 하드웨어 최적화로 인한 의도치 않은 정보 유출에 대비한 소프트웨어 완화의 필요성을 강조합니다.