[보안뉴스 문정후 기자] 지난 6월 11일, 기아자동차의 차량들에서 위험한 취약점이 발견됐다. 차량의 하드웨어 구성이 어떻게 되어 있든 30초만에 원격으로 차량 내 주요 소프트웨어 기능들을 제어할 수 있게 해 주는 취약점이었다. 기아자동차에서 고객들에게 제공하는 서비스인 기아커넥트(Kia Connect)와 구독되어 있든 없든 마찬가지였다. 이러한 공격에 필요한 건 차량 번호판 정보 뿐이었다.
[이미지 = gettyimagesbank]
공격에 성공한 공격자가 할 수 있는 건 차량 제어만이 아니었다. 자동차 소유주, 즉 기아자동차 고객들의 이름, 전화번호, 이메일 주소, 거주지 주소 등과 같은 개인정보도 가져갈 수 있었다. 그리고 이 정보들을 가지고 피해자 몰래 차량의 2차 사용자로 스스로를 등록시키는 것도 가능했다. 다행히 이 취약점은 보안 연구원들이 먼저 발견했고, 아직까지 해커들이 실제 공격에 활용하지는 않은 것으로 보인다.
이 연구에 참여한 사람들은 네이코 리베라(Neiko Rivera), 샘 커리(Sam Curry), 저스틴 라인하트(Justin Rhinehart), 이안 캐롤(Ian Carroll)이었다. 이들은 2년 전 10개 이상의 자동차 제조사들이 출시한 자동차들에서 여러 심각한 취약점들을 발견하기도 했었다. 약 1,550만 대 이상의 자동차들이 당시 취약한 것으로 분석됐었다. 이 연구 결과는 미국 국회에서 논의되기도 했을 정도로 큰 화제가 됐었다.
그 연구원들은 해당 연구를 이어갔고, 그러다가 기아자동차의 모델들에 손을 대기 시작했다고 한다. “먼저는 기아 고객들의 포털인 owners.kia.com과 기아커넥트의 iOS 앱에서부터 연구를 시작했습니다. 왜냐면 이 두 가지는 인터넷을 통해 차량에 명령을 전달하는 기능을 가지고 있었기 때문입니다. 분석을 통해 owners.kia.com으로 차량의 문을 원격 해제할 수 있는 HTTP 요청을 발견할 수 있었습니다.”
연구원들은 계속해서 기아 차량 딜러들이 사용하는 포털도 확인했다. “일부 관계자들과 인터뷰를 진행했고, 이를 통해 차량을 구매할 때 이메일 주소를 입력하면 차량을 등록할 수 있다는 걸 알게 됐고, 그 등록을 위한 링크도 확보할 수 있었습니다. 해당 URL에는 token이라는 매개변수가 포함되어 있는데, 이것은 기아 측 딜러가 생성한 일회성 접근 토큰을 나타냅니다. vin 매개변수도 있는데, 이것을 통해 특정 차량을 지정할 수 있습니다. 즉 URL에 지나치게 많은 정보가 있었다는 겁니다.”
그래서 연구원들은 이 정부를 가지고 딜러 전용 API를 통해 차량들을 조회하기 시작했다. “딜러 API가 가지고 있는 기능에 접근할 수 있는지 확인하려고 HTTP 요청을 형성하고, 이를 적용해보기 시작했습니다. 하지만 401 Unauthorized라는 응답을 받았을 뿐입니다. 제공된 토큰이 만료되었거나 유효하지 않다는 뜻이죠.”
1차 시도에서 실패한 연구원들은 딜러 계정을 등록하여 직접 접근 토큰을 생성했고, 이 토큰을 이용했을 때는 차량 정보를 조회하는 데 성공할 수 있었다고 한다. “차량 정보를 조회하니 구매자의 이름, 전화번호, 이메일 주소 등 각종 개인정보를 손쉽게 얻어낼 수도 있었습니다.”
공격은 거기서 끝나지 않았다. “여기까지 오면서 얻은 정보를 활용해 차량을 탈취할 수 있는 방법이 있을 것 같아 계속해서 이런 저런 시도들을 이어갔습니다. 그리고 결국 차량 완전 탈취로 이어지는 HTTP 요청 4가지를 알아내는 데 성공했습니다.”
연구원들은 이 과정을 다음과 같이 정리 및 공개했다.
1) 딜러 토큰 생성
POST /apps/services/kdealer/apigwServlet.html HTTP/1.1
Host: kiaconnect.kdealer.com
Httpmethod: POST
Apiurl: /prof/authUser
2) 피해자 이메일 및 전화번호 조회
POST /apps/services/kdealer/apigwServlet.html HTTP/1.1
Host: kiaconnect.kdealer.com
Appid: 123e4567-e89b-12d3-a456-426614174000
Apiurl: /dec/dlr/dvl
3) 기존 차량 소유자의 권한 해제
POST /apps/services/kdealer/apigwServlet.html HTTP/1.1
Host: kiaconnect.kdealer.com
Apiurl: /dec/dlr/rvp
4) 공격자를 차량의 또 다른 소유자로 추가
POST /apps/services/kdealer/apigwServlet.html HTTP/1.1
Host: kiaconnect.kdealer.com
Apiurl: /ownr/dicve
“이러한 과정을 통해 저희는 차량 소유자의 권한을 손쉽게 제거할 수 있었고, 저희를 새로운 소유자로 등록시킬 수 있었습니다. 그런 후에는 소유자로서 차량에 원격 명령을 내려 실행시킬 수 있었지요. 차량 탈취에 성공한 것이나 다름 없었습니다.”
그 외에도 공격자들은 자신들이 발견했던 공격 코드들을 보고서를 통해 전부 공개했다. 그렇게 할 수 있었던 건 이미 기아자동차 측과 협조하여 모든 조치를 취했기 때문이다. 더 이상 위의 공격 코드들은 통하지 않으며, 위에 언급된 취약점들에 대해 기아자동차는 안전한 상황이라고 연구원들은 강조했다.
3줄 요약
1. 기아자동차의 수많은 차량들에서 원격 탈취 가능한 취약점 발견됨.
2. 딜러 포털에 침투하여 차량 번호판 정보 알아내면, 순식간에 차량을 공격자의 것으로 만들 수 있음.
3. 지금은 기아자동차에서 조치를 취하여 안전한 상황.
[국제부 문정후 기자(globoan@boannews.com)]
<저작권자: 보안뉴스(www.boannews.com) 무단전재-재배포금지>