3P by GN⁺ | ★ favorite | 댓글 1개
  • IoT 기기에 널리 쓰이는 ESP32에서 공개 문서에 없는 Bluetooth 명령이 발견됐고, 2023년 기준 10억 대 이상 기기에 들어간 칩이라는 점에서 영향 범위가 큼
  • Tarlogic Security는 RootedCON에서 ESP32 Bluetooth 펌웨어의 vendor-specific command 29개를 공개하며, RAM·Flash 읽기/쓰기와 MAC 주소 스푸핑, LMP/LLCP 패킷 주입 가능성을 지적함
  • 이 명령들은 신뢰 기기 가장, 무단 데이터 접근, 네트워크 내 이동, 장기 지속성 확보로 이어질 수 있으며 CVE-2025-27840으로 추적됨
  • 실제 원격 악용 가능성은 기기의 Bluetooth 스택이 HCI 명령을 어떻게 처리하는지에 달려 있고, 악성 펌웨어·악성 업데이트·이미 확보된 root 접근이 있을 때 더 관련성이 큼
  • Espressif는 내부 테스트용 디버그 명령이라며 그 자체로 ESP32 보안 위험을 만들 수는 없다고 했지만, 향후 소프트웨어 업데이트에서 미문서화 명령을 제거할 예정임

ESP32에 남아 있던 미문서화 Bluetooth 명령

  • 중국 제조사 Espressif의 ESP32 마이크로칩에는 공개 문서에 없는 Bluetooth 명령이 포함돼 있음
  • ESP32는 IoT 기기에 Wi-Fi와 Bluetooth 연결을 제공하는 마이크로컨트롤러이며, 2023년 기준 10억 대 이상 기기에 사용됨
  • 발견된 명령은 다음 행위에 활용될 수 있음
    • 신뢰된 기기처럼 보이는 스푸핑
    • 무단 데이터 접근
    • 네트워크 내 다른 기기로 이동
    • 장기 지속성 확보 가능성

Tarlogic의 발견과 연구 도구

  • 스페인 Tarlogic Security의 Miguel Tarascó Acuña와 Antonio Vázquez Blanco가 Madrid의 RootedCON에서 연구 결과를 발표함
  • 연구진은 Bluetooth 보안 연구에 대한 관심이 줄었지만, 프로토콜이나 구현이 더 안전해졌기 때문은 아니라고 봄
  • 최근 발표된 많은 공격은 동작하는 도구가 없거나, 범용 하드웨어에서 작동하지 않거나, 오래되고 유지보수되지 않는 도구에 의존해 최신 시스템과 잘 맞지 않았음
  • Tarlogic은 C 기반의 새 USB Bluetooth 드라이버를 개발함
    • 하드웨어 독립적이고 크로스플랫폼으로 동작함
    • OS별 API에 의존하지 않고 하드웨어에 직접 접근할 수 있음
    • Bluetooth 트래픽에 대한 원시 접근을 가능하게 함

명령이 허용하는 저수준 제어

  • ESP32 Bluetooth 펌웨어에서 숨겨진 vendor-specific command가 확인됨
    • Opcode는 0x3F
    • Bluetooth 기능을 낮은 수준에서 제어할 수 있음
  • 발견된 미문서화 명령은 총 29개임
  • 주요 기능은 다음과 관련됨
    • RAM과 Flash에 대한 메모리 조작
    • MAC 주소 스푸핑을 통한 기기 가장
    • LMP/LLCP 패킷 주입
  • Espressif가 이 명령을 공개 문서화하지 않았기 때문에, 접근 가능하도록 의도된 것이 아니었거나 실수로 남았을 가능성이 있음
  • 이 문제는 CVE-2025-27840으로 추적됨

공격 가능성과 현실적인 제약

  • 연구진은 이 명령이 OEM 수준의 악성 구현이나 공급망 공격 위험으로 이어질 수 있다고 봄
  • 원격 악용 가능성은 기기의 Bluetooth 스택이 HCI 명령을 처리하는 방식에 따라 달라짐
  • 다음 조건에서는 원격 악용 가능성이 더 커질 수 있음
    • 공격자가 이미 root 접근을 확보한 경우
    • 악성코드가 심어진 경우
    • 낮은 수준 접근을 여는 악성 업데이트가 배포된 경우
    • 악성 펌웨어나 rogue Bluetooth 연결이 관여하는 경우
  • 일반적으로는 기기의 USB나 UART 인터페이스에 대한 물리 접근이 더 현실적인 공격 시나리오임
  • Tarlogic은 ESP32가 포함된 IoT 기기를 침해하면 ESP 메모리 안에 APT를 숨기고, Wi-Fi/Bluetooth로 기기를 제어하면서 다른 기기에 대한 Bluetooth 또는 Wi-Fi 공격을 수행할 수 있다고 봄
  • RAM과 Flash를 수정할 수 있는 명령은 ESP32 칩의 완전 제어와 칩 수준 지속성 확보로 이어질 수 있음

Espressif의 해명과 수정 계획

  • BleepingComputer는 처음에 Espressif에 의견을 요청했으나 즉시 답변을 받지 못함
  • 이후 Espressif는 Tarlogic의 발견에 대해 공식 입장을 냄
  • 회사는 발견된 기능이 내부 테스트 목적의 디버그 명령이라고 설명함
    • 이 명령은 Bluetooth 기술에서 사용하는 HCI(Host Controller Interface) 프로토콜 구현의 일부임
    • HCI는 제품 내부에서 Bluetooth 계층 간 통신에 사용됨
  • Espressif는 디버그 명령이 존재하더라도 그 자체로 ESP32 칩에 보안 위험을 만들 수는 없다고 봄
  • 다만 미문서화 명령을 제거하는 소프트웨어 수정을 제공할 예정임

용어 수정과 기사 업데이트

  • 2025년 3월 9일 업데이트에서, 미문서화 명령을 “backdoor”라고 부르는 표현에 대한 우려를 반영해 제목과 본문이 수정됨
  • 2025년 3월 8일에는 Tarlogic의 입장이 추가됨
  • 2025년 3월 9일에는 CVE ID가 추가됨
  • 2025년 3월 10일에는 Espressif의 공식 입장이 추가됨

댓글과 토론

Hacker News 의견들
  • 제목이 좀 오해를 부른다고 봄. 제대로 읽은 게 맞다면 여기서 말하는 백도어는 컴퓨터가 자기 USB Bluetooth 어댑터의 메모리와 저수준 기능을 읽고 쓰게 해주는 것임
    이게 무선으로 악용 가능한 것 같지는 않음. 이런 문서화되지 않은 디버깅 명령은 흔하고, WiFi 어댑터와 GPS 수신기에서도 비슷한 기능을 본 적 있음. 칩 펌웨어나 벤더 드라이버를 역공학해서 찾았을 뿐 문서화는 안 되어 있었고, 그 자체로 큰 영향이 있는 문제는 아님. 서명 없는 펌웨어를 허용하는 것이라면 똑같이 취약함
    만약 호스트가 아닌 다른 곳에서 쓸 수 있는 거라면 완전히 다른 얘기가 됨

    • 오픈 하드웨어 관점에서 이런 선동적인 제목은 정말 해로움. 디버깅 인터페이스와 펌웨어 업데이트를 “백도어”와 “보안 취약점”으로 부르면 자연스러운 반응은 전부 잠가버리는 것임
      Espressif는 이 분야에서 거의 예외적으로 개방적이었음. 자사 칩용 오픈소스 Rust 툴체인에도 기여했고, 라이선스 코드 때문에 공개할 수 없는 모뎀 스택은 공개적으로 역공학을 권장하기까지 했음. 조금이라도 열린 태도를 보인 대가가 나쁘고 해로운 홍보가 되는 건 싫음
    • HCI 명령은 추가 결함 없이는 원격 접근이 안 됨. 기사에서 핵심 문장은 이 부분임:
      “기기에서 Bluetooth 스택이 HCI 명령을 처리하는 방식에 따라, 악성 펌웨어나 악성 Bluetooth 연결을 통해 백도어의 원격 악용이 가능할 수 있다.”
      짧게 말하면 안전한 드라이버 스택이 있고 로컬 코드를 모두 신뢰한다면 HCI 벤더 확장은 문제가 되지 않음
      다만 HCI 확장은 쉽게 보안 구멍이 될 수 있음. 문제는 HCI가 공격자가 제어하는 입력과 복잡한 인터페이스, 까다로운 파싱을 섞는다는 점임. 몇 년 전 BleedingTooth 취약점이 보여줬듯이 실수하기 쉬움
      이런 기능이 있으면 다른 취약점에서 피벗하기도 쉬워지지만, 대부분 시스템에서는 그건 낮은 과일에 가까움
      [0] https://google.github.io/security-research/pocs/linux/bleedi...
    • 자기 Bluetooth 어댑터의 메모리를 읽고 쓰는 컴퓨터가 Web Bluetooth API 위에서 돌아가는 소프트웨어로 그렇게 할 수 있다면 어떨까? 그 정도로 나쁘지 않기를 바라지만, 만약 그렇다면 앞선 설명과도 섬뜩하게 맞아떨어짐
      웹 API 최악의 경우는 빼고 보더라도, 반쯤 신뢰하는 소프트웨어를 위험 회피 차원에서 3중 중첩 VM 안에서 돌린다고 해보자. 그 소프트웨어가 Bluetooth 접근이 필요하다는 그럴듯한 이유를 대고, 예외를 허용함. 결과가 마음에 안 들어 소프트웨어를 지우고 세 VM 계층도 모두 초기화함. 끝난 것처럼 보이지만, 접근 권한이 있을 때 멀웨어가 ESP에 설치한 게 여전히 남아 있을 수 있음
      자기 하위 장치에 대한 문서화되지 않은 접근은 특히 지속성이 얽히면 정말 나쁜 일이 될 수 있음
    • 다른 익스플로잇으로 이미 접근권을 얻은 공격자에게는 꽤 유용할 수 있어 보임
      ESP32가 독립형 SoC가 아니라 호스트 시스템에 직렬 링크로 붙은 WiFi/Bluetooth “모뎀”으로 쓰이는 상황을 생각해볼 수 있음
      이론상 공격자는 문서화되지 않은 명령으로 주변 Bluetooth 기기를 스캔하거나, 스푸핑하거나, 공격할 수 있음. 어쩌면 ESP32를 호스팅하는 기기에서 root 권한을 얻지 않고도 가능할 수 있음
    • 읽어보니 정말 별일 아닌 것을 크게 부풀린 느낌임
      root 권한으로 OS 안에서 디스크 드라이브 펌웨어를 다시 쓸 수 있다는 걸 알면 놀라겠네
  • 연구자들이 찾은 건 이미 코드 실행 권한을 가진 사람이 ESP32 WiFi 스택에 예상보다 더 깊은 저수준 접근을 할 수 있게 해주는 문서화되지 않은 하드웨어 기능임
    이걸 “백도어”라고 부르는 건 순수한 클릭베이트임

  • 혼란스러움. Bluetooth 스택에 문서화되지 않은 명령 몇 개가 있다는 뜻인가? 이미 기기에서 실행 중인 코드만 접근할 수 있다면 백도어라고 부르기는 어려워 보임

    • “기기에서 Bluetooth 스택이 HCI 명령을 처리하는 방식에 따라, 악성 펌웨어나 악성 Bluetooth 연결을 통해 백도어의 원격 악용이 가능할 수 있다.”
      이건 원격 코드 실행처럼 들리지는 않음
    • 동의함. 꽤 흔한 일이고 펌웨어 업데이트보다 나쁠 것도 없음. 다만 잠재적 함정은 대역 내 디버깅이 펌웨어 업데이트에서 기대하는 것과 같은 호스트 권한을 요구하지 않을 수 있다는 점임
      그래서 사용자 공간 프로그램, 더 나쁘게는 WebBLE 프로그램이 어댑터에 지속적인 악성 페이로드를 추가할 가능성은 있음. 드라이브 교체 후에도 남는 추적 비컨은 무섭지만, 원격 코드 실행은 아님
  • 이론상 연결된 Bluetooth 무선 칩 자체에 저수준 접근을 할 수 있어야 하니, 이건 어느 정도 예상되는 것 아닌가 싶음
    이런 저수준 인터페이스가 있는 기기가 더 좋음. 문제는 존재 자체가 아니라 문서화 부족일 수 있음
    예전에는 Qualcomm 무선 칩에서 USB를 통한 메모리 읽기/쓰기 명령으로 잠겨 있던 기기의 잠금을 풀고 소유권을 가져오곤 했음. 완전한 대역 외 읽기/쓰기였으니 별로 좋지 않을 수도 있지만, 이게 플래시된 코드에서만 접근 가능하다면 오히려 나은 편임

  • 스페인어 슬라이드: https://www.documentcloud.org/documents/25554812-2025-rooted...

  • 요약하면, 펌웨어를 역공학해서 메모리 읽기/쓰기, 패킷 전송, MAC 주소 설정 같은 일을 하는 HCI 명령을 찾았다는 것임
    딱히 백도어는 아님. 연구자들이 그렇게 부른 건지 발표가 스페인어라 모르겠고, 기자들이 클릭을 더 얻으려고 백도어라고 부르는 건지도 모르겠음
    이 명령을 쓰려면 기기에 HCI 명령을 보낼 임의 접근 권한이 필요함. 즉 이미 기기와 동작 방식을 제어하고 있다는 뜻임. 무선 링크를 통해 원격으로 악용되는 게 아님. 어떤 익스플로잇이든 이미 기기 전체 제어권을 갖고 있어야 하고, 그 시점에서 MAC 주소를 바꾸거나 패킷을 보내는 기능은 놀라운 일이 아님
    흥미로운 연구지만 “백도어”로 포장되는 건 정말 김빠짐. 표현 책임이 누구에게 있는지는 모르겠지만 기자들일 것 같음
    더 익숙한 비유로, 흔한 IoT 칩의 이더넷 컨트롤러가 펌웨어 지시에 따라 MAC 주소를 바꾸거나 임의 패킷을 보낼 수 있다는 걸 발견했다고 생각하면 됨. Bluetooth라는 것만 다를 뿐 같은 얘기임

    • 연구자들 스스로가 백도어라고 부름. 웹사이트에 올라온 영어 공지임
      https://www.tarlogic.com/news/backdoor-esp32-chip-infect-ot-...
    • MAC 주소 설정에 관한 재미있는 사실: 온라인에서 파는 매우 싼 USB Bluetooth 어댑터 상당수가 같은 MAC 주소를 가지고 있음. 아마 고유한 값으로 바꾸는 수고를 하지 않은 듯함
      그래서 https://macaddresschanger.com/ 같은 Windows 도구와 Linux의 bdaddr가 존재함. 대부분 CSR 설계의 클론으로 보이고, 주소를 설정하는 명령도 잘 알려져 있음. https://sources.debian.org/src/bluez/5.55-3.1%2Bdeb11u1/tool...
    • 이더넷 케이블이 꽂힌 임의의 기기가 MAC 주소를 바꾸고 임의 패킷을 보낼 수 있다면, 그 자체로 웜처럼 퍼질 수 있는 위협 행위자가 될 수 있다는 게 안 보이나?
      거기에 이더넷 케이블 요구사항까지 없앤 셈임
      “Free Candy / BLE Persistent Threats”라고 적힌 흰 밴을 몰고 다니면서, 중국 가는 길에 금속 탐지기를 통과하며 기기를 털 수 있음
      무선이고, 웜처럼 퍼질 수 있고, 임의 패킷을 보내며, 임의 기기를 스푸핑할 수 있는데도 문제가 안 보이나?
  • 이런 선정적인 기사가 싫음. 이제 Espressif가 더 폐쇄적으로 가야 한다는 압박을 느낄 것 같음

    • 이게 문서화되어 있었다면 애초에 문제가 되지 않았을 것임
  • 데스크톱과 노트북에는 커널 공간에서 도는 불투명한 바이너리 블롭 드라이버를 아무렇지 않게 설치하고, 클라우드가 통제하는 자기 휴대폰에는 root 접근도 없는데, 이미 기기가 침해되어 있어야 하는 문서화되지 않은 ESP32 저수준 명령 몇 개는 뉴스감 위협 벡터가 됨
    번역 과정에서 뭔가 빠진 건 아닌지 정말 궁금함. 예전 같았으면 그냥 멋지다고 생각하고 소프트웨어 정의 라디오로 바꿀 방법을 찾았을 것임

    • 누군가 또 과장된 hype로 먹고사는 중임. 잘 모르는 대중을 겁주고 역공학 커뮤니티에 해를 끼침
  • 연구 자체는 좋지만 제목은 나쁨. 공격 벡터로 보자면 물리적 접근이 필요하고, 거의 모든 경우 다른 방법으로도 이미 할 수 있는 일임
    “흔한 Bluetooth 칩에서 문서화되지 않은 명령 발견” 정도가 더 나은 제목임

    • 하드웨어 해킹 관점에서는 흥미로울 수 있음. 기존 하드웨어에서 추가 기능을 뽑아내는 합법적인 방법처럼 보임
  • 이 제목은 거짓말임. Bluetooth 칩의 백도어라면 무선 공격자가 칩에서 코드 실행을 얻을 수 있게 하는 것이어야 함
    이 기사는 연결된 기기의 장치 드라이버가 칩에서 코드 실행을 얻을 수 있게 하는 것을 다루고 있는데, 이는 보안 경계를 침해하지 않음
    제대로 돌아가는 언론 생태계라면 정정 보도가 필요하고, 기사를 쓴 매체의 평판에도 큰 타격이 있어야 함. 안타깝게도 그런 일은 없을 것임