• 엔지니어가 데이터 수집을 막자 제조업체가 스마트 진공청소기 비활성화를 위한 원격 정지 명령을 내렸고, 사용자는 오프라인 작동을 위해 맞춤형 하드웨어와 Python 스크립트로 이를 부활시켰

    스마트 진공청소기가 데이터 미수집으로 인해 원격으로 기능이 정지(벽돌 처리)되다.

    article image

    한 엔지니어는 자신이 사용하는 iLife A11 스마트 진공청소기의 작동 원리에 호기심을 느껴, 장치에서 발생하는 네트워크 트래픽을 모니터링하기 시작했습니다. 그 과정에서 그는 이 장치가 본인이 동의하지 않은 상태임에도 불구하고 제조사 서버로 지속적으로 로그와 원격 측정(telemetry) 데이터를 전송하고 있다는 사실을 발견했습니다.

    사용자 Harishankar는 펌웨어 및 OTA 서버 연결은 유지하되, 네트워크에서 원격 측정 서버의 IP 주소를 차단하는 조치를 취했습니다. 스마트 가전은 한동안 정상적으로 작동했지만, 얼마 지나지 않아 갑자기 전원이 켜지지 않는 문제가 발생했습니다. 긴 시간의 조사를 거친 끝에, 그는 이 장치에 원격 종료(kill) 명령이 발부되었다는 것을 알아냈습니다.

    그는 이 장치를 서비스 센터에 여러 차례 맡겼고, 기술자들은 청소기가 아무 이상 없이 작동한다고 확인했습니다. 하지만 장치를 다시 돌려받아 사용해도 며칠간만 작동하다가 다시 부팅에 실패했습니다. 이러한 과정이 여러 차례 반복되자, 서비스 센터 측은 아마도 포기했는지 '보증 기간 만료'를 이유로 수리를 거부했습니다. 이에 그는 장치에 무슨 문제가 생겼는지 확인하고 복구 가능성을 점검하기 위해 직접 분해를 시도했습니다.

    A11은 스마트 장치였기에 Lidar, 자이로스코프, 엔코더를 포함한 다수의 센서를 관리하기 위해 AllWinner A33 SoC와 TinaLinux 운영체제, 그리고 GD32F103 마이크로컨트롤러가 사용되고 있었습니다. 그는 PCB 커넥터를 직접 제작하고 파이썬 스크립트를 작성하여 컴퓨터로 장치를 제어했으며, 이를 통해 각 부품을 개별적으로 테스트하고 문제의 원인을 파악하려 했습니다. 나아가 라즈베리파이(Raspberry Pi) 조이스틱을 만들어 진공청소기를 수동으로 구동함으로써, 하드웨어 자체에는 문제가 없음을 입증했습니다.

    사용자가 자신의 장치를 만지작거리던 중 6,700대 이상의 로봇 진공청소기 제어권을 우발적으로 확보하다

    article image

    엔지니어, 취약점을 노출해 7,000대 로봇 진공청소기에 영향을 미치다, 3만 달러를 받다

    엔지니어, 보안 취약점 때문에 스마트 수면 안대가 타인의 뇌파를 읽을 수 있음

    그는 장치의 소프트웨어와 운영체제 코드를 면밀히 검토했고, 그곳에서 충격적인 진실을 발견했습니다. 그의 스마트 진공청소기는 본질적으로 보안 취약점이 심각한 '보안 악몽'이자 개인 데이터의 '블랙홀'이었습니다. 첫째, 진공청소기에 대한 전체 루트 접근(root access) 권한을 부여하는 Android Debug Bridge는 어떠한 비밀번호나 암호화 장치로도 보호받고 있지 않았습니다. 또한 제조사는 핵심 파일을 누락하는 방식의 임시 보안 프로토콜을 추가했으나, Harishankar는 이를 손쉽게 우회했습니다. 더 나아가 이 청소기가 Google Cartographer를 사용하여 집의 실시간 3D 지도를 구축하고 있다는 사실을 알아냈습니다.

    이는 스마트 진공청소기로서 집안을 탐색하는 데 필수적인 기능이므로 놀랄 만한 일은 아닙니다. 하지만 가장 우려되는 부분은 이러한 모든 데이터가 제조사 서버로 전송되고 있다는 점입니다. 장치 자체의 온보드 SoC가 모든 데이터를 처리할 만큼 충분히 강력하지 않기 때문에, 데이터를 제조사 서버로 전송하는 것은 논리적으로 이해가 갑니다. 그러나 iLife는 이 점을 고객들에게 명확히 안내하지 않은 것으로 보입니다. 게다가 엔지니어는 더욱 충격적인 점을 발견했습니다. 고장 난 스마트 진공청소기의 로그 파일 깊은 곳에서, 장치가 작동을 멈춘 시간과 정확히 일치하는 타임스탬프를 가진 명령을 발견한 것입니다. 이는 명백한 '종료 명령(kill command)'이었으며, 그가 이 명령을 역추적하고 장치를 재부팅하자 청소기는 다시 살아났습니다.

    article image

    그렇다면 A11은 서비스 센터에서는 정상 작동했지만 자신의 집에서는 작동을 거부한 이유가 무엇일까요? 기술자들은 스마트 진공청소기의 펌웨어를 리셋하여 종료 코드를 제거하고, 이를 개방된 네트워크에 연결해 정상 작동하게 만들었습니다. 하지만 이 청소기가 원격 측정 서버가 차단된 네트워크에 다시 연결되자, 제조사 서버와의 통신이 불가능하여 원격적으로 고장(bricked) 상태가 되었습니다. 즉, 사용자가 장치의 데이터 수집 기능을 차단하자, 제조사가 스스로 장치를 완전히 무력화시키기로 결정한 것입니다. Harishankar는 "누군가—혹은 무언가가—원격으로 종료 명령을 내린 것"이라고 지적했습니다. "이것이 의도적인 처벌이든, 혹은 '규정 준수'를 강제하는 자동화된 조치였든, 결과는 같았습니다. 결국 소비재 가전제품이 주인의 통제권을 빼앗아 버린 것입니다."

    불행하게도 이 사례는 다른 사례로도 나타납니다. 전문가들은 이러한 기기들이 사용자 데이터를 수집할 수 있는 가능성을 지니고 있음을 지적합니다. 따라서 사용자는 제품의 근본적인 보안 구조와 데이터 전송 과정을 세밀하게 점검해야 합니다.

    결론적으로, 사용자가 자신의 사물 인터넷(IoT) 기기를 능동적으로 관리하고, 기기의 전력 소모 패턴, 데이터 전송량, 그리고 서버와의 통신 주기를 지속적으로 모니터링하는 것이 중요합니다. 그래야만 사용자 데이터의 오용과 남용으로부터 자신을 보호할 수 있습니다.

    핵심 조치 사항:

    1. 물리적 접근 통제: 장치를 신뢰할 수 있는 환경에만 배치하고, 물리적 접근 가능성을 최소화합니다.
    2. 네트워크 세분화: IoT 기기용 전용 네트워크(VLAN 등)를 구축하여, 핵심 데이터와 분리합니다.
    3. 데이터 최소화 원칙: 해당 기기가 반드시 전송할 필요가 없는 데이터는 수집되지 않도록 기본 설정에서 비활성화합니다.
    4. 정기적 펌웨어 업데이트 점검: 보안 취약점이 발견된 경우, 제조사의 패치 패치가 적용되었는지 주기적으로 확인합니다.
    5. 전문가 검토: 의심스러운 작동 패턴이나 과도한 네트워크 트래픽이 감지되면, 전문 보안 전문가의 조언을 구합니다.

    [출처:] https://www.tomshardware.com/tech-industry/big-tech/manufacturer-issues-remote-kill-command-to-nuke-smart-vacuum-after-engineer-blocks-it-from-collecting-data-user-revives-it-with-custom-hardware-and-python-scripts-to-run-offline