스마트카는 쉽게 말해 스마트폰을 실은 자동차입니다. 수많은 컴퓨터가 차량에 탑재돼, 조작 대부분을 전자식으로 할 수 있습니다. 과거 폐쇄적이던 차량 네트워크 시스템은 점점 외부에 개방되고 있습니다. 문제는 그만큼 해킹의 위험에도 노출됐다는 점입니다.
● 작은 컴퓨터(ECU)들의 모임
최신 자동차는 70개가 넘는 ECU를 탑재하고 있습니다. ECU는 Electronic Control Unit의 줄임말로, 성능이 낮은 CPU가 달린 소형 컴퓨터라고 생각하면 됩니다. 이런 게 차에 70개가 달렸다고 하니, 대부분의 차량 조작을 전자식으로 할 수 있습니다.
● 내부 통신 → 외부 통신
차량 제어가 전자식으로 가능해지면서, 작은 컴퓨터라 불리는 ECU 사이에 통신이 필요했습니다. 서로 차량 제어상황 정보를 주고받으면서 작동을 해야 하기 때문입니다. 이런 내부 통신을 위해 다양한 방식의 'In-Vehicle Networks'가 개발됐습니다.
차량 내부 통신을 위해 다양한 형태의 ‘'In-Vehicle Networks'가 쓰입니다. 이 내부 네트워크를 외부 네트워크와 연결하는 시스템도 있습니다. 회사별로, 현대차에선 ‘블루링크’, 기아차는 ‘유보(UVO)', BMW는 'Connected Drive', GM은 ’On Star'라고 부릅니다.
● 차량 해킹 실험..“위치 확인해 문 연다”
차를 해킹해보기로 했습니다. 실험은 고려대 정보보호대학원에서 진행했습니다. 차량의 이동 위치를 확인하고 문을 여는 실험입니다. 2013년 유보(UVO) 시스템이 도입된 소형차로 실험했습니다. 먼저 정상적인 방법으로 차량 주인의 휴대폰으로 차 문을 열고, 차 위치를 확인해 봤습니다.
그리고 차량 내부에 있는 SD카드를 꺼내 변조했습니다.
차주가 아니더라도 차량 안에 타인이 들어가는 경우는 있습니다. 중고차가 대표적입니다. 짧게는 대리기사도 있고 주차를 대행하는 발렛 파킹도 그렇습니다.
변조한 SD카드를 다시 차에 넣고 업데이트를 했습니다.
● “실험 결과 불공정”…제조사 재실험 요청
제조사는 실험 결과의 불공정성에 대해 설명했습니다. 고려대에서 본인들의 실험용 차를 가지고 실험한 뒤에 해킹이 가능하다고 설명한 게 맞지 않다는 말이었습니다. 재실험 요청에 따라 제조사가 다시 차량을 가져 왔고, 제조사 소속 연구원이 합석했습니다. 고려대 팀이 차에 들어가지 않는 조건으로 나머지 해킹 방법은 동일하게 진행하기로 했습니다. SD카드 변조까진 동일하게 진행됐습니다. 차에 다시 넣고 업데이트를 하는 과정에서 고려대는 (원래 하던 방식대로) 정상 업데이트가 아닌, 정비소 등에서 차량을 초기화 할때 쓰는 업데이트 방식을 사용한다고 설명했습니다.
이후 제조사는 이런 방식의 업데이트가 가능하다는 사실은 인지하고 있다고 말했습니다. 이와 관련해 안전성 문제가 불거질 수 있어서 최근에 나온 차량부턴 보안 등급을 더 높였다고 밝혔습니다.
● 한계점 많은 실험, 높아지는 해킹 가능성
중간 중간 설명했지만, 이번 실험엔 처음부터 상정한 한계점이 있습니다. 먼저 물리적으로 SD카드를 뽑아 변조(해킹 명령어 주입)가 가능한 상태로 만들어야 합니다. 차주가 프로그램 업데이트를 위해 직접 SD카드를 뽑아야 하는 겁니다. 더 좋은 기능을 쓰기 위해 정품이 아닌, 다른 프로그램을 깔아야 한다는 시나리오도 아직 보편화되지 않은 스마트카 시장에선 받아들이기 어려운 설정일 수 있습니다. 다만, 보안의 취약점을 설명하기 위해 한계점이 있는 이번 실험은 진행됐습니다.
최근 미국에서 스마트카 140만 대가 해킹 우려 때문에 무더기 리콜 됐습니다. 스마트폰이 그랬듯, 사람들은 점점 편리성을 찾게 되고 스마트카의 기술과 적용 범위도 더욱 늘어나고 있습니다. 그만큼 해킹의 위험도 높아지고 있습니다.