Mercedes-Benz, 해커들에 의해 원격으로 해킹되다
2015년 Charlie Miller와 Chris Valasek이 Jeep 차량을 원격으로 제어하는 과정을 시연한 이후, 보안 전문가들은 자동차의 보안에 대해 많은 관심을 가지기 시작했습니다[1]. 차량이 해킹당하면 운전자나 보행자 등 사람의 생명에 직접적인 위협을 줄 수 있어 영향력이 더 크게 느껴지는데요. 몇일 전 온라인으로 개최된 Black USA 2020에서 Qihoo 360의 Sky Go가 Mercedes-Benz 차량에 대한 취약점들을 공개해 화제가 되었습니다.그렇다면 해커들은 왜 차량을 해킹했는지, 어떻게 차량을 해킹했는지, 해당 공격의 영향도가 어느 정도인지에 대해 알아보도록 하겠습니다.
해커들은 차량 해킹을 왜 시도했을까요?
해당 연구를 진행한 Sky-Go는 connected-car에 대한 보안 연구를 위해 2014년에 설립된 팀입니다. 이들은 자동차 제조사와의 협업을 통해 차량을 실제로 해킹해보며 발견한 취약점들을 바탕으로 차량의 보안성 향상을 목표로 한다고 하네요.Mercedes-Benz 차량에 대한 연구는 2018년에 시작됐는데요, 해당 브랜드가 자동차 시장에서 세계적으로 가장 유명한 브랜드임을 선정 이유로 꼽았습니다.특히나 해당 연구에서는 Mercedes-Benz 모델 중 E 클래스만을 해킹 타겟으로 정했는데, 이는 E 클래스 모델의 인포테인먼트 시스템이 내-외부와의 접점이 가장 많았기 때문이라고 합니다.
해커들은 어떻게 차량을 해킹할 수 있었을까요?
해킹을 수행함에 있어 가장 선행되어야 하는 과정은 정보의 수집입니다. Sky-Go 팀은 가장 먼저 타겟 차량에 존재하는 하드웨어 컴포넌트들을 나열하고, 각 컴포넌트의 연결 관계를 분석하였습니다. 이후 프로세서에 존재하는 각종 핀들에 대한 정보를 수집하였는데, 분해를 하지 않고 숨겨진 디버깅 핀 등을 찾기 위해 X-Ray를 사용했다고 합니다.
디버깅 핀과 더불어 테스트용 차량을 만들기 위해서는 차량 도난방지 장치를 무력화해야합니다. Mercedes-Benz에서는 1990년대부터 이 차량 도난방지 장치를 사용하고 있었기 때문에, 이 기술이 상당히 발전해 있습니다. 분석 대상 차량의 도난방지 단계는 3개로 나뉘어져 있었는데요, 각 단계에 대한 설명은 다음과 같습니다.
- A 단계 : 시스템을 재시작하라는 경고 메시지가 화면에 출력됩니다. 이 경우,시스템을 재시작하면 정상 작동시킬 수 있습니다.
- B 단계 : 차량 등록 번호 불일치. 차량 딜러에게 도난 방지 장치의 해제를 요청해야 합니다.
- C 단계 : 예상치 못한 오류 및 메시지. 이를 해결하기 위해서는 벤츠 서비스 센터를 방문해야만 합니다.
해커들은 이러한 도난방지 장치를 무력화하기 위해 해당 프로그램이 저장된 SD Card에 접근해야 했습니다. 하지만 SD Card에 대한 접근이 차단되어 있었기 때문에, 해당 파일 시스템 드라이버를 리버스 엔지니어링한 후 SD Card로의 접근 차단을 우회하여 파일 시스템에 저장되어 있는 도난방지 설정을 수정하였습니다.
이들은 테스트 환경을 바탕으로 차량의 여러 공격 표면들을 분석한 결과, 차량의 외부 네트워크와 내부 네트워크 간의 통신을 담당하는 TCU(Telematics Control Unit)가 가장 취약하다고 판단되어, 이를 집중적으로 분석하기로 결정했습니다.
이후 TCU를 분석하기 위해 Mercedes-Benz의 TCU인 HERMES(Hardware for Enhanced Remote-, Mobility- & Emergency Services. 모든 Mercedes-Benz의 Connected Car가 사용)의 펌웨어를 덤프했고[2], 펌웨어를 변조하여 root 권한의 interactive shell을 추가하였습니다.
root 권한 shell에서의 탐색 결과 TCU 디버깅을 위한 엔지니어용 프로그램을 발견했고, 이를 이용해 CAN Bus에 접근해 차량을 물리적으로 제어할 수 있었다고 합니다. 이들은 이러한 하드웨어적 결함 이외에도 취약한 인증서 키, 소셜 서비스의 QR코드 스캔 과정에서의 SSRF를 통한 로컬 파일 탈취 등 총 19개의 취약점을 발견 및 제보하였습니다.
공격의 영향력은 어느 정도인가요?
발표자들은 발견된 취약점을 이용하여 원격에서 차량 문을 여닫거나, 엔진 시동을 거는 등의 행위가 가능하며, 중국에서만 약 200만 대의 Mercedes-Benz 차량이 취약점의 영향을 받는다고 주장했습니다 [3].
제보된 취약점들은 즉시 패치됐고, 이들은 보안상으로 문제가 되지 않을 정보들만 공개했다고 합니다.
결론
최근 개발되는 차량들은 이용자의 편의를 위해 외부 네트워크와 연결되고 있는데, 이로 인해 해커들의 공격에는 더욱 취약해졌습니다. 이를 개선하기 위해 많은 연구자와 관계 기업들이 차량 보안의 향상을 위해 노력하고 있지만, 아직은 취약점이 지속해서 제보되고 있어서 긴장의 끈을 놓을 수 없어 보입니다 [4].
저희 티오리에서도 자동차 보안 분야에 대한 연구를 계속 진행해오고 있습니다. 우리 모두가 안전하게 기술의 편리함을 누릴 수 있도록 더욱 노력하겠습니다.