라떼군 이야기
내 스마트 수면 마스크가 전 세계 사용자의 뇌파를 생중계하고 있었다: AI와 함께한 리버스 엔지니어링
TL;DR 한 개발자가 킥스타터로 구매한 스마트 수면 마스크의 앱이 불안정해 AI(Claude)를 이용해 리버스 엔지니어링을 시도했습니다. 그 과정에서 앱 내 하드코딩된 보안 자격 증명을 발견했고, 이를 통해 전 세계 사용자의 실시간 뇌파를 훔쳐보거나 심지어 수면 중인 타인에게 전기 자극(EMS)을 보낼 수 있는 치명적인 보안 결함을 찾아냈습니다.
IoT 기기의 보안 취약점은 흔한 이야기지만, 뇌파(EEG)와 같은 민감한 생체 데이터가 유출된다면 이야기가 달라집니다. 이 글은 단순한 하드웨어 해킹기를 넘어, 최신 AI 모델이 어떻게 복잡한 리버스 엔지니어링 과정을 단 30분 만에 거의 자율적으로 수행해냈는지 보여주는 놀랍고도 섬뜩한 사례입니다.
핵심 내용
저자는 불안정한 앱 대신 웹 컨트롤러를 만들기 위해 Claude에게 블루투스 프로토콜 분석을 맡겼습니다. Claude는 Flutter로 작성된 앱의 바이너리 분석을 통해 하드코딩된 MQTT 브로커 자격 증명과 명령어 구조를 찾아냈습니다. 이를 통해 저자는 자신의 기기뿐만 아니라, 동일한 브로커에 연결된 전 세계 타 사용자들의 실시간 뇌파 데이터(REM 수면, 깊은 수면 패턴 등)를 열람할 수 있었습니다. 더 충격적인 것은 타인의 기기에 진동, 발열, 심지어 전기 근육 자극(EMS) 명령을 원격으로 보낼 수 있는 권한까지 얻게 되었다는 점입니다.
기술적 인사이트
이 사례는 ‘Security by Obscurity(은폐를 통한 보안)‘가 얼마나 위험한지 보여줍니다. Flutter와 같이 네이티브로 컴파일되는 프레임워크도 문자열 분석과 특수 도구(reFlutter) 앞에서는 무력했습니다. 기술적으로 가장 큰 문제는 모든 클라이언트가 동일한 MQTT 자격 증명을 공유하는 IoT 아키텍처입니다. 이는 기기별 격리가 전혀 되어 있지 않은 치명적인 설계 오류입니다. 또한, 전문 지식이 필요한 리버스 엔지니어링 과정을 AI가 주도적으로 수행했다는 점은 보안 공격의 진입 장벽이 획기적으로 낮아졌음을 시사합니다.
시사점
개발자들에게는 클라이언트 앱 내에 절대 비밀 키나 공용 브로커 자격 증명을 하드코딩해서는 안 된다는 기본 원칙을 강력하게 상기시킵니다. IoT 백엔드 설계 시 기기별 고유 인증(Certificate-based auth)이나 엄격한 접근 제어 목록(ACL) 설정이 필수적입니다. 보안 업계에서는 공격자가 AI를 이용해 취약점을 탐지하는 속도가 기하급수적으로 빨라진 만큼, 방어 체계 검증 및 시큐어 코딩 프로세스에도 AI를 적극적으로 도입해야 함을 의미합니다.
당신이 잠든 사이 지구 반대편의 누군가 당신의 뇌파를 읽고 눈가에 전기 충격을 줄 수 있다는 사실은 디스토피아 소설이 아닌 현실이 되었습니다. 강력한 AI 도구의 등장으로 누구나 고도화된 해킹을 시도할 수 있는 시대, 하드웨어 제조사들은 보안 설계를 근본적으로 재검토해야 하지 않을까요?