DJI 버그 하나로 전 세계 로봇 7,000대가 한 사람 손에 들어갔다

최근 IoT 보안 역사상 이보다 더 황당한 ‘자책골’이 있을까? 한 소프트웨어 엔지니어가 전 세계 24개국에 퍼져 있는 약 7,000대의 DJI 로봇청소기에 대해 본의 아니게 ‘갓 모드(God-mode)’ 권한을 손에 넣는 사건이 발생했다. 보안 연구원 새미 아즈두팔(Sammy Azdoufal)은 딱히 로봇 반란을 꿈꿨던 것은 아니다. 그저 새로 산, 터무니없이 비싼 DJI Romo 청소기를 PS5 컨트롤러로 조종해보고 싶었을 뿐이다. 왜냐고? 그게 훨씬 멋지니까.

이 현대적인 ‘덕질’을 완성하기 위해 아즈두팔은 AI 코딩 어시스턴트의 도움을 받아 로봇의 통신 프로토콜을 역설계(reverse-engineering)하기 시작했다. 자신의 기기에서 인증 토큰을 성공적으로 추출한 뒤 DJI 서버에 접속한 순간, 그를 맞이한 것은 집안에 있는 충직한 청소기 한 대가 아니었다. 무려 7,000대에 달하는 로봇 군단이 그의 부름에 응답한 것이다. 이 치명적인 결함으로 인해 그는 수천 명의 무고한 사용자가 눈치채지도 못한 사이, 실시간 카메라 및 마이크 피드는 물론 집안의 2D 평면도와 상세한 기기 상태 정보까지 훤히 들여다볼 수 있게 됐다.

사태의 원인은 허무할 정도로 간단하면서도 파괴적인 보안 관리 소홀이었다. DJI의 백엔드 서버는 사용자의 토큰을 정상적으로 인증했지만, 정작 그 사용자가 접근하려는 특정 기기의 ‘실제 소유자’인지 확인하는 결정적인 단계를 통째로 빠뜨렸다. 말하자면, 유효한 열쇠 하나만 있으면 전 세계 모든 집의 문을 열 수 있었던 셈이다. 아즈두팔은 “어떤 규칙도 어기지 않았고, 우회하거나 해킹하거나 무차별 대입(brute force) 공격을 가하지도 않았다"며, 자신은 그저 활짝 열려 있는 디지털 문으로 걸어 들어갔을 뿐임을 강조했다.

이 사건이 왜 중요한가?

이번 사건은 현대 IoT 보안의 취약성을 적나라하게 보여주는 교과서적인 사례다. 우리 집안 가장 사적인 공간까지 넘나들며 카메라와 마이크로 무장한 기기들이, 정작 보안은 방충망 잠금장치 수준에 머물러 있었던 것이다. 전 지구적인 사생활 침해로 이어질 뻔한 아찔한 상황이었지만, 다행히 아즈두팔은 이를 악용하는 대신 책임감 있게 취약점을 제보하는 길을 택했다.

DJI의 후속 조치는 칭찬할 만큼 신속했다. 제보를 받은 직후, 업체 측은 단 이틀 만에 서버 측 수정을 통해 해당 취약점을 해결했다. 사용자들은 별도의 업데이트를 할 필요조차 없었다. 비록 이런 근본적인 설계 결함이 어떻게 최종 제품 단계까지 살아남았는지에 대한 의문은 남지만, 발 빠른 대응으로 잠재적 재앙을 막아낸 것은 불행 중 다행이다. 다른 IoT 제조사들에게도 이번 사건은 뼈아픈 교훈이 될 것이다. 문을 잠그는 것만큼이나 중요한 건, 내 집 열쇠가 이웃집 문까지 열리지는 않는지 확인하는 일이다.