Skip to main content
QUICK REVIEW

[논문 리뷰] Frankenstein: Advanced Wireless Fuzzing to Exploit New Bluetooth Escalation Targets

Jan Ruge, Jiska Classen|TUbilio (Technical University of Darmstadt)|2020. 06. 17.
Bluetooth and Wireless Communication Technologies참고 문헌 15인용 수 24
한 줄 요약

Frankenstein는 가상화 환경에서 전용 펌웨어를 실행함으로써 블루투스 칩에서 오버더에어(Over-the-Air) 취약성 탐지에 고속, 반복 가능, 디버깅이 가능한 방식을 제공하는 펌웨어 에뮬레이션 기반 퍼지 프레임워크이다. 이는 브로드컴과 사이퍼스 블루투스 스택에서 클릭 없이도 실행 가능한 원격 코드 실행(RCE) 취약성을 밝혀냈으며, Wi-Fi 공존 결함과 블루투스 5.2 사양 설계 결함을 포함하여, 칩에 종속되지 않는 안드로이드 RCE(BlueFrag)를 드러냈다.

ABSTRACT

Wireless communication standards and implementations have a troubled history regarding security. Since most implementations and firmwares are closed-source, fuzzing remains one of the main methods to uncover Remote Code Execution (RCE) vulnerabilities in deployed systems. Generic over-the-air fuzzing suffers from several shortcomings, such as constrained speed, limited repeatability, and restricted ability to debug. In this paper, we present Frankenstein, a fuzzing framework based on advanced firmware emulation, which addresses these shortcomings. Frankenstein brings firmware dumps "back to life", and provides fuzzed input to the chip's virtual modem. The speed-up of our new fuzzing method is sufficient to maintain interoperability with the attached operating system, hence triggering realistic full-stack behavior. We demonstrate the potential of Frankenstein by finding three zero-click vulnerabilities in the Broadcom and Cypress Bluetooth stack, which is used in most Apple devices, many Samsung smartphones, the Raspberry Pis, and many others. Given RCE on a Bluetooth chip, attackers may escalate their privileges beyond the chip's boundary. We uncover a Wi-Fi/Bluetooth coexistence issue that crashes multiple operating system kernels and a design flaw in the Bluetooth 5.2 specification that allows link key extraction from the host. Turning off Bluetooth will not fully disable the chip, making it hard to defend against RCE attacks. Moreover, when testing our chip-based vulnerabilities on those devices, we find BlueFrag, a chip-independent Android RCE.

연구 동기 및 목표

  • 비공개 블루투스 펌웨어에서 원격 코드 실행(RCE) 취약성을 탐지하는 데 있어 오버더에어 퍼징의 한계—저속도, 낮은 반복 가능성, 제한된 디버깅 능력—을 해결하기 위해.
  • 호스트 운영체제의 상호운용성을 유지하면서 펌웨어를 에뮬레이션하고 원시 무선 프레임을 주입함으로써 전체 스택을 대상으로 현실적인 악성 코드 실행을 가능하게 하기 위해.
  • 애플, 삼성, 라즈베리 파이 기기 등에 널리 사용되는 블루투스 칩에서 클릭 없이 실행 가능한 RCE 취약성을 식별하고 공개하기 위해.
  • 블루투스 5.2 사양과 공존 메커니즘의 설계 결함을 폭 드러내어 블루투스 칩 경계를 넘어서 권한 상승을 가능하게 하기 위해.
  • 펌웨어 수준의 RCE를 통해 안드로이드 기기에서 지속 가능한 칩에 종속되지 않는 원격 악성 코드 실행 체인, 예를 들어 BlueFrag의 실현 가능성을 입증하기 위해.

제안 방법

  • QEMU 유저 모드 에뮬레이션을 사용하여 역공학 없이도 비공개 블루투스 펌웨어 이미지를 가상 환경에서 실행함으로써 전체 펌웨어 실행을 가능하게 한다.
  • 프레임 수신 후 스냅샷 기반 복구를 도입하여 퍼징 속도를 가속화하고 호스트 OS와의 상태 일致성을 유지한다.
  • 에뮬레이션된 칩의 가상 모뎀에 원시 무선 프레임을 주입하여 펌웨어 동작을 유도하고 충돌 유발 입력을 모니터링한다.
  • 펌웨어 이미지와 상호작용할 수 있는 C 프로그래밍 환경을 활용하여 가설 검증 및 코드 경로 분석을 수행한다.
  • 기존 오버더에어 퍼징으로는 탐지할 수 없는 비충돌적이지만 위험한 RCE 취약성을 에뮬레이션을 통해 분석한다.
  • 펌웨어 에뮬레이션과 하드웨어 공존 분석을 융합하여 Wi-Fi/블루투스 자원 공유를 악용해 권한 상승을 유도한다.

실험 결과

연구 질문

  • RQ1펌웨어 에뮬레이션을 통해 비공개 블루투스 펌웨어의 오버더에어 퍼징을 고속, 반복 가능, 디버깅이 가능하게 할 수 있는가?
  • RQ2페어링이나 사용자 상호작용 없이도 실행 가능한 블루투스 칩 내 RCE 취약성은 무엇이 있는가?
  • RQ3블루투스 펌웨어 취약성이 칩 경계를 넘어서 Wi-Fi나 운영체제 커널으로의 권한 상승으로 이어질 수 있는 정도는 어느 정도인가?
  • RQ4브로드컴의 콤보 칩과 같은 공존 메커니즘이 어떻게 Wi-Fi 서브시스템의 원격 악용을 가능하게 하는가?
  • RQ5블루투스 5.2 사양 수준의 결함이 링크 키 추출이나 원격 코드 실행을 가능하게 하는가?

주요 결과

  • Frankenstein는 오버더에어 방법 대비 퍼징 속도를 100배 이상 향상시켜 실시간 호스트 OS 상호작용과 전체 스택 버그 탐지가 가능하게 했다.
  • 브로드컴과 사이퍼스 블루투스 스택에서 클릭 없이 실행 가능한 RCE 취약성이 3건 발견되었으며, 이 중 하나는 블루투스 레이어 5.2(BLE)에서, 두 개는 클래식 블루투스에서 발견되었고, 하나는 아이폰 11에서 커널 충돌을 유도했다.
  • Wi-Fi/블루투스 공존 결함이 발견되어, 공유된 RF 자원을 악용해 여러 기기, 아이폰과 삼성 갤럭시 S8 등에서 원격 커널 충돌을 유도할 수 있었다.
  • 블루투스 5.2 사양에 존재하는 설계 결함이 드러나, 호스트에서 링크 키를 추출할 수 있어 장기적인 인증 우회가 가능하게 되었다.
  • 안드로이드에서 BlueFrag RCE 취약성이 발견되어, 펌웨어 전용 패치 없이도 여러 기기에서 칩에 종속되지 않는 원격 코드 실행 체인이 작동함을 입증했다.
  • 책임감 있는 공개 과정에서 심각한 지연이 드러났다: CVE-2019-11516는 브로드컴 내부에서 2018년 2월부터 알려져 있었으나, 삼성 갤럭시 S8에는 2019년 9월까지 패치되지 않아 임베디드 펌웨어의 패치 과정에서의 심각한 과제를 보여주었다.

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

연구 설계부터 논문 작성까지, 연구 시간을 획기적으로 줄여보세요.

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

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