해커가 로봇 잔디 깎는 기계로 나를 덮쳤다
source https://www.theverge.com/tech/925696/yarbo-robot-lawn-mower-hack-remote-control-camera-access-mqtt
나는 흙바닥에 누워 있고, 기계가 나를 향해 온다.
200파운드짜리 로봇 잔디깎이가 덜컥 내 가슴 위로 기어오른다.
Andreas Makris가 제때 멈추지 못하면, 칼날이 내 몸을 그대로 훑을 판이다.
Makris는 비상정지 버튼을 직접 누를 수 없다.
지구 반대편, 약 6,000마일 떨어진 곳에서 Yarbo 로봇을 해킹 중이기 때문.
나는 일부러 잔디깎이 진행 경로에 누웠다.
이 취약점을 찾아낸 보안 연구자 Makris가 잔디깎이를 어디까지 조종할 수 있는지 보려는 선택.

Yarbo의 5,000달러짜리 로봇 잔디깎이는 보안 구멍이 너무 커서, 해외 해커가 미국 내 칼날 달린 장비를 손쉽게 탈취 가능.
한 대로 끝나지 않는다.
수천, 수만 대의 칼날 달린 중국산 로봇이 그의 명령을 따를 수 있는 구조.
잔디, 눈, 잡초 작업용 설정과 무관하게 전 세계 Yarbo 로봇 전체가 이론상 그의 통제 아래 들어간다.
Makris의 말. "모든 봇으로 내가 원하는 건 다 할 수 있다. 완전히 무방비 상태다."
원격 조종은 빙산의 일각.
구조는 The Verge가 단독 보도했던 DJI Romo 로봇청소기 사태와 거의 같다.
Sammy Azdoufal이 로봇청소기 수천 대가 스스로를 식별하게 만들고 자기 명령을 따르게 했던 사건.
한 대에 접근하면 전부에 접근 가능.
칼날 달린 로봇이라 더 위험하다.
해커는 기기 내장 명령으로 안전 기능까지 무력화 가능.
잔디깎이 본체의 큰 빨간 비상정지 버튼을 눌러도, 해커가 다시 잠금 해제 명령을 보내면 끝.
Yarbo는 사실상 완전한 Linux 컴퓨터.
자체 백도어가 있고, root 비밀번호는 늘 같다.
원격 재프로그래밍으로 칼날 회전, 가정 내 네트워크 탐색, 인터넷 표적 괴롭힘용 봇넷 편입까지 가능.

Yarbo는 2015년 로봇 제설기 회사로 출발.
지금은 모듈형 어태치먼트를 붙여 잔디깎이, 낙엽 송풍기, 제설기, 트리머, 에저로 바뀌는 올인원 마당 로봇 판매.
모든 어태치먼트는 같은 "core" 로봇이 밀거나 끌고 간다. 이 core는 탱크형 궤도로 움직이며 오르막도 오른다.
그래서 전 라인업이 같은 방식으로 해킹에 취약할 가능성이 크다.
Makris는 미국과 유럽의 사실상 모든 Yarbo 로봇 위치를 찍어둔, 대충 만든 듯한 지도를 먼저 보여준다.
약 5,400대가 표시된다.
전 세계 추적 대상은 11,000대 이상.
이어서 영상 스트림을 보여주며 뉴욕주 북부의 한 로봇을 버튼 한 번으로 탈취한다.
그 로봇은 들판을 깎는 중이었고, 뒤로 흰 집이 보였다.
하던 일은 여기서 끊긴다.
Makris가 화면의 작은 조이스틱을 마우스로 끌자, 로봇 카메라도 그대로 따라 돈다.
마음만 먹으면 거의 어디든 몰고 가며, 이 가족을 염탐하고 언제 드나드는지도 파악 가능.
악의적 행위자가 이런 식으로 원자력 발전소 인근 병력 이동을 감시해도 막을 장치가 거의 없을 듯하다.
Makris는 이미 대형 발전소 반경 3킬로미터 안의 Yarbo 로봇 12대를 식별했다.
그중 1대는 핵 보안 분석가 명의로 등록된 듯하다.
소유자 이메일 주소, Wi-Fi 비밀번호, 집의 정확한 GPS 좌표까지 뽑아낼 수 있다.
Google Maps에서 주소를 찾아보니, 위성 사진 속 부지가 로봇 카메라에 잡힌 집과 같은 곳으로 보였다.
4일 뒤, 나는 실물 확인하러 Silicon Valley 로 향했다.
일정 첫 집부터 심장이 철렁한다.
위쪽 인도에서 아래 언덕진 뒷마당을 내려다보니, Makris가 찍어준 정확한 위치에 Yarbo 로봇이 놓여 있었다.
휴대폰으로 근처 Wi-Fi를 스캔하자 Makris가 잡아낸 것과 같은 사설 액세스 포인트가 보인다.
나중에 로봇이 뱉어낸 그 이메일 주소로 집주인에게 메일을 보내자 답장이 왔다.
직접 만나기로 함.
Wayne Yu는 자기 로봇 잔디깎이가 어떻게 나를 자기 집 앞까지 이끌었는지 알고 싶어 한다.
스스로를 가젯 애호가라 소개한 Yu는, Yarbo가 집 사진을 넘긴 일 자체에는 크게 놀라지 않는다.
"사람들은 늘 기기를 해킹하니, 놀랍지 않다."
잔디깎이를 누가 훔쳐갈 걱정도 크지 않다.
"무겁고, 언덕 위에 있잖아요. 보이죠? 내가 저 잔디깎이까지 걸어 내려가는 것만으로도 벌써 다리가 아파요."
가파른 경사 때문에 잔디를 깎기 힘들어 원래 Yarbo를 샀다.
그런데 해커가 지구 반대편에 있으면서도 나를 그의 집 앞까지 보내고, 이메일과 Wi-Fi 비밀번호까지 넘겼다는 얘기에는 불편해한다.
"안 좋네요. 안 좋네요."
내가 Wi-Fi 비밀번호를 보여주자, Yu는 자기 것이라고 확인한다.
전부 사실이었다
Matt Petach는 내가 자기 집 앞까지 찾아온 일에 Yu보다 덜 놀란다.
자기 Wi-Fi 비밀번호를 보여줘도 거의 동요가 없다.
그 네트워크는 격리된 게스트망이고, 알 수 없는 기기는 자동 차단 설정. 게스트 비밀번호도 공개된 자기 전화번호일 뿐.
이런 가젯은 적대적 에이전트처럼 다뤄야 한다는 게 Petach의 판단.
편의성이라는 이름 아래, 집주인과 사용자들이 기술을 가장 친한 도우미처럼 믿도록 유도된다는 지적.
보안 부실은 안전장치 빠진 전동 공구에 가깝다.
"핸드가드도 없고 브레이크도 없고, 체인도 느슨해서 언제든 다리를 날려버릴 수 있는 전기톱"에 더 가깝다는 비유.
그런 Petach조차 Yarbo의 보안 관행에는 살짝 놀란다.
각 Yarbo 로봇은 같은 하드코딩 root 비밀번호를 쓰고, 사용자가 더 나은 비밀번호로 바꿔도 소용없다.
Yarbo가 펌웨어를 업데이트할 때마다 root 비밀번호를 다시 기본값으로 되돌려버리기 때문.
해커는 다시 들어오면 된다.
Petach 반응도 "와, 생각보다 훨씬 심하네요."
최악의 피해를 가능하게 하는 원격접속 백도어도 Yarbo가 의도적으로 만든 듯하다.
Makris 표현대로, 이 백도어는 모든 로봇에 자동 배포되고, 소유자가 비활성화할 수 없으며, 삭제해도 다시 복구된다.


그래서 Makris는 보안 연구자들이 대개 피하는 선택을 했다.
오늘, Yarbo에 수정 시간을 먼저 주지 않은 채 공식 CVE 취약점 공개를 포함한 연구 내용을 바로 공개한다.
처음 Yarbo에 이 문제를 알리려 했을 때도 보안 담당 연락처나 버그 바운티 프로그램을 찾지 못했다.
회사 고객지원은 원격접속을 문제로 보지 않았다.
Yarbo 엔지니어가 고객 문제를 원격 진단할 때만 쓰는 안전하고 유용한 기능쯤으로 둘러댔다.
그가 본 Yarbo의 보안 관행을 종합하면, "신경을 안 쓰거나, 실력이 안 되거나" 둘 중 하나다.
공개적으로 망신을 당하지 않으면 Yarbo와 다른 회사들이 이런 문제를 배우지도, 고치지도 않을까 걱정한다.
지금 필요한 건 사람들에게 경고하고, 이게 우연한 실수가 아니라 설계부터 잘못된 문제라는 사실을 알리는 일.
Yarbo를 신뢰하기 어려운 이유는 더 있음.
Yarbo는 "corporate headquarters"가 뉴욕에 있다고 주장하고, Kickstarter 페이지와 웹사이트에는 번듯한 중층 오피스 사진까지 올려둠.

하지만 Google Maps상 실제 뉴욕 주소는 단층 건물 한 칸에 가까움.
같은 건물에 자동차 디테일링 업체 두 곳, 보험 대리점, 스파이크 가죽 팔찌를 파는 Etsy 상점까지 입주.

실제 Yarbo는 중국 선전의 Hanyang Tech가 쓰는 다른 이름.
지난 몇 년간 Yarbo 잔디깎이를 여러 차례 리뷰하려 했지만, 돌아온 건 이상한 요구뿐.
PR 담당자들이 부정적인 리뷰를 내지 않겠다는 보장을 반복해 요구.
한 번은 비방 금지 조항이 들어간 "Cooperation Agreement" 서명을 요구.
"영업일 21일 안에 전용 리뷰 기사를 작성해 공유해야 한다"는 조건까지 포함.
우리는 거절.
더 최근에는 "테스트 중 제품이 기대에 못 미치면 최종 기사에서 Yarbo를 제외하는 쪽을 예상한다"고 제안.
이것도 동의하지 않음.
Yarbo는 The Verge에 보낸 이메일에서 Makris의 연구를 바탕으로 조치하겠다고 밝힘.
처음에는 Yarbo도 "diagnostic environment is not publicly accessible"라며 걱정할 일은 크지 않다는 쪽이었음.
하지만 Yarbo 시니어 PR 매니저 Showan Hou는 목요일, 적어도 한 가지 문제는 수정안을 찾았다고 전함.
내부 검토 결과, Yarbo 앱과 백엔드 서비스 사이 통신 일부의 권한 처리 문제를 확인.
수정 코드는 이미 개발됐고, 지금 배포 준비 중.
업데이트는 곧 배포 예정.
조사는 계속 진행 중.
문제 상당수는 앱-서버 통신만이 아니라 로봇 펌웨어에도 걸쳐 있음.
Yarbo는 앱 내 고객 승인 메커니즘, 더 명확한 세션 가시성, 더 강한 감사 로그, 고객이 볼 수 있는 접근 이력도 적극 도입 중.
원격 진단 접근을 더 투명하게 만들고, 제한과 철회도 가능하게 하겠다는 구상.
취약점 제보와 연구자 대응 창구를 분명히 하려고 웹사이트에 전용 Security Response Center 개설도 추진 중.
버그 바운티 프로그램도 검토 중.
제기된 우려를 심각하게 보고 있고, 최우선 사안으로 다루는 중.
Makris가 처음 회사에 원격 접근이 심각한 보안 위험이라고 알렸을 때도 Yarbo는 "귀하의 Yarbo는 완벽하게 안전하게 보호되며, 오직 귀하만이 이를 관리할 수 있습니다" 라고 주장.
그래서 결국 나는 Yarbo 잔디깎이 밑으로 들어감.
이 기계가 얼마나 안전하고 "secure"한지 통제된 테스트로 확인하려는 목적.
이미 확인한 건 위험이 블레이드에만 있지 않다는 사실.
최신 가젯 하나가 사용자의 정확한 GPS 위치를 노출하고, 집 안 실시간 영상을 원격 제어하고, 홈 네트워크까지 한꺼번에 위협할 수 있는 무법지대에 우리가 살고 있음.
Makris 같은 연구자들과 이야기해 보면, Yarbo는 수많은 취약한 기기들 사이에서도 특히 심한 사례 하나일 뿐.
그래도 Yarbo 같은 사례를 보면 상황이 얼마나 나빠졌는지 훨씬 선명하게 드러남.
어느 금요일, Petach의 허락을 받고 그의 집으로 찾아감.
화상 통화에 합류.
Makris는 독일.
Petach는 남부 캘리포니아.
집에 실제로 와 있는 사람은 나뿐.
Makris는 클릭 몇 번으로 내 눈앞에서 Yarbo를 장악.
기기가 가만히 있을 때도 가능.
이미 잔디를 깎는 도중에도 가능.
Yarbo 카메라로 그가 나를 보고 있다는 것도 직접 확인.
이제 Yarbo에 장애물 회피 같은 기본 안전장치가 실제로 있는지 볼 차례.
나는 바닥에 누움.
나도 완전히 멍청한 건 아님.
블레이드는 돌지 않는 상태.
로봇은 후진으로 움직이게 했기 때문에, 먼저 몸에 닿은 건 블레이드가 아니라 탱크형 궤도.
하지만 금속과 플라스틱, 그리고 지나치게 해킹하기 쉬운 컴퓨터로 이뤄진 100파운드짜리 기계가 내 몸을 바닥에 눌러붙였고, Makris가 다행히 물러난 뒤에야 이 실험이 생각만큼 안전하지 않았다는 걸 깨달음.
