Files
2nd/10_Wiki/Topics/Cache Side-Channel Attack.md
T

4.8 KiB


id: P-Reinforce-AUTO-55C813 category: Dev confidence_score: 0.90 tags: [auto-reinforced] last_reinforced: 2026-04-20 github_commit: "[P-Reinforce] Continuous Worker - Cache Side-channel Attack"

Cache Side-Channel Attack

📌 한 줄 통찰 (The Karpathy Summary)

캐시 사이드 채널 공격(Cache Side-Channel Attack)은 공격자가 고정밀 타이머를 사용하여 CPU 또는 GPU 캐시의 접근 속도(예: L1 캐시와 메인 메모리 간의 지연 시간 차이)를 측정함으로써, 보호된 비밀 메모리의 내용을 추론하고 유출하는 보안 취약점입니다 [1-3]. 현대 프로세서의 추측 실행(Speculative Execution)과 분기 예측을 악용하는 스펙터(Spectre)와 멜트다운(Meltdown)이 대표적이며, 이를 방어하기 위해 웹 브라우저들은 타이머 정밀도를 의도적으로 낮추고 분기 없는 보안 검사(Branchless Security Checks)를 도입해야 했습니다 [4-7].

📖 구조화된 지식 (Synthesized Content)

  • 작동 원리 및 추측 실행 악용: 공격자는 고해상도 타이밍 측정을 통해 캐시 적중률(Cache hit rate)과 메모리 접근 패턴을 관찰합니다 [1, 8]. 스펙터(Spectre) 공격의 경우, 현대 CPU가 성능 최적화를 위해 제공하는 '추측 실행'을 악용합니다. CPU가 조건부 분기(Branch)를 예측하여 미리 실행할 때 메인 메모리에서 가장 빠르고 작은 L1 캐시로 데이터를 로드하는데, 예측이 틀려 실행이 롤백되더라도 L1 캐시로 가져온 데이터는 그대로 남게 됩니다 [3, 9, 10]. 공격자는 타이밍 속도를 측정하여 CPU가 추측 실행 단계에서 어떤 메모리(캐시 라인)를 로드했는지 알아낼 수 있습니다 [3, 11].
  • GPU 환경에서의 캐시 공격: CPU뿐만 아니라 GPU 환경에서도 캐시 사이드 채널 공격이 보고되었습니다. WebGL 환경에서 GPU에 Rowhammer 공격을 수행한 사례가 있으며, 이때 타임스탬프 쿼리(Timestamp Queries)가 제공하는 고정밀 타이밍을 통해 GPU 캐시 미스율을 확인하고 물리적 메모리 구조를 파악하는 방식을 사용했습니다 [8].
  • 웹 브라우저의 방어 메커니즘 (Mitigations):
    • 타이머 정밀도 감소(Timer Quantization) 및 지터(Jitter) 도입: 브라우저 엔진들은 performance.now()와 같은 타이머의 해상도를 1ms 또는 100 마이크로초 등으로 대폭 낮추었습니다 [4, 7, 12]. 또한 공격자가 통계적 평균을 내어 고해상도 클럭을 재구성하는 것을 막기 위해, 반환되는 시간에 무작위 변동 값인 '지터(Jitter)'를 추가했습니다 [4]. WebGPU 환경의 타임스탬프 쿼리 역시 보안을 위해 해상도가 제한(Quantized 및 Coarsened)됩니다 [1, 13, 14].
    • 위험 기능 비활성화: 고해상도 타이머를 생성하는 데 악용될 수 있는 SharedArrayBuffer 기능과 정밀한 타이밍을 제공하던 EXT_disjoint_timer_query 확장 기능 등을 비활성화하거나 접근을 엄격히 제한했습니다 [1, 6, 7].
    • 분기 없는 보안 검사(Branchless Security Checks): 공격자가 추측 실행의 분기(Branch)를 제어할 수 있게 됨에 따라, 분기 명령어에 의존하는 기존의 보안 체계는 무력화되었습니다 [5, 11, 15]. 이에 대응하기 위해 WebKit과 Blink 같은 엔진은 인덱스 마스킹(Index Masking)과 포인터 포이즈닝(Pointer Poisoning)과 같이 조건부 분기를 사용하지 않는 형태의 보안 검사 방식을 새롭게 도입했습니다 [4, 7, 16, 17].

⚠️ 모순 및 업데이트 (Contradictions & RL Update)

  • 과거 데이터와의 충돌: 자동화 엔진에 의해 매핑된 지식으로, 추후 정밀 검증 필요.
  • 정책 변화: Programming & Language 분야의 자동 자산화 수행.

🔗 지식 연결 (Graph)

  • Related Topics: Spectre, Meltdown, Speculative Execution, Timestamp Quantization
  • Projects/Contexts: WebKit, WebGPU, WebGL
  • Contradictions/Notes: 소스에 따르면, 그래픽 파이프라인 최적화 및 렌더링 병목 현상을 해결하려는 개발자들은 나노초 단위의 고정밀 타이머를 절대적으로 필요로 하지만, 보안 측면에서는 이러한 고해상도 타이머가 캐시 사이드 채널 공격의 주요 수단이 되기 때문에 브라우저 벤더들이 타이머의 해상도를 의도적으로 제한(Coarsening)해야만 하는 기능적 상충 관계(Trade-off)가 발생하고 있습니다 [1, 13, 14, 18].

Last updated: 2026-04-19