Skip to main content
QUICK REVIEW

[논문 리뷰] Quantifying the Information Leak in Cache Attacks through Symbolic Execution

Sudipta Chattopadhyay, Moritz Beck|arXiv (Cornell University)|2016. 11. 14.
Security and Verification in Computing참고 문헌 15인용 수 3
한 줄 요약

CHALICE는 실행 트레이스를 분석함으로써 캐시 사이드채널 공격에서 정보 泄露를 정확하게 정량화하는 기반의 심볼릭 실행 프레임워크입니다. 이는 실제 바이너리에서 임계적인 泄露를 탐지할 수 있게 하며, 특정 입력에서 AES-128 키의 128비트 중 최대 127비트가 캐시 타이밍을 통해 泄露될 수 있음을 드러내며, 입력에 따라 달라지는 泄露 분포를 포착함으로써 정적 분석을 능가합니다.

ABSTRACT

Cache timing attacks allow attackers to infer the properties of a secret execution by observing cache hits and misses. But how much information can actually leak through such attacks? For a given program, a cache model, and an input, our CHALICE framework leverages symbolic execution to compute the amount of information that can possibly leak through cache attacks. At the core of CHALICE is a novel approach to quantify information leak that can highlight critical cache side-channel leaks on arbitrary binary code. In our evaluation on real-world programs from OpenSSL and Linux GDK libraries, CHALICE effectively quantifies information leaks: For an AES-128 implementation on Linux, for instance, CHALICE finds that a cache attack can leak as much as 127 out of 128 bits of the encryption key.

연구 동기 및 목표

  • 실제 소프트웨어에서 캐시 사이드채널 정보 泄露를 정밀하고 입력에 민감한 방식으로 정량화할 수 있는 방법의 부족을 해결하기 위해.
  • 캐시 타이밍 공격 하에서 다른 입력에 비해 훨씬 더 많은 정보를 노출하는 임계 입력 세그먼트를 식별하기 위해.
  • 정적 분석의 대안으로서 실행 기반의 동적 방법을 제공하여 이용 가능한 사이드채널 유출을 탐지하기 위해.
  • 고유출 코드 영역의 디버깅 및 최적화를 가능하게 하여 보안 소프트웨어 개발을 지원하기 위해.
  • 직접 매핑, LRU 등 다양한 캐시 정책과 관측자 모델에 일반화하여 광범위한 적용성을 확보하기 위해.

제안 방법

  • 구체적인 프로그램 입력에 대해 심볼릭 실행을 적용하여 캐시 히트 및 미스의 심볼릭 타이밍 트레이스를 유도합니다.
  • 실행 동안 프로그램 상태와 함께 캐시 상태 전이를 추적할 수 있도록 새로운 심볼릭 캐시 모델을 구축합니다.
  • 다양한 입력 값에 따른 캐시 타이밍 패턴의 분포를 분석하여 정보 泄露를 정량화합니다.
  • 프로그램 변수를 모델링된 캐시 구조(예: 직접 매핑 또는 LRU)에 매핑하여 실제 캐시 동작을 시뮬레이션합니다.
  • CHALICE는 Max-SMT 해결을 사용하여 동일한 타이밍 패턴을 생성하는 입력의 수를 결정함으로써 관측당 한도에서의 泄露를 드러냅니다.
  • LLVM 및 KLEE 기반으로 구현되어 있어, 전체 심볼릭 상태 추적 기능을 갖춘 임의의 바이너리 코드 분석이 가능합니다.

실험 결과

연구 질문

  • RQ1주어진 프로그램, 캐시 모델, 입력에 대해 캐시 타이밍 공격을 통해 실제로 얼마나 많은 정보가 泄露될 수 있는가?
  • RQ2심볼릭 실행을 사용하여 캐시 사이드채널에서 입력에 따라 달라지는 정보 泄露를 정밀하게 정량화할 수 있는가?
  • RQ3캐시 타이밍 패턴의 분포가 기밀 데이터의 이용 가능한 泄露에 어떤 영향을 미치는가?
  • RQ4CHALICE는 다른 입력들에 비해 훨씬 더 높은 泄露를 유발하는 입력을 탐지하고 순위를 매길 수 있는가?
  • RQ5CHALICE의 동적 분석은 정적 분석에 비해 임계적인 泄露 시나리오를 식별하는 데 얼마나 더 효과적인가?

주요 결과

  • AES-128 구현에서 CHALICE는 특정 입력이 캐시 타이밍을 통해 최대 128비트 중 127비트의 키를 泄露할 수 있음을 확인하였으며, 나머지 1비트를 브루트 포스로 복구하는 것은 매우 간단합니다.
  • 극단적인 경우(예: 213 또는 279회의 캐시 미스 발생 시), 동일한 타이밍 패턴을 생성하는 키가 2개 뿐이며, CHALICE는 이러한 시나리오에서 키의 90비트가 泄露됨을 밝혀냈습니다.
  • 평균적인 캐시 타이밍 패턴의 경우, 13,000개 이상의 키가 동일한 패턴을 생성하므로, 관측당 泄露가 상당히 낮다는 것을 시사합니다.
  • CHALICE는 입력에 따라 변동성이 큰 泄露가 있음을 탐지하였으며, 일부 입력은 다른 입력들보다 훨씬 더 많은 정보를 유출함을 확인하였고, 이는 정적 상한 분석에서는 간과된 현상입니다.
  • CHALICE는 OpenSSL 및 Linux GDK 라이브러리의 실제 바이너리에서 泄露를 정량화하며, 생산 코드에서 높은 泄露 위험을 드러냈습니다.
  • CHALICE의 심볼릭 분석은 균일한 캐시 타이밍 분포가 흔하지 않으며, 심지어 잘 최적화된 구현이라도 특정 입력 하에서 임계적인 泄露를 드러낼 수 있음을 밝혀냈습니다.

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

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

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

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