1P by GN⁺ 2일전 | ★ favorite | 댓글 1개
  • 킥스타터에서 구매한 스마트 수면 안대가 사용자 뇌파 데이터를 외부로 송신하는 사실이 밝혀짐
  • 안대는 EEG 센서, 전기 자극(EMS), 진동, 온열, 오디오 기능을 갖춘 복합 하드웨어로 구성
  • 앱 분석 과정에서 모든 기기가 공유하는 하드코딩된 MQTT 브로커 인증 정보가 발견되어, 제3자가 모든 기기의 실시간 데이터를 수신 가능함
  • 실제로 약 25대의 기기가 실시간 뇌파, 온도, 습도, CO₂, 존재 감지 데이터를 공개 브로커에 송신 중인 것으로 확인됨
  • 동일 자격 증명으로 전기 자극 명령 전송도 가능해, 사용자 안전과 개인정보 보호에 심각한 위험이 존재함

스마트 수면 안대의 구조와 기능

  • 킥스타터를 통해 입수한 안대는 중국의 소규모 연구 회사가 제작한 제품으로, EEG 기반 뇌파 측정과 전기 근육 자극(EMS) , 진동, 온열, 오디오 재생 기능을 포함
  • 앱 품질이 낮고 연결이 자주 끊겨, Bluetooth 프로토콜을 역공학해 웹 제어판을 직접 제작함
  • BLE 스캔 결과 두 개의 데이터 채널(명령 송신용, 데이터 스트리밍용)이 존재했으나, 표준 프로토콜이 아닌 독자 규격으로 응답이 없었음

앱 역공학 과정

  • Android APK를 jadx로 디컴파일한 결과, 앱이 Flutter 기반으로 작성되어 있었음
    • Flutter는 Dart 코드를 ARM64 네이티브 코드로 컴파일하므로 일반 Java 앱처럼 복원이 어려움
  • 바이너리에서 strings 명령으로 하드코딩된 브로커 자격 증명, 클라우드 API 엔드포인트, 15개의 명령 함수 이름, 패킷 구조 정보를 추출
  • 이후 blutter 도구를 사용해 Dart 스냅샷을 분석, 명령 바이트 전체를 복원

장치 제어 성공

  • 6바이트 쿼리 전송 후 장치가 153바이트 응답을 반환
    • 모델명, 펌웨어 버전, 일련번호, 8개 센서 채널 구성(EEG 250Hz, 호흡, 3축 가속도계, 3축 자이로스코프), 배터리 83% 포함
  • 진동, 온열, EMS, 음악 제어 모두 정상 작동
  • 웹 대시보드에서 슬라이더로 각 기능을 제어할 수 있도록 구현

MQTT 브로커 노출

  • 앱 내 하드코딩된 자격 증명으로 MQTT 브로커에 접속하자, 모든 기기의 데이터가 수신됨
    • 약 25대의 장치가 활성 상태였으며, 수면 중 EEG 데이터, 공기질(온도·습도·CO₂) , 존재 감지 정보를 송신
  • 두 명의 사용자는 각각 REM 수면 상태서파 수면 상태(4Hz 이하 델타파) 로 확인됨
  • 모든 기기가 동일한 인증 정보를 사용하므로, 외부인이 전기 자극 명령을 전송할 가능성 존재

보안 문제와 대응

  • 제품명과 회사명은 공개하지 않았으며, 제조사에 문제를 통보
  • 사건은 개인 데이터 보호와 IoT 보안 관리의 심각한 허점을 드러냄
  • 작성자는 Karpathy의 ‘Digital Hygiene’ 글을 다시 읽을 것을 권장하며, 디지털 위생의 중요성을 강조함

추가 정보

  • 역공학 과정은 Claude (Opus 4.6) 모델이 약 30분간 자율적으로 수행
  • 이후 이 사례가 Hacker News 1위에 오르며, 관련 대화 로그가 공개됨
Hacker News 의견들
  • Kickstarter에는 시장에 빨리 내놓기 위해 모든 지름길을 택하는 프로젝트가 많음
    나도 몇몇 프로젝트에서는 성공했지만, 지원할 때 매우 신중했음
    예전엔 산업 디자이너들이 엔지니어링을 단순 하청 가능 자원으로 보고, 돈을 모은 뒤 최저가로 맡기려 했음
    하지만 대부분 실패하거나 손해를 봤음. 이제는 LLM 덕분에 소프트웨어나 펌웨어가 ‘공짜’처럼 보이면서, 예전엔 어려워서 포기했던 아이디어들이 다시 부상하는 중임
    • 지금 시점에서는 LLM이 최저가 엔지니어링 업체보다 더 안전한 결과물을 낼 거라고 믿음
    • LLM이 펌웨어를 공짜로 만들어준다고 생각하는 사람은 실제로 써본 적이 없는 것 같음
  • 뇌파가 서버로 전송된다는 점이 문제라고 생각함
    나는 신경과학자라서 EEG 데이터를 ‘마음 읽기’로 보진 않지만, 뇌 데이터의 비프라이버시는 매우 나쁜 선례임
    • “이 사람이 지금 자고 있다” 같은 정보조차 프라이버시 침해가 될 수 있음
      이런 데이터 유출이 사회적으로 부정적 영향을 줄 수도 있음
    • 사람들은 단지 이메일을 조금 더 쉽게 보내기 위해서라도 자신의 뇌파 데이터를 제공하려고 줄 설 것 같음
    • EEG로 각성 수준을 읽을 수 있는데, 이건 도둑에게 유용한 정보가 될 수도 있음. 느린 뇌파 상태를 가진 기기는 이상적 표적임
    • 이런 장치가 연구용으로 얼마나 유용할지 궁금함. 나는 신경과학자가 아니라 잘 모르겠음
    • 이미 건강 데이터에 대한 프라이버시 법적 선례가 존재한다고 생각함
  • 물론 비윤리적이지만, 이 기술로 사람들의 뇌파를 읽고 다른 사람의 마스크에 신호를 보내는 공유 꿈 장치를 만들 수 있을 것 같음
    전 세계 사람들이 동시에 같은 꿈의 변화를 경험하는 식으로, SF 소설 소재로는 완벽함
    • 만약 Hans Zimmer 사운드트랙이 필요한 일을 하고 있다면, 아마 악역일 가능성이 높음
    • 그건 영화 Paprika의 줄거리임
    • Dreamscape (1984) 도 비슷한 설정임
    • Inception이 떠오름
  • 이건 명백히 보안 재앙이지만, 만약 서버 연결 없이도 작동하는 해킹 가능한 EEG 수면 마스크가 있다면 꽤 멋질 것 같음
    전극 젤을 매번 바르지 않아도 된다면 더 좋음
  • IoT의 S는 Security를 의미함
    나는 개인 정보가 아닌 데이터로 빠른 프로토타입을 만들 때 오픈 MQTT를 사용했는데, 클라우드 제공자가 DDoS 중계 위험 때문에 중단을 요청했음
    이런 경험 때문에, 수면 마스크 회사가 인증이나 권한 관리를 한다 해도 신뢰하기 어려움
    • IoT에는 S가 없다는 농담을 던짐
    • IoT의 P는 Privacy, Q는 Quality, K는 Ka-ching! 을 뜻한다는 유머를 덧붙임
  • 나는 Affectable Sleep의 창업자임
    이번 사례는 웰니스 기기 규제의 허점을 잘 보여줌
    최근 앱과 데이터 관련 규제가 완화된 건 긍정적이지만, 데이터 보안 요건은 반드시 필요함
    우리 회사는 모든 알고리즘과 처리를 기기 내에서 수행하고, 서버로 전송되는 데이터도 전부 암호화함
    이런 기본조차 안 하는 회사를 어떻게 신뢰할 수 있을지 의문임
  • 이 프로젝트의 프롬프트 히스토리가 궁금함
    글을 보면 Claude가 스스로 APK를 추출하고 decompile한 것처럼 보이는데, 실제로 사람이 얼마나 개입했는지 알고 싶음
    • 개입은 거의 없었음. 가능하면 기록을 찾아서 공유하겠음
    • 이런 AI 실시간 시연이 너무 부족함. 정말로 자율적으로 작동한다면 누군가 스트리밍했을 것 같음
  • 대부분은 문제점에 집중하지만, 나는 Claude가 리버스 엔지니어링을 잘 수행한 점이 더 흥미로움
    이런 수준의 분석이 쉬워지면 AI 관련 새로운 함의가 생길 수 있음
    • 동의하지 않음. 단순히 strings 실행과 디컴파일러 사용은 기본적인 절차임
      무작위 시도를 반복하는 건 계산 자원 낭비에 불과함
  • “낯선 사람의 뇌파를 읽고 전기 자극을 보낼 수 있게 됐다”는 말은 거의 Philip K. Dick 소설 속 장면 같음
  • 인터넷 연결 수면 마스크를 샀다면 데이터 수집과 보안 부실은 당연한 일임
    오히려 놀라운 건, 이 회사가 MQTT를 사용해 효율성을 고려했다는 점임
    물론 보안은 엉망이지만, 대역폭 절약을 시도했다는 점은 흥미로움
    • 하지만 결국 모든 사람의 데이터를 스트리밍해서 그 이점이 사라짐