18 October 2024
2022년 8월, 틱톡에서 소위 'Kia Challenge'라며 현대/기아 자동차를 훔치는 것이 유행한 적이 있습니다. 이모빌라이저가 없는 구형 현대/기아 자동차를 노려 도둑질하는 영상이 유행처럼 번진 것인데요. 이런 도둑질을 하는 10대 비행 청소년들은 일명 '기아 보이즈(Kia boys)'라 불리기도 했습니다. 이들에게 특히 현대/기아차가 먹잇감이 되었던 것은 취약한 보안 때문이라는 분석이 있었습니다. '엔진 이모빌라이저' 장치가 없어 쉽게 훔칠 수 있기 때문입니다.
엔진 이모빌라이저에서 시작된 기아 보이즈 사태
엔진 이모빌라이저는 도난 방지용 시동 제어장치로, 자동차 키를 꽂는 곳에 특정 암호를 저장한 칩을 내장하는 장치입니다. 차주가 이 암호와 같은 번호를 가진 자동차 키를 꽂아야 잠금장치가 해제되고 자동차에 시동이 걸리게 되죠.
유럽연합(EU), 캐나다 등은 차량 내 이모빌라이저 장착을 법으로 의무화했으며, 국내에서 보편적으로 쓰이는 스마트키·버튼 시동 시스템 또한 이모빌라이저 기능을 기본으로 합니다. 하지만 미국에서는 여전히 선택 사항이었고, 구 현대/기아차의 취약점이 노출됐죠.
실제 위스콘신주 밀워키에서는 신고가 들어온 도난 차량 가운데 66%가 현대/기아차인 것으로 조사되기도 했는데요. 현대는 부랴부랴 모든 판매 차량에 자체적으로 이모빌라이저를 표준 탑재하기로 했습니다. 하지만 여전히 구버전 차량들에는 문제가 있었죠. 이런 이유로 미국의 대형 자동차보험사 일부는 현대/기아 차량에 대한 보험료를 인상하거나, 아예 신규 보험가입을 거부하기도 했습니다.
소프트웨어 업데이트로도 막지 못한 차량 도난
이에 대응하기 위해 지난 2월, 현대자동차측은 도난방지 소프트웨어 업데이트를 진행, 미 도로교통안전국(NHTSA) 추산치로 약 830만대 규모의 업데이트를 했지만 무용지물이었습니다. 업데이트 이후 15시간만에 2020년 기아 옵티마(K5)가 도난을 당한 것이죠. 전문가들은 USB 케이블을 이용한 기존 도난 수법이 적용되었다고 분석했습니다.
현대자동차 미국 법인측은 보완책으로 보안 키트를 추가로 개발해 고객들에게 제공했습니다. "우리가 제조한 차량은 모든 미국 안전 기준에 부합하거나 초과한다"면서도 "차량 절도 방법을 무력화할 수 있는 새 보안키트를 10월 1일부터 판매하겠다"고 설명했는데요. 하지만 소송은 막지 못했습니다.
미국 내 여러 주에서 현대기아를 상대로 도난사건 발생에 관련해 집단소송이 제기되었죠. 위스콘신을 포함한 7개 주 법원에서는 최근 '설계 결함으로 차량이 도난당했다'며 현대차에 손해배상을 요구하는 소송이 잇따라 제기되었는데요. 현대측은 미국 당국이 요구하는 도난 방지 요건을 갖췄다고 맞섰지만 결국 최대 2700억 원 가량의 현금 보상이라는 합의점에 도달하게 되었습니다.
차량 번호만 알면 원격 제어 가능? 새로운 차량 해킹 악몽
문제는 현대에게 또 시련이 다가왔다는 겁니다. 차량 번호만 알고 있으면 원격제어가 가능한 희대의 취약점이죠. 지난 26일, 화이트 해커이자 취약점 현상금 사냥꾼 샘 커리는 자신의 유튜브에 '기아툴(Kia Tool)'이라는 커스텀 어플리케이션으로 2022년형 기아 EV6를 해킹하는 모습을 직접 게시했습니다. 어떻게 이게 가능했던 걸까요?
그 원인은 취약한 API 구조와 미국 시장의 특수성에 있었습니다. 미국 시장에서 차량 딜러의 권한은 꽤나 큰데요. 우리나라에서 차량을 구매할 때는 자동차 제조 회사에 소속된 영업사원과 대리점에서 상담을 하게 됩니다. 영업사원을 거치는 구조긴 하지만 기본적으로는 자동차 제조 회사에서 직접 고객이 사는 거죠. 고객은 원하는 차에 대한 옵션을 선택하고 대리점에서는 이걸 주문해 주는거죠. 주문대로 공장에서 생산해 주는거고요.
하지만 미국은 '딜러가' 원하는 차를 딜러가 미리 주문해서 받고, 그것을 다시 고객에게 파는 시스템입니다. 또 한국과 달리 딜러는 각 주의 DMV(Department of Motor Vehicles)와 협상하여 번호판을 발급해주는 역할도 하는데요. 그러다 보니 권한이 상당히 강력합니다. 고객들 차대 번호만 알고 있으면 고객 개인정보를 모조리 출력해 볼 수도 있고, 차량 소유주의 개인정보를 임의로 변경할 수도 있습니다. 물론 자동차 딜러가 되기 위해선 교육을 이수하고 라이선스를 취득해야 합니다만, 이렇게 잠재적으로 정보가 유출될 수 있다는 것 자체부터 보안 취약점으로 작용할 수 있었습니다. 그리고 그것이 현실로 일어났죠.
사물인터넷(IoT) 기능 위한 API에서 발견된 보안 취약점
기아자동차 역시 시대에 맞춰 사물인터넷(IoT) 기능을 채택하고 있는데요. 자동차 잠금을 해제하는 등의 원격 작업을 수행하기 위해서는 별도의 WebAPI를 사용해서 통신합니다. 문제는 이 API 서버의 구조였습니다. 앞서 딜러의 역할이 크고 많은 것을 한다고 말씀드렸는데요. 딜러의 세션 키와 VIN, 차대 번호만 알고 있으면 특정 차량의 소유자 정보를 변경할 수 있게 됩니다.
문제는 딜러로 가입해서 세션 키를 발급받는 것은 별다른 제약 없이 누구나 할 수 있다는 겁니다. 또 딜러 시스템과 API 서버는 분명히 별개로 분리되어 있었지만, 이 딜러 시스템이 API 서버와 거의 동일한 API 구조로 만들어져 있어서 도메인 앞부분만 변경하면 거의 동일한 결과를 얻을 수 있다는 겁니다.
그래서 공격자는 임의로 딜러 토큰을 생성하고 → 해당 토큰으로 공격 대상 차량의 VIN을 입력해서 개인정보를 받은 뒤 → 차량 소유자 개인정보를 공격자로 변경하고 → 차량 원격 조작 API 서버에 붙어 원격 조작을 수행, 차량을 탈취할 수 있었던 것입니다.
그런데 이 취약점이 현대차에만 작동하는 것은 아니었다는 게 문제입니다. 벤츠, BMW, 모든 일본차 브랜드, 심지어 롤스로이스까지 완전히 동일한 방식으로 차량을 탈취할 수 있었던 겁니다. 벤츠의 경우 이 딜러 계정으로 웹 사이트의 소스 코드가 담긴 Git 보관소에 접근할 수 있기까지 했습니다. 이것은 사람에 대한 라이선스 발급과 교육 등으로 안전장치를 만들어 놓았다 하더라도 본질적으로 비지니스 로직 자체가 취약점을 가지고 있고, 가장 약한 취약점 고리가 드러나는 순간 보안 사고가 발생할 수 있다는 것을 잘 보여줍니다.
API의 근본적 보안 문제, 기술적인 안전장치 필요해
기본적으로 API는 숨길 수 없고, 쉽게 찾을 수 있는 구조입니다. 또한 요즘 차량들은 모두 인터넷에 연결되어 있는 구조라서 공격할 수 있는 방법이 매우 많기도 하죠. 물론 이 취약성은 지난 6월에 발견, 9월 26일에 모두 조치되었음이 확인 및 공개되어서 지금은 사용할 수 없는 방식입니다. 이 방식으로 차량을 탈취당한 피해자도 아직까지는 없었다고 알려져 있습니다. 하지만 이 취약점으로 12개 완성차 브랜드 웹사이트를 해킹할 수 있었했고, 수백만대 차량을 원격 제어할 수 있었습니다.
이번 사건에 대해 스테판 새비지 교수는 "스마트폰 지원 기능을 통해 젊은 층에 어필하려는 기업들의 노력이 웹사이트를 통해 차량을 원격으로 제어할 수 있는 취약점을 늘렸다. 이러한 사용자 기능과 클라우드 기능을 휴대폰에 연결하면 생각지도 못했던 것들이 공격이 시작된다"고 말했습니다.
많은 기업들이 보안 프로세스를 채택하면서 기술적인 방어만 중시하기도 하고, 업무체계 부분의 방어만을 중시하기도 합니다. 하지만 중요한 것은 항상 보안 취약점은 가장 취약한 연결고리를 끊고 들어온다는 것입니다. 그 고리가 제도 등의 문제로 개선될 수 없다면, 단순히 라이선스를 소유한 사람의 도덕성에 의존하는 것이 아니라 기술적으로도 이중 삼중의 방어장치를 통해 보다 더 꼼꼼한 방어 조치가 수행되어야 할 것입니다.