Skip to main content
QUICK REVIEW

[논문 리뷰] Sphinx: A Secure Architecture Based on Binary Code Diversification and Execution Obfuscation

Michel A. Kinsy, Donato Kava|arXiv (Cornell University)|2018. 02. 12.
Advanced Malware Detection Techniques참고 문헌 8인용 수 4
한 줄 요약

Sphinx는 이진 코드 다각화와 런타임 실행 복잡화를 결합한 하드웨어-소프트웨어 공동 설계 아키텍처를 제안하여 역방향 공학 및 사이드 채널 공격으로부터 보호한다. 자기 재구성 가능한 처리 요소와 PUF 보호 이진 마스크를 통해 지속적으로 지시어 실행 프로파일을 변화시킴으로써 기능적 동작을 관측 가능한 사이드 채널 신호에서 분리시키며, 높은 보안성을 유지하면서도 성능 및 전력 소모를 최소화한다.

ABSTRACT

Sphinx, a hardware-software co-design architecture for binary code and runtime obfuscation. The Sphinx architecture uses binary code diversification and self-reconfigurable processing elements to maintain application functionality while obfuscating the binary code and architecture states to attackers. This approach dramatically reduces an attacker's ability to exploit information gained from one deployment to attack another deployment. Our results show that the Sphinx is able to decouple the program's execution time, power and memory and I/O activities from its functionality. It is also practical in the sense that the system (both software and hardware) overheads are minimal.

연구 동기 및 목표

  • 이진 코드와 시스템 상태에 대한 지속적인 역방향 공학 및 사이드 채널 공격 위협을 해결한다.
  • 프로그램 실행 간 일관된 전력, 시간, 메모리 접근 패턴을 악용하는 공격자의 효과를 줄인다.
  • 하드웨어-소프트웨어 공동 설계를 통해 강력한 보안을 유지하면서도 성능 및 전력 소모를 최소화한다.
  • 동일한 프로그램의 각 배포에서 고유한 실행 동작을 보장함으로써 이동 목표 방어를 가능하게 한다.
  • 비싼 또는 느린 암호화 기법이나 완전한 하드웨어 격리에 의존하지 않고 실용적인 보안을 제공한다.

제안 방법

  • 컴파일 시기 소프트웨어 수준의 복잡화를 적용하여 이진 파일에 임의의 위조 지시어를 삽입하고, 실제 지시어와 위조 지시어를 구분하기 위한 이진 마스크를 생성한다.
  • 물리적 복제 불가능 기능(PUF)을 사용하여 이진 마스크의 암호 해독 키를 안전하게 저장하고 복원함으로써 키의 기밀성을 확보한다.
  • 동일한 지시어에 대해 시간, 전력, 메모리 접근 방식이 다른 여러 실행 프로파일을 지원하는 자기 인식 가능한 재구성 가능한 아키텍처(SARA)를 프로세서에 구현한다.
  • 암호 해독된 이진 마스크에 기반해 런타임에 실행 단위를 동적으로 재구성하여 배포 간 실행 동작을 다양화한다.
  • 엔트로피 제어 지시어 다각화를 도입하여 관측 가능한 사이드 채널 신호(전력, 시간, 메모리 I/O)를 기능적 동작에서 분리한다.
  • 에뮬레이션된 Verilog 하드웨어 프로토타입을 통해 SPLASH-2, PARSEC, SPEC CINT2006 벤치마크 세트를 이용해 성능, 전력 소모 및 사이드 채널 내성 수준을 평가한다.

실험 결과

연구 질문

  • RQ1이진 코드 다각화와 런타임 하드웨어 재구성의 조합이 성능 또는 전력 소모에 심각한 영향을 주지 않으면서도 사이드 채널 泄露를 효과적으로 은폐할 수 있는가?
  • RQ2동일한 응용 프로그램이 여러 실행 간에 기능적 정확성을 유지하면서도 시간, 전력, 메모리 접근 패턴에 따라 다양한 실행 프로파일을 생성할 수 있는가?
  • RQ3기존의 접근 방식과 비교해 복잡화된 시스템이 역방향 공학 및 사이드 채널 공격 방지에 얼마나 효과적인가?
  • RQ4PUF 보호 이진 마스크와 런타임 재구성의 조합이 최소한의 하드웨어 및 소프트웨어 오버헤드로 실용적인 보안을 제공할 수 있는가?
  • RQ5표준 컴파일러와 기존 소프트웨어 스택과의 호환성을 유지하면서도 강력한 복잡화를 제공할 수 있는가?

주요 결과

  • Sphinx 아키텍처는 실행 시간, 전력 소비, 메모리 접근 패턴과 같은 관측 가능한 사이드 채널 신호와 프로그램 기능을 성공적으로 분리시킨다.
  • 동일한 이진 파일의 각 실행에서 암호화된 이진 마스크에 기반한 런타임 재구성 덕분에 실행 시간, 전력 소비, 메모리 I/O 프로파일이 모두 다르게 나타난다.
  • 동적 다각화를 통해 강력한 보안을 확보하여 공격자가 한 번의 배포에서 확보한 정보로 다른 배포를 해킹하는 것을 불가능하게 한다.
  • SPLASH-2, PARSEC, SPEC CINT2006와 같은 표준 벤치마크 세트 평가를 통해 성능 및 전력 소모 오버헤드가 극히 미미함을 입증하였다.
  • PUF 기반 키 저장 방식을 통해 이진 마스크가 보호되어 무단 암호 해독 및 역방향 공학을 방지한다.
  • 자기 재구성 가능한 SARA 프로세서는 각 지시어에 대해 여러 실행 프로파일을 제공하여 사이드 채널 泄露를 세밀하게 제어할 수 있다.

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

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

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

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